linux-block.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [bug report] BUG: kernel NULL pointer dereference, address: 00000000000000fc
@ 2023-04-25  2:37 Changhui Zhong
  2023-04-25  3:27 ` Ming Lei
  0 siblings, 1 reply; 8+ messages in thread
From: Changhui Zhong @ 2023-04-25  2:37 UTC (permalink / raw)
  To: linux-block; +Cc: Ming Lei

Hello,

Below issue was triggered in my test,it caused system panic ,please
help check it.
branch: for-6.4/block
https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git

mdadm -CR /dev/md0 -l 1 -n 2 /dev/sda /dev/sdb -e 1.0
sgdisk -n 0:0:+100MiB /dev/md0
cat /proc/partitions
mdadm -S /dev/md0
mdadm -A /dev/md0 /dev/sda /dev/sdb
cat /proc/partitions


[   34.219123] BUG: kernel NULL pointer dereference, address: 00000000000000fc
[   34.219507] #PF: supervisor read access in kernel mode
[   34.219784] #PF: error_code(0x0000) - not-present page
[   34.220039] PGD 0 P4D 0
[   34.220176] Oops: 0000 [#1] PREEMPT SMP PTI
[   34.220374] CPU: 8 PID: 1956 Comm: systemd-udevd Kdump: loaded Not
tainted 6.3.0-rc2+ #1
[   34.220787] Hardware name: HP ProLiant DL360 Gen9/ProLiant DL360
Gen9, BIOS P89 05/21/2018
[   34.221188] RIP: 0010:blk_mq_sched_bio_merge+0x6d/0xf0
[   34.221491] Code: 55 10 89 c0 49 8b 6c 24 38 48 03 2c c5 00 4b c4
8f b8 02 00 00 00 f7 c2 00 00 80 00 75 07 31 c0 84 d2 0f 94 c0 48 8b
54 c5 50 <0f> b7 82 fc 00 00 00 f6 82 a8 00 00 00 01 74 53 48 c1 e0 04
4c 8d
[   34.222801] RSP: 0018:ffffbf5542f8f960 EFLAGS: 00010246
[   34.223076] RAX: 0000000000000001 RBX: ffff9ac4a2a7be70 RCX: 0000000000004000
[   34.223799] RDX: 0000000000000000 RSI: ffff9ac4a03b4d80 RDI: ffff9ac4a2a7be70
[   34.224538] RBP: ffff9ac7efc00000 R08: 0000000000001000 R09: ffff9ac4830a6cd0
[   34.225306] R10: 0000000000000000 R11: 0000000000000000 R12: ffff9ac4a2a7be70
[   34.226477] R13: ffff9ac4a03b4d80 R14: 0000000000000001 R15: 00000000000063f0
[   34.227244] FS:  00007f9266a35540(0000) GS:ffff9ac7efc00000(0000)
knlGS:0000000000000000
[   34.227695] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[   34.228396] CR2: 00000000000000fc CR3: 0000000117e8a004 CR4: 00000000001706e0
[   34.229173] Call Trace:
[   34.229330]  <TASK>
[   34.229824]  blk_mq_submit_bio+0xdd/0x460
[   34.230034]  submit_bio_noacct_nocheck+0x124/0x1f0
[   34.230667]  mpage_readahead+0xe4/0x120
[   34.230885]  ? __pfx_blkdev_get_block+0x10/0x10
[   34.231503]  read_pages+0x5b/0x220
[   34.232073]  page_cache_ra_unbounded+0x137/0x180
[   34.232702]  force_page_cache_ra+0xc5/0xf0
[   34.232918]  filemap_get_pages+0xf9/0x360
[   34.233124]  ? path_init+0x3b6/0x400
[   34.233328]  filemap_read+0xc5/0x320
[   34.233603]  ? filename_lookup+0xcf/0x1d0
[   34.233806]  ? avc_has_perm+0x48/0xd0
[   34.261+0xaf/0x170
[   34.334144]  vfs_read+0x204/0x2d0
[   34.334715]  ksys_read+0x5f/0xe0
[   34.335281]  do_syscall_64+0x5c/0x90
[   34.335528]  ? blkdev_llseek+0x4c/0x60
[   34.335757]  ? syscall_exit_work+0x103/0x130
[   34.336467]  ? syscall_exit_to_user_mode+0x12/0x30
[   34.337118]  ? do_syscall_64+0x69/0x90
[   34.337326]  entry_SYSCALL_64_after_hwframe+0x72/0xdc
[   34.337589] RIP: 0033:0x7f9266d3eaf2
[   34.337795] Code: c0 e9 b2 fe ff ff 50 48 8d 3d ca 0c 08 00 e8 65
ea 01 00 0f 1f 44 00 00 f3 0f 1e fa 64 8b 04 25 18 00 00 00 85 c0 75
10 0f 05 <48> 3d 00 f0 ff ff 77 56 c3 0f 1f 44 00 00 48 83 ec 28 48 89
54 24
[   34.339088] RSP: 002b:00007fff48f06508 EFLAGS: 00000246 ORIG_RAX:
0000000000000000
[   34.339875] RAX: ffffffffffffffda RBX: 00005614ca035af8 RCX: 00007f9266d3eaf2
[   34.340619] RDX: 0000000000000040 RSI: 00005614ca035b08 RDI: 000000000000000d
[   34.341355] RBP: 00005614c9fae4d0 R08: 0000000000000000 R09: 0000000000000000
[   34.342129] R10: 0000000000000008 R11: 0000000000000246 R12:
000000000solver nfs lockd grace fscache netfs rfkill sunrpc
intel_rapl_msr intel_rapl_common sb_edac x86_pkg_temp_thermal
intel_powerclamp coretemp vfat kvm_intel fat kvm irqbypass ipmi_ssif
iTCO_wdt iTCO_vendor_support mgag200 rapl i2c_algo_bit intel_cstate
drm_shmem_helper i2c_i801 intel_uncore pcspkr drm_kms_helper i2c_smbus
syscopyarea sysfillrect lpc_ich sysimgblt hpilo acpi_ipmi ioatdma dca
ipmi_si ipmi_devintf ipmi_msghandler acpi_tad acpi_power_meter drm
fuse xfs libcrc32c sd_mod sg crct10dif_pclmul ahci crc32_pclmul nvme
libahci crc32c_intel ghash_clmulni_intel libata nvme_core tg3 hpwdt
nvme_common hpsa t10_pi wmi scsi_transport_sas dm_mirror
dm_region_hash dm_log dm_mod
[   34.846155] CR2: 00000000000000fc

--
Best Regards,
Changhui Zhong


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [bug report] BUG: kernel NULL pointer dereference, address: 00000000000000fc
  2023-04-25  2:37 [bug report] BUG: kernel NULL pointer dereference, address: 00000000000000fc Changhui Zhong
@ 2023-04-25  3:27 ` Ming Lei
  2023-04-26  5:56   ` Changhui Zhong
  0 siblings, 1 reply; 8+ messages in thread
From: Ming Lei @ 2023-04-25  3:27 UTC (permalink / raw)
  To: Changhui Zhong; +Cc: linux-block, ming.lei

On Tue, Apr 25, 2023 at 10:37:05AM +0800, Changhui Zhong wrote:
> Hello,
> 
> Below issue was triggered in my test,it caused system panic ,please
> help check it.
> branch: for-6.4/block
> https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git
> 
> mdadm -CR /dev/md0 -l 1 -n 2 /dev/sda /dev/sdb -e 1.0
> sgdisk -n 0:0:+100MiB /dev/md0
> cat /proc/partitions
> mdadm -S /dev/md0
> mdadm -A /dev/md0 /dev/sda /dev/sdb
> cat /proc/partitions
> 
> 
> [   34.219123] BUG: kernel NULL pointer dereference, address: 00000000000000fc
> [   34.219507] #PF: supervisor read access in kernel mode
> [   34.219784] #PF: error_code(0x0000) - not-present page
> [   34.220039] PGD 0 P4D 0
> [   34.220176] Oops: 0000 [#1] PREEMPT SMP PTI
> [   34.220374] CPU: 8 PID: 1956 Comm: systemd-udevd Kdump: loaded Not
> tainted 6.3.0-rc2+ #1
> [   34.220787] Hardware name: HP ProLiant DL360 Gen9/ProLiant DL360
> Gen9, BIOS P89 05/21/2018
> [   34.221188] RIP: 0010:blk_mq_sched_bio_merge+0x6d/0xf0

Hi Changhui,

Please try the following fix:

diff --git a/block/bdev.c b/block/bdev.c
index 850852fe4b78..fa2838ca2e6d 100644
--- a/block/bdev.c
+++ b/block/bdev.c
@@ -419,7 +419,11 @@ struct block_device *bdev_alloc(struct gendisk *disk, u8 partno)
        bdev->bd_inode = inode;
        bdev->bd_queue = disk->queue;
        bdev->bd_stats = alloc_percpu(struct disk_stats);
-       bdev->bd_has_submit_bio = false;
+
+       if (partno)
+               bdev->bd_has_submit_bio = disk->part0->bd_has_submit_bio;
+       else
+               bdev->bd_has_submit_bio = false;
        if (!bdev->bd_stats) {
                iput(inode);
                return NULL;

Fixes: 9f4107b07b17 ("block: store bdev->bd_disk->fops->submit_bio state in bdev")


Thanks, 
Ming


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [bug report] BUG: kernel NULL pointer dereference, address: 00000000000000fc
  2023-04-25  3:27 ` Ming Lei
@ 2023-04-26  5:56   ` Changhui Zhong
  2023-04-26  6:05     ` Yu Kuai
  0 siblings, 1 reply; 8+ messages in thread
From: Changhui Zhong @ 2023-04-26  5:56 UTC (permalink / raw)
  To: Ming Lei; +Cc: linux-block

On Tue, Apr 25, 2023 at 11:27 AM Ming Lei <ming.lei@redhat.com> wrote:
>
> On Tue, Apr 25, 2023 at 10:37:05AM +0800, Changhui Zhong wrote:
> > Hello,
> >
> > Below issue was triggered in my test,it caused system panic ,please
> > help check it.
> > branch: for-6.4/block
> > https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git
> >
> > mdadm -CR /dev/md0 -l 1 -n 2 /dev/sda /dev/sdb -e 1.0
> > sgdisk -n 0:0:+100MiB /dev/md0
> > cat /proc/partitions
> > mdadm -S /dev/md0
> > mdadm -A /dev/md0 /dev/sda /dev/sdb
> > cat /proc/partitions
> >
> >
> > [   34.219123] BUG: kernel NULL pointer dereference, address: 00000000000000fc
> > [   34.219507] #PF: supervisor read access in kernel mode
> > [   34.219784] #PF: error_code(0x0000) - not-present page
> > [   34.220039] PGD 0 P4D 0
> > [   34.220176] Oops: 0000 [#1] PREEMPT SMP PTI
> > [   34.220374] CPU: 8 PID: 1956 Comm: systemd-udevd Kdump: loaded Not
> > tainted 6.3.0-rc2+ #1
> > [   34.220787] Hardware name: HP ProLiant DL360 Gen9/ProLiant DL360
> > Gen9, BIOS P89 05/21/2018
> > [   34.221188] RIP: 0010:blk_mq_sched_bio_merge+0x6d/0xf0
>
> Hi Changhui,
>
> Please try the following fix:
>
> diff --git a/block/bdev.c b/block/bdev.c
> index 850852fe4b78..fa2838ca2e6d 100644
> --- a/block/bdev.c
> +++ b/block/bdev.c
> @@ -419,7 +419,11 @@ struct block_device *bdev_alloc(struct gendisk *disk, u8 partno)
>         bdev->bd_inode = inode;
>         bdev->bd_queue = disk->queue;
>         bdev->bd_stats = alloc_percpu(struct disk_stats);
> -       bdev->bd_has_submit_bio = false;
> +
> +       if (partno)
> +               bdev->bd_has_submit_bio = disk->part0->bd_has_submit_bio;
> +       else
> +               bdev->bd_has_submit_bio = false;
>         if (!bdev->bd_stats) {
>                 iput(inode);
>                 return NULL;
>
> Fixes: 9f4107b07b17 ("block: store bdev->bd_disk->fops->submit_bio state in bdev")
>

Hi,Ming

I retest the latest updated branch for-6.4/block
(https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git/log/?h=for-6.4/block),
which contain your fix patch "block: sync part's ->bd_has_submit_bio
with disk's".
the kernel panic  no longer happen, but the test will failed, the
system will reread partition table on exclusively open device,

:: [ 01:50:05 ] :: [  BEGIN   ] :: Running 'mdadm -S /dev/md0'
mdadm: stopped /dev/md0
:: [ 01:50:06 ] :: [   PASS   ] :: Command 'mdadm -S /dev/md0'
(Expected 0, got 0)
:: [ 01:50:06 ] :: [  BEGIN   ] :: Running 'mdadm -A /dev/md0
/dev/"$dev0" /dev/"$dev1"'
mdadm: /dev/md0 has been started with 2 drives.
:: [ 01:50:06 ] :: [   PASS   ] :: Command 'mdadm -A /dev/md0
/dev/"$dev0" /dev/"$dev1"' (Expected 0, got 0)
:: [ 01:50:09 ] :: [  BEGIN   ] :: Running 'lsblk'
NAME                         MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINTS
sda                            8:0    1 447.1G  0 disk
├─sda1                         8:1    1     1G  0 part  /boot
└─sda2                         8:2    1 446.1G  0 part
  ├─rhel_storageqe--104-root 253:0    0    70G  0 lvm   /
  ├─rhel_storageqe--104-swap 253:1    0   7.7G  0 lvm   [SWAP]
  └─rhel_storageqe--104-home 253:2    0 368.4G  0 lvm   /home
sdb                            8:16   1 447.1G  0 disk
├─sdb1                         8:17   1   100M  0 part
└─md0                          9:0    0 447.1G  0 raid1
  └─md0p1                    259:0    0   100M  0 part
sdc                            8:32   1 447.1G  0 disk
├─sdc1                         8:33   1   100M  0 part
└─md0                          9:0    0 447.1G  0 raid1
  └─md0p1                    259:0    0   100M  0 part
sdd                            8:48   1 447.1G  0 disk
:: [ 01:50:09 ] :: [   PASS   ] :: Command 'lsblk' (Expected 0, got 0)
:: [ 01:50:09 ] :: [  BEGIN   ] :: Running 'cat /proc/partitions'
major minor  #blocks  name

   8        0  468851544 sda
   8        1    1048576 sda1
   8        2  467801088 sda2
   8       48  468851544 sdd
   8       32  468851544 sdc
   8       33     102400 sdc1
   8       16  468851544 sdb
   8       17     102400 sdb1
 253        0   73400320 dm-0
 253        1    8060928 dm-1
 253        2  386338816 dm-2
   9        0  468851392 md0
 259        0     102400 md0p1

Thanks,


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [bug report] BUG: kernel NULL pointer dereference, address: 00000000000000fc
  2023-04-26  5:56   ` Changhui Zhong
@ 2023-04-26  6:05     ` Yu Kuai
  2023-04-26  6:20       ` Changhui Zhong
  0 siblings, 1 reply; 8+ messages in thread
From: Yu Kuai @ 2023-04-26  6:05 UTC (permalink / raw)
  To: Changhui Zhong, Ming Lei; +Cc: linux-block, yukuai (C)

Hi,

在 2023/04/26 13:56, Changhui Zhong 写道:
> On Tue, Apr 25, 2023 at 11:27 AM Ming Lei <ming.lei@redhat.com> wrote:
>>
>> On Tue, Apr 25, 2023 at 10:37:05AM +0800, Changhui Zhong wrote:
>>> Hello,
>>>
>>> Below issue was triggered in my test,it caused system panic ,please
>>> help check it.
>>> branch: for-6.4/block
>>> https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git
>>>
>>> mdadm -CR /dev/md0 -l 1 -n 2 /dev/sda /dev/sdb -e 1.0
>>> sgdisk -n 0:0:+100MiB /dev/md0
>>> cat /proc/partitions
>>> mdadm -S /dev/md0
>>> mdadm -A /dev/md0 /dev/sda /dev/sdb
>>> cat /proc/partitions
>>>
>>>
>>> [   34.219123] BUG: kernel NULL pointer dereference, address: 00000000000000fc
>>> [   34.219507] #PF: supervisor read access in kernel mode
>>> [   34.219784] #PF: error_code(0x0000) - not-present page
>>> [   34.220039] PGD 0 P4D 0
>>> [   34.220176] Oops: 0000 [#1] PREEMPT SMP PTI
>>> [   34.220374] CPU: 8 PID: 1956 Comm: systemd-udevd Kdump: loaded Not
>>> tainted 6.3.0-rc2+ #1
>>> [   34.220787] Hardware name: HP ProLiant DL360 Gen9/ProLiant DL360
>>> Gen9, BIOS P89 05/21/2018
>>> [   34.221188] RIP: 0010:blk_mq_sched_bio_merge+0x6d/0xf0
>>
>> Hi Changhui,
>>
>> Please try the following fix:
>>
>> diff --git a/block/bdev.c b/block/bdev.c
>> index 850852fe4b78..fa2838ca2e6d 100644
>> --- a/block/bdev.c
>> +++ b/block/bdev.c
>> @@ -419,7 +419,11 @@ struct block_device *bdev_alloc(struct gendisk *disk, u8 partno)
>>          bdev->bd_inode = inode;
>>          bdev->bd_queue = disk->queue;
>>          bdev->bd_stats = alloc_percpu(struct disk_stats);
>> -       bdev->bd_has_submit_bio = false;
>> +
>> +       if (partno)
>> +               bdev->bd_has_submit_bio = disk->part0->bd_has_submit_bio;
>> +       else
>> +               bdev->bd_has_submit_bio = false;
>>          if (!bdev->bd_stats) {
>>                  iput(inode);
>>                  return NULL;
>>
>> Fixes: 9f4107b07b17 ("block: store bdev->bd_disk->fops->submit_bio state in bdev")
>>
> 
> Hi,Ming
> 
> I retest the latest updated branch for-6.4/block
> (https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git/log/?h=for-6.4/block),
> which contain your fix patch "block: sync part's ->bd_has_submit_bio
> with disk's".
> the kernel panic  no longer happen, but the test will failed, the
> system will reread partition table on exclusively open device,

Is this patch in the branch for-6.4/block?

3723091ea188 ("block: don't set GD_NEED_PART_SCAN if scan partition failed")
> 
> :: [ 01:50:05 ] :: [  BEGIN   ] :: Running 'mdadm -S /dev/md0'
> mdadm: stopped /dev/md0
> :: [ 01:50:06 ] :: [   PASS   ] :: Command 'mdadm -S /dev/md0'
> (Expected 0, got 0)
> :: [ 01:50:06 ] :: [  BEGIN   ] :: Running 'mdadm -A /dev/md0
> /dev/"$dev0" /dev/"$dev1"'
> mdadm: /dev/md0 has been started with 2 drives.
> :: [ 01:50:06 ] :: [   PASS   ] :: Command 'mdadm -A /dev/md0
> /dev/"$dev0" /dev/"$dev1"' (Expected 0, got 0)
> :: [ 01:50:09 ] :: [  BEGIN   ] :: Running 'lsblk'
> NAME                         MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINTS
> sda                            8:0    1 447.1G  0 disk
> ├─sda1                         8:1    1     1G  0 part  /boot
> └─sda2                         8:2    1 446.1G  0 part
>    ├─rhel_storageqe--104-root 253:0    0    70G  0 lvm   /
>    ├─rhel_storageqe--104-swap 253:1    0   7.7G  0 lvm   [SWAP]
>    └─rhel_storageqe--104-home 253:2    0 368.4G  0 lvm   /home
> sdb                            8:16   1 447.1G  0 disk
> ├─sdb1                         8:17   1   100M  0 part
> └─md0                          9:0    0 447.1G  0 raid1
>    └─md0p1                    259:0    0   100M  0 part
> sdc                            8:32   1 447.1G  0 disk
> ├─sdc1                         8:33   1   100M  0 part
> └─md0                          9:0    0 447.1G  0 raid1
>    └─md0p1                    259:0    0   100M  0 part
> sdd                            8:48   1 447.1G  0 disk
> :: [ 01:50:09 ] :: [   PASS   ] :: Command 'lsblk' (Expected 0, got 0)
> :: [ 01:50:09 ] :: [  BEGIN   ] :: Running 'cat /proc/partitions'
> major minor  #blocks  name
> 
>     8        0  468851544 sda
>     8        1    1048576 sda1
>     8        2  467801088 sda2
>     8       48  468851544 sdd
>     8       32  468851544 sdc
>     8       33     102400 sdc1
>     8       16  468851544 sdb
>     8       17     102400 sdb1
>   253        0   73400320 dm-0
>   253        1    8060928 dm-1
>   253        2  386338816 dm-2
>     9        0  468851392 md0
>   259        0     102400 md0p1
> 
> Thanks,
> 
> .
> 


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [bug report] BUG: kernel NULL pointer dereference, address: 00000000000000fc
  2023-04-26  6:05     ` Yu Kuai
@ 2023-04-26  6:20       ` Changhui Zhong
  2023-04-26  6:24         ` Yu Kuai
  0 siblings, 1 reply; 8+ messages in thread
From: Changhui Zhong @ 2023-04-26  6:20 UTC (permalink / raw)
  To: Yu Kuai; +Cc: Ming Lei, linux-block, yukuai (C)

On Wed, Apr 26, 2023 at 2:06 PM Yu Kuai <yukuai1@huaweicloud.com> wrote:
>
> Hi,
>
> 在 2023/04/26 13:56, Changhui Zhong 写道:
> > On Tue, Apr 25, 2023 at 11:27 AM Ming Lei <ming.lei@redhat.com> wrote:
> >>
> >> On Tue, Apr 25, 2023 at 10:37:05AM +0800, Changhui Zhong wrote:
> >>> Hello,
> >>>
> >>> Below issue was triggered in my test,it caused system panic ,please
> >>> help check it.
> >>> branch: for-6.4/block
> >>> https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git
> >>>
> >>> mdadm -CR /dev/md0 -l 1 -n 2 /dev/sda /dev/sdb -e 1.0
> >>> sgdisk -n 0:0:+100MiB /dev/md0
> >>> cat /proc/partitions
> >>> mdadm -S /dev/md0
> >>> mdadm -A /dev/md0 /dev/sda /dev/sdb
> >>> cat /proc/partitions
> >>>
> >>>
> >>> [   34.219123] BUG: kernel NULL pointer dereference, address: 00000000000000fc
> >>> [   34.219507] #PF: supervisor read access in kernel mode
> >>> [   34.219784] #PF: error_code(0x0000) - not-present page
> >>> [   34.220039] PGD 0 P4D 0
> >>> [   34.220176] Oops: 0000 [#1] PREEMPT SMP PTI
> >>> [   34.220374] CPU: 8 PID: 1956 Comm: systemd-udevd Kdump: loaded Not
> >>> tainted 6.3.0-rc2+ #1
> >>> [   34.220787] Hardware name: HP ProLiant DL360 Gen9/ProLiant DL360
> >>> Gen9, BIOS P89 05/21/2018
> >>> [   34.221188] RIP: 0010:blk_mq_sched_bio_merge+0x6d/0xf0
> >>
> >> Hi Changhui,
> >>
> >> Please try the following fix:
> >>
> >> diff --git a/block/bdev.c b/block/bdev.c
> >> index 850852fe4b78..fa2838ca2e6d 100644
> >> --- a/block/bdev.c
> >> +++ b/block/bdev.c
> >> @@ -419,7 +419,11 @@ struct block_device *bdev_alloc(struct gendisk *disk, u8 partno)
> >>          bdev->bd_inode = inode;
> >>          bdev->bd_queue = disk->queue;
> >>          bdev->bd_stats = alloc_percpu(struct disk_stats);
> >> -       bdev->bd_has_submit_bio = false;
> >> +
> >> +       if (partno)
> >> +               bdev->bd_has_submit_bio = disk->part0->bd_has_submit_bio;
> >> +       else
> >> +               bdev->bd_has_submit_bio = false;
> >>          if (!bdev->bd_stats) {
> >>                  iput(inode);
> >>                  return NULL;
> >>
> >> Fixes: 9f4107b07b17 ("block: store bdev->bd_disk->fops->submit_bio state in bdev")
> >>
> >
> > Hi,Ming
> >
> > I retest the latest updated branch for-6.4/block
> > (https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git/log/?h=for-6.4/block),
> > which contain your fix patch "block: sync part's ->bd_has_submit_bio
> > with disk's".
> > the kernel panic  no longer happen, but the test will failed, the
> > system will reread partition table on exclusively open device,
>
> Is this patch in the branch for-6.4/block?
>
> 3723091ea188 ("block: don't set GD_NEED_PART_SCAN if scan partition failed")
> >

Hi, Yu Kuai

this patch was not found in the for-6.4/block branch, and found it
exist in the master branch


> > :: [ 01:50:05 ] :: [  BEGIN   ] :: Running 'mdadm -S /dev/md0'
> > mdadm: stopped /dev/md0
> > :: [ 01:50:06 ] :: [   PASS   ] :: Command 'mdadm -S /dev/md0'
> > (Expected 0, got 0)
> > :: [ 01:50:06 ] :: [  BEGIN   ] :: Running 'mdadm -A /dev/md0
> > /dev/"$dev0" /dev/"$dev1"'
> > mdadm: /dev/md0 has been started with 2 drives.
> > :: [ 01:50:06 ] :: [   PASS   ] :: Command 'mdadm -A /dev/md0
> > /dev/"$dev0" /dev/"$dev1"' (Expected 0, got 0)
> > :: [ 01:50:09 ] :: [  BEGIN   ] :: Running 'lsblk'
> > NAME                         MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINTS
> > sda                            8:0    1 447.1G  0 disk
> > ├─sda1                         8:1    1     1G  0 part  /boot
> > └─sda2                         8:2    1 446.1G  0 part
> >    ├─rhel_storageqe--104-root 253:0    0    70G  0 lvm   /
> >    ├─rhel_storageqe--104-swap 253:1    0   7.7G  0 lvm   [SWAP]
> >    └─rhel_storageqe--104-home 253:2    0 368.4G  0 lvm   /home
> > sdb                            8:16   1 447.1G  0 disk
> > ├─sdb1                         8:17   1   100M  0 part
> > └─md0                          9:0    0 447.1G  0 raid1
> >    └─md0p1                    259:0    0   100M  0 part
> > sdc                            8:32   1 447.1G  0 disk
> > ├─sdc1                         8:33   1   100M  0 part
> > └─md0                          9:0    0 447.1G  0 raid1
> >    └─md0p1                    259:0    0   100M  0 part
> > sdd                            8:48   1 447.1G  0 disk
> > :: [ 01:50:09 ] :: [   PASS   ] :: Command 'lsblk' (Expected 0, got 0)
> > :: [ 01:50:09 ] :: [  BEGIN   ] :: Running 'cat /proc/partitions'
> > major minor  #blocks  name
> >
> >     8        0  468851544 sda
> >     8        1    1048576 sda1
> >     8        2  467801088 sda2
> >     8       48  468851544 sdd
> >     8       32  468851544 sdc
> >     8       33     102400 sdc1
> >     8       16  468851544 sdb
> >     8       17     102400 sdb1
> >   253        0   73400320 dm-0
> >   253        1    8060928 dm-1
> >   253        2  386338816 dm-2
> >     9        0  468851392 md0
> >   259        0     102400 md0p1
> >
> > Thanks,
> >
> > .
> >
>


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [bug report] BUG: kernel NULL pointer dereference, address: 00000000000000fc
  2023-04-26  6:20       ` Changhui Zhong
@ 2023-04-26  6:24         ` Yu Kuai
  2023-04-26  6:32           ` Changhui Zhong
  2023-04-26  8:38           ` Changhui Zhong
  0 siblings, 2 replies; 8+ messages in thread
From: Yu Kuai @ 2023-04-26  6:24 UTC (permalink / raw)
  To: Changhui Zhong, Yu Kuai; +Cc: Ming Lei, linux-block, yukuai (C)

Hi,

在 2023/04/26 14:20, Changhui Zhong 写道:
>> Is this patch in the branch for-6.4/block?
>>
>> 3723091ea188 ("block: don't set GD_NEED_PART_SCAN if scan partition failed")
>>>
> 
> Hi, Yu Kuai
> 
> this patch was not found in the for-6.4/block branch, and found it
> exist in the master branch
> 

Can you try to test with this patch?

Thanks,
Kuai


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [bug report] BUG: kernel NULL pointer dereference, address: 00000000000000fc
  2023-04-26  6:24         ` Yu Kuai
@ 2023-04-26  6:32           ` Changhui Zhong
  2023-04-26  8:38           ` Changhui Zhong
  1 sibling, 0 replies; 8+ messages in thread
From: Changhui Zhong @ 2023-04-26  6:32 UTC (permalink / raw)
  To: Yu Kuai; +Cc: Ming Lei, linux-block, yukuai (C)

On Wed, Apr 26, 2023 at 2:24 PM Yu Kuai <yukuai1@huaweicloud.com> wrote:
>
> Hi,
>
> 在 2023/04/26 14:20, Changhui Zhong 写道:
> >> Is this patch in the branch for-6.4/block?
> >>
> >> 3723091ea188 ("block: don't set GD_NEED_PART_SCAN if scan partition failed")
> >>>
> >
> > Hi, Yu Kuai
> >
> > this patch was not found in the for-6.4/block branch, and found it
> > exist in the master branch
> >
>
> Can you try to test with this patch?
>
> Thanks,
> Kuai
>

ok,I will retest with this patch,will feedback test result later

Thanks,


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [bug report] BUG: kernel NULL pointer dereference, address: 00000000000000fc
  2023-04-26  6:24         ` Yu Kuai
  2023-04-26  6:32           ` Changhui Zhong
@ 2023-04-26  8:38           ` Changhui Zhong
  1 sibling, 0 replies; 8+ messages in thread
From: Changhui Zhong @ 2023-04-26  8:38 UTC (permalink / raw)
  To: Yu Kuai; +Cc: Ming Lei, linux-block, yukuai (C)

On Wed, Apr 26, 2023 at 2:24 PM Yu Kuai <yukuai1@huaweicloud.com> wrote:
>
> Hi,
>
> 在 2023/04/26 14:20, Changhui Zhong 写道:
> >> Is this patch in the branch for-6.4/block?
> >>
> >> 3723091ea188 ("block: don't set GD_NEED_PART_SCAN if scan partition failed")
> >>>
> >
> > Hi, Yu Kuai
> >
> > this patch was not found in the for-6.4/block branch, and found it
> > exist in the master branch
> >
>
> Can you try to test with this patch?
>
> Thanks,
> Kuai
>

Hi, Kuai

after patching this patch, the script test passed, confirm that this
patch can fix this issue.

:: [ 04:31:01 ] :: [  BEGIN   ] :: Running 'mdadm -S /dev/md0'
mdadm: stopped /dev/md0
:: [ 04:31:02 ] :: [   PASS   ] :: Command 'mdadm -S /dev/md0'
(Expected 0, got 0)
:: [ 04:31:02 ] :: [  BEGIN   ] :: Running 'mdadm -A /dev/md0
/dev/"$dev0" /dev/"$dev1"'
mdadm: /dev/md0 has been started with 2 drives.
:: [ 04:31:02 ] :: [   PASS   ] :: Command 'mdadm -A /dev/md0
/dev/"$dev0" /dev/"$dev1"' (Expected 0, got 0)
:: [ 04:31:05 ] :: [  BEGIN   ] :: Running 'lsblk'
NAME                         MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINTS
sda                            8:0    1 447.1G  0 disk
└─md0                          9:0    0 447.1G  0 raid1
  └─md0p1                    259:0    0   100M  0 part
sdb                            8:16   1 447.1G  0 disk
├─sdb1                         8:17   1     1G  0 part  /boot
└─sdb2                         8:18   1 446.1G  0 part
  ├─rhel_storageqe--104-root 253:0    0    70G  0 lvm   /
  ├─rhel_storageqe--104-swap 253:1    0   7.7G  0 lvm   [SWAP]
  └─rhel_storageqe--104-home 253:2    0 368.4G  0 lvm   /home
sdc                            8:32   1 447.1G  0 disk
└─md0                          9:0    0 447.1G  0 raid1
  └─md0p1                    259:0    0   100M  0 part
sdd                            8:48   1 447.1G  0 disk
:: [ 04:31:05 ] :: [   PASS   ] :: Command 'lsblk' (Expected 0, got 0)
:: [ 04:31:05 ] :: [  BEGIN   ] :: Running 'cat /proc/partitions'
major minor  #blocks  name

   8       48  468851544 sdd
   8        0  468851544 sda
   8       32  468851544 sdc
   8       16  468851544 sdb
   8       17    1048576 sdb1
   8       18  467801088 sdb2
 253        0   73400320 dm-0
 253        1    8060928 dm-1
 253        2  386338816 dm-2
   9        0  468851392 md0
 259        0     102400 md0p1

Thanks,


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2023-04-26  8:39 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-04-25  2:37 [bug report] BUG: kernel NULL pointer dereference, address: 00000000000000fc Changhui Zhong
2023-04-25  3:27 ` Ming Lei
2023-04-26  5:56   ` Changhui Zhong
2023-04-26  6:05     ` Yu Kuai
2023-04-26  6:20       ` Changhui Zhong
2023-04-26  6:24         ` Yu Kuai
2023-04-26  6:32           ` Changhui Zhong
2023-04-26  8:38           ` Changhui Zhong

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).