[Kernel-packages] [Bug 1526811] Re: SRU: walker list corruption while being intensively stressed
** Branch linked: lp:~ubuntu-branches/ubuntu/trusty/linux-lts-wily /trusty-proposed -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1526811 Title: SRU: walker list corruption while being intensively stressed Status in Linux: Unknown Status in linux package in Ubuntu: Fix Released Status in linux source package in Wily: Fix Released Status in linux source package in Xenial: Fix Released Bug description: [SRU Justification][Wily] + [Xenial] While stress testing with the stress-ng procfs stressor I hit a walker list bug. This has been recently fixed by Herbert Xu in commit: The commit ba7c95ea3870fe7b847466d39a049ab6f156aa2c ("rhashtable: Fix sleeping inside RCU critical section in walk_stop") introduced a new spinlock for the walker list. However, it did not convert all existing users of the list over to the new spin lock. Some continued to use the old mutex for this purpose. This obviously led to corruption of the list. [Fix] Clean upstream cherry pick, commit c6ff5268293ef98e48a99597e765ffc417e39fa5 Will land in Xenial automatically (4.4) [Testcase] Run multiple instances of the attached code on a multicore system. Alternatively, run stress-ng --procfs 0 on a multi-core system Fix will stop the above code corrupting the list and crashing. To manage notifications about this bug go to: https://bugs.launchpad.net/linux/+bug/1526811/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp
[Kernel-packages] [Bug 1526811] Re: SRU: walker list corruption while being intensively stressed
** Bug watch added: Linux Kernel Bug Tracker #107181 http://bugzilla.kernel.org/show_bug.cgi?id=107181 ** Also affects: linux via http://bugzilla.kernel.org/show_bug.cgi?id=107181 Importance: Unknown Status: Unknown -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1526811 Title: SRU: walker list corruption while being intensively stressed Status in Linux: Unknown Status in linux package in Ubuntu: Fix Committed Status in linux source package in Wily: Fix Committed Status in linux source package in Xenial: Fix Committed Bug description: [SRU Justification][Wily] + [Xenial] While stress testing with the stress-ng procfs stressor I hit a walker list bug. This has been recently fixed by Herbert Xu in commit: The commit ba7c95ea3870fe7b847466d39a049ab6f156aa2c ("rhashtable: Fix sleeping inside RCU critical section in walk_stop") introduced a new spinlock for the walker list. However, it did not convert all existing users of the list over to the new spin lock. Some continued to use the old mutex for this purpose. This obviously led to corruption of the list. [Fix] Clean upstream cherry pick, commit c6ff5268293ef98e48a99597e765ffc417e39fa5 Will land in Xenial automatically (4.4) [Testcase] Run multiple instances of the attached code on a multicore system. Alternatively, run stress-ng --procfs 0 on a multi-core system Fix will stop the above code corrupting the list and crashing. To manage notifications about this bug go to: https://bugs.launchpad.net/linux/+bug/1526811/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp
[Kernel-packages] [Bug 1526811] Re: SRU: walker list corruption while being intensively stressed
This bug was fixed in the package linux - 4.3.0-6.17 --- linux (4.3.0-6.17) xenial; urgency=low [ Tim Gardner ] * Release Tracking Bug - LP: #1532958 [ Eric Dumazet ] * SAUCE: (noup) net: fix IP early demux races - LP: #1526946 [ Guilherme G. Piccoli ] * SAUCE: powerpc/eeh: Validate arch in eeh_add_device_early() - LP: #1486180 [ Hui Wang ] * [Config] CONFIG_I2C_DESIGNWARE_BAYTRAIL=y, CONFIG_IOSF_MBI=y - LP: #1527096 [ Jann Horn ] * ptrace: being capable wrt a process requires mapped uids/gids - LP: #1527374 [ Serge Hallyn ] * SAUCE: add a sysctl to disable unprivileged user namespace unsharing [ Tim Gardner ] * [Config] CONFIG_ZONE_DEVICE=y for amd64 * [Config] CONFIG_VIRTIO_BLK=y, CONFIG_VIRTIO_NET=y for s390 - LP: #1532886 [ Upstream Kernel Changes ] * rhashtable: Fix walker list corruption - LP: #1526811 * rhashtable: Kill harmless RCU warning in rhashtable_walk_init - LP: #1526811 * ovl: fix permission checking for setattr - LP: #1528904 - CVE-2015-8660 -- Tim Gardner Thu, 17 Dec 2015 05:34:47 -0700 ** Changed in: linux (Ubuntu Xenial) Status: Fix Committed => Fix Released ** CVE added: http://www.cve.mitre.org/cgi- bin/cvename.cgi?name=2015-8660 -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1526811 Title: SRU: walker list corruption while being intensively stressed Status in Linux: Unknown Status in linux package in Ubuntu: Fix Released Status in linux source package in Wily: Fix Committed Status in linux source package in Xenial: Fix Released Bug description: [SRU Justification][Wily] + [Xenial] While stress testing with the stress-ng procfs stressor I hit a walker list bug. This has been recently fixed by Herbert Xu in commit: The commit ba7c95ea3870fe7b847466d39a049ab6f156aa2c ("rhashtable: Fix sleeping inside RCU critical section in walk_stop") introduced a new spinlock for the walker list. However, it did not convert all existing users of the list over to the new spin lock. Some continued to use the old mutex for this purpose. This obviously led to corruption of the list. [Fix] Clean upstream cherry pick, commit c6ff5268293ef98e48a99597e765ffc417e39fa5 Will land in Xenial automatically (4.4) [Testcase] Run multiple instances of the attached code on a multicore system. Alternatively, run stress-ng --procfs 0 on a multi-core system Fix will stop the above code corrupting the list and crashing. To manage notifications about this bug go to: https://bugs.launchpad.net/linux/+bug/1526811/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp
[Kernel-packages] [Bug 1526811] Re: SRU: walker list corruption while being intensively stressed
Fix released in 4.2.0-27.32 ** Changed in: linux (Ubuntu Wily) Status: Fix Committed => Fix Released -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1526811 Title: SRU: walker list corruption while being intensively stressed Status in Linux: Unknown Status in linux package in Ubuntu: Fix Released Status in linux source package in Wily: Fix Released Status in linux source package in Xenial: Fix Released Bug description: [SRU Justification][Wily] + [Xenial] While stress testing with the stress-ng procfs stressor I hit a walker list bug. This has been recently fixed by Herbert Xu in commit: The commit ba7c95ea3870fe7b847466d39a049ab6f156aa2c ("rhashtable: Fix sleeping inside RCU critical section in walk_stop") introduced a new spinlock for the walker list. However, it did not convert all existing users of the list over to the new spin lock. Some continued to use the old mutex for this purpose. This obviously led to corruption of the list. [Fix] Clean upstream cherry pick, commit c6ff5268293ef98e48a99597e765ffc417e39fa5 Will land in Xenial automatically (4.4) [Testcase] Run multiple instances of the attached code on a multicore system. Alternatively, run stress-ng --procfs 0 on a multi-core system Fix will stop the above code corrupting the list and crashing. To manage notifications about this bug go to: https://bugs.launchpad.net/linux/+bug/1526811/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp
[Kernel-packages] [Bug 1526811] Re: SRU: walker list corruption while being intensively stressed
** Information type changed from Private Security to Public -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1526811 Title: SRU: walker list corruption while being intensively stressed Status in linux package in Ubuntu: In Progress Bug description: [SRU Justification][Wily] + [Xenial] While stress testing with the stress-ng procfs stressor I hit a walker list bug. This has been recently fixed by Herbert Xu in commit: The commit ba7c95ea3870fe7b847466d39a049ab6f156aa2c ("rhashtable: Fix sleeping inside RCU critical section in walk_stop") introduced a new spinlock for the walker list. However, it did not convert all existing users of the list over to the new spin lock. Some continued to use the old mutex for this purpose. This obviously led to corruption of the list. [Fix] See: http://marc.info/?l=linux-netdev&m=145027458131396&w=2 Probably will wait until this officially lands in 4.4 or 4.5. [Testcase] Run multiple instances of the attached code on a multicore system. Alternatively, run stress-ng --procfs 0 on a multi-core system Fix will stop the above code corrupting the list and crashing. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1526811/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp
[Kernel-packages] [Bug 1526811] Re: SRU: walker list corruption while being intensively stressed
Fix will land in Linux 4.4 Ubuntu Xenial automatically, commit c6ff5268293ef98e48a99597e765ffc417e39fa5 Wily SRU submitted to kernel team mailing list, https://lists.ubuntu.com/archives/kernel-team/2015-December/067287.html ** Description changed: [SRU Justification][Wily] + [Xenial] While stress testing with the stress-ng procfs stressor I hit a walker list bug. This has been recently fixed by Herbert Xu in commit: The commit ba7c95ea3870fe7b847466d39a049ab6f156aa2c ("rhashtable: Fix sleeping inside RCU critical section in walk_stop") introduced a new spinlock for the walker list. However, it did not convert all existing users of the list over to the new spin lock. Some continued to use the old mutex for this purpose. This obviously led to corruption of the list. [Fix] - See: http://marc.info/?l=linux-netdev&m=145027458131396&w=2 - Probably will wait until this officially lands in 4.4 or 4.5. + Clean upstream cherry pick, commit c6ff5268293ef98e48a99597e765ffc417e39fa5 + Will land in Xenial automatically (4.4) + [Testcase] Run multiple instances of the attached code on a multicore system. Alternatively, run stress-ng --procfs 0 on a multi-core system Fix will stop the above code corrupting the list and crashing. -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1526811 Title: SRU: walker list corruption while being intensively stressed Status in linux package in Ubuntu: In Progress Bug description: [SRU Justification][Wily] + [Xenial] While stress testing with the stress-ng procfs stressor I hit a walker list bug. This has been recently fixed by Herbert Xu in commit: The commit ba7c95ea3870fe7b847466d39a049ab6f156aa2c ("rhashtable: Fix sleeping inside RCU critical section in walk_stop") introduced a new spinlock for the walker list. However, it did not convert all existing users of the list over to the new spin lock. Some continued to use the old mutex for this purpose. This obviously led to corruption of the list. [Fix] Clean upstream cherry pick, commit c6ff5268293ef98e48a99597e765ffc417e39fa5 Will land in Xenial automatically (4.4) [Testcase] Run multiple instances of the attached code on a multicore system. Alternatively, run stress-ng --procfs 0 on a multi-core system Fix will stop the above code corrupting the list and crashing. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1526811/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp
[Kernel-packages] [Bug 1526811] Re: SRU: walker list corruption while being intensively stressed
** Also affects: linux (Ubuntu Xenial) Importance: High Assignee: Colin Ian King (colin-king) Status: In Progress ** Also affects: linux (Ubuntu Wily) Importance: Undecided Status: New ** Changed in: linux (Ubuntu Wily) Status: New => In Progress ** Changed in: linux (Ubuntu Wily) Assignee: (unassigned) => Colin Ian King (colin-king) ** Changed in: linux (Ubuntu Xenial) Status: In Progress => Fix Committed -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1526811 Title: SRU: walker list corruption while being intensively stressed Status in linux package in Ubuntu: Fix Committed Status in linux source package in Wily: In Progress Status in linux source package in Xenial: Fix Committed Bug description: [SRU Justification][Wily] + [Xenial] While stress testing with the stress-ng procfs stressor I hit a walker list bug. This has been recently fixed by Herbert Xu in commit: The commit ba7c95ea3870fe7b847466d39a049ab6f156aa2c ("rhashtable: Fix sleeping inside RCU critical section in walk_stop") introduced a new spinlock for the walker list. However, it did not convert all existing users of the list over to the new spin lock. Some continued to use the old mutex for this purpose. This obviously led to corruption of the list. [Fix] Clean upstream cherry pick, commit c6ff5268293ef98e48a99597e765ffc417e39fa5 Will land in Xenial automatically (4.4) [Testcase] Run multiple instances of the attached code on a multicore system. Alternatively, run stress-ng --procfs 0 on a multi-core system Fix will stop the above code corrupting the list and crashing. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1526811/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp
[Kernel-packages] [Bug 1526811] Re: SRU: walker list corruption while being intensively stressed
Looks like the fix triggered another issue, so we need to see how upstream fixes this one. Kernel test robot picked up a bug from this fix: FYI, we noticed the below changes on https://github.com/0day-ci/linux Herbert-Xu/rhashtable-Fix-walker-list-corruption/20151216-164833 commit f9f51b8070be3e829100614a7372b219723b864f ("rhashtable: Fix walker list corruption") [8.933376] === [8.933376] === [8.934629] [ INFO: suspicious RCU usage. ] [8.934629] [ INFO: suspicious RCU usage. ] [8.935941] 4.4.0-rc3-00995-gf9f51b8 #2 Not tainted [8.935941] 4.4.0-rc3-00995-gf9f51b8 #2 Not tainted [8.937494] --- [8.937494] --- [8.938818] lib/rhashtable.c:504 suspicious rcu_dereference_protected() usage! [8.938818] lib/rhashtable.c:504 suspicious rcu_dereference_protected() usage! [8.941705] [8.941705] other info that might help us debug this: [8.941705] [8.941705] [8.941705] other info that might help us debug this: [8.941705] [8.944161] [8.944161] rcu_scheduler_active = 1, debug_locks = 0 [8.944161] [8.944161] rcu_scheduler_active = 1, debug_locks = 0 [8.946244] 1 lock held by swapper/0/1: [8.946244] 1 lock held by swapper/0/1: [8.947463] #0: [8.947463] #0: ( (&(&ht->lock)->rlock&(&ht->lock)->rlock){+.+...}){+.+...}, at: , at: [] rhashtable_walk_init+0x70/0x150 [] rhashtable_walk_init+0x70/0x150 [8.950428] [8.950428] stack backtrace: [8.950428] [8.950428] stack backtrace: [8.951770] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.4.0-rc3-00995-gf9f51b8 #2 [8.951770] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.4.0-rc3-00995-gf9f51b8 #2 [8.954245] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Debian-1.8.2-1 04/01/2014 [8.954245] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Debian-1.8.2-1 04/01/2014 [8.956973] 0001 [8.956973] 0001 880078393d30 880078393d30 81493238 81493238 88007838c040 88007838c040 [8.959333] 880078393d60 [8.959333] 880078393d60 8112cb9f 8112cb9f 880078393da0 880078393da0 83e9d6c0 83e9d6c0 [8.961684] 83e9d7f0 [8.961684] 83e9d7f0 880061720e00 880061720e00 880078393d90 880078393d90 814b89c8 814b89c8 [8.964148] Call Trace: [8.964148] Call Trace: [8.964955] [] dump_stack+0x7c/0xb4 [8.964955] [] dump_stack+0x7c/0xb4 [8.966728] [] lockdep_rcu_suspicious+0x14f/0x1c0 [8.966728] [] lockdep_rcu_suspicious+0x14f/0x1c0 [8.968753] [] rhashtable_walk_init+0x138/0x150 [8.968753] [] rhashtable_walk_init+0x138/0x150 [8.970567] [] test_bucket_stats+0x22/0x17d [8.970567] [] test_bucket_stats+0x22/0x17d [8.972682] [] test_rhashtable+0xe0/0x12ac [8.972682] [] test_rhashtable+0xe0/0x12ac [8.974746] [] ? get_random_bytes+0x2b/0x40 [8.974746] [] ? get_random_bytes+0x2b/0x40 [8.976467] [] ? bucket_table_alloc+0x173/0x280 [8.976467] [] ? bucket_table_alloc+0x173/0x280 [8.978548] [] test_rht_init+0x10f/0x523 [8.978548] [] test_rht_init+0x10f/0x523 [8.980179] [] ? test_rhashtable+0x12ac/0x12ac [8.980179] [] ? test_rhashtable+0x12ac/0x12ac [8.982424] [] do_one_initcall+0x16b/0x248 [8.982424] [] do_one_initcall+0x16b/0x248 [8.984208] [] kernel_init_freeable+0x1c4/0x2b8 [8.984208] [] kernel_init_freeable+0x1c4/0x2b8 [8.986165] [] ? rest_init+0x200/0x200 [8.986165] [] ? rest_init+0x200/0x200 [8.987925] [] kernel_init+0x11/0x190 [8.987925] [] kernel_init+0x11/0x190 [8.989608] [] ret_from_fork+0x3f/0x70 [8.989608] [] ret_from_fork+0x3f/0x70 [8.991270] [] ? rest_init+0x200/0x200 [8.991270] [] ? rest_init+0x200/0x200 Thanks, Kernel Test Robot -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1526811 Title: SRU: walker list corruption while being intensively stressed Status in linux package in Ubuntu: Fix Committed Status in linux source package in Wily: In Progress Status in linux source package in Xenial: Fix Committed Bug description: [SRU Justification][Wily] + [Xenial] While stress testing with the stress-ng procfs stressor I hit a walker list bug. This has been recently fixed by Herbert Xu in commit: The commit ba7c95ea3870fe7b847466d39a049ab6f156aa2c ("rhashtable: Fix sleeping inside RCU critical section in walk_stop") introduced a new spinlock for the walker list. However, it did not convert all existing users of the list over to the new spin lock. Some continued to use the old mutex for this purpose. This obviously led to corruption of the list. [Fix] Clean upstream cherry pick, commit
[Kernel-packages] [Bug 1526811] Re: SRU: walker list corruption while being intensively stressed
Seems that upstream commit 179ccc0a73641ffd24e44ff10a7bd494efe98d8d ("rhashtable: Kill harmless RCU warning in rhashtable_walk_init") is also required to stop the RCU warning in rhashtable_walk_init -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1526811 Title: SRU: walker list corruption while being intensively stressed Status in linux package in Ubuntu: Fix Committed Status in linux source package in Wily: In Progress Status in linux source package in Xenial: Fix Committed Bug description: [SRU Justification][Wily] + [Xenial] While stress testing with the stress-ng procfs stressor I hit a walker list bug. This has been recently fixed by Herbert Xu in commit: The commit ba7c95ea3870fe7b847466d39a049ab6f156aa2c ("rhashtable: Fix sleeping inside RCU critical section in walk_stop") introduced a new spinlock for the walker list. However, it did not convert all existing users of the list over to the new spin lock. Some continued to use the old mutex for this purpose. This obviously led to corruption of the list. [Fix] Clean upstream cherry pick, commit c6ff5268293ef98e48a99597e765ffc417e39fa5 Will land in Xenial automatically (4.4) [Testcase] Run multiple instances of the attached code on a multicore system. Alternatively, run stress-ng --procfs 0 on a multi-core system Fix will stop the above code corrupting the list and crashing. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1526811/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp
[Kernel-packages] [Bug 1526811] Re: SRU: walker list corruption while being intensively stressed
** Changed in: linux (Ubuntu Wily) Status: In Progress => Fix Committed -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1526811 Title: SRU: walker list corruption while being intensively stressed Status in linux package in Ubuntu: Fix Committed Status in linux source package in Wily: Fix Committed Status in linux source package in Xenial: Fix Committed Bug description: [SRU Justification][Wily] + [Xenial] While stress testing with the stress-ng procfs stressor I hit a walker list bug. This has been recently fixed by Herbert Xu in commit: The commit ba7c95ea3870fe7b847466d39a049ab6f156aa2c ("rhashtable: Fix sleeping inside RCU critical section in walk_stop") introduced a new spinlock for the walker list. However, it did not convert all existing users of the list over to the new spin lock. Some continued to use the old mutex for this purpose. This obviously led to corruption of the list. [Fix] Clean upstream cherry pick, commit c6ff5268293ef98e48a99597e765ffc417e39fa5 Will land in Xenial automatically (4.4) [Testcase] Run multiple instances of the attached code on a multicore system. Alternatively, run stress-ng --procfs 0 on a multi-core system Fix will stop the above code corrupting the list and crashing. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1526811/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp
[Kernel-packages] [Bug 1526811] Re: SRU: walker list corruption while being intensively stressed
This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed- wily' to 'verification-done-wily'. If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you! ** Tags added: verification-needed-wily -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1526811 Title: SRU: walker list corruption while being intensively stressed Status in linux package in Ubuntu: Fix Committed Status in linux source package in Wily: Fix Committed Status in linux source package in Xenial: Fix Committed Bug description: [SRU Justification][Wily] + [Xenial] While stress testing with the stress-ng procfs stressor I hit a walker list bug. This has been recently fixed by Herbert Xu in commit: The commit ba7c95ea3870fe7b847466d39a049ab6f156aa2c ("rhashtable: Fix sleeping inside RCU critical section in walk_stop") introduced a new spinlock for the walker list. However, it did not convert all existing users of the list over to the new spin lock. Some continued to use the old mutex for this purpose. This obviously led to corruption of the list. [Fix] Clean upstream cherry pick, commit c6ff5268293ef98e48a99597e765ffc417e39fa5 Will land in Xenial automatically (4.4) [Testcase] Run multiple instances of the attached code on a multicore system. Alternatively, run stress-ng --procfs 0 on a multi-core system Fix will stop the above code corrupting the list and crashing. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1526811/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp
[Kernel-packages] [Bug 1526811] Re: SRU: walker list corruption while being intensively stressed
A better reproducer is running stress-ng --procfs 0 on a multi-core machine. Without the fix, it oopses in less than a second. With the fix, it works perfectly, no oopsing. Tested on 4.2.0-24-generic #29-Ubuntu, ran soak test for 600 seconds on an 8 proc Xeon box: stress-ng: info: [3044] successful run completed in 600.23s (10 mins, 0.23 secs) stress-ng: info: [3044] stressor bogo ops real time usr time sys time bogo ops/s bogo ops/s stress-ng: info: [3044] (secs)(secs)(secs) (real time) (usr+sys time) stress-ng: info: [3044] procfs 8600.00151.83 4646.48 0.01 0.00 stress-ng: info: [3044] procfs: ** Tags removed: verification-needed-wily ** Tags added: verification-done-wily -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1526811 Title: SRU: walker list corruption while being intensively stressed Status in linux package in Ubuntu: Fix Committed Status in linux source package in Wily: Fix Committed Status in linux source package in Xenial: Fix Committed Bug description: [SRU Justification][Wily] + [Xenial] While stress testing with the stress-ng procfs stressor I hit a walker list bug. This has been recently fixed by Herbert Xu in commit: The commit ba7c95ea3870fe7b847466d39a049ab6f156aa2c ("rhashtable: Fix sleeping inside RCU critical section in walk_stop") introduced a new spinlock for the walker list. However, it did not convert all existing users of the list over to the new spin lock. Some continued to use the old mutex for this purpose. This obviously led to corruption of the list. [Fix] Clean upstream cherry pick, commit c6ff5268293ef98e48a99597e765ffc417e39fa5 Will land in Xenial automatically (4.4) [Testcase] Run multiple instances of the attached code on a multicore system. Alternatively, run stress-ng --procfs 0 on a multi-core system Fix will stop the above code corrupting the list and crashing. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1526811/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp