Commits on Sep 24, 2012
  1. Linux 3.6-rc7

    committed Sep 24, 2012
Commits on Sep 23, 2012
  1. Merge branch 'rc-fixes' of git://…

    Pull kbuild fixes from Michal Marek:
     "There are two more kbuild fixes for 3.6.
      One fixes a race between x86's archscripts target and the rule
      (re)building scripts/basic/fixdep.  The second is a fix for the
      previous attempt at fixing make firmware_install with make 3.82.
      This new solution should work with any version of GNU make"
    * 'rc-fixes' of git://
      x86/kbuild: archscripts depends on scripts_basic
      firmware: fix directory creation rule matching with make 3.80
    committed Sep 23, 2012
  2. Merge branch 'hwmon-for-linus' of git://…

    Pull hwmon subsystem fixes from Jean Delvare.
    * 'hwmon-for-linus' of git://
      hwmon: (fam15h_power) Tweak runavg_range on resume
      hwmon: (coretemp) Use get_online_cpus to avoid races involving CPU hotplug
      hwmon: (via-cputemp) Use get_online_cpus to avoid races involving CPU hotplug
    committed Sep 23, 2012
  3. Merge tag 'scsi-fixes' of git://…

    Pull SCSI fixes from James Bottomley:
     "This is a set of four essential fixes: two oops related (bnx2i,
      virtio-scsi), one data corruption related (hpsa) and one failure to
      boot due to interrupt routing issues (mpt2ss).
      Signed-off-by: James Bottomley <>"
    * tag 'scsi-fixes' of git://
      [SCSI] hpsa: fix handling of protocol error
      [SCSI] mpt2sas: Fix for issue - Unable to boot from the drive connected to HBA
      [SCSI] bnx2i: Fixed NULL ptr deference for 1G bnx2 Linux iSCSI offload
      [SCSI] scsi: virtio-scsi: Fix address translation failure of HighMem pages used by sg list
    committed Sep 23, 2012
  4. edac_mc: edac_mc_free() cannot assume mem_ctl_info is registered in s…

    Fix potential NULL pointer dereference in edac_unregister_sysfs() on
    system boot introduced in 3.6-rc1.
    Since commit 7a623c0 ("edac: rewrite the sysfs code to use struct
    device") edac_mc_alloc() no longer initializes embedded kobjects in
    struct mem_ctl_info.  Therefore edac_mc_free() can no longer simply
    decrement a kobject reference count to free the allocated memory unless
    the memory controller driver module had also called edac_mc_add_mc().
    Now edac_mc_free() will check if the newly embedded struct device has
    been registered with sysfs before using either the standard device
    release functions or freeing the data structures itself with logic
    pulled out of the error path of edac_mc_alloc().
    The BUG this patch resolves for me:
      BUG: unable to handle kernel NULL pointer dereference at   (null)
      EIP is at __wake_up_common+0x1a/0x6a
      Process modprobe (pid: 933, ti=f3dc6000 task=f3db9520 task.ti=f3dc6000)
      Call Trace:
        edac_unregister_sysfs+0x3b/0x5c [edac_core]
        edac_mc_free+0x29/0x2f [edac_core]
        e7xxx_probe1+0x268/0x311 [e7xxx_edac]
        e7xxx_init_one+0x56/0x61 [e7xxx_edac]
    Cc: Mauro Carvalho Chehab <>
    Cc: Shaohui Xie <>
    Signed-off-by: Shaun Ruffell <>
    Signed-off-by: Linus Torvalds <>
    sruffell committed with Sep 23, 2012
  5. edac_mc: fix messy kfree calls in the error path

    coccinelle warns about:
    + drivers/edac/edac_mc.c:429:9-23: ERROR: reference preceded by free on line 429
       421         if (mci->csrows) {
     > 422                 for (chn = 0; chn < tot_channels; chn++) {
       423                         csr = mci->csrows[chn];
       424                         if (csr) {
     > 425                                 for (chn = 0; chn < tot_channels; chn++)
       426                                          kfree(csr->channels[chn]);
       427                                  kfree(csr);
       428                          }
     > 429                          kfree(mci->csrows[i]);
       430                  }
       431                  kfree(mci->csrows);
       432          }
    and that code block seem to mess things up in several ways (double free, memory
    leak, out-of-bound reads etc.):
    L422: The iterator "chn" and bound "tot_channels" are totally wrong. Should be
          "row" and "tot_csrows" respectively. Which means either memory leak, or
          out-of-bound reads (which if does not trigger an immediate page fault
          error, will further lead to kfree() on random addresses).
    L425: The inner loop is reusing the same iterator "chn" as the outer loop,
          which could lead to premature end of the outer loop, and hence memory leak.
    L429: The array index 'i' in mci->csrows[i] is a temporary value used in
          previous loops, and won't change at all in the current loop. Which
          means either out-of-bound read and possibly kfree(random number), or the
          same mci->csrows[i] get freed once and again, and possibly double free
          for the kfree(csr) in L427.
    L426/L427: a kfree(csr->channels) is needed in between to avoid leaking the memory.
    The buggy code was introduced by commit de3910e ("edac: change the mem
    allocation scheme to make Documentation/kobject.txt happy") in the 3.6-rc1
    merge window. Fix it by freeing up resources in this order:
      free csrows[i]->channels[j]
      free csrows[i]->channels
      free csrows[i]
      free csrows
    CC: Mauro Carvalho Chehab <>
    CC: Shaun Ruffell <>
    Signed-off-by: Fengguang Wu <>
    Signed-off-by: Linus Torvalds <>
    fengguang committed with Sep 23, 2012
  6. hwmon: (fam15h_power) Tweak runavg_range on resume

    The quirk introduced with commit
    00250ec (hwmon: fam15h_power: fix
    bogus values with current BIOSes) is not only required during driver
    load but also when system resumes from suspend. The BIOS might set the
    previously recommended (but unsuitable) initilization value for the
    running average range register during resume.
    Signed-off-by: Andreas Herrmann <>
    Tested-by: Andreas Hartmann <>
    Signed-off-by: Jean Delvare <>
    Cc: # 3.0+
    Andreas Herrmann committed with Jean Delvare Sep 23, 2012
  7. hwmon: (coretemp) Use get_online_cpus to avoid races involving CPU ho…

    coretemp_init loops with for_each_online_cpu, adding platform_devices
    and sysfs interfaces, then calls register_hotcpu_notifier.  There is a
    race if a CPU is offlined or onlined after the loop, but before
    register_hotcpu_notifier.  The race might result in the absence of a
    platform_device+sysfs interface for an online CPU, or the presence of
    a platform_device+sysfs interface for an offline CPU.  A similar race
    occurs during coretemp_exit, after the module calls
    unregister_hotcpu_notifier, but before it unregisters all devices, a
    CPU might offline and a device for an offline CPU will exist for a
    short while.
    This fix surrounds for_each_online_cpu and register_hotcpu_notifier
    with get_online_cpus+put_online_cpus; and surrounds
    unregister_hotcpu_notifier and device unregistering with
    Build tested.
    Signed-off-by: Silas Boyd-Wickizer <>
    Signed-off-by: Jean Delvare <>
    Silas Boyd-Wickizer committed with Jean Delvare Sep 23, 2012
  8. hwmon: (via-cputemp) Use get_online_cpus to avoid races involving CPU…

    … hotplug
    via_cputemp_init loops with for_each_online_cpu, adding
    platform_devices, then calls register_hotcpu_notifier.  If a CPU is
    offlined between the loop and register_hotcpu_notifier, then later
    onlined, via_cputemp_device_add will attempt to add platform devices
    with the same ID.  A similar race occurs during via_cputemp_exit,
    after the module calls unregister_hotcpu_notifier, a CPU might offline
    and a device will exist for a CPU that is offline.
    This fix surrounds for_each_online_cpu and register_hotcpu_notifier
    with get_online_cpus+put_online_cpus; and surrounds
    unregister_hotcpu_notifier and device unregistering with
    Build tested.
    Signed-off-by: Silas Boyd-Wickizer <>
    Acked-by: Harald Welte <>
    Signed-off-by: Jean Delvare <>
    Silas Boyd-Wickizer committed with Jean Delvare Sep 23, 2012
Commits on Sep 22, 2012
  1. Merge branch 'upstream' of git://…

    Pull MIPS fixes from Ralf Baechle:
     "Random fixes across arch/mips, essentially.
      One fix for an issue in get_user_pages_fast() which previously was
      discovered on x86, a miscalculation in the support for the MIPS MT
      hardware multithreading support, the RTC support for the Malta and a
      fix for a spurious interrupt issue that seems to bite only very
      special Malta configurations."
    * 'upstream' of git://
      MIPS: Malta: Don't crash on spurious interrupt.
      MIPS: Malta: Remove RTC Data Mode bootstrap breakage
      MIPS: mm: Add compound tail page _mapcount when mapped
      MIPS: CMP/SMTC: Fix tc_id calculation
    committed Sep 22, 2012
  2. Merge branch 'fixes' of git://

    Pull ARM and clkdev fixes from Russell King:
     "Two patches for clkdev which resolve the long standing issue that the
      devm_* versions were dependent on clkdev, which they shouldn't have
      been.  Instead, they're dependent on HAVE_CLK instead, which implies
      that you're providing clk_get() and clk_put().
      A small fix to the ARM decompressor to ensure that the page tables are
      properly interpreted by the CPU, and reserve syscall 378 for kcmp (the script is unfortunately currently broken so arch
      maintainers aren't getting notified of new syscalls...)
      Lastly, a larger fix for an issue between the common clk subsystem and
      smp_twd which causes warnings to be spat out."
    * 'fixes' of git://
      ARM: reserve syscall 378 for kcmp
      ARM: 7535/1: Reprogram smp_twd based on new common clk framework notifiers
      ARM: 7537/1: clk: Fix release in devm_clk_put()
      ARM: 7532/1: decompressor: reset SCTLR.TRE for VMSA ARMv7 cores
      ARM: 7534/1: clk: Make the managed clk functions generically available
    committed Sep 22, 2012
  3. Merge branch 'upstream-fixes' of git://…

    Pull HID fixes from Jiri Kosina:
     "The most important fix is Logitech Unifying receiver regression in
      device enumeration fix from Nestor Lopez Casado.  In addition to that,
      there is a small memory leak fix for Thinkpad keyboard driver from
      Axel Lin."
    * 'upstream-fixes' of git://
      HID: Fix logitech-dj: missing Unifying device issue
      HID: lenovo-tpkbd: Fix memory leak in tpkbd_remove_tp()
    committed Sep 22, 2012
  4. Merge branch 'for-linus' of git://

    Pull cifs fix from Steve French.
    * 'for-linus' of git://
      cifs: fix return value in cifsConvertToUTF16
    committed Sep 22, 2012
  5. HID: Fix logitech-dj: missing Unifying device issue

    This patch fixes an issue introduced after commit 4ea5454
    ("HID: Fix race condition between driver core and ll-driver").
    After that commit, hid-core discards any incoming packet that arrives while
    hid driver's probe function is being executed.
    This broke the enumeration process of hid-logitech-dj, that must receive
    control packets in-band with the mouse and keyboard packets. Discarding mouse
    or keyboard data at the very begining is usually fine, but it is not the case
    for control packets.
    This patch forces a re-enumeration of the paired devices when a packet arrives
    that comes from an unknown device.
    Based on a patch originally written by Benjamin Tissoires.
    Cc:   # v3.2+
    Signed-off-by: Nestor Lopez Casado <>
    Signed-off-by: Jiri Kosina <>
    xnlcasad committed with Jiri Kosina Sep 21, 2012
  6. HID: lenovo-tpkbd: Fix memory leak in tpkbd_remove_tp()

    We need to kfree names for led_mute and led_micmute in tpkbd_remove_tp().
    Signed-off-by: Axel Lin <>
    Acked-by: Bernhard Seibold <>
    Signed-off-by: Jiri Kosina <>
    AxelLin committed with Jiri Kosina Sep 13, 2012
Commits on Sep 21, 2012
  1. Merge git://

    Pull networking updates from David Miller:
     "More bug fixes, nothing gets past these guys"
     1) More kernel info leaks found by Mathias Krause, this time in the
        IPSEC configuration layers.
     2) When IPSEC policies change, we do not properly make sure that cached
        routes (which could now be stale) throughout the system will be
        revalidated.  Fix this by generalizing the generation count
        invalidation scheme used by ipv4.  From Nicolas Dichtel.
     3) When repairing TCP sockets, we need to allow to restore not just the
        send window scale, but the receive one too.  Extend the existing
        interface to achieve this in a backwards compatible way.  From
        Andrey Vagin.
     4) A fix for FCOE scatter gather feature validation erroneously caused
        scatter gather to be disabled for things like AOE too.  From Ed L
     5) Several cases of mishandling of error pointers, from Mathias Krause,
        Wei Yongjun, and Devendra Naga.
     6) Fix gianfar build, from Richard Cochran.
     7) CAP_NET_* failures should return -EPERM not -EACCES, from Zhao
     8) Hardware reset fix in janz-ican3 CAN driver, from Ira W Snyder.
     9) Fix oops during rmmod in ti_hecc CAN driver, from Marc Kleine-Budde.
    10) The removal of the conditional compilation of the clk support code
        in the stmmac driver broke things.  This is because the interfaces
        used are the ones that don't also perform the enable/disable of the
        clk.  Fix from Stefan Roese.
    11) The QFQ packet scheduler can record out of range virtual start
        times, resulting later in misbehavior and even crashes.  Fix from
        Paolo Valente.
    12) If MSG_WAITALL is used with IOAT DMA under TCP, we can wedge the
        receiver when the advertised receive window goes to zero.  Detect
        this case and force the processing of the IOAT DMA queue when it
        happens to avoid getting stuck.  Fix from Michal Kubecek.
    13) batman-adv assumes that test_bit() returns only 0 or 1, but this is
        not true for x86 (which returns -1 or 0, via the 'sbb' instruction).
        Fix from Linus Lussing.
    14) Fix small packet corruption in e1000, from Tushar Dave.
    15) make_blackhole() in the IPSEC policy code can do one read unlock too
        many, fix from Li RongQing.
    16) The new tcp_try_coalesce() code introduced a bug in TCP URG
        handling, fix from Eric Dumazet.
    17) Fix memory leak in __netif_receive_skb() when doing zerocopy and
        when hit an OOM condition.  From Michael S Tsirkin.
    18) netxen blindly deferences pdev->bus->self, which is not guarenteed
        to be non-NULL.  Fix from Nikolay Aleksandrov.
    19) Fix a performance regression caused by mistakes in ipv6 checksum
        validation in the bnx2x driver, fix from Michal Schmidt.
    * git:// (45 commits)
      net/stmmac: Use clk_prepare_enable and clk_disable_unprepare
      net: change return values from -EACCES to -EPERM
      net/irda: sh_sir: fix return value check in sh_sir_set_baudrate()
      stmmac: fix return value check in stmmac_open_ext_timer()
      gianfar: fix phc index build failure
      ipv6: fix return value check in fib6_add()
      bnx2x: remove false warning regarding interrupt number
      can: ti_hecc: fix oops during rmmod
      can: janz-ican3: fix support for older hardware revisions
      net: do not disable sg for packets requiring no checksum
      aoe: assert AoE packets marked as requiring no checksum
      at91ether: return PTR_ERR if call to clk_get fails
      xfrm_user: don't copy esn replay window twice for new states
      xfrm_user: ensure user supplied esn replay window is valid
      xfrm_user: fix info leak in copy_to_user_tmpl()
      xfrm_user: fix info leak in copy_to_user_policy()
      xfrm_user: fix info leak in copy_to_user_state()
      xfrm_user: fix info leak in copy_to_user_auth()
      net: qmi_wwan: adding Huawei E367, ZTE MF683 and Pantech P4200
      tcp: restore rcv_wscale in a repair mode (v2)
    committed Sep 21, 2012
  2. Merge git://

    Pull sparc updates from David Miller:
    1) Debugging builds on 32-bit sparc need to handle the R_SPARC_DISP32
       relocation, not just 64-bit sparc.  From Andreas Larsson.
    2) Wei Yongjun noticed that module_alloc() on sparc can return an
       error pointer, but that's not allowed.  module_alloc() should
       return only a valid pointer, or NULL.
    * git://
      sparc: fix the return value of module_alloc()
      sparc32: Enable the relocation target R_SPARC_DISP32 for sparc32
    committed Sep 21, 2012
  3. Merge branch 'x86-urgent-for-linus' of git://…

    Pull x86 fixes from Ingo Molnar:
     "Small fixlets"
    * 'x86-urgent-for-linus' of git://
      x86/mm/init.c: Fix devmem_is_allowed() off by one
      x86/kconfig: Remove outdated reference to Intel CPUs in CONFIG_SWIOTLB
    committed Sep 21, 2012
  4. Merge branch 'timers-urgent-for-linus' of git://…

    Pull timer fix from Ingo Molnar:
     "One more timekeeping fix for v3.6"
    * 'timers-urgent-for-linus' of git://
      time: Fix timeekeping_get_ns overflow on 32bit systems
    committed Sep 21, 2012
  5. Merge branch 'perf-urgent-for-linus' of git://…

    Pull perf fixes from Ingo Molnar:
     "Small perf fixlets"
    * 'perf-urgent-for-linus' of git://
      tracing: Don't call page_to_pfn() if page is NULL
      perf/x86: Fix Intel Ivy Bridge support
      perf/x86/ibs: Check syscall attribute flags
      perf/x86: Export Sandy Bridge uncore clockticks event in sysfs
    committed Sep 21, 2012
  6. Merge tag 'for-linus-v3.6-rc7' of git://

    Pull xfs bugfixes from Ben Myers:
     - fix a regression related to xfs_sync_worker racing with unmount.
     - fix a race while discarding xfs buffers.
    * tag 'for-linus-v3.6-rc7' of git://
      xfs: stop the sync worker before xfs_unmountfs
      xfs: fix race while discarding buffers [V4]
    committed Sep 21, 2012
  7. Merge branch 'drm-fixes' of git://

    Pull drm fixes from Dave Airlie:
     "Fixes for big 3 drivers:
      nouveau: revert earlier MBP fix, put a dmi based MBP fix in its place
      (fixes a regression we found on some Dell eDP panels doing some
      internal testing)
      radeon: revert pll fixes, real fix is too invasive, fix scratch leak
      intel: 3 minor fixes, one for HDMI audio."
    * 'drm-fixes' of git://
      drm/nouveau: add dmi quirk for gpio reset
      drm/radeon: Prevent leak of scratch register on resume from suspend
      Revert "drm/nv50-/gpio: initialise to vbios defaults during init"
      Revert "drm/radeon: rework pll selection (v3)"
      drm/i915: HDMI - Clear Audio Enable bit for Hot Plug
      drm/i915: Reduce a pin-leak BUG into a WARN
      drm/i915: enable lvds pin pairs before dpll on gen2
    committed Sep 21, 2012
  8. Merge branch 'for-linus' of git://…

    Pull input updates from Dmitry Torokhov:
     "Updates for the input subsystem.  Just a few driver updates mostly
      dealing with recent regressions."
    * 'for-linus' of git://
      Input: edt-ft5x06 - return -EFAULT on copy_to_user() error
      Input: sentelic - filter out erratic movement when lifting finger
      Input: ambakmi - [un]prepare clocks when enabling amd disabling
      Input: i8042 - disable mux on Toshiba C850D
      Revert "input: ab8500-ponkey: Create AB8500 domain IRQ mapping"
      Input: imx_keypad - fix missing clk conversions
      Input: usbtouchscreen - initialize eGalax devices
    committed Sep 21, 2012
  9. Merge git://

    Pull watchdog fixes from Wim Van Sebroeck:
     "Fix a kdump issue in hpwdt and a possible NULL dereference."
    * git://
      watchdog: move the dereference below the NULL test
      hpwdt: Fix kdump issue in hpwdt
    committed Sep 21, 2012
  10. Merge tag 'hwmon-for-linus' of git://…

    Pull hwmon fixes from Guenter Roeck:
     - Add missing 'name' sysfs attributes to ad7314 and ads7871 drivers
     - Bump maximum wait time for applesmc driver (again)
     - Fix build warning seen with W=1 in include/linux/kernel.h, introduced
       with commit b6d86d3 ("Fix DIV_ROUND_CLOSEST to support negative
    * tag 'hwmon-for-linus' of git://
      linux/kernel.h: Fix warning seen with W=1 due to change in DIV_ROUND_CLOSEST
      hwmon: (applesmc) Bump max wait
      hwmon: (ad7314) Add 'name' sysfs attribute
      hwmon: (ads7871) Add 'name' sysfs attribute
    committed Sep 21, 2012
  11. Merge branch 'fixes' of git://

    Pull slave-dmaengine fixes from Vinod Koul:
     "There are two trivial fixes in pl330 driver and two in at_hdmac
    * 'fixes' of git://
      DMA: PL330: Check the pointer returned by kzalloc
      DMA: PL330: Fix potential NULL pointer dereference in pl330_submit_req()
      dmaengine: at_hdmac: check that each sg data length is non-null
      dmaengine: at_hdmac: fix comment in atc_prep_slave_sg()
    committed Sep 21, 2012
  12. Merge tag 'fixes-for-linus' of git://…

    Pull arm-soc bug fixes from Olof Johansson:
     "A couple of samsung clock locking fixes, at91 device tree gpio
      configuration fix and a couple more for shmobile and i.MX.
      All small targeted fixes."
    * tag 'fixes-for-linus' of git://
      ARM i.MX25: Make timer irq work again
      ARM: imx: armadillo5x0: Fix illegal register access
      ARM: shmobile: kzm9g: bugfix: correct mmcif interrupt settings
      ARM: SAMSUNG: Use spin_lock_{irqsave,irqrestore} in clk_set_rate
      ARM: at91: fix missing #interrupt-cells on gpio-controller
      ARM: SAMSUNG: use spin_lock_irqsave() in clk_set_parent
    committed Sep 21, 2012
  13. sparc: fix the return value of module_alloc()

    In case of error, function module_alloc() in other platform never
    returns ERR_PTR(), and all of the user only check for NULL, so
    we'd better return NULL instead of ERR_PTR().
    dpatch engine is used to auto generated this patch.
    Signed-off-by: Wei Yongjun <>
    Signed-off-by: David S. Miller <>
    Wei Yongjun committed with davem330 Sep 20, 2012
  14. sparc32: Enable the relocation target R_SPARC_DISP32 for sparc32

    GNU Binutils 2.20.1 generates .eh_frame sections that uses R_SPARC_DISP32.
    Signed-off-by: Andreas Larsson <>
    Signed-off-by: David S. Miller <>
    andreas-gaisler committed with davem330 Sep 17, 2012
  15. Merge branch 'for-linus' of git://…

    Pull s390 fixes from Martin Schwidefsky:
     "Bug fixes for 3.6-rc7, including some important patches for large page
      related memory management issues."
    * 'for-linus' of git://
      s390/dasd: fix read unit address configuration loop
      s390/dasd: fix pathgroup race
      s390/mm: fix user access page-table walk code
      s390/hwcaps: do not report high gprs for 31 bit kernel
      s390/cio: invalidate cdev pointer before deregistration
      s390/cio: fix IO subchannel event race
      s390/dasd: move wake_up call
      s390/hugetlb: use direct TLB flushing for hugetlbfs pages
      s390/mm: fix deadlock in unmap_hugepage_range()
    committed Sep 21, 2012
  16. Merge tag 'stable/for-linus-3.6-rc6-tag' of git://…

    Pull Xen bug-fixes from Konrad Rzeszutek Wilk:
     - Fix M2P batching re-using the incorrect structure field.
       In v3.5 we added batching for M2P override (Machine Frame Number ->
       Physical Frame Number), but the original MFN was saved in an
       incorrect structure - and we would oops/restore when restoring with
       the old MFN.
     - Disable BIOS SMP MP table search.
       A bootup issue that we had ignored until we found that on DL380 G6 it
       was needed.
    * tag 'stable/for-linus-3.6-rc6-tag' of git://
      xen/boot: Disable BIOS SMP MP table search.
      xen/m2p: do not reuse kmap_op->dev_bus_addr
    committed Sep 21, 2012
  17. net/stmmac: Use clk_prepare_enable and clk_disable_unprepare

    This patch fixes an issue introduced by commit ID 6a81c26
    [net/stmmac: remove conditional compilation of clk code], which
    switched from the internal stmmac_clk_{en}{dis}able calls to
    clk_{en}{dis}able. By this, calling clk_prepare and clk_unprepare
    was removed.
    clk_{un}prepare is mandatory for platforms using common clock framework.
    Since these drivers are used by SPEAr platform, which supports common
    clock framework, add clk_{un}prepare() support for them. Otherwise
    the clocks are not correctly en-/disabled and ethernet support doesn't
    Signed-off-by: Stefan Roese <>
    Cc: Viresh Kumar <>
    Cc: Giuseppe Cavallaro <>
    Reviewed-by: Viresh Kumar <>
    Signed-off-by: David S. Miller <>
    stroese committed with davem330 Sep 21, 2012
  18. debugfs: fix u32_array race in format_array_alloc

    The format_array_alloc() function is fundamentally racy, in that it
    prints the array twice: once to figure out how much space to allocate
    for the buffer, and the second time to actually print out the data.
    If any of the array contents changes in between, the allocation size may
    be wrong, and the end result may be truncated in odd ways.
    Just don't do it.  Allocate a maximum-sized array up-front, and just
    format the array contents once.  The only user of the u32_array
    interfaces is the Xen spinlock statistics code, and it has 31 entries in
    the arrays, so the maximum size really isn't that big, and the end
    result is much simpler code without the bug.
    Signed-off-by: Linus Torvalds <>
    committed Sep 21, 2012
  19. net: change return values from -EACCES to -EPERM

    Change return value from -EACCES to -EPERM when the permission check fails.
    Signed-off-by: Zhao Hongjiang <>
    Signed-off-by: David S. Miller <>
    Zhao Hongjiang committed with davem330 Sep 20, 2012
  20. Merge branch 'fixes-for-3.6' of git://

    Marc Kleine-Budde says:
    two patches for the v3.6 release cycle. Ira W. Snyder fixed support for the
    older version of the Janz CMOD-IO Carrier Board. I found and fixed an oops in
    the ti_hecc driver, which occurs when removing the module if the network
    interface is still open.
    Signed-off-by: David S. Miller <>
    davem330 committed Sep 21, 2012