805 lines
32 KiB
Plaintext
805 lines
32 KiB
Plaintext
|
commit 2efd7c0fdcbe041173e248ccc2d9c91df7f84ce5
|
||
|
Merge: 62ddc00 7ed47b7
|
||
|
Author: Linus Torvalds <torvalds@linux-foundation.org>
|
||
|
Date: Fri Oct 21 17:02:18 2011 +0300
|
||
|
|
||
|
Merge git://github.com/herbertx/crypto
|
||
|
|
||
|
* git://github.com/herbertx/crypto:
|
||
|
crypto: ghash - Avoid null pointer dereference if no key is set
|
||
|
|
||
|
commit 62ddc0046eae6b8e8374f0ac3b27b12a57baa2f6
|
||
|
Merge: fd11e15 ca201c0
|
||
|
Author: Linus Torvalds <torvalds@linux-foundation.org>
|
||
|
Date: Fri Oct 21 17:01:21 2011 +0300
|
||
|
|
||
|
Merge branch 'fix/hda' of git://github.com/tiwai/sound
|
||
|
|
||
|
* 'fix/hda' of git://github.com/tiwai/sound:
|
||
|
ALSA: HDA: conexant support for Lenovo T520/W520
|
||
|
ALSA: hda - Add position_fix quirk for Dell Inspiron 1010
|
||
|
|
||
|
commit 7ed47b7d142ec99ad6880bbbec51e9f12b3af74c
|
||
|
Author: Nick Bowler <nbowler@elliptictech.com>
|
||
|
Date: Thu Oct 20 14:16:55 2011 +0200
|
||
|
|
||
|
crypto: ghash - Avoid null pointer dereference if no key is set
|
||
|
|
||
|
The ghash_update function passes a pointer to gf128mul_4k_lle which will
|
||
|
be NULL if ghash_setkey is not called or if the most recent call to
|
||
|
ghash_setkey failed to allocate memory. This causes an oops. Fix this
|
||
|
up by returning an error code in the null case.
|
||
|
|
||
|
This is trivially triggered from unprivileged userspace through the
|
||
|
AF_ALG interface by simply writing to the socket without setting a key.
|
||
|
|
||
|
The ghash_final function has a similar issue, but triggering it requires
|
||
|
a memory allocation failure in ghash_setkey _after_ at least one
|
||
|
successful call to ghash_update.
|
||
|
|
||
|
BUG: unable to handle kernel NULL pointer dereference at 00000670
|
||
|
IP: [<d88c92d4>] gf128mul_4k_lle+0x23/0x60 [gf128mul]
|
||
|
*pde = 00000000
|
||
|
Oops: 0000 [#1] PREEMPT SMP
|
||
|
Modules linked in: ghash_generic gf128mul algif_hash af_alg nfs lockd nfs_acl sunrpc bridge ipv6 stp llc
|
||
|
|
||
|
Pid: 1502, comm: hashatron Tainted: G W 3.1.0-rc9-00085-ge9308cf #32 Bochs Bochs
|
||
|
EIP: 0060:[<d88c92d4>] EFLAGS: 00000202 CPU: 0
|
||
|
EIP is at gf128mul_4k_lle+0x23/0x60 [gf128mul]
|
||
|
EAX: d69db1f0 EBX: d6b8ddac ECX: 00000004 EDX: 00000000
|
||
|
ESI: 00000670 EDI: d6b8ddac EBP: d6b8ddc8 ESP: d6b8dda4
|
||
|
DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
|
||
|
Process hashatron (pid: 1502, ti=d6b8c000 task=d6810000 task.ti=d6b8c000)
|
||
|
Stack:
|
||
|
00000000 d69db1f0 00000163 00000000 d6b8ddc8 c101a520 d69db1f0 d52aa000
|
||
|
00000ff0 d6b8dde8 d88d310f d6b8a3f8 d52aa000 00001000 d88d502c d6b8ddfc
|
||
|
00001000 d6b8ddf4 c11676ed d69db1e8 d6b8de24 c11679ad d52aa000 00000000
|
||
|
Call Trace:
|
||
|
[<c101a520>] ? kmap_atomic_prot+0x37/0xa6
|
||
|
[<d88d310f>] ghash_update+0x85/0xbe [ghash_generic]
|
||
|
[<c11676ed>] crypto_shash_update+0x18/0x1b
|
||
|
[<c11679ad>] shash_ahash_update+0x22/0x36
|
||
|
[<c11679cc>] shash_async_update+0xb/0xd
|
||
|
[<d88ce0ba>] hash_sendpage+0xba/0xf2 [algif_hash]
|
||
|
[<c121b24c>] kernel_sendpage+0x39/0x4e
|
||
|
[<d88ce000>] ? 0xd88cdfff
|
||
|
[<c121b298>] sock_sendpage+0x37/0x3e
|
||
|
[<c121b261>] ? kernel_sendpage+0x4e/0x4e
|
||
|
[<c10b4dbc>] pipe_to_sendpage+0x56/0x61
|
||
|
[<c10b4e1f>] splice_from_pipe_feed+0x58/0xcd
|
||
|
[<c10b4d66>] ? splice_from_pipe_begin+0x10/0x10
|
||
|
[<c10b51f5>] __splice_from_pipe+0x36/0x55
|
||
|
[<c10b4d66>] ? splice_from_pipe_begin+0x10/0x10
|
||
|
[<c10b6383>] splice_from_pipe+0x51/0x64
|
||
|
[<c10b63c2>] ? default_file_splice_write+0x2c/0x2c
|
||
|
[<c10b63d5>] generic_splice_sendpage+0x13/0x15
|
||
|
[<c10b4d66>] ? splice_from_pipe_begin+0x10/0x10
|
||
|
[<c10b527f>] do_splice_from+0x5d/0x67
|
||
|
[<c10b6865>] sys_splice+0x2bf/0x363
|
||
|
[<c129373b>] ? sysenter_exit+0xf/0x16
|
||
|
[<c104dc1e>] ? trace_hardirqs_on_caller+0x10e/0x13f
|
||
|
[<c129370c>] sysenter_do_call+0x12/0x32
|
||
|
Code: 83 c4 0c 5b 5e 5f c9 c3 55 b9 04 00 00 00 89 e5 57 8d 7d e4 56 53 8d 5d e4 83 ec 18 89 45 e0 89 55 dc 0f b6 70 0f c1 e6 04 01 d6 <f3> a5 be 0f 00 00 00 4e 89 d8 e8 48 ff ff ff 8b 45 e0 89 da 0f
|
||
|
EIP: [<d88c92d4>] gf128mul_4k_lle+0x23/0x60 [gf128mul] SS:ESP 0068:d6b8dda4
|
||
|
CR2: 0000000000000670
|
||
|
---[ end trace 4eaa2a86a8e2da24 ]---
|
||
|
note: hashatron[1502] exited with preempt_count 1
|
||
|
BUG: scheduling while atomic: hashatron/1502/0x10000002
|
||
|
INFO: lockdep is turned off.
|
||
|
[...]
|
||
|
|
||
|
Signed-off-by: Nick Bowler <nbowler@elliptictech.com>
|
||
|
Cc: stable@kernel.org [2.6.37+]
|
||
|
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
|
||
|
|
||
|
commit fd11e153b82ad1c84ccc71ba1cfedc222465198c
|
||
|
Merge: 505f48b aad4564
|
||
|
Author: Linus Torvalds <torvalds@linux-foundation.org>
|
||
|
Date: Thu Oct 20 22:16:28 2011 +0300
|
||
|
|
||
|
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc
|
||
|
|
||
|
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
|
||
|
sparc: Add alignment flag to PCI expansion resources
|
||
|
sparc: Avoid calling sigprocmask()
|
||
|
sparc: Use set_current_blocked()
|
||
|
sparc32,leon: SRMMU MMU Table probe fix
|
||
|
|
||
|
commit 505f48b53478d3816d1f3b001815703cfd7afa09
|
||
|
Merge: 486cf46 afaef73
|
||
|
Author: Linus Torvalds <torvalds@linux-foundation.org>
|
||
|
Date: Thu Oct 20 22:15:20 2011 +0300
|
||
|
|
||
|
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
|
||
|
|
||
|
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
|
||
|
fib_rules: fix unresolved_rules counting
|
||
|
r8169: fix wrong eee setting for rlt8111evl
|
||
|
r8169: fix driver shutdown WoL regression.
|
||
|
ehea: Change maintainer to me
|
||
|
pptp: pptp_rcv_core() misses pskb_may_pull() call
|
||
|
tproxy: copy transparent flag when creating a time wait
|
||
|
pptp: fix skb leak in pptp_xmit()
|
||
|
bonding: use local function pointer of bond->recv_probe in bond_handle_frame
|
||
|
smsc911x: Add support for SMSC LAN89218
|
||
|
tg3: negate USE_PHYLIB flag check
|
||
|
netconsole: enable netconsole can make net_device refcnt incorrent
|
||
|
bluetooth: Properly clone LSM attributes to newly created child connections
|
||
|
l2tp: fix a potential skb leak in l2tp_xmit_skb()
|
||
|
bridge: fix hang on removal of bridge via netlink
|
||
|
x25: Prevent skb overreads when checking call user data
|
||
|
x25: Handle undersized/fragmented skbs
|
||
|
x25: Validate incoming call user data lengths
|
||
|
udplite: fast-path computation of checksum coverage
|
||
|
IPVS netns shutdown/startup dead-lock
|
||
|
netfilter: nf_conntrack: fix event flooding in GRE protocol tracker
|
||
|
|
||
|
commit 486cf46f3f9be5f2a966016c1a8fe01e32cde09e
|
||
|
Author: Hugh Dickins <hughd@google.com>
|
||
|
Date: Wed Oct 19 12:50:35 2011 -0700
|
||
|
|
||
|
mm: fix race between mremap and removing migration entry
|
||
|
|
||
|
I don't usually pay much attention to the stale "? " addresses in
|
||
|
stack backtraces, but this lucky report from Pawel Sikora hints that
|
||
|
mremap's move_ptes() has inadequate locking against page migration.
|
||
|
|
||
|
3.0 BUG_ON(!PageLocked(p)) in migration_entry_to_page():
|
||
|
kernel BUG at include/linux/swapops.h:105!
|
||
|
RIP: 0010:[<ffffffff81127b76>] [<ffffffff81127b76>]
|
||
|
migration_entry_wait+0x156/0x160
|
||
|
[<ffffffff811016a1>] handle_pte_fault+0xae1/0xaf0
|
||
|
[<ffffffff810feee2>] ? __pte_alloc+0x42/0x120
|
||
|
[<ffffffff8112c26b>] ? do_huge_pmd_anonymous_page+0xab/0x310
|
||
|
[<ffffffff81102a31>] handle_mm_fault+0x181/0x310
|
||
|
[<ffffffff81106097>] ? vma_adjust+0x537/0x570
|
||
|
[<ffffffff81424bed>] do_page_fault+0x11d/0x4e0
|
||
|
[<ffffffff81109a05>] ? do_mremap+0x2d5/0x570
|
||
|
[<ffffffff81421d5f>] page_fault+0x1f/0x30
|
||
|
|
||
|
mremap's down_write of mmap_sem, together with i_mmap_mutex or lock,
|
||
|
and pagetable locks, were good enough before page migration (with its
|
||
|
requirement that every migration entry be found) came in, and enough
|
||
|
while migration always held mmap_sem; but not enough nowadays, when
|
||
|
there's memory hotremove and compaction.
|
||
|
|
||
|
The danger is that move_ptes() lets a migration entry dodge around
|
||
|
behind remove_migration_pte()'s back, so it's in the old location when
|
||
|
looking at the new, then in the new location when looking at the old.
|
||
|
|
||
|
Either mremap's move_ptes() must additionally take anon_vma lock(), or
|
||
|
migration's remove_migration_pte() must stop peeking for is_swap_entry()
|
||
|
before it takes pagetable lock.
|
||
|
|
||
|
Consensus chooses the latter: we prefer to add overhead to migration
|
||
|
than to mremapping, which gets used by JVMs and by exec stack setup.
|
||
|
|
||
|
Reported-and-tested-by: Paweł Sikora <pluto@agmk.net>
|
||
|
Signed-off-by: Hugh Dickins <hughd@google.com>
|
||
|
Acked-by: Andrea Arcangeli <aarcange@redhat.com>
|
||
|
Acked-by: Mel Gorman <mgorman@suse.de>
|
||
|
Cc: stable@vger.kernel.org
|
||
|
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
|
||
|
|
||
|
commit aad4564498dcb0aad769a79e5e2aa9a661dfb51f
|
||
|
Author: Kjetil Oftedal <oftedal@gmail.com>
|
||
|
Date: Wed Oct 19 16:20:50 2011 -0700
|
||
|
|
||
|
sparc: Add alignment flag to PCI expansion resources
|
||
|
|
||
|
Currently no type of alignment is specified for PCI expansion roms while
|
||
|
parsing the openfirmware tree. This causes calls to pci_map_rom() to fail.
|
||
|
IORESOURCE_SIZEALIGN is the default alignment used for rom resouces in
|
||
|
pci/probe.c, and has been verified to work with various cards on a ultra 10.
|
||
|
|
||
|
Signed-off-By: Kjetil Oftedal <oftedal@gmail.com>
|
||
|
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||
|
|
||
|
commit afaef734e5f0004916d07ecf7d86292cdd00d59b
|
||
|
Author: Yan, Zheng <zheng.z.yan@intel.com>
|
||
|
Date: Mon Oct 17 15:20:28 2011 +0000
|
||
|
|
||
|
fib_rules: fix unresolved_rules counting
|
||
|
|
||
|
we should decrease ops->unresolved_rules when deleting a unresolved rule.
|
||
|
|
||
|
Signed-off-by: Zheng Yan <zheng.z.yan@intel.com>
|
||
|
Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
|
||
|
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||
|
|
||
|
commit 1b23a3e3d1b969e285c57a2d38f3739283ecfb80
|
||
|
Author: hayeswang <hayeswang@realtek.com>
|
||
|
Date: Thu Oct 13 20:14:37 2011 +0000
|
||
|
|
||
|
r8169: fix wrong eee setting for rlt8111evl
|
||
|
|
||
|
Correct the wrong parameter for setting EEE for RTL8111E-VL.
|
||
|
|
||
|
Signed-off-by: Hayes Wang <hayeswang@realtek.com>
|
||
|
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||
|
|
||
|
commit 649b3b8c4e8681de443b4dc9e387c3036369e02e
|
||
|
Author: françois romieu <romieu@fr.zoreil.com>
|
||
|
Date: Fri Oct 14 00:57:45 2011 +0000
|
||
|
|
||
|
r8169: fix driver shutdown WoL regression.
|
||
|
|
||
|
Due to commit 92fc43b4159b518f5baae57301f26d770b0834c9 ("r8169: modify the
|
||
|
flow of the hw reset."), rtl8169_hw_reset stomps during driver shutdown on
|
||
|
RxConfig bits which are needed for WOL on some versions of the hardware.
|
||
|
|
||
|
As these bits were formerly set from the r81{0x, 68}_pll_power_down methods,
|
||
|
factor them out for use in the driver shutdown (rtl_shutdown) handler.
|
||
|
|
||
|
I favored __rtl8169_get_wol() -hardware state indication- over
|
||
|
RTL_FEATURE_WOL as the latter has become a good candidate for removal.
|
||
|
|
||
|
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
|
||
|
Cc: Hayes <hayeswang@realtek.com>
|
||
|
Tested-by: Marc Ballarin <ballarin.marc@gmx.de>
|
||
|
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||
|
|
||
|
commit 34b1901abdf8793cd679d0e48012d3d7570f88d6
|
||
|
Author: Thadeu Lima de Souza Cascardo <cascardo@linux.vnet.ibm.com>
|
||
|
Date: Thu Oct 13 09:56:19 2011 +0000
|
||
|
|
||
|
ehea: Change maintainer to me
|
||
|
|
||
|
Breno Leitao has passed the maintainership to me.
|
||
|
|
||
|
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@linux.vnet.ibm.com>
|
||
|
Cc: Breno Leitao <leitao@linux.vnet.ibm.com>
|
||
|
Acked-by: Breno Leitão <leitao@linux.vnet.ibm.com>
|
||
|
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||
|
|
||
|
commit e4fcd69c9e4e273352e0f87cabd9648606da0c3e
|
||
|
Merge: f91f6cf e58fced
|
||
|
Author: Linus Torvalds <torvalds@linux-foundation.org>
|
||
|
Date: Wed Oct 19 06:44:11 2011 -0700
|
||
|
|
||
|
Merge branch 'v4l_for_linus' of git://linuxtv.org/mchehab/for_linus
|
||
|
|
||
|
* 'v4l_for_linus' of git://linuxtv.org/mchehab/for_linus:
|
||
|
[media] videodev: fix a NULL pointer dereference in v4l2_device_release()
|
||
|
|
||
|
commit f91f6cfd4f9ea794dc3d0bbd54cb1d29d6ef3843
|
||
|
Merge: bcd5cff 5a6e848
|
||
|
Author: Linus Torvalds <torvalds@linux-foundation.org>
|
||
|
Date: Wed Oct 19 06:43:24 2011 -0700
|
||
|
|
||
|
Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux
|
||
|
|
||
|
* 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
|
||
|
drm/radeon/kms/atom: fix handling of FB scratch indices
|
||
|
drm/radeon/kms/DCE4.1: fix Select_CrtcSource EncodeMode setting for DP bridges (v2)
|
||
|
drm/radeon/kms/DCE4.1: ss is not supported on the internal pplls
|
||
|
drm/radeon/kms/DCE4.1: fix dig encoder to transmitter mapping
|
||
|
ttm: Fix error-path using an uninitialized value
|
||
|
|
||
|
commit e58fced201ad6e6cb673f07499919c3b20792d94
|
||
|
Author: Antonio Ospite <ospite@studenti.unina.it>
|
||
|
Date: Wed Oct 12 17:59:26 2011 -0300
|
||
|
|
||
|
[media] videodev: fix a NULL pointer dereference in v4l2_device_release()
|
||
|
|
||
|
The change in 8280b66 does not cover the case when v4l2_dev is already
|
||
|
NULL, fix that.
|
||
|
|
||
|
With a Kinect sensor, seen as an USB camera using GSPCA in this context,
|
||
|
a NULL pointer dereference BUG can be triggered by just unplugging the
|
||
|
device after the camera driver has been loaded.
|
||
|
|
||
|
Signed-off-by: Antonio Ospite <ospite@studenti.unina.it>
|
||
|
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
|
||
|
|
||
|
commit 5a6e8482a16e61250a9121fc9ec719ab0529e760
|
||
|
Author: Alex Deucher <alexander.deucher@amd.com>
|
||
|
Date: Tue Oct 18 20:10:05 2011 -0400
|
||
|
|
||
|
drm/radeon/kms/atom: fix handling of FB scratch indices
|
||
|
|
||
|
FB scratch indices are dword indices, but we were treating
|
||
|
them as byte indices. As such, we were getting the wrong
|
||
|
FB scratch data for non-0 indices. Fix the indices and
|
||
|
guard the indexing against indices larger than the scratch
|
||
|
allocation.
|
||
|
|
||
|
Fixes memory corruption on some boards if data was written
|
||
|
past the end of the FB scratch array.
|
||
|
|
||
|
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
|
||
|
Reported-by: Dave Airlie <airlied@redhat.com>
|
||
|
Tested-by: Dave Airlie <airlied@redhat.com>
|
||
|
Cc: stable@kernel.org
|
||
|
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
||
|
|
||
|
commit 4ea2739ea89883ddf79980a8aa27d5e57093e464
|
||
|
Author: Eric Dumazet <eric.dumazet@gmail.com>
|
||
|
Date: Mon Oct 17 17:59:53 2011 +0000
|
||
|
|
||
|
pptp: pptp_rcv_core() misses pskb_may_pull() call
|
||
|
|
||
|
e1000e uses paged frags, so any layer incorrectly pulling bytes from skb
|
||
|
can trigger a BUG in skb_pull()
|
||
|
|
||
|
[951.142737] [<ffffffff813d2f36>] skb_pull+0x15/0x17
|
||
|
[951.142737] [<ffffffffa0286824>] pptp_rcv_core+0x126/0x19a [pptp]
|
||
|
[951.152725] [<ffffffff813d17c4>] sk_receive_skb+0x69/0x105
|
||
|
[951.163558] [<ffffffffa0286993>] pptp_rcv+0xc8/0xdc [pptp]
|
||
|
[951.165092] [<ffffffffa02800a3>] gre_rcv+0x62/0x75 [gre]
|
||
|
[951.165092] [<ffffffff81410784>] ip_local_deliver_finish+0x150/0x1c1
|
||
|
[951.177599] [<ffffffff81410634>] ? ip_local_deliver_finish+0x0/0x1c1
|
||
|
[951.177599] [<ffffffff81410846>] NF_HOOK.clone.7+0x51/0x58
|
||
|
[951.177599] [<ffffffff81410996>] ip_local_deliver+0x51/0x55
|
||
|
[951.177599] [<ffffffff814105b9>] ip_rcv_finish+0x31a/0x33e
|
||
|
[951.177599] [<ffffffff8141029f>] ? ip_rcv_finish+0x0/0x33e
|
||
|
[951.204898] [<ffffffff81410846>] NF_HOOK.clone.7+0x51/0x58
|
||
|
[951.214651] [<ffffffff81410bb5>] ip_rcv+0x21b/0x246
|
||
|
|
||
|
pptp_rcv_core() is a nice example of a function assuming everything it
|
||
|
needs is available in skb head.
|
||
|
|
||
|
Reported-by: Bradley Peterson <despite@gmail.com>
|
||
|
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
|
||
|
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||
|
|
||
|
commit 58af19e387d8821927e49be3f467da5e6a0aa8fd
|
||
|
Author: KOVACS Krisztian <hidden@balabit.hu>
|
||
|
Date: Tue Oct 18 10:17:35 2011 +0000
|
||
|
|
||
|
tproxy: copy transparent flag when creating a time wait
|
||
|
|
||
|
The transparent socket option setting was not copied to the time wait
|
||
|
socket when an inet socket was being replaced by a time wait socket. This
|
||
|
broke the --transparent option of the socket match and may have caused
|
||
|
that FIN packets belonging to sockets in FIN_WAIT2 or TIME_WAIT state
|
||
|
were being dropped by the packet filter.
|
||
|
|
||
|
Signed-off-by: KOVACS Krisztian <hidden@balabit.hu>
|
||
|
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||
|
|
||
|
commit 8bae8bd6cb24eecad9fda3e125d36ab9c67d3fd7
|
||
|
Author: Eric Dumazet <eric.dumazet@gmail.com>
|
||
|
Date: Mon Oct 17 17:01:47 2011 +0000
|
||
|
|
||
|
pptp: fix skb leak in pptp_xmit()
|
||
|
|
||
|
In case we cant transmit skb, we must free it
|
||
|
|
||
|
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
|
||
|
CC: Dmitry Kozlov <xeb@mail.ru>
|
||
|
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||
|
|
||
|
commit 4d97480b1806e883eb1c7889d4e7a87e936e06d9
|
||
|
Author: Mitsuo Hayasaka <mitsuo.hayasaka.hu@hitachi.com>
|
||
|
Date: Wed Oct 12 16:04:29 2011 +0000
|
||
|
|
||
|
bonding: use local function pointer of bond->recv_probe in bond_handle_frame
|
||
|
|
||
|
The bond->recv_probe is called in bond_handle_frame() when
|
||
|
a packet is received, but bond_close() sets it to NULL. So,
|
||
|
a panic occurs when both functions work in parallel.
|
||
|
|
||
|
Why this happen:
|
||
|
After null pointer check of bond->recv_probe, an sk_buff is
|
||
|
duplicated and bond->recv_probe is called in bond_handle_frame.
|
||
|
So, a panic occurs when bond_close() is called between the
|
||
|
check and call of bond->recv_probe.
|
||
|
|
||
|
Patch:
|
||
|
This patch uses a local function pointer of bond->recv_probe
|
||
|
in bond_handle_frame(). So, it can avoid the null pointer
|
||
|
dereference.
|
||
|
|
||
|
Signed-off-by: Mitsuo Hayasaka <mitsuo.hayasaka.hu@hitachi.com>
|
||
|
Cc: Jay Vosburgh <fubar@us.ibm.com>
|
||
|
Cc: Andy Gospodarek <andy@greyhouse.net>
|
||
|
Cc: Eric Dumazet <eric.dumazet@gmail.com>
|
||
|
Cc: WANG Cong <xiyou.wangcong@gmail.com>
|
||
|
Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
|
||
|
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||
|
|
||
|
commit 28c213793c994e4aac5f669ce856b5682a549bbb
|
||
|
Author: Phil Edworthy <PHIL.EDWORTHY@renesas.com>
|
||
|
Date: Wed Oct 12 02:29:39 2011 +0000
|
||
|
|
||
|
smsc911x: Add support for SMSC LAN89218
|
||
|
|
||
|
LAN89218 is register compatible with LAN911x.
|
||
|
|
||
|
Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
|
||
|
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||
|
|
||
|
commit e730c82347b9dc75914da998c44c3f348965db41
|
||
|
Author: Jiri Pirko <jpirko@redhat.com>
|
||
|
Date: Tue Oct 11 23:00:41 2011 +0000
|
||
|
|
||
|
tg3: negate USE_PHYLIB flag check
|
||
|
|
||
|
USE_PHYLIB flag in tg3_remove_one() is being checked incorrectly. This
|
||
|
results tg3_phy_fini->phy_disconnect is never called and when tg3 module
|
||
|
is removed.
|
||
|
|
||
|
In my case this resulted in panics in phy_state_machine calling function
|
||
|
phydev->adjust_link.
|
||
|
|
||
|
So correct this check.
|
||
|
|
||
|
Signed-off-by: Jiri Pirko <jpirko@redhat.com>
|
||
|
Acked-by: Matt Carlson <mcarlson@broadcom.com>
|
||
|
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||
|
|
||
|
commit d5123480b1d6f7d1a5fe1a13520cef88fb5d4c84
|
||
|
Author: Gao feng <gaofeng@cn.fujitsu.com>
|
||
|
Date: Tue Oct 11 16:08:11 2011 +0000
|
||
|
|
||
|
netconsole: enable netconsole can make net_device refcnt incorrent
|
||
|
|
||
|
There is no check if netconsole is enabled current.
|
||
|
so when exec echo 1 > enabled;
|
||
|
the reference of net_device will increment always.
|
||
|
|
||
|
Signed-off-by: Gao feng <gaofeng@cn.fujitsu.com>
|
||
|
Acked-by: Flavio Leitner <fbl@redhat.com>
|
||
|
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||
|
|
||
|
commit 6230c9b4f8957c8938ee4cf2d03166d3c2dc89de
|
||
|
Author: Paul Moore <pmoore@redhat.com>
|
||
|
Date: Fri Oct 7 09:40:59 2011 +0000
|
||
|
|
||
|
bluetooth: Properly clone LSM attributes to newly created child connections
|
||
|
|
||
|
The Bluetooth stack has internal connection handlers for all of the various
|
||
|
Bluetooth protocols, and unfortunately, they are currently lacking the LSM
|
||
|
hooks found in the core network stack's connection handlers. I say
|
||
|
unfortunately, because this can cause problems for users who have have an
|
||
|
LSM enabled and are using certain Bluetooth devices. See one problem
|
||
|
report below:
|
||
|
|
||
|
* http://bugzilla.redhat.com/show_bug.cgi?id=741703
|
||
|
|
||
|
In order to keep things simple at this point in time, this patch fixes the
|
||
|
problem by cloning the parent socket's LSM attributes to the newly created
|
||
|
child socket. If we decide we need a more elaborate LSM marking mechanism
|
||
|
for Bluetooth (I somewhat doubt this) we can always revisit this decision
|
||
|
in the future.
|
||
|
|
||
|
Reported-by: James M. Cape <jcape@ignore-your.tv>
|
||
|
Signed-off-by: Paul Moore <pmoore@redhat.com>
|
||
|
Acked-by: James Morris <jmorris@namei.org>
|
||
|
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||
|
|
||
|
commit 835acf5da239b91edb9f7ebe36516999e156e6ee
|
||
|
Author: Eric Dumazet <eric.dumazet@gmail.com>
|
||
|
Date: Fri Oct 7 05:35:46 2011 +0000
|
||
|
|
||
|
l2tp: fix a potential skb leak in l2tp_xmit_skb()
|
||
|
|
||
|
l2tp_xmit_skb() can leak one skb if skb_cow_head() returns an error.
|
||
|
|
||
|
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
|
||
|
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||
|
|
||
|
commit 1ce5cce895309862d2c35d922816adebe094fe4a
|
||
|
Author: stephen hemminger <shemminger@vyatta.com>
|
||
|
Date: Thu Oct 6 11:19:41 2011 +0000
|
||
|
|
||
|
bridge: fix hang on removal of bridge via netlink
|
||
|
|
||
|
Need to cleanup bridge device timers and ports when being bridge
|
||
|
device is being removed via netlink.
|
||
|
|
||
|
This fixes the problem of observed when doing:
|
||
|
ip link add br0 type bridge
|
||
|
ip link set dev eth1 master br0
|
||
|
ip link set br0 up
|
||
|
ip link del br0
|
||
|
|
||
|
which would cause br0 to hang in unregister_netdev because
|
||
|
of leftover reference count.
|
||
|
|
||
|
Reported-by: Sridhar Samudrala <sri@us.ibm.com>
|
||
|
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
|
||
|
Acked-by: Sridhar Samudrala <sri@us.ibm.com>
|
||
|
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||
|
|
||
|
commit bcd5cff7216f9b2de0a148cc355eac199dc6f1cf
|
||
|
Author: Peter Zijlstra <a.p.zijlstra@chello.nl>
|
||
|
Date: Mon Oct 17 11:50:30 2011 +0200
|
||
|
|
||
|
cputimer: Cure lock inversion
|
||
|
|
||
|
There's a lock inversion between the cputimer->lock and rq->lock;
|
||
|
notably the two callchains involved are:
|
||
|
|
||
|
update_rlimit_cpu()
|
||
|
sighand->siglock
|
||
|
set_process_cpu_timer()
|
||
|
cpu_timer_sample_group()
|
||
|
thread_group_cputimer()
|
||
|
cputimer->lock
|
||
|
thread_group_cputime()
|
||
|
task_sched_runtime()
|
||
|
->pi_lock
|
||
|
rq->lock
|
||
|
|
||
|
scheduler_tick()
|
||
|
rq->lock
|
||
|
task_tick_fair()
|
||
|
update_curr()
|
||
|
account_group_exec()
|
||
|
cputimer->lock
|
||
|
|
||
|
Where the first one is enabling a CLOCK_PROCESS_CPUTIME_ID timer, and
|
||
|
the second one is keeping up-to-date.
|
||
|
|
||
|
This problem was introduced by e8abccb7193 ("posix-cpu-timers: Cure
|
||
|
SMP accounting oddities").
|
||
|
|
||
|
Cure the problem by removing the cputimer->lock and rq->lock nesting,
|
||
|
this leaves concurrent enablers doing duplicate work, but the time
|
||
|
wasted should be on the same order otherwise wasted spinning on the
|
||
|
lock and the greater-than assignment filter should ensure we preserve
|
||
|
monotonicity.
|
||
|
|
||
|
Reported-by: Dave Jones <davej@redhat.com>
|
||
|
Reported-by: Simon Kirby <sim@hostway.ca>
|
||
|
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
|
||
|
Cc: stable@kernel.org
|
||
|
Cc: Linus Torvalds <torvalds@linux-foundation.org>
|
||
|
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
|
||
|
Link: http://lkml.kernel.org/r/1318928713.21167.4.camel@twins
|
||
|
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
||
|
|
||
|
commit a4863ca93ccc52a83e7fbfc068b411b7faa03805
|
||
|
Author: Alex Deucher <alexander.deucher@amd.com>
|
||
|
Date: Wed Oct 12 18:49:53 2011 -0400
|
||
|
|
||
|
drm/radeon/kms/DCE4.1: fix Select_CrtcSource EncodeMode setting for DP bridges (v2)
|
||
|
|
||
|
Settings in this table reflect the physical panel/connector rather
|
||
|
than the internal dig encoding.
|
||
|
|
||
|
v2: fix typo for DRM_MODE_CONNECTOR_VGA case.
|
||
|
|
||
|
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
|
||
|
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
||
|
|
||
|
commit 09cc6506f9e234b2ead60398ebb88c4b44421a93
|
||
|
Author: Alex Deucher <alexander.deucher@amd.com>
|
||
|
Date: Wed Oct 12 18:44:33 2011 -0400
|
||
|
|
||
|
drm/radeon/kms/DCE4.1: ss is not supported on the internal pplls
|
||
|
|
||
|
It's handled via external clock. It should already be protected
|
||
|
by the external ss flag, but add an explicit check just in case.
|
||
|
|
||
|
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
|
||
|
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
||
|
|
||
|
commit 3a6dea31453a101bd5e9e9c89a79f4fcb6b0342e
|
||
|
Author: Alex Deucher <alexander.deucher@amd.com>
|
||
|
Date: Wed Oct 12 18:44:32 2011 -0400
|
||
|
|
||
|
drm/radeon/kms/DCE4.1: fix dig encoder to transmitter mapping
|
||
|
|
||
|
llano has fully routeable dig encoders similar to DCE3.2 while
|
||
|
ontario has a hardcoded mapping similar to DCE4.0.
|
||
|
|
||
|
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
|
||
|
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
||
|
|
||
|
commit ca201c096269ee2d40037fea96a59fd0695888c4
|
||
|
Author: Daniel Suchy <danny@danysek.cz>
|
||
|
Date: Tue Oct 18 11:09:44 2011 +0200
|
||
|
|
||
|
ALSA: HDA: conexant support for Lenovo T520/W520
|
||
|
|
||
|
This is patch for Conexant codec of Intel HDA driver, adding new quirk
|
||
|
for Lenovo Thinkpad T520 and W520. Conexant autodetection works fine for
|
||
|
T520 (similar subsystem ID is used also in W520 model) and detects more
|
||
|
mixer features compared to generic (fallback) Lenovo quirk with
|
||
|
hardcoded options in Conexant codec.
|
||
|
|
||
|
Patch was activelly tested with Linux 3.0.4, 3.0.6 and 3.0.7 without any
|
||
|
problems.
|
||
|
|
||
|
Signed-off-by: Daniel Suchy <danny@danysek.cz>
|
||
|
Cc: <stable@kernel.org> [3.0+]
|
||
|
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
||
|
|
||
|
commit 051a8cb6550d917225ead1cd008b5966350f6d53
|
||
|
Author: Takashi Iwai <tiwai@suse.de>
|
||
|
Date: Tue Oct 18 10:44:05 2011 +0200
|
||
|
|
||
|
ALSA: hda - Add position_fix quirk for Dell Inspiron 1010
|
||
|
|
||
|
The previous fix for the position-buffer check gives yet another
|
||
|
regression on a Dell laptop. The safest fix right now is to add a
|
||
|
static quirk for this device (and better to apply it for stable
|
||
|
kernels too).
|
||
|
|
||
|
Reported-by: Éric Piel <Eric.Piel@tremplin-utc.net>
|
||
|
Cc: <stable@kernel.org>
|
||
|
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
||
|
|
||
|
commit e22469ca88a8f1f6fe47adbf5e5ce0906aec07cd
|
||
|
Author: Thomas Hellstrom <thellstrom@vmware.com>
|
||
|
Date: Mon Oct 17 13:27:34 2011 +0200
|
||
|
|
||
|
ttm: Fix error-path using an uninitialized value
|
||
|
|
||
|
Pointed out by Michel Daenzer.
|
||
|
|
||
|
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
|
||
|
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
||
|
|
||
|
commit ae2a4583154a5b985ed4a81c6259c55bafe6d810
|
||
|
Merge: 7f81e25 ae1d48b
|
||
|
Author: David S. Miller <davem@davemloft.net>
|
||
|
Date: Mon Oct 17 19:38:03 2011 -0400
|
||
|
|
||
|
Merge branch 'nf' of git://1984.lsi.us.es/net
|
||
|
|
||
|
commit 7f81e25befdfb3272345a2e775f520e1d515fa20
|
||
|
Author: Matthew Daley <mattjd@gmail.com>
|
||
|
Date: Fri Oct 14 18:45:05 2011 +0000
|
||
|
|
||
|
x25: Prevent skb overreads when checking call user data
|
||
|
|
||
|
x25_find_listener does not check that the amount of call user data given
|
||
|
in the skb is big enough in per-socket comparisons, hence buffer
|
||
|
overreads may occur. Fix this by adding a check.
|
||
|
|
||
|
Signed-off-by: Matthew Daley <mattjd@gmail.com>
|
||
|
Cc: Eric Dumazet <eric.dumazet@gmail.com>
|
||
|
Cc: Andrew Hendry <andrew.hendry@gmail.com>
|
||
|
Cc: stable <stable@kernel.org>
|
||
|
Acked-by: Andrew Hendry <andrew.hendry@gmail.com>
|
||
|
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||
|
|
||
|
commit cb101ed2c3c7c0224d16953fe77bfb9d6c2cb9df
|
||
|
Author: Matthew Daley <mattjd@gmail.com>
|
||
|
Date: Fri Oct 14 18:45:04 2011 +0000
|
||
|
|
||
|
x25: Handle undersized/fragmented skbs
|
||
|
|
||
|
There are multiple locations in the X.25 packet layer where a skb is
|
||
|
assumed to be of at least a certain size and that all its data is
|
||
|
currently available at skb->data. These assumptions are not checked,
|
||
|
hence buffer overreads may occur. Use pskb_may_pull to check these
|
||
|
minimal size assumptions and ensure that data is available at skb->data
|
||
|
when necessary, as well as use skb_copy_bits where needed.
|
||
|
|
||
|
Signed-off-by: Matthew Daley <mattjd@gmail.com>
|
||
|
Cc: Eric Dumazet <eric.dumazet@gmail.com>
|
||
|
Cc: Andrew Hendry <andrew.hendry@gmail.com>
|
||
|
Cc: stable <stable@kernel.org>
|
||
|
Acked-by: Andrew Hendry <andrew.hendry@gmail.com>
|
||
|
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||
|
|
||
|
commit c7fd0d48bde943e228e9c28ce971a22d6a1744c4
|
||
|
Author: Matthew Daley <mattjd@gmail.com>
|
||
|
Date: Fri Oct 14 18:45:03 2011 +0000
|
||
|
|
||
|
x25: Validate incoming call user data lengths
|
||
|
|
||
|
X.25 call user data is being copied in its entirety from incoming messages
|
||
|
without consideration to the size of the destination buffers, leading to
|
||
|
possible buffer overflows. Validate incoming call user data lengths before
|
||
|
these copies are performed.
|
||
|
|
||
|
It appears this issue was noticed some time ago, however nothing seemed to
|
||
|
come of it: see http://www.spinics.net/lists/linux-x25/msg00043.html and
|
||
|
commit 8db09f26f912f7c90c764806e804b558da520d4f.
|
||
|
|
||
|
Signed-off-by: Matthew Daley <mattjd@gmail.com>
|
||
|
Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
|
||
|
Tested-by: Andrew Hendry <andrew.hendry@gmail.com>
|
||
|
Cc: stable <stable@kernel.org>
|
||
|
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||
|
|
||
|
commit f36c23bb9f822904dacf83a329518d0a5fde7968
|
||
|
Author: Gerrit Renker <gerrit@erg.abdn.ac.uk>
|
||
|
Date: Mon Oct 17 19:07:30 2011 -0400
|
||
|
|
||
|
udplite: fast-path computation of checksum coverage
|
||
|
|
||
|
Commit 903ab86d195cca295379699299c5fc10beba31c7 of 1 March this year ("udp: Add
|
||
|
lockless transmit path") introduced a new fast TX path that broke the checksum
|
||
|
coverage computation of UDP-lite, which so far depended on up->len (only set
|
||
|
if the socket is locked and 0 in the fast path).
|
||
|
|
||
|
Fixed by providing both fast- and slow-path computation of checksum coverage.
|
||
|
The latter can be removed when UDP(-lite)v6 also uses a lockless transmit path.
|
||
|
|
||
|
Reported-by: Thomas Volkert <thomas@homer-conferencing.com>
|
||
|
Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
|
||
|
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||
|
|
||
|
commit 27f20dca01b00eac445e5193565dd185548e7e34
|
||
|
Author: David S. Miller <davem@davemloft.net>
|
||
|
Date: Wed Oct 12 12:27:35 2011 -0700
|
||
|
|
||
|
sparc: Avoid calling sigprocmask()
|
||
|
|
||
|
Use set_current_blocked() instead.
|
||
|
|
||
|
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||
|
|
||
|
commit faddf598f0ba98ba329bb83acad51aea40313c2a
|
||
|
Author: Matt Fleming <matt.fleming@intel.com>
|
||
|
Date: Thu Aug 11 14:57:02 2011 +0100
|
||
|
|
||
|
sparc: Use set_current_blocked()
|
||
|
|
||
|
As described in e6fa16ab ("signal: sigprocmask() should do
|
||
|
retarget_shared_pending()") the modification of current->blocked is
|
||
|
incorrect as we need to check whether the signal we're about to block
|
||
|
is pending in the shared queue.
|
||
|
|
||
|
Cc: Oleg Nesterov <oleg@redhat.com>
|
||
|
Cc: "David S. Miller" <davem@davemloft.net>
|
||
|
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
|
||
|
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||
|
|
||
|
commit ae1d48b23d5e79efbcf0cef4f0ebb9742361af59
|
||
|
Author: Hans Schillstrom <hans@schillstrom.com>
|
||
|
Date: Tue Oct 11 10:54:35 2011 +0900
|
||
|
|
||
|
IPVS netns shutdown/startup dead-lock
|
||
|
|
||
|
ip_vs_mutext is used by both netns shutdown code and startup
|
||
|
and both implicit uses sk_lock-AF_INET mutex.
|
||
|
|
||
|
cleanup CPU-1 startup CPU-2
|
||
|
ip_vs_dst_event() ip_vs_genl_set_cmd()
|
||
|
sk_lock-AF_INET __ip_vs_mutex
|
||
|
sk_lock-AF_INET
|
||
|
__ip_vs_mutex
|
||
|
* DEAD LOCK *
|
||
|
|
||
|
A new mutex placed in ip_vs netns struct called sync_mutex is added.
|
||
|
|
||
|
Comments from Julian and Simon added.
|
||
|
This patch has been running for more than 3 month now and it seems to work.
|
||
|
|
||
|
Ver. 3
|
||
|
IP_VS_SO_GET_DAEMON in do_ip_vs_get_ctl protected by sync_mutex
|
||
|
instead of __ip_vs_mutex as sugested by Julian.
|
||
|
|
||
|
Signed-off-by: Hans Schillstrom <hans@schillstrom.com>
|
||
|
Acked-by: Julian Anastasov <ja@ssi.bg>
|
||
|
Signed-off-by: Simon Horman <horms@verge.net.au>
|
||
|
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
||
|
|
||
|
commit f22ed71cd60210d2f476986c0266004e4db45f34
|
||
|
Author: Daniel Hellstrom <daniel@gaisler.com>
|
||
|
Date: Thu Sep 8 03:11:15 2011 +0000
|
||
|
|
||
|
sparc32,leon: SRMMU MMU Table probe fix
|
||
|
|
||
|
The LEON MMU Model (SRMMU) does not implement MMu Table probing
|
||
|
in hardware, instead it is implemented in software. However the
|
||
|
software implementation does not return the PTE as it should which
|
||
|
always results in INVALID entires and the PROM mappings are not
|
||
|
inherited as they should during startup. The following patch
|
||
|
removes the masking of the PTE.
|
||
|
|
||
|
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
|
||
|
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||
|
|
||
|
commit 98d9ae841ad620045d653fb05764e4a899f42dbd
|
||
|
Author: Florian Westphal <fw@strlen.de>
|
||
|
Date: Fri Sep 30 16:38:29 2011 +0200
|
||
|
|
||
|
netfilter: nf_conntrack: fix event flooding in GRE protocol tracker
|
||
|
|
||
|
GRE connections cause ctnetlink event flood because the ASSURED event
|
||
|
is set for every packet received.
|
||
|
|
||
|
Reported-by: Denys Fedoryshchenko <denys@visp.net.lb>
|
||
|
Tested-by: Denys Fedoryshchenko <denys@visp.net.lb>
|
||
|
Signed-off-by: Florian Westphal <fw@strlen.de>
|
||
|
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|