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-prev] [thread-next>] [day] [month] [year] [list]
Date:   Fri, 20 Jan 2017 17:01:23 +0100
From:   Sebastian Andrzej Siewior <bigeasy@...utronix.de>
To:     kernel test robot <xiaolong.ye@...el.com>,
        Jens Axboe <axboe@...nel.dk>
Cc:     "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>,
        LKML <linux-kernel@...r.kernel.org>, lkp@...org,
        linux-scsi@...r.kernel.org, tglx@...utronix.de,
        linux-block@...r.kernel.org
Subject: Re: [lkp-robot] [rcu]  b332151a29: kernel_BUG_at_mm/slab.c

On 2017-01-19 09:02:16 [+0800], kernel test robot wrote:
> test-description: Trinity is a linux system call fuzz tester.

you don't even get to fire up trinity. With and without the patch you
crash very early.

> +-----------------------------------------------------+------------+------------+
> |                                                     | d5f6ab9c11 | b332151a29 |
> +-----------------------------------------------------+------------+------------+
> | boot_successes                                      | 0          | 0          |
> | boot_failures                                       | 6          | 8          |
> | WARNING:at_include/linux/kref.h:#kobject_get        | 6          | 8          |
> | WARNING:at_arch/x86/mm/dump_pagetables.c:#note_page | 2          | 2          |
> | kernel_BUG_at_mm/slab.c                             | 0          | 4          |
> | invalid_opcode:#[##]PREEMPT_SMP                     | 0          | 4          |
> | Kernel_panic-not_syncing:Fatal_exception            | 0          | 6          |
> | BUG:unable_to_handle_kernel                         | 0          | 2          |
> | Oops                                                | 0          | 2          |
> +-----------------------------------------------------+------------+------------+

There is no successful boot. The pattern changes with patch in question
applied.

> [    8.044624] sd 0:0:0:0: [sda] Synchronizing SCSI cache
> [    8.055721] slab: double free detected in cache 'kmalloc-32', objp 8af558c0
> [    8.057138] ------------[ cut here ]------------
> [    8.058085] kernel BUG at mm/slab.c:2624!
> [    8.059255] invalid opcode: 0000 [#1] PREEMPT SMP

yes. With and without the patch there is a lot of wrong stuff like
complains about a kobject initialized again. This leads to a double free
at some point.

What happens is the following: CONFIG_SCSI_DEBUG is enabled which adds a
dummy host controller with a dummy disk. This gets probed during boot.
Since you also enabled CONFIG_DEBUG_TEST_DRIVER_REMOVE it gets removed
and re-added. The request_queue in genhd disk is re-used while the disk
is added for the second time:

[    1.314404] scsi host0: scsi_debug: version 1.86 [20160430]
[    1.314404]   dev_size_mb=8, opts=0x0, submit_queues=1, statistics=0
[    1.315994] scsi 0:0:0:0: Direct-Access     Linux    scsi_debug       0186 PQ: 0 ANSI: 7
[    1.351052] sd 0:0:0:0: [sda] 16384 512-byte logical blocks: (8.39 MB/8.00 MiB)
[    1.355916] sd 0:0:0:0: [sda] Write Protect is off
[    1.356838] sd 0:0:0:0: [sda] Mode Sense: 73 00 10 08
[    1.364455] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, supports DPO and FUA
[    1.437642] sd 0:0:0:0: [sda] Attached SCSI disk
[    1.438413] sd 0:0:0:0: [sda] Synchronizing SCSI cache
[    1.445868] sd 0:0:0:0: [sda] 16384 512-byte logical blocks: (8.39 MB/8.00 MiB)
[    1.450819] sd 0:0:0:0: [sda] Write Protect is off
[    1.451853] sd 0:0:0:0: [sda] Mode Sense: 73 00 10 08
[    1.459636] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, supports DPO and FUA
[    1.471446] kobject (beb87d44): tried to init an initialized object, something is seriously wrong.

Since you also need CONFIG_SCSI_MQ_DEFAULT enabled I assume the MQ block
code is buggy here.
But commit b332151a29 in Paul's tree innocent.

Sebastian

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ