On Mon, 2018-12-17 at 16:41 +0800, kernel test robot wrote:
> FYI, we noticed the following commit (built with gcc-4.9):
>
> commit: 15693f040b149ffff598cc048c2697b258d3901c ("locking/lockdep: Free lock
> classes that are no longer in use")
> https://github.com/bvanassche/linux for-next
>
> in testcase: locktorture
> with following parameters:
>
> runtime: 300s
> test: cpuhotplug
>
> test-description: This torture test consists of creating a number of kernel
> threads which acquire the lock and hold it for specific amount of time, thus
> simulating different critical region
> behaviors.
> test-url: https://www.kernel.org/doc/Documentation/locking/locktorture.txt
>
>
> on test machine: qemu-system-i386 -enable-kvm -cpu SandyBridge -smp 2 -m 512M
>
> caused below changes (please refer to attached dmesg/kmsg for entire
> log/backtrace):
>
>
> +-------------------------------------------------------------+------------+------------+
> > | b7001c6cce |
> > 15693f040b |
>
> +-------------------------------------------------------------+------------+------------+
> > boot_successes | 0 |
> > 0 |
> > boot_failures | 394 |
> > 396 |
> > WARNING:at_lib/debugobjects.c:#__debug_object_init | 394 |
> > 396 |
> > EIP:__debug_object_init | 394 |
> > 396 |
> > WARNING:possible_circular_locking_dependency_detected | 370 |
> > 375 |
> > WARNING:at_kernel/locking/lockdep.c:#lock_downgrade | 145 |
> > 159 |
> > EIP:lock_downgrade | 145 |
> > 159 |
> > BUG:soft_lockup-CPU##stuck_for#s | 24 |
> > 21 |
> > EIP:thread_lookup_test | 12 |
> > 9 |
> > Kernel_panic-not_syncing:softlockup:hung_tasks | 24 |
> > 21 |
> > EIP:memcmp | 3 |
> > 3 |
> > EIP:threadfunc | 4 |
> > 2 |
> > EIP:lock_acquire | 3 |
> > 1 |
> > EIP:lock_is_held_type | 2 |
> > 2 |
> > WARNING:at_net/sched/sch_generic.c:#dev_watchdog | 1 |
> > |
> > EIP:dev_watchdog | 1 |
> > |
> > WARNING:at_kernel/locking/lockdep.c:#lockdep_free_key_range | 0 |
> > 22 |
> > EIP:lockdep_free_key_range | 0 |
> > 22 |
> > EIP:lock_release | 0 |
> > 2 |
> > EIP:rht_deferred_worker | 0 |
> > 2 |
>
> +-------------------------------------------------------------+------------+------------+
The WARNING:at_kernel/locking/lockdep.c:#lockdep_free_key_range warnings were
caused by the
following code:
pf = get_pending_free_lock(&flags);
if (WARN_ON_ONCE(!pf))
return;
Before this report was produced I had already pushed out a new version of my
lockdep patch
series to the for-next branch of my github repository in which that code had
been modified
into the following:
pf = get_pending_free_lock(&flags);
if (!pf)
return;
Since the above report refers to a WARN_ON_ONCE() statement that has been
removed, I think
that this report can be ignored.
Bart.