1. 20 5月, 2013 4 次提交
  2. 17 5月, 2013 10 次提交
    • L
      Merge tag 'pm+acpi-3.10-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · d5fe85af
      Linus Torvalds 提交于
      Pull power management and ACPI fixes from Rafael Wysocki:
      
       - intel_pstate driver fixes and cleanups from Dirk Brandewie and Wei
         Yongjun.
      
       - cpufreq fixes related to ARM big.LITTLE support and the cpufreq-cpu0
         driver from Viresh Kumar.
      
       - Assorted cpufreq fixes from Srivatsa S Bhat, Borislav Petkov, Wolfram
         Sang, Alexander Shiyan, and Nishanth Menon.
      
       - Assorted ACPI fixes from Catalin Marinas, Lan Tianyu, Alex Hung,
         Jan-Simon Möller, and Rafael J Wysocki.
      
       - Fix for a kfree() under spinlock in the PM core from Shuah Khan.
      
       - PM documentation updates from Borislav Petkov and Zhang Rui.
      
      * tag 'pm+acpi-3.10-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (30 commits)
        cpufreq: Preserve sysfs files across suspend/resume
        ACPI / scan: Fix memory leak on acpi_scan_init_hotplug() error path
        PM / hibernate: Correct documentation
        PM / Documentation: remove inaccurate suspend/hibernate transition lantency statement
        PM: Documentation update for freeze state
        cpufreq / intel_pstate: use vzalloc() instead of vmalloc()/memset(0)
        cpufreq, ondemand: Remove leftover debug line
        PM: Avoid calling kfree() under spinlock in dev_pm_put_subsys_data()
        cpufreq / kirkwood: don't check resource with devm_ioremap_resource
        cpufreq / intel_pstate: remove #ifdef MODULE compile fence
        cpufreq / intel_pstate: Remove idle mode PID
        cpufreq / intel_pstate: fix ffmpeg regression
        cpufreq / intel_pstate: use lowest requested max performance
        cpufreq / intel_pstate: remove idle time and duration from sample and calculations
        cpufreq: Fix incorrect dependecies for ARM SA11xx drivers
        cpufreq: ARM big LITTLE: Fix Kconfig entries
        cpufreq: cpufreq-cpu0: Free parent node for error cases
        cpufreq: cpufreq-cpu0: defer probe when regulator is not ready
        cpufreq: Issue CPUFREQ_GOV_POLICY_EXIT notifier before dropping policy refcount
        cpufreq: governors: Fix CPUFREQ_GOV_POLICY_{INIT|EXIT} notifiers
        ...
      d5fe85af
    • L
      Merge tag 'ntb-bugfixes-3.10' of git://github.com/jonmason/ntb · 89682165
      Linus Torvalds 提交于
      Pull NTB update from Jon Mason:
       "NTB bug fixes to address Smatch/Coverity errors, link toggling bugs,
        and a few corner cases in the driver."
      
      This pull request came in during the merge window, but without any
      signage etc.  So I'm taking it late, because it wasn't _originally_
      late.
      
      * tag 'ntb-bugfixes-3.10' of git://github.com/jonmason/ntb:
        NTB: Multiple NTB client fix
        ntb_netdev: remove from list on exit
        NTB: memcpy lockup workaround
        NTB: Correctly handle receive buffers of the minimal size
        NTB: reset tx_index on link toggle
        NTB: Link toggle memory leak
        NTB: Handle 64bit BAR sizes
        NTB: fix pointer math issues
        ntb: off by one sanity checks
        NTB: variable dereferenced before check
      89682165
    • L
      Merge branch 'ipmi' (minor ipmi fixes from Corey) · e2a978ec
      Linus Torvalds 提交于
      Merge ipmi fixes from Corey Minyard:
       "Some minor fixes I had queued up.  The last one came in recently
        (patch 4) and it and patch 2 are candidates for stable-kernel."
      
      * emailed patches from Corey Minyard <cminyard@mvista.com>:
        ipmi: ipmi_devintf: compat_ioctl method fails to take ipmi_mutex
        ipmi: Improve error messages on failed irq enable
        drivers/char/ipmi: memcpy, need additional 2 bytes to avoid memory overflow
        drivers: char: ipmi: Replaced kmalloc and strcpy with kstrdup
      e2a978ec
    • B
      ipmi: ipmi_devintf: compat_ioctl method fails to take ipmi_mutex · 6368087e
      Benjamin LaHaise 提交于
      When a 32 bit version of ipmitool is used on a 64 bit kernel, the
      ipmi_devintf code fails to correctly acquire ipmi_mutex.  This results in
      incomplete data being retrieved in some cases, or other possible failures.
      Add a wrapper around compat_ipmi_ioctl() to take ipmi_mutex to fix this.
      Signed-off-by: NBenjamin LaHaise <bcrl@kvack.org>
      Signed-off-by: NCorey Minyard <cminyard@mvista.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      6368087e
    • C
      ipmi: Improve error messages on failed irq enable · 0849bfec
      Corey Minyard 提交于
      When the interrupt enable message returns an error, the messages are
      not entirely accurate nor helpful.  So improve them.
      Signed-off-by: NCorey Minyard <cminyard@mvista.com>
      Cc: Andy Lutomirski <luto@amacapital.net>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      0849bfec
    • C
      drivers/char/ipmi: memcpy, need additional 2 bytes to avoid memory overflow · a5f2b3d6
      Chen Gang 提交于
      When calling memcpy, read_data and write_data need additional 2 bytes.
      
        write_data:
          for checking:  "if (size > IPMI_MAX_MSG_LENGTH)"
          for operating: "memcpy(bt->write_data + 3, data + 1, size - 1)"
      
        read_data:
          for checking:  "if (msg_len < 3 || msg_len > IPMI_MAX_MSG_LENGTH)"
          for operating: "memcpy(data + 2, bt->read_data + 4, msg_len - 2)"
      Signed-off-by: NChen Gang <gang.chen@asianux.com>
      Signed-off-by: NCorey Minyard <cminyard@mvista.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      a5f2b3d6
    • A
      drivers: char: ipmi: Replaced kmalloc and strcpy with kstrdup · 1b6b698f
      Alexandru Gheorghiu 提交于
      Replaced calls to kmalloc followed by strcpy with a sincle call to
      kstrdup.  Patch found using coccinelle.
      Signed-off-by: NAlexandru Gheorghiu <gheorghiuandru@gmail.com>
      Signed-off-by: NCorey Minyard <cminyard@mvista.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      1b6b698f
    • L
      Merge branch 'for-3.10-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq · 4a007ed9
      Linus Torvalds 提交于
      Pull workqueue fixes from Tejun Heo:
       "Three more workqueue regression fixes.
      
         - Fix unbalanced unlock in trylock failure path of manage_workers().
           This shouldn't happen often in the wild but is possible.
      
         - While making schedule_work() and friends inline, they become
           unavailable to !GPL modules.  Allow !GPL modules to access basic
           stuff - system_wq and queue_*work_on() - so that schedule_work()
           and friends can be used.
      
         - During boot, the unbound NUMA support code allocates a cpumask for
           each possible node using alloc_cpumask_var_node(), which ends up
           trying to allocate node-specific memory even for offline nodes
           triggering BUG in the memory alloc code.  Use NUMA_NO_NODE for
           offline nodes."
      
      * 'for-3.10-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
        workqueue: don't perform NUMA-aware allocations on offline nodes in wq_numa_init()
        workqueue: Make schedule_work() available again to non GPL modules
        workqueue: correct handling of the pool spin_lock
      4a007ed9
    • L
      Merge branch 'rcu/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu · ff89acc5
      Linus Torvalds 提交于
      Pull RCU fixes from Paul McKenney:
       "A couple of fixes for RCU regressions:
      
         - A boneheaded boolean-logic bug that resulted in excessive delays on
           boot, hibernation and suspend that was reported by Borislav Petkov,
           Bjørn Mork, and Joerg Roedel.  The fix inserts a single "!".
      
         - A fix for a boot-time splat due to allocating from bootmem too late
           in boot, fix courtesy of Sasha Levin with additional help from
           Yinghai Lu."
      
      * 'rcu/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu:
        rcu: Don't allocate bootmem from rcu_init()
        rcu: Fix comparison sense in rcu_needs_cpu()
      ff89acc5
    • O
      usermodehelper: check subprocess_info->path != NULL · 264b83c0
      Oleg Nesterov 提交于
      argv_split(empty_or_all_spaces) happily succeeds, it simply returns
      argc == 0 and argv[0] == NULL. Change call_usermodehelper_exec() to
      check sub_info->path != NULL to avoid the crash.
      
      This is the minimal fix, todo:
      
       - perhaps we should change argv_split() to return NULL or change the
         callers.
      
       - kill or justify ->path[0] check
      
       - narrow the scope of helper_lock()
      Signed-off-by: NOleg Nesterov <oleg@redhat.com>
      Acked-By: NLucas De Marchi <lucas.demarchi@intel.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      264b83c0
  3. 16 5月, 2013 26 次提交
    • L
      Merge branch 'queue' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending · 5c64e3a4
      Linus Torvalds 提交于
      Pull target fixes from Nicholas Bellinger:
       "A handful of fixes + minor changes this time around, along with one
        important >= v3.9 regression fix for IBLOCK backends.  The highlights
        include:
      
         - Use FD_MAX_SECTORS in FILEIO for block_device as
           well as files (agrover)
      
         - Fix processing of out-of-order CmdSNs with
           iSBD driver (shlomo)
      
         - Close long-standing target_put_sess_cmd() vs.
           core_tmr_abort_task() race with the addition of
           kref_put_spinlock_irqsave() (joern + greg-kh)
      
         - Fix IBLOCK WCE=1 + DPOFUA=1 backend WRITE
           regression in >= v3.9 (nab + bootc)
      
        Note these four patches are CC'ed to stable.
      
        Also, there is still some work left to be done on the active I/O
        shutdown path in target_wait_for_sess_cmds() used by tcm_qla2xxx +
        ib_isert fabrics that is still being discussed on the list, and will
        hopefully be resolved soon."
      
      * 'queue' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:
        target: close target_put_sess_cmd() vs. core_tmr_abort_task() race
        target: removed unused transport_state flag
        target/iblock: Fix WCE=1 + DPOFUA=1 backend WRITE regression
        MAINTAINERS: Update target git tree URL
        iscsi-target: Fix typos in RDMAEXTENSIONS macro usage
        target/rd: Add ramdisk bit for NULLIO operation
        iscsi-target: Fix processing of OOO commands
        iscsi-target: Make buf param of iscsit_do_crypto_hash_buf() const void *
        iscsi-target: Fix NULL pointer dereference in iscsit_send_reject
        target: Have dev/enable show if TCM device is configured
        target: Use FD_MAX_SECTORS/FD_BLOCKSIZE for blockdevs using fileio
        target: Remove unused struct members in se_dev_entry
      5c64e3a4
    • R
      Merge branch 'acpi-fixes' · 49a9e431
      Rafael J. Wysocki 提交于
      * acpi-fixes:
        ACPI / scan: Fix memory leak on acpi_scan_init_hotplug() error path
      49a9e431
    • R
      Merge branch 'pm-cpufreq' · e50caa95
      Rafael J. Wysocki 提交于
      * pm-cpufreq:
        cpufreq: Preserve sysfs files across suspend/resume
      e50caa95
    • T
      workqueue: don't perform NUMA-aware allocations on offline nodes in wq_numa_init() · 1be0c25d
      Tejun Heo 提交于
      wq_numa_init() builds per-node cpumasks which are later used to make
      unbound workqueues NUMA-aware.  The cpumasks are allocated using
      alloc_cpumask_var_node() for all possible nodes.  Unfortunately, on
      machines with off-line nodes, this leads to NUMA-aware allocations on
      existing bug offline nodes, which in turn triggers BUG in the memory
      allocation code.
      
      Fix it by using NUMA_NO_NODE for cpumask allocations for offline
      nodes.
      
        kernel BUG at include/linux/gfp.h:323!
        invalid opcode: 0000 [#1] SMP
        Modules linked in:
        CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.9.0+ #1
        Hardware name: ProLiant BL465c G7, BIOS A19 12/10/2011
        task: ffff880234608000 ti: ffff880234602000 task.ti: ffff880234602000
        RIP: 0010:[<ffffffff8117495d>]  [<ffffffff8117495d>] new_slab+0x2ad/0x340
        RSP: 0000:ffff880234603bf8  EFLAGS: 00010246
        RAX: 0000000000000000 RBX: ffff880237404b40 RCX: 00000000000000d0
        RDX: 0000000000000001 RSI: 0000000000000003 RDI: 00000000002052d0
        RBP: ffff880234603c28 R08: 0000000000000000 R09: 0000000000000001
        R10: 0000000000000001 R11: ffffffff812e3aa8 R12: 0000000000000001
        R13: ffff8802378161c0 R14: 0000000000030027 R15: 00000000000040d0
        FS:  0000000000000000(0000) GS:ffff880237800000(0000) knlGS:0000000000000000
        CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
        CR2: ffff88043fdff000 CR3: 00000000018d5000 CR4: 00000000000007f0
        DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
        DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
        Stack:
         ffff880234603c28 0000000000000001 00000000000000d0 ffff8802378161c0
         ffff880237404b40 ffff880237404b40 ffff880234603d28 ffffffff815edba1
         ffff880237816140 0000000000000000 ffff88023740e1c0
        Call Trace:
         [<ffffffff815edba1>] __slab_alloc+0x330/0x4f2
         [<ffffffff81174b25>] kmem_cache_alloc_node_trace+0xa5/0x200
         [<ffffffff812e3aa8>] alloc_cpumask_var_node+0x28/0x90
         [<ffffffff81a0bdb3>] wq_numa_init+0x10d/0x1be
         [<ffffffff81a0bec8>] init_workqueues+0x64/0x341
         [<ffffffff810002ea>] do_one_initcall+0xea/0x1a0
         [<ffffffff819f1f31>] kernel_init_freeable+0xb7/0x1ec
         [<ffffffff815d50de>] kernel_init+0xe/0xf0
         [<ffffffff815ff89c>] ret_from_fork+0x7c/0xb0
        Code: 45  84 ac 00 00 00 f0 41 80 4d 00 40 e9 f6 fe ff ff 66 0f 1f 84 00 00 00 00 00 e8 eb 4b ff ff 49 89 c5 e9 05 fe ff ff <0f> 0b 4c 8b 73 38 44 89 ff 81 cf 00 00 20 00 4c 89 f6 48 c1 ee
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Reported-and-Tested-by: NLingzhu Xiang <lxiang@redhat.com>
      1be0c25d
    • L
      Merge tag 'trace-fixes-v3.10-rc1' of... · c240a539
      Linus Torvalds 提交于
      Merge tag 'trace-fixes-v3.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace
      
      Pull tracing fixes from Steven Rostedt:
       "This includes a fix to a memory leak when adding filters to traces.
      
        Also, Masami Hiramatsu fixed up some minor bugs that were discovered
        by sparse."
      
      * tag 'trace-fixes-v3.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        tracing/kprobes: Make print_*probe_event static
        tracing/kprobes: Fix a sparse warning for incorrect type in assignment
        tracing/kprobes: Use rcu_dereference_raw for tp->files
        tracing: Fix leaks of filter preds
      c240a539
    • L
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ae3b29e6
      Linus Torvalds 提交于
      Pull x86 fixes from Thomas Gleixner:
      
       - Fix for a CPU hot-add deadlock in microcode update code
      
       - Fix for idle consolidation fallout
      
       - Documentation update for initial kernel direct mapping
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mm: Add missing comments for initial kernel direct mapping
        x86/microcode: Add local mutex to fix physical CPU hot-add deadlock
        x86: Fix idle consolidation fallout
      ae3b29e6
    • L
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 652df602
      Linus Torvalds 提交于
      Pull perf fixes from Thomas Gleixner:
      
       - Fix for a task exit cleanup race caused by a missing a preempt
         disable
      
       - Cleanup of the event notification functions with a massive reduction
         of duplicated code
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf: Factor out auxiliary events notification
        perf: Fix EXIT event notification
      652df602
    • L
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · cc51bf6e
      Linus Torvalds 提交于
      Pull timer fixes from Thomas Gleixner:
      
       - Cure for not using zalloc in the first place, which leads to random
         crashes with CPUMASK_OFF_STACK.
      
       - Revert a user space visible change which broke udev
      
       - Add a missing cpu_online early return introduced by the new full
         dyntick conversions
      
       - Plug a long standing race in the timer wheel cpu hotplug code.
         Sigh...
      
       - Cleanup NOHZ per cpu data on cpu down to prevent stale data on cpu
         up.
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        time: Revert ALWAYS_USE_PERSISTENT_CLOCK compile time optimizaitons
        timer: Don't reinitialize the cpu base lock during CPU_UP_PREPARE
        tick: Don't invoke tick_nohz_stop_sched_tick() if the cpu is offline
        tick: Cleanup NOHZ per cpu data on cpu down
        tick: Use zalloc_cpumask_var for allocating offstack cpumasks
      cc51bf6e
    • L
      Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 37cae5e2
      Linus Torvalds 提交于
      Pull core fixes from Thomas Gleixner:
      
       - Two fixlets for the fallout of the generic idle task conversion
      
       - Documentation update
      
      * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        rcu/idle: Wrap cpu-idle poll mode within rcu_idle_enter/exit
        idle: Fix hlt/nohlt command-line handling in new generic idle
        kthread: Document ways of reducing OS jitter due to per-CPU kthreads
      37cae5e2
    • L
      Merge branch 'fixes' of git://git.linaro.org/people/rmk/linux-arm · d21572c5
      Linus Torvalds 提交于
      Pull ARM fixes from Russell King:
       "A small number of fixes for stuff from the last merge window, and in
        one case (IRQ time accounting) the previous merge window."
      
      * 'fixes' of git://git.linaro.org/people/rmk/linux-arm:
        ARM: 7720/1: ARM v6/v7 cmpxchg64 shouldn't clear upper 32 bits of the old/new value
        ARM: 7715/1: MCPM: adapt to GIC changes after upstream merge
        ARM: 7714/1: mmc: mmci: Ensure return value of regulator_enable() is checked
        ARM: 7712/1: Remove trailing whitespace in arch/arm/Makefile
        ARM: 7711/1: dove: fix Dove cpu type from V7 to PJ4
        ARM: finally enable IRQ time accounting config
      d21572c5
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client · 109c3c02
      Linus Torvalds 提交于
      Pull Ceph fixes from Sage Weil:
       "Yes, this is a much larger pull than I would like after -rc1.  There
        are a few things included:
      
         - a few fixes for leaks and incorrect assertions
         - a few patches fixing behavior when mapped images are resized
         - handling for cloned/layered images that are flattened out from
           underneath the client
      
        The last bit was non-trivial, and there is some code movement and
        associated cleanup mixed in.  This was ready and was meant to go in
        last week but I missed the boat on Friday.  My only excuse is that I
        was waiting for an all clear from the testing and there were many
        other shiny things to distract me.
      
        Strictly speaking, handling the flatten case isn't a regression and
        could wait, so if you like we can try to pull the series apart, but
        Alex and I would much prefer to have it all in as it is a case real
        users will hit with 3.10."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (33 commits)
        rbd: re-submit flattened write request (part 2)
        rbd: re-submit write request for flattened clone
        rbd: re-submit read request for flattened clone
        rbd: detect when clone image is flattened
        rbd: reference count parent requests
        rbd: define parent image request routines
        rbd: define rbd_dev_unparent()
        rbd: don't release write request until necessary
        rbd: get parent info on refresh
        rbd: ignore zero-overlap parent
        rbd: support reading parent page data for writes
        rbd: fix parent request size assumption
        libceph: init sent and completed when starting
        rbd: kill rbd_img_request_get()
        rbd: only set up watch for mapped images
        rbd: set mapping read-only flag in rbd_add()
        rbd: support reading parent page data
        rbd: fix an incorrect assertion condition
        rbd: define rbd_dev_v2_header_info()
        rbd: get rid of trivial v1 header wrappers
        ...
      109c3c02
    • S
      cpufreq: Preserve sysfs files across suspend/resume · a66b2e50
      Srivatsa S. Bhat 提交于
      The file permissions of cpufreq per-cpu sysfs files are not preserved
      across suspend/resume because we internally go through the CPU
      Hotplug path which reinitializes the file permissions on CPU online.
      
      But the user is not supposed to know that we are using CPU hotplug
      internally within suspend/resume (IOW, the kernel should not silently
      wreck the user-set file permissions across a suspend cycle).
      Therefore, we need to preserve the file permissions as they are
      across suspend/resume.
      
      The simplest way to achieve that is to just not touch the sysfs files
      at all - ie., just ignore the CPU hotplug notifications in the
      suspend/resume path (_FROZEN) in the cpufreq hotplug callback.
      Reported-by: NRobert Jarzmik <robert.jarzmik@intel.com>
      Reported-by: NDurgadoss R <durgadoss.r@intel.com>
      Signed-off-by: NSrivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
      Acked-by: NViresh Kumar <viresh.kumar@linaro.org>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      a66b2e50
    • C
      ACPI / scan: Fix memory leak on acpi_scan_init_hotplug() error path · 7a26b530
      Catalin Marinas 提交于
      Following commit 6b772e8f (ACPI: Update PNPID match handling for
      notify), the acpi_scan_init_hotplug() calls acpi_set_pnp_ids() which
      allocates acpi_hardware_id and copies a few strings (kstrdup). If the
      devices does not have hardware_id set, the function exits without
      freeing the previously allocated ids (and kmemleak complains). This
      patch calls simply changes 'return' on error to a 'goto out' which
      calls acpi_free_pnp_ids().
      Reported-by: NLarry Finger <Larry.Finger@lwfinger.net>
      Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
      Reviewed-by: NToshi Kani <toshi.kani@hp.com>
      Tested-by: NToshi Kani <toshi.kani@hp.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      7a26b530
    • J
      NTB: Multiple NTB client fix · 8b19d450
      Jon Mason 提交于
      Fix issue with adding multiple ntb client devices to the ntb virtual
      bus.  Previously, multiple devices would be added with the same name,
      resulting in crashes.  To get around this issue, add a unique number to
      the device when it is added.
      Signed-off-by: NJon Mason <jon.mason@intel.com>
      8b19d450
    • J
      ntb_netdev: remove from list on exit · 904435cf
      Jon Mason 提交于
      The ntb_netdev device is not removed from the global list of devices
      upon device removal.  If the device is re-added, the removal code would
      find the first instance and try to remove an already removed device.
      Signed-off-by: NJon Mason <jon.mason@intel.com>
      904435cf
    • J
      NTB: memcpy lockup workaround · c336acd3
      Jon Mason 提交于
      The system will appear to lockup for long periods of time due to the NTB
      driver spending too much time in memcpy.  Avoid this by reducing the
      number of packets that can be serviced on a given interrupt.
      Signed-off-by: NJon Mason <jon.mason@intel.com>
      c336acd3
    • J
      NTB: Correctly handle receive buffers of the minimal size · c9d534c8
      Jon Mason 提交于
      The ring logic of the NTB receive buffer/transmit memory window requires
      there to be at least 2 payload sized allotments.  For the minimal size
      case, split the buffer into two and set the transport_mtu to the
      appropriate size.
      Signed-off-by: NJon Mason <jon.mason@intel.com>
      c9d534c8
    • J
      NTB: reset tx_index on link toggle · 90f9e934
      Jon Mason 提交于
      If the NTB link toggles, the driver could stop receiving due to the
      tx_index not being set to 0 on the transmitting size on a link-up event.
      This is due to the driver expecting the incoming data to start at the
      beginning of the receive buffer and not at a random place.
      Signed-off-by: NJon Mason <jon.mason@intel.com>
      90f9e934
    • J
      NTB: Link toggle memory leak · b77b2637
      Jon Mason 提交于
      Each link-up will allocate a new NTB receive buffer when the NTB
      properties are negotiated with the remote system.  These allocations did
      not check for existing buffers and thus did not free them.  Now, the
      driver will check for an existing buffer and free it if not of the
      correct size, before trying to alloc a new one.
      Signed-off-by: NJon Mason <jon.mason@intel.com>
      b77b2637
    • J
      NTB: Handle 64bit BAR sizes · 113fc505
      Jon Mason 提交于
      64bit BAR sizes are permissible with an NTB device.  To support them
      various modifications and clean-ups were required, most significantly
      using 2 32bit scratch pad registers for each BAR.
      
      Also, modify the driver to allow more than 2 Memory Windows.
      Signed-off-by: NJon Mason <jon.mason@intel.com>
      113fc505
    • D
      NTB: fix pointer math issues · cc0f868d
      Dan Carpenter 提交于
      ->remote_rx_info and ->rx_info are struct ntb_rx_info pointers.  If we
      add sizeof(struct ntb_rx_info) then it goes too far.
      Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: NJon Mason <jon.mason@intel.com>
      cc0f868d
    • D
      ntb: off by one sanity checks · ad3e2751
      Dan Carpenter 提交于
      These tests are off by one.  If "mw" is equal to NTB_NUM_MW then we
      would go beyond the end of the ndev->mw[] array.
      Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: NJon Mason <jon.mason@intel.com>
      ad3e2751
    • J
      NTB: variable dereferenced before check · 186f27ff
      Jon Mason 提交于
      Correct instances of variable dereferencing before checking its value on
      the functions exported to the client drivers.  Also, add sanity checks
      for all exported functions.
      Reported-by: NDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: NJon Mason <jon.mason@intel.com>
      186f27ff
    • M
      tracing/kprobes: Make print_*probe_event static · b62fdd97
      Masami Hiramatsu 提交于
      According to sparse warning, print_*probe_event static because
      those functions are not directly called from outside.
      
      Link: http://lkml.kernel.org/r/20130513115839.6545.83067.stgit@mhiramat-M0-7522
      
      Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Tom Zanussi <tom.zanussi@intel.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Signed-off-by: NMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      b62fdd97
    • M
      tracing/kprobes: Fix a sparse warning for incorrect type in assignment · 3d1fc7b0
      Masami Hiramatsu 提交于
      Fix a sparse warning about the rcu operated pointer is
      defined without __rcu address space.
      
      Link: http://lkml.kernel.org/r/20130513115837.6545.23322.stgit@mhiramat-M0-7522
      
      Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Tom Zanussi <tom.zanussi@intel.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Signed-off-by: NMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      3d1fc7b0
    • M
      tracing/kprobes: Use rcu_dereference_raw for tp->files · c02c7e65
      Masami Hiramatsu 提交于
      Use rcu_dereference_raw() for accessing tp->files. Because the
      write-side uses rcu_assign_pointer() for memory barrier,
      the read-side also has to use rcu_dereference_raw() with
      read memory barrier.
      
      Link: http://lkml.kernel.org/r/20130513115834.6545.17022.stgit@mhiramat-M0-7522
      
      Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Tom Zanussi <tom.zanussi@intel.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Signed-off-by: NMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      c02c7e65