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  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
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