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]
Message-ID: <20200402081732.GM8179@shao2-debian>
Date:   Thu, 2 Apr 2020 16:17:32 +0800
From:   kernel test robot <lkp@...el.com>
To:     Peter Zijlstra <peterz@...radead.org>
Cc:     Sebastian Andrzej Siewior <bigeasy@...utronix.de>,
        Thomas Gleixner <tglx@...utronix.de>,
        linux-kernel@...r.kernel.org, rcu@...r.kernel.org,
        LKP <lkp@...ts.01.org>
Subject: de8f5e4f2d ("lockdep: Introduce wait-type checks"): [   17.344674]
 EIP: default_idle

Greetings,

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

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master

commit de8f5e4f2dc1f032b46afda0a78cab5456974f89
Author:     Peter Zijlstra <peterz@...radead.org>
AuthorDate: Sat Mar 21 12:26:01 2020 +0100
Commit:     Peter Zijlstra <peterz@...radead.org>
CommitDate: Sat Mar 21 16:00:24 2020 +0100

    lockdep: Introduce wait-type checks
    
    Extend lockdep to validate lock wait-type context.
    
    The current wait-types are:
    
            LD_WAIT_FREE,           /* wait free, rcu etc.. */
            LD_WAIT_SPIN,           /* spin loops, raw_spinlock_t etc.. */
            LD_WAIT_CONFIG,         /* CONFIG_PREEMPT_LOCK, spinlock_t etc.. */
            LD_WAIT_SLEEP,          /* sleeping locks, mutex_t etc.. */
    
    Where lockdep validates that the current lock (the one being acquired)
    fits in the current wait-context (as generated by the held stack).
    
    This ensures that there is no attempt to acquire mutexes while holding
    spinlocks, to acquire spinlocks while holding raw_spinlocks and so on. In
    other words, its a more fancy might_sleep().
    
    Obviously RCU made the entire ordeal more complex than a simple single
    value test because RCU can be acquired in (pretty much) any context and
    while it presents a context to nested locks it is not the same as it
    got acquired in.
    
    Therefore its necessary to split the wait_type into two values, one
    representing the acquire (outer) and one representing the nested context
    (inner). For most 'normal' locks these two are the same.
    
    [ To make static initialization easier we have the rule that:
      .outer == INV means .outer == .inner; because INV == 0. ]
    
    It further means that its required to find the minimal .inner of the held
    stack to compare against the outer of the new lock; because while 'normal'
    RCU presents a CONFIG type to nested locks, if it is taken while already
    holding a SPIN type it obviously doesn't relax the rules.
    
    Below is an example output generated by the trivial test code:
    
      raw_spin_lock(&foo);
      spin_lock(&bar);
      spin_unlock(&bar);
      raw_spin_unlock(&foo);
    
     [ BUG: Invalid wait context ]
     -----------------------------
     swapper/0/1 is trying to lock:
     ffffc90000013f20 (&bar){....}-{3:3}, at: kernel_init+0xdb/0x187
     other info that might help us debug this:
     1 lock held by swapper/0/1:
      #0: ffffc90000013ee0 (&foo){+.+.}-{2:2}, at: kernel_init+0xd1/0x187
    
    The way to read it is to look at the new -{n,m} part in the lock
    description; -{3:3} for the attempted lock, and try and match that up to
    the held locks, which in this case is the one: -{2,2}.
    
    This tells that the acquiring lock requires a more relaxed environment than
    presented by the lock stack.
    
    Currently only the normal locks and RCU are converted, the rest of the
    lockdep users defaults to .inner = INV which is ignored. More conversions
    can be done when desired.
    
    The check for spinlock_t nesting is not enabled by default. It's a separate
    config option for now as there are known problems which are currently
    addressed. The config option allows to identify these problems and to
    verify that the solutions found are indeed solving them.
    
    The config switch will be removed and the checks will permanently enabled
    once the vast majority of issues has been addressed.
    
    [ bigeasy: Move LD_WAIT_FREE,… out of CONFIG_LOCKDEP to avoid compile
               failure with CONFIG_DEBUG_SPINLOCK + !CONFIG_LOCKDEP]
    [ tglx: Add the config option ]
    
    Signed-off-by: Peter Zijlstra (Intel) <peterz@...radead.org>
    Signed-off-by: Sebastian Andrzej Siewior <bigeasy@...utronix.de>
    Signed-off-by: Thomas Gleixner <tglx@...utronix.de>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@...radead.org>
    Link: https://lkml.kernel.org/r/20200321113242.427089655@linutronix.de

a5c6234e10  completion: Use simple wait queues
de8f5e4f2d  lockdep: Introduce wait-type checks
919dce2470  Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma
8274500e2b  Add linux-next specific files for 20200401
+---------------------------------+------------+------------+------------+---------------+
|                                 | a5c6234e10 | de8f5e4f2d | 919dce2470 | next-20200401 |
+---------------------------------+------------+------------+------------+---------------+
| boot_successes                  | 80         | 1          | 11         | 1             |
| boot_failures                   | 1          | 26         | 7          | 3             |
| BUG:kernel_hang_in_boot_stage   | 1          |            |            |               |
| EIP:__copy_user_ll              | 0          | 1          |            |               |
| EIP:_raw_spin_unlock_irqrestore | 0          | 3          |            |               |
| EIP:default_idle                | 0          | 9          | 4          | 3             |
| EIP:serial8250_isa_init_ports   | 0          | 1          |            |               |
| EIP:_raw_spin_unlock_irq        | 0          | 3          |            |               |
| EIP:__sys_socket                | 0          | 1          |            |               |
| EIP:n_tty_init                  | 0          | 1          |            |               |
| EIP:cyy_init_card               | 0          | 1          |            |               |
| EIP:lock_acquire                | 0          | 1          |            |               |
| EIP:lock_is_held_type           | 0          | 2          |            |               |
| EIP:__might_fault               | 0          | 1          |            |               |
| EIP:redirected_tty_write        | 0          | 1          |            |               |
| BUG:kernel_hang_in_test_stage   | 0          | 1          | 1          |               |
| EIP:static_obj                  | 0          | 1          |            |               |
| EIP:univ8250_console_match      | 0          | 0          | 1          |               |
| EIP:__tlb_remove_page_size      | 0          | 0          | 1          |               |
+---------------------------------+------------+------------+------------+---------------+

If you fix the issue, kindly add following tag
Reported-by: kernel test robot <lkp@...el.com>

[   17.315589] [ BUG: Invalid wait context ]
[   17.316332] 5.6.0-rc4-00040-gde8f5e4f2dc1f #1 Tainted: G                T
[   17.317500] -----------------------------
[   17.318217] swapper/0 is trying to lock:
[   17.318892] f13f1010 (&sighand->siglock){....}-{3:3}, at: __lock_task_sighand+0x6b/0xd9
[   17.320237] other info that might help us debug this:
[   17.321047] 2 locks held by swapper/0:
[   17.321642]  #0: c9fb6cec (rcu_read_lock){....}-{1:3}, at: kill_pid_info+0x1d/0xb5
[   17.322937]  #1: c9fb6cec (rcu_read_lock){....}-{1:3}, at: __lock_task_sighand+0x13/0xd9
[   17.324305] stack backtrace:
[   17.324811] CPU: 0 PID: 0 Comm: swapper Tainted: G                T 5.6.0-rc4-00040-gde8f5e4f2dc1f #1
[   17.326263] Call Trace:
[   17.326688]  dump_stack+0x16/0x18
[   17.327295]  __lock_acquire+0x5f2/0x24c3
[   17.327906]  ? __lock_acquire+0x2b8/0x24c3
[   17.328528]  ? ___perf_sw_event+0x1b8/0x22a
[   17.329225]  ? __lock_acquire+0x2b8/0x24c3
[   17.329924]  ? __lock_acquire+0x2b8/0x24c3
[   17.330637]  lock_acquire+0xb1/0x303
[   17.331256]  ? __lock_task_sighand+0x6b/0xd9
[   17.331989]  ? __lock_task_sighand+0x13/0xd9
[   17.332697]  ? trace_hardirqs_off+0xc2/0xce
[   17.333347]  _raw_spin_lock_irqsave+0x42/0x52
[   17.334024]  ? __lock_task_sighand+0x6b/0xd9
[   17.334669]  __lock_task_sighand+0x6b/0xd9
[   17.335276]  ? __lock_task_sighand+0x13/0xd9
[   17.335871]  do_send_sig_info+0x24/0x6b
[   17.336475]  group_send_sig_info+0x8b/0x97
[   17.337211]  ? group_send_sig_info+0x15/0x97
[   17.337950]  ? kill_pid_info+0x1d/0xb5
[   17.338604]  kill_pid_info+0x6f/0xb5
[   17.339144]  ? kill_pid_info+0x1d/0xb5
[   17.339711]  it_real_fn+0x48/0xb6
[   17.340275]  __hrtimer_run_queues+0x167/0x37e
[   17.341143]  ? sys_getitimer+0x108/0x108
[   17.341785]  hrtimer_interrupt+0xec/0x289
[   17.342432]  smp_apic_timer_interrupt+0x71/0x182
[   17.343187]  ? trace_hardirqs_off_thunk+0xc/0x1c
[   17.343946]  apic_timer_interrupt+0x10b/0x110
[   17.344674] EIP: default_idle+0x1e/0x103
[   17.345361] Code: cc cc cc cc cc cc cc cc cc cc cc cc 55 89 e5 57 56 53 3e 8d 74 26 00 e8 47 14 75 ff e9 07 00 00 00 0f 00 2d 7a 64 7a c9 fb f4 <3e> 8d 74 26 00 5b 5e 5f 5d c3 a1 58 5c fa c9 a9 00 00 10 00 0f 85
[   17.348158] EAX: 000019bb EBX: 00000000 ECX: 00000000 EDX: c9f8c1c0
[   17.353174] ESI: 00000000 EDI: c9e1a23c EBP: c9f7bf1c ESP: c9f7bf10
[   17.354096] DS: 007b ES: 007b FS: 0000 GS: 00e0 SS: 0068 EFLAGS: 00200286
[   17.355290]  ? register_lock_class+0x115/0x61e
[   17.356066]  ? apply_paravirt+0xdb/0x10c
[   17.356650]  ? apply_paravirt+0xdb/0x10c
[   17.357213]  ? default_idle+0x1e/0x103
[   17.357758]  arch_cpu_idle+0x9/0xb
[   17.358277]  default_idle_call+0x17/0x37
[   17.358872]  do_idle+0x11f/0x178
[   17.359389]  cpu_startup_entry+0xd/0x13
[   17.359957]  rest_init+0x11b/0x121
[   17.360505]  ? rest_init+0x9b/0x121
[   17.361101]  arch_call_rest_init+0x11/0x45
[   17.361741]  start_kernel+0x526/0x552
[   17.362358]  i386_start_kernel+0x5c/0x72
[   17.362982]  startup_32_smp+0x15f/0x164
modprobe: FATAL: Could not load /lib/modules/5.6.0-rc4-00040-gde8f5e4f2dc1f/modules.dep: No such file or directory
[child3:593] acct (51) returned ENOSYS, marking as inactive.
modprobe: FATAL: Could not load /lib/modules/5.6.0-rc4-00040-gde8f5e4f2dc1f/modules.dep: No such file or directory
[child0:586] modify_ldt (123) returned ENOSYS, marking as inactive.
modprobe: FATAL: Could not load /lib/modules/5.6.0-rc4-00040-gde8f5e4f2dc1f/modules.dep: No such file or directory

                                                          # HH:MM RESULT GOOD BAD GOOD_BUT_DIRTY DIRTY_NOT_BAD
git bisect start 43a69313d4e8a7431c5dc2af5b362475789c4221 7111951b8d4973bda27ff663f2cf18b663d15b48 --
git bisect good 6621b727a40694aa6b9194d1d0f85ddb858caa06  # 03:30  G     14     0    1   1  Merge 'ext3/fsnotify' into devel-hourly-2020040121
git bisect  bad c61301ec86f58b05d873b88d68e973aa8bb265a3  # 03:53  B      2     1    2   2  Merge 'linux-review/UPDATE-20200319-204231/Sungbo-Eo/irqchip-versatile-fpga-Handle-chained-IRQs-properly/20200319-201144' into devel-hourly-2020040121
git bisect  bad 96302de0fbddc00f3f7d8420a14e7d5e6cd66f03  # 04:24  B      4     1    4   4  Merge 'linux-review/Alain-Volmat/spi-stm32-Fix-comments-compilation-warnings/20200321-033226' into devel-hourly-2020040121
git bisect  bad 2470fa18c800345c15ff0e3fb6acc73444d9bd8e  # 04:53  B      0     1   17   0  Merge 'thermal/next' into devel-hourly-2020040121
git bisect good 9cc26ac6c2e0068282c5e529fe8397c3ee625c78  # 05:22  G     25     0    1   1  Merge 'linux-review/Saravana-Kannan/slimbus-core-Set-fwnode-for-a-device-when-setting-of_node/20200327-034749' into devel-hourly-2020040121
git bisect good 88c8ffcdc110f9463c18f7f8f08a0c381addfa68  # 05:54  G     26     0    1   1  Merge 'linux-review/Rayagonda-Kokatanur/Handle-return-value-and-remove-unnecessary-check/20200323-191553' into devel-hourly-2020040121
git bisect good 02ed94e43d5027d0033d4f60b63eeae340be3c3f  # 06:20  G     25     0    0   0  Merge 'linux-review/Rayagonda-Kokatanur/firmware-tee_bnxt-remove-unused-variable-assignment/20200323-161604' into devel-hourly-2020040121
git bisect  bad cb29b903a35027059e23cb5dacef2039dddcaea1  # 06:58  B      2     1    2   2  Merge 'linux-review/Joel-Fernandes-Google/Documentation-LKMM-Move-MP-onceassign-derefonce-to-new-litmus-tests-rcu/20200323-100045' into devel-hourly-2020040121
git bisect  bad 891ff755eb2e6f4707ee763d2699a54b95f7ac7b  # 07:26  B      0     2   18   0  Merge 'linux-review/Leonardo-Bras/ppc-crash-Skip-spinlocks-during-crash/20200327-105958' into devel-hourly-2020040121
git bisect good f6f48e18040402136874a6a71611e081b4d0788a  # 07:57  G     25     0    1   1  lockdep: Teach lockdep about "USED" <- "IN-NMI" inversions
git bisect good 80fbaf1c3f2926c834f8ca915441dfe27ce5487e  # 08:24  G     25     0    0   0  rcuwait: Add @state argument to rcuwait_wait_event()
git bisect  bad de8f5e4f2dc1f032b46afda0a78cab5456974f89  # 09:21  B      2     2    2   2  lockdep: Introduce wait-type checks
git bisect good e5d4d1756b07d9490a0269a9e68c1e05ee1feb9b  # 10:15  G     26     0    0   0  timekeeping: Split jiffies seqlock
git bisect good a5c6234e10280b3ec65e2410ce34904a2580e5f8  # 11:57  G     25     0    1   1  completion: Use simple wait queues
# first bad commit: [de8f5e4f2dc1f032b46afda0a78cab5456974f89] lockdep: Introduce wait-type checks
git bisect good a5c6234e10280b3ec65e2410ce34904a2580e5f8  # 12:09  G     79     0    1   2  completion: Use simple wait queues
# extra tests with debug options
git bisect  bad de8f5e4f2dc1f032b46afda0a78cab5456974f89  # 12:43  B      0     2   18   0  lockdep: Introduce wait-type checks
# extra tests on head commit of linus/master
git bisect  bad 919dce24701f7b34681a6a1d3ef95c9f6c4fb1cc  # 15:30  B      1     1    1   2  Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma
# bad: [919dce24701f7b34681a6a1d3ef95c9f6c4fb1cc] Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma
# extra tests on linus/master
# duplicated: [919dce24701f7b34681a6a1d3ef95c9f6c4fb1cc] Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma
# extra tests on linux-next/master
git bisect  bad 8274500e2b6748d2d2226873ac88cedc3ad833e8  # 16:08  B      1     3    0   0  Add linux-next specific files for 20200401
# bad: [8274500e2b6748d2d2226873ac88cedc3ad833e8] Add linux-next specific files for 20200401

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/lkp@lists.01.org

Download attachment "dmesg-quantal-vm-quantal-19:20200402092053:i386-randconfig-h002-20200401:5.6.0-rc4-00040-gde8f5e4f2dc1f:1.gz" of type "application/gzip" (18159 bytes)

Download attachment "dmesg-quantal-vm-quantal-41:20200402120723:i386-randconfig-h002-20200401:5.6.0-rc4-00039-ga5c6234e10280:1.gz" of type "application/gzip" (31107 bytes)

View attachment "reproduce-quantal-vm-quantal-19:20200402092053:i386-randconfig-h002-20200401:5.6.0-rc4-00040-gde8f5e4f2dc1f:1" of type "text/plain" (922 bytes)

Download attachment "43a69313d4e8a7431c5dc2af5b362475789c4221:gcc-7:i386-randconfig-h002-20200401:EIP:default_idle.xz" of type "application/x-xz" (12052 bytes)

View attachment "config-5.6.0-rc4-00040-gde8f5e4f2dc1f" of type "text/plain" (135434 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ