1. 27 Sep, 2012 9 commits
  2. 26 Sep, 2012 5 commits
  3. 25 Sep, 2012 15 commits
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 6f0f9b6b
      Linus Torvalds authored
      Pull more networking fixes from David Miller:
      
       1) Eric Dumazet discovered and fixed what turned out to be a family of
          bugs.  These functions were using pskb_may_pull() which might need
          to reallocate the linear SKB data buffer, but the callers were not
          expecting this possibility.  The callers have cached pointers to the
          packet header areas, and would need to reload them if we were to
          continue using pskb_may_pull().
      
          So they could end up reading garbage.
      
          It's easier to just change these RAW4/RAW6/MIP6 routines to use
          skb_header_pointer() instead of pskb_may_pull(), which won't modify
          the linear SKB data area.
      
       2) Dave Jone's syscall spammer caught a case where a non-TCP socket can
          call down into the TCP keepalive code.  The case basically involves
          creating a raw socket with sk_protocol == IPPROTO_TCP, then calling
          setsockopt(sock_fd, SO_KEEPALIVE, ...)
      
          Fixed by Eric Dumazet.
      
       3) Bluetooth devices do not get configured properly while being powered
          on, resulting in always using legacy pairing instead of SSP.  Fix
          from Andrzej Kaczmarek.
      
       4) Bluetooth cancels delayed work erroneously, put stricter checks in
          place.  From Andrei Emeltchenko.
      
       5) Fix deadlock between cfg80211_mutex and reg_regdb_search_mutex in
          cfg80211, from Luis R.  Rodriguez.
      
       6) Fix interrupt double release in iwlwifi, from Emmanuel Grumbach.
      
       7) Missing module license in bcm87xx driver, from Peter Huewe.
      
       8) Team driver can lose port changed events when adding devices to a
          team, fix from Jiri Pirko.
      
       9) Fix endless loop when trying ot unregister PPPOE device in zombie
          state, from Xiaodong Xu.
      
      10) batman-adv layer needs to set MAC address of software device
          earlier, otherwise we call tt_local_add with it uninitialized.
      
      11) Fix handling of KSZ8021 PHYs, it's matched currently by KS8051 but
          that doesn't program the device properly.  From Marek Vasut.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
        ipv6: mip6: fix mip6_mh_filter()
        ipv6: raw: fix icmpv6_filter()
        net: guard tcp_set_keepalive() to tcp sockets
        phy/micrel: Add missing header to micrel_phy.h
        phy/micrel: Rename KS80xx to KSZ80xx
        phy/micrel: Implement support for KSZ8021
        batman-adv: Fix symmetry check / route flapping in multi interface setups
        batman-adv: Fix change mac address of soft iface.
        pppoe: drop PPPOX_ZOMBIEs in pppoe_release
        team: send port changed when added
        ipv4: raw: fix icmp_filter()
        net/phy/bcm87xx: Add MODULE_LICENSE("GPL") to GPL driver
        iwlwifi: don't double free the interrupt in failure path
        cfg80211: fix possible circular lock on reg_regdb_search()
        Bluetooth: Fix not removing power_off delayed work
        Bluetooth: Fix freeing uninitialized delayed works
        Bluetooth: mgmt: Fix enabling LE while powered off
        Bluetooth: mgmt: Fix enabling SSP while powered off
      6f0f9b6b
    • Eric Dumazet's avatar
      ipv6: mip6: fix mip6_mh_filter() · 96af69ea
      Eric Dumazet authored
      mip6_mh_filter() should not modify its input, or else its caller
      would need to recompute ipv6_hdr() if skb->head is reallocated.
      
      Use skb_header_pointer() instead of pskb_may_pull()
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      96af69ea
    • David S. Miller's avatar
      Merge tag 'batman-adv-fix-for-davem' of git://git.open-mesh.org/linux-merge · 78cc88c4
      David S. Miller authored
      Included fixes:
      - fix the behaviour of batman-adv in case of virtual interface MAC change event
      - fix symmetric link check in neighbour selection
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      78cc88c4
    • Eric Dumazet's avatar
      ipv6: raw: fix icmpv6_filter() · 1b05c4b5
      Eric Dumazet authored
      icmpv6_filter() should not modify its input, or else its caller
      would need to recompute ipv6_hdr() if skb->head is reallocated.
      
      Use skb_header_pointer() instead of pskb_may_pull() and
      change the prototype to make clear both sk and skb are const.
      
      Also, if icmpv6 header cannot be found, do not deliver the packet,
      as we do in IPv4.
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1b05c4b5
    • Linus Torvalds's avatar
      Merge tag 'sh-for-linus' of git://github.com/pmundt/linux-sh · 9391734d
      Linus Torvalds authored
      Pull SuperH fix from Paul Mundt:
       "One last minute regression fix.."
      
      * tag 'sh-for-linus' of git://github.com/pmundt/linux-sh:
        sh: pfc: Fix up GPIO mux type reconfig case.
      9391734d
    • Linus Torvalds's avatar
      Merge branch 'akpm' (sundry from Andrew) · e108a3c3
      Linus Torvalds authored
      Merge misc fixes from Andrew Morton:
       "One maintainer change and three bugfixes"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (4 commits)
        c/r: prctl: fix build error for no-MMU case
        lib/flex_proportions.c: fix corruption of denominator in flexible proportions
        checksyscalls: fix "here document" handling
        pwm-backlight: take over maintenance
      e108a3c3
    • Mark Salter's avatar
      c/r: prctl: fix build error for no-MMU case · be8cfc4a
      Mark Salter authored
      Commit 1ad75b9e ("c/r: prctl: add minimal address test to
      PR_SET_MM") added some address checking to prctl_set_mm() used by
      checkpoint-restore.  This causes a build error for no-MMU systems:
      
         kernel/sys.c: In function 'prctl_set_mm':
         kernel/sys.c:1868:34: error: 'mmap_min_addr' undeclared (first use in this function)
      
      The test for mmap_min_addr doesn't make a lot of sense for no-MMU code
      as noted in commit 6e141546 ("NOMMU: Optimise away the
      {dac_,}mmap_min_addr tests").
      
      This patch defines mmap_min_addr as 0UL in the no-MMU case so that the
      compiler will optimize away tests for "addr < mmap_min_addr".
      Signed-off-by: default avatarMark Salter <msalter@redhat.com>
      Reviewed-by: default avatarCyrill Gorcunov <gorcunov@openvz.org>
      Cc: <stable@vger.kernel.org>	[3.6.x]
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      be8cfc4a
    • Jan Kara's avatar
      lib/flex_proportions.c: fix corruption of denominator in flexible proportions · b5bd6a0e
      Jan Kara authored
      When racing with CPU hotplug, percpu_counter_sum() can return negative
      values for the number of observed events.
      
      This confuses fprop_new_period(), which uses unsigned type and as a
      result number of events is set to big *positive* number.  From that
      moment on, things go pear shaped and can result e.g.  in division by
      zero as denominator is later truncated to 32-bits.
      
      This bug causes a divide-by-zero oops in bdi_dirty_limit() in Borislav's
      3.6.0-rc6 based kernel.
      
      Fix the issue by using a signed type in fprop_new_period().  That makes
      us bail out from the function without doing anything (mistakenly)
      thinking there are no events to age.  That makes aging somewhat
      inaccurate but getting accurate data would be rather hard.
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      Reported-by: default avatarBorislav Petkov <bp@amd64.org>
      Reported-by: default avatarSrivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
      Cc: Wu Fengguang <fengguang.wu@intel.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b5bd6a0e
    • Heiko Carstens's avatar
      checksyscalls: fix "here document" handling · 0e75898f
      Heiko Carstens authored
      "echo" doesn't read from stdin, therefore the checksyscalls script didn't
      warn about not implemented system calls anymore since 29dc54c6
      ("checksyscalls: Use arch/x86/syscalls/syscall_32.tbl as source").
      
      Use "cat" instead of "echo" which handles this correctly.
      Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Michal Marek <mmarek@suse.cz>
      Cc: H. Peter Anvin <hpa@linux.intel.com>
      Cc: Cyrill Gorcunov <gorcunov@openvz.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0e75898f
    • Thierry Reding's avatar
      pwm-backlight: take over maintenance · a140b98d
      Thierry Reding authored
      Since the pwm-backlight driver is lacking a proper maintainer and is the
      heaviest user of the PWM framework I'm taking over maintenance.
      Signed-off-by: default avatarThierry Reding <thierry.reding@avionic-design.de>
      Acked-by: default avatarArun Murthy <arun.murthy@stericsson.com>
      Cc: Matthew Garrett <mjg@redhat.com>
      Cc: Robert Morell <rmorell@nvidia.com>
      Cc: Dilan Lee <dilee@nvidia.com>
      Cc: Axel Lin <axel.lin@gmail.com>
      Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
      Cc: Alexandre Courbot <acourbot@nvidia.com>
      Acked-by: default avatarSachin Kamat <sachin.kamat@linaro.org>
      Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a140b98d
    • Mauro Carvalho Chehab's avatar
      sb_edac: Avoid overflow errors at memory size calculation · deb09dda
      Mauro Carvalho Chehab authored
      Sandy bridge EDAC is calculating the memory size with overflow.
      Basically, the size field and the integer calculation is using 32 bits.
      More bits are needed, when the DIMM memories have high density.
      
      The net result is that memories are improperly reported there, when
      high-density DIMMs are used:
      
      EDAC DEBUG: in drivers/edac/sb_edac.c, line at 591: mc#0: channel 0, dimm 0, -16384 Mb (-4194304 pages) bank: 8, rank: 2, row: 0x10000, col: 0x800
      EDAC DEBUG: in drivers/edac/sb_edac.c, line at 591: mc#0: channel 1, dimm 0, -16384 Mb (-4194304 pages) bank: 8, rank: 2, row: 0x10000, col: 0x800
      
      As the number of pages value is handled at the EDAC core as unsigned
      ints, the driver shows the 16 GB memories at sysfs interface as 16760832
      MB! The fix is simple: calculate the number of pages as unsigned 64-bits
      integer.
      
      After the patch, the memory size (16 GB) is properly detected:
      
      EDAC DEBUG: in drivers/edac/sb_edac.c, line at 592: mc#0: channel 0, dimm 0, 16384 Mb (4194304 pages) bank: 8, rank: 2, row: 0x10000, col: 0x800
      EDAC DEBUG: in drivers/edac/sb_edac.c, line at 592: mc#0: channel 1, dimm 0, 16384 Mb (4194304 pages) bank: 8, rank: 2, row: 0x10000, col: 0x800
      
      Cc: stable@kernel.org
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      deb09dda
    • Mauro Carvalho Chehab's avatar
      i5000: Fix the memory size calculation with 2R memories · b70f8333
      Mauro Carvalho Chehab authored
      When 2R memories are found, the memory size should be multiplied
      by two, otherwise, it will report half of the memory size:
      
             +-----------------------------------------------+
             |                      mc0                      |
             |        branch0        |        branch1        |
             | channel0  | channel1  | channel0  | channel1  |
      -------+-----------------------------------------------+
      slot3: |     0 MB  |     0 MB  |     0 MB  |     0 MB  |
      slot2: |     0 MB  |     0 MB  |     0 MB  |     0 MB  |
      -------+-----------------------------------------------+
      slot1: |     0 MB  |     0 MB  |     0 MB  |     0 MB  |
      slot0: |  1024 MB  |  1024 MB  |  1024 MB  |  1024 MB  |
      -------+-----------------------------------------------+
      
      (the above machine have 4 x 2GB 2R memories)
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      b70f8333
    • Mauro Carvalho Chehab's avatar
      i3200_edac: Fix memory rank size · 582a8996
      Mauro Carvalho Chehab authored
      commit a895bf8b incorrectly
      changed the logic that fills the memory bank size. Fix it.
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      582a8996
    • Paul Mundt's avatar
      sh: pfc: Fix up GPIO mux type reconfig case. · 16d74ebe
      Paul Mundt authored
      Some drivers need to switch pin states between GPIO and pin function at
      runtime, which was inadvertently broken in the pinctrl driver for GPIOs
      being bound to a specific direction.
      
      This fixes up the request path to ensure that previously configured GPIOs
      don't cause us to inadvertently error out with an unsupported mux on
      reconfig, which in practice is primarily aimed at trapping pull-up/down
      users that have yet to be implemented under the new API.
      
      Fixes up regressions in the TPU PWM driver, amongst others.
      Reported-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Tested-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
      16d74ebe
    • David S. Miller's avatar
      Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless · 41e26856
      David S. Miller authored
      John W. Linville says:
      
      ====================
      Please pull this last(?) batch of fixes intended for 3.6...
      
      For the Bluetooth bits, Gustavo says this:
      
      "Here goes probably my last update to 3.6. It includes the two patches
      you were ok last week(from Andrzej Kaczmarek), those are critical
      ones, and two other fixes one for a system crash and the other for
      a missing lockdep annotation."
      
      The referenced fixes from Andrzej prevent attempts to configure devices
      that are powered-off.
      
      Along with the Bluetooth fixes, there are a couple of 802.11 fixes.
      Emmanuel Grumbach gives us an iwlwifi fix to prevent releasing an
      interrupt twice.  Luis R. Rodriguez provides a fix for a possible
      circular lock dependency in the cfg80211 regulatory enforcement code.
      
      All of these have been in linux-next for a few days.  I hope they are
      not too late to make the 3.6 release!
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      41e26856
  4. 24 Sep, 2012 11 commits