lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <53CC6872.70402@intel.com> Date: Mon, 21 Jul 2014 09:10:10 +0800 From: Jet Chen <jet.chen@...el.com> To: Andi Kleen <ak@...ux.intel.com> CC: Su Tao <tao.su@...el.com>, Aaron Lu <aaron.lu@...el.com>, Fengguang Wu <fengguang.wu@...el.com>, LKP <lkp@...org>, LKML <linux-kernel@...r.kernel.org> Subject: [Tree sweep] BUG: sleeping function called from invalid context at include/linux/highmem.h:58 Hi Andi, 0day kernel testing robot got the below dmesg and the first bad commit is git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-misc.git scale/rcu-symlink commit 25c305debfd676aa495137ca1eec21fce15198e7 Author: Andi Kleen <ak@...ux.intel.com> AuthorDate: Sat Jul 12 22:46:24 2014 -0700 Commit: Andi Kleen <ak@...ux.intel.com> CommitDate: Sun Jul 20 09:43:32 2014 -0700 Tree sweep: Mark all page_follow_link_light users as RCU safe Now that page_follow_link_light() is RCU safe, mark all users as supporting RCU by using the follow_link_rcu entry point. Signed-off-by: Andi Kleen <ak@...ux.intel.com> +------------------------------------------------------------------------------+------------+------------+ | | 868656d432 | 25c305debf | +------------------------------------------------------------------------------+------------+------------+ | boot_successes | 60 | 0 | | boot_failures | 0 | 20 | | BUG:sleeping_function_called_from_invalid_context_at_include/linux/highmem.h | 0 | 20 | | backtrace:SYSC_socketcall | 0 | 11 | | backtrace:SyS_socketcall | 0 | 12 | | backtrace:do_sys_open | 0 | 1 | | backtrace:SyS_open | 0 | 1 | | backtrace:SYSC_faccessat | 0 | 7 | | backtrace:SyS_access | 0 | 7 | +------------------------------------------------------------------------------+------------+------------+ [ 1.309807] evm: HMAC attrs: 0x0 [ 1.311772] Freeing unused kernel memory: 424K (79650000 - 796ba000) [ 1.319415] random: init urandom read with 0 bits of entropy available [ 1.322727] BUG: sleeping function called from invalid context at include/linux/highmem.h:58 [ 1.323637] in_atomic(): 0, irqs_disabled(): 0, pid: 91, name: rc.local [ 1.324200] 1 lock held by rc.local/91: [ 1.324514] #0: (rcu_read_lock){......}, at: [<790ca709>] rcu_read_lock+0x0/0x70 [ 1.325199] Preemption disabled at:[<79063d3c>] console_unlock+0x37e/0x3d2 [ 1.325774] [ 1.325940] CPU: 0 PID: 91 Comm: rc.local Not tainted 3.16.0-rc4-00160-g25c305d #204 [ 1.326610] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 1.327098] 00000000 00000000 849adb5c 793b1aa6 00000000 849adb88 7904b1b2 795b42cc [ 1.327827] 79063d3c 79063d3c 0000005b 8499c3d0 00000000 8a53bd80 89cc5830 849adbac [ 1.328584] 849adba4 790caeda 00000000 00000000 849adca0 00000003 00000000 849adbb4 [ 1.329309] Call Trace: [ 1.329521] [<793b1aa6>] dump_stack+0x49/0x73 [ 1.329884] [<7904b1b2>] __might_sleep+0x1d1/0x1d9 [ 1.330302] [<79063d3c>] ? console_unlock+0x37e/0x3d2 [ 1.330723] [<79063d3c>] ? console_unlock+0x37e/0x3d2 [ 1.331144] [<790caeda>] page_getlink.isra.31.constprop.47+0x78/0xbc [ 1.331666] [<790caf40>] page_follow_link_light+0x22/0x30 [ 1.332146] [<790cb846>] link_path_walk+0x30b/0x524 [ 1.332564] [<790caf1e>] ? page_getlink.isra.31.constprop.47+0xbc/0xbc [ 1.332566] [<790cbaad>] path_lookupat+0x4e/0x3e9 [ 1.332571] [<7905bb4e>] ? find_usage_backwards+0x62/0x69 [ 1.332573] [<7905c72f>] ? mark_lock+0x1e/0x217 [ 1.332575] [<790cbe67>] filename_lookup.isra.34+0x1f/0x54 [ 1.332577] [<790cbeca>] do_path_lookup+0x2e/0x36 [ 1.332580] [<790cbeef>] kern_path+0x1d/0x32 [ 1.332585] [<790b8d9f>] ? virt_to_head_page+0x8/0x49 [ 1.332587] [<790b94ab>] ? ksize+0x13/0x1e [ 1.332593] [<79384cad>] ? __alloc_skb+0x80/0x154 [ 1.332599] [<793a828d>] unix_find_other.isra.30+0x27/0x160 [ 1.332605] [<79381e3f>] ? sock_wmalloc+0x53/0x5e [ 1.332606] [<793a966f>] unix_stream_connect+0xd8/0x37a [ 1.332608] [<7937f4b0>] SYSC_connect+0x7e/0xb4 [ 1.332616] [<791c466c>] ? _copy_from_user+0x35/0x49 [ 1.332618] [<7937fcf0>] SYSC_socketcall+0xba/0x3de [ 1.332620] [<7905ef9f>] ? lock_release+0x151/0x195 [ 1.332623] [<793b97d6>] ? _raw_spin_unlock+0x27/0x39 [ 1.332625] [<790ab27b>] ? do_read_fault.isra.85+0x23c/0x246 [ 1.332628] [<7905ef9f>] ? lock_release+0x151/0x195 [ 1.332630] [<7904b099>] ? __might_sleep+0xb8/0x1d9 [ 1.332631] [<7905aa8c>] ? up_read+0x1d/0x20 [ 1.332634] [<790276f0>] ? __do_page_fault+0x35a/0x3d0 [ 1.332636] [<790aa047>] ? might_fault+0x92/0x98 [ 1.332638] [<793ba2cb>] ? restore_all+0xf/0xf [ 1.332642] [<791d6677>] ? __this_cpu_preempt_check+0xf/0x11 [ 1.332643] [<79027780>] ? do_page_fault+0x1a/0x1e [ 1.332645] [<79380045>] SyS_socketcall+0xe/0x10 [ 1.332647] [<793ba292>] syscall_call+0x7/0xb /bin/sh: /proc/self/fd/9: No such file or directory /bin/sh: /proc/self/fd/9: No such file or directory /bin/sh: /proc/self/fd/9: No such file or directory git bisect start c0902b93f0f427427f6cb75cb5074288f8001d5d 6b458ac195c51790830b2267bdf3edaae27eab3e -- git bisect bad 25c305debfd676aa495137ca1eec21fce15198e7 # 04:23 0- 20 Tree sweep: Mark all page_follow_link_light users as RCU safe git bisect good 07076cff76ba5dfaf3c0e7028df5e2dd47cf240d # 04:25 20+ 0 vfs: Add follow_link_rcu to inode_ops git bisect good ee1765112b945f13fdac430d677621a20207d593 # 04:28 20+ 0 vfs: Update path-lookup.txt for RCU symlink walking git bisect good 868656d432372fc95e57ec7bcd0ac17b0734c806 # 04:31 20+ 0 vfs: Make page_follow_link_light RCU safe # first bad commit: [25c305debfd676aa495137ca1eec21fce15198e7] Tree sweep: Mark all page_follow_link_light users as RCU safe git bisect good 868656d432372fc95e57ec7bcd0ac17b0734c806 # 04:34 60+ 0 vfs: Make page_follow_link_light RCU safe git bisect bad c0902b93f0f427427f6cb75cb5074288f8001d5d # 04:34 0- 11 fixup! xfs: Add RCU fast symlink path git bisect good d057190925d994b808e1d07e6c76b90a32caac77 # 04:39 60+ 0 Merge branch 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip git bisect good 58e323c3ee94f1abcecdeeef211a27d1c106c2b3 # 04:43 60+ 60 Add linux-next specific files for 20140718 This script may reproduce the error. ---------------------------------------------------------------------------- #!/bin/bash kernel=$1 initrd=quantal-core-i386.cgz wget --no-clobber https://github.com/fengguang/reproduce-kernel-bug/blob/master/initrd/$initrd kvm=( qemu-system-x86_64 -enable-kvm -cpu Haswell,+smep,+smap -kernel $kernel -initrd $initrd -m 320 -smp 2 -net nic,vlan=1,model=e1000 -net user,vlan=1 -boot order=nc -no-reboot -watchdog i6300esb -rtc base=localtime -serial stdio -display none -monitor null ) append=( hung_task_panic=1 earlyprintk=ttyS0,115200 debug apic=debug sysrq_always_enabled rcupdate.rcu_cpu_stall_timeout=100 panic=10 softlockup_panic=1 nmi_watchdog=panic prompt_ramdisk=0 console=ttyS0,115200 console=tty0 vga=normal root=/dev/ram0 rw drbd.minor_count=8 ) "${kvm[@]}" --append "${append[*]}" ---------------------------------------------------------------------------- Thanks, Jet View attachment "dmesg-quantal-kbuild-11:20140721042139:i386-randconfig-r0-0721:3.16.0-rc4-00160-g25c305d:204" of type "text/plain" (45324 bytes) Download attachment "i386-randconfig-r0-0721-c0902b93f0f427427f6cb75cb5074288f8001d5d-BUG:-sleeping-function-called-from-invalid-context-at-43083.log" of type "application/octet-stream" (19435 bytes) View attachment "config-3.16.0-rc4-00160-g25c305d" of type "text/plain" (85797 bytes) View attachment "Attached Message Part" of type "text/plain" (87 bytes)
Powered by blists - more mailing lists