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
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 16 Apr 2015 11:37:36 +0800
From:	Fengguang Wu <fengguang.wu@...el.com>
To:	Thomas Gleixner <tglx@...utronix.de>
Cc:	fengguang.wu@...el.com, LKP <lkp@...org>,
	linux-kernel@...r.kernel.org
Subject: [hrtimer] WARNING: CPU: 0 PID: 0 at kernel/time/clockevents.c:318
 clockevents_program_event()

Hi Thomas,

0day kernel testing robot got the below dmesg and the first bad commit is

git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers/wip

commit 8ca99a56579963a0d0a7e147e72600cca27dacb5
Author:     Thomas Gleixner <tglx@...utronix.de>
AuthorDate: Fri Apr 10 14:24:03 2015 +0200
Commit:     Thomas Gleixner <tglx@...utronix.de>
CommitDate: Tue Apr 14 21:01:00 2015 +0200

    hrtimer: Get rid of hrtimer softirq
    
    hrtimer softirq is a leftover from the initial implementation and
    serves only the purpose to handle the enqueueing of already expired
    timers in the high resolution timer mode. We discussed whether we
    change the return value and force all start sites to handle that the
    timer is already expired, but that would be a Herculean task and I'm
    not sure whether its a good idea to enforce that handling on
    everyone.
    
    A simpler solution is to enforce a timer interrupt instead of raising
    and scheduling a softirq. Just use the existing infrastructure to do
    so and remove all the softirq leftovers.
    
    Signed-off-by: Thomas Gleixner <tglx@...utronix.de>

+-------------------------------------------------------------------+------------+------------+------------+
|                                                                   | 9824b5ae1a | 8ca99a5657 | 87599e6869 |
+-------------------------------------------------------------------+------------+------------+------------+
| boot_successes                                                    | 165        | 19         | 7          |
| boot_failures                                                     | 0          | 18         | 9          |
| WARNING:at_kernel/time/clockevents.c:#clockevents_program_event() | 0          | 16         | 9          |
| BUG:kernel_boot_hang                                              | 0          | 18         | 9          |
| backtrace:event_create_dir                                        | 0          | 14         | 8          |
| backtrace:event_trace_init                                        | 0          | 14         | 8          |
| backtrace:kernel_init_freeable                                    | 0          | 14         | 9          |
| backtrace:cpu_startup_entry                                       | 0          | 14         | 9          |
| backtrace:apic_timer_interrupt                                    | 0          | 1          | 2          |
| backtrace:__raw_spin_lock_init                                    | 0          | 1          | 1          |
| backtrace:address_space_init_once                                 | 0          | 1          |            |
| backtrace:inode_init_once                                         | 0          | 1          |            |
| backtrace:init_once                                               | 0          | 1          |            |
| backtrace:inode_init_always                                       | 0          | 0          | 2          |
| backtrace:register_stat_tracer                                    | 0          | 0          | 1          |
| backtrace:ftrace_init_debugfs                                     | 0          | 0          | 1          |
| backtrace:debug_mutex_init                                        | 0          | 0          | 1          |
| backtrace:__mutex_init                                            | 0          | 0          | 1          |
+-------------------------------------------------------------------+------------+------------+------------+

[    0.741534] hpet0: 3 comparators, 64-bit 100.000000 MHz counter
[    0.746043] Switched to clocksource kvm-clock
[    0.746043] ------------[ cut here ]------------
[    0.746043] WARNING: CPU: 0 PID: 0 at kernel/time/clockevents.c:318 clockevents_program_event+0xf2/0x100()
[    0.746397] ------------[ cut here ]------------
[    0.746397] WARNING: CPU: 1 PID: 1 at kernel/time/clockevents.c:318 clockevents_program_event+0xf2/0x100()
[    0.746397] Modules linked in:
[    0.746397] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 4.0.0-02371-g8ca99a5 #6
[    0.746397] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.7.5-20140531_083030-gandalf 04/01/2014
[    0.746397]  ffffffff8185f0f0 ffff880011203eb8 ffffffff815de990 0000000000000000
[    0.746397]  0000000000000000 ffff880011203ef8 ffffffff8109979a ffff880011203ef8
[    0.746397]  80000000003d08ff ffff88001120be40 0000000000000001 0000000000000001
[    0.746397] Call Trace:
[    0.746397]  <IRQ>  [<ffffffff815de990>] dump_stack+0x4c/0x65
[    0.746397]  [<ffffffff8109979a>] warn_slowpath_common+0x8a/0xc0
[    0.746397]  [<ffffffff8109988a>] warn_slowpath_null+0x1a/0x20
[    0.746397]  [<ffffffff8111cb22>] clockevents_program_event+0xf2/0x100
[    0.746397]  [<ffffffff8111d33c>] tick_handle_periodic+0x5c/0x70
[    0.746397]  [<ffffffff8103502c>] local_apic_timer_interrupt+0x3c/0x60
[    0.746397]  [<ffffffff81035251>] smp_apic_timer_interrupt+0x41/0x60
[    0.746397]  [<ffffffff815e7673>] apic_timer_interrupt+0x73/0x80
[    0.746397]  <EOI>  [<ffffffff810ed440>] ? lock_acquire+0xf0/0x2b0
[    0.746397]  [<ffffffff811e6f66>] ? d_instantiate+0x36/0x80
[    0.746397]  [<ffffffff815e598d>] _raw_spin_lock+0x3d/0x80
[    0.746397]  [<ffffffff811e6f66>] ? d_instantiate+0x36/0x80
[    0.746397]  [<ffffffff811e6f66>] d_instantiate+0x36/0x80
[    0.746397]  [<ffffffff8126eb42>] debugfs_create_file+0x82/0xf0
[    0.746397]  [<ffffffff811510c2>] trace_create_file+0x12/0x40
[    0.746397]  [<ffffffff81159ec2>] event_create_dir+0x192/0x500
[    0.746397]  [<ffffffff81bc787a>] ? event_trace_init+0x176/0x211
[    0.746397]  [<ffffffff81bc7897>] event_trace_init+0x193/0x211
[    0.746397]  [<ffffffff81bc7704>] ? event_trace_enable_again+0x26/0x26
[    0.746397]  [<ffffffff810002e0>] do_one_initcall+0xa0/0x200
[    0.746397]  [<ffffffff81bac074>] kernel_init_freeable+0x11a/0x1a2
[    0.746397]  [<ffffffff815d8730>] ? rest_init+0x140/0x140
[    0.746397]  [<ffffffff815d873e>] kernel_init+0xe/0xf0
[    0.746397]  [<ffffffff815e6c52>] ret_from_fork+0x42/0x70
[    0.746397]  [<ffffffff815d8730>] ? rest_init+0x140/0x140
[    0.746397] ---[ end trace f56a4b062a4906e6 ]---
[    0.749419] Modules linked in:

git bisect start 87599e68698af240682989f795acba486f0e4ad7 22dd0fc0154b9934eef776f4559f3c07964524b4 --
git bisect  bad 340fda3d5c95ec45f637f6e662859b8ac89ab47d  # 04:13      1-      1  tick: sched: Restructure code
git bisect good fcdb31076dc272b5e51f9ecf92d170efe3b38469  # 05:30     35+      0  hrtimer: Use a bits for various boolean indicators
git bisect good 949943b012e09a6f1a90d0af5a0cbdcc892f7d44  # 05:50     35+      0  hrtimer: Make use of timerqueue_add/del return values
git bisect  bad 8ca99a56579963a0d0a7e147e72600cca27dacb5  # 06:10      5-      3  hrtimer: Get rid of hrtimer softirq
git bisect good 9824b5ae1a31fde46ab4b710b3ba8cf159df6a8a  # 06:41     55+      0  hrtimer: Keep pointer to first timer and simplify __remove_hrtimer()
# first bad commit: [8ca99a56579963a0d0a7e147e72600cca27dacb5] hrtimer: Get rid of hrtimer softirq
git bisect good 9824b5ae1a31fde46ab4b710b3ba8cf159df6a8a  # 07:20    165+      0  hrtimer: Keep pointer to first timer and simplify __remove_hrtimer()
# extra tests with DEBUG_INFO
git bisect  bad 8ca99a56579963a0d0a7e147e72600cca27dacb5  # 07:33      9-     10  hrtimer: Get rid of hrtimer softirq
# extra tests on HEAD of tip/timers/wip
git bisect  bad 87599e68698af240682989f795acba486f0e4ad7  # 07:33      0-      9  timer: Put usleep_range into the __sched section
# extra tests on tree/branch tip/timers/wip
git bisect  bad f772ace2267638b42e2dad807717fb7ac94d0eb1  # 07:44     15-      6  timer: Put usleep_range into the __sched section
# extra tests with first bad commit reverted
# extra tests on tree/branch tip/master
git bisect good 7b79ff96b6b3b13f4080233cb7b8592b00fd078c  # 19:12    165+      1  Merge branch 'perf/urgent'
# extra tests on tree/branch linus/master
git bisect good bb0fd7ab0986105765d11baa82e619c618a235aa  # 20:45    165+      1  Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm
# extra tests on tree/branch next/master
git bisect good fb5e230888b2b734a061e853b3729acdaae7a537  # 22:30    165+      1  Add linux-next specific files for 20150415


This script may reproduce the error.

----------------------------------------------------------------------------
#!/bin/bash

kernel=$1

kvm=(
	qemu-system-x86_64
	-enable-kvm
	-cpu kvm64
	-kernel $kernel
	-m 300
	-smp 2
	-device e1000,netdev=net0
	-netdev user,id=net0
	-boot order=nc
	-no-reboot
	-watchdog i6300esb
	-rtc base=localtime
	-serial stdio
	-display none
	-monitor null 
)

append=(
	hung_task_panic=1
	earlyprintk=ttyS0,115200
	rd.udev.log-priority=err
	systemd.log_target=journal
	systemd.log_level=warning
	debug
	apic=debug
	sysrq_always_enabled
	rcupdate.rcu_cpu_stall_timeout=100
	panic=-1
	softlockup_panic=1
	nmi_watchdog=panic
	oops=panic
	load_ramdisk=2
	prompt_ramdisk=0
	console=ttyS0,115200
	console=tty0
	vga=normal
	root=/dev/ram0
	rw
	drbd.minor_count=8
)

"${kvm[@]}" --append "${append[*]}"
----------------------------------------------------------------------------

Thanks,
Fengguang

View attachment "dmesg-quantal-kbuild-2:20150414222335:x86_64-randconfig-iv0-04150142:4.0.0-02371-g8ca99a5:6" of type "text/plain" (28701 bytes)

View attachment "config-4.0.0-02371-g8ca99a5" of type "text/plain" (86864 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ