[Bug 215785] New: kernel NULL pointer dereference in fs/xfs/xfs_log_recover.c: xlog_recover_reorder_trans() when mount a corrupted image

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



https://bugzilla.kernel.org/show_bug.cgi?id=215785

            Bug ID: 215785
           Summary: kernel NULL pointer dereference in
                    fs/xfs/xfs_log_recover.c: xlog_recover_reorder_trans()
                    when mount a corrupted image
           Product: File System
           Version: 2.5
    Kernel Version: 5.17.1, 5.15.32
          Hardware: All
                OS: Linux
              Tree: Mainline
            Status: NEW
          Severity: normal
          Priority: P1
         Component: XFS
          Assignee: filesystem_xfs@xxxxxxxxxxxxxxxxxxxxxx
          Reporter: wenqingliu0120@xxxxxxxxx
        Regression: No

Created attachment 300673
  --> https://bugzilla.kernel.org/attachment.cgi?id=300673&action=edit
corrupted image and .config

- Overview 
kernel NULL pointer dereference in fs/xfs/xfs_log_recover.c:
xlog_recover_reorder_trans()  when mount a corrupted image

- Reproduce 
tested on kernel 5.17.1, 5.15.32

$ mkdir mnt
$ unzip tmp8.zip
$ sudo mount -t xfs tmp8.img mnt

- Kernel dump
[   50.862358] loop0: detected capacity change from 0 to 32768
[   50.883991] XFS (loop0): Deprecated V4 format (crc=0) will not be supported
after September 2030.
[   50.884096] XFS (loop0): Mounting V10 Filesystem
[   50.885490] XFS (loop0): Starting recovery (logdev: internal)
[   50.885518] BUG: kernel NULL pointer dereference, address: 0000000000000000
[   50.885569] #PF: supervisor read access in kernel mode
[   50.885590] #PF: error_code(0x0000) - not-present page
[   50.885609] PGD 0 P4D 0 
[   50.885622] Oops: 0000 [#1] PREEMPT SMP NOPTI
[   50.885640] CPU: 3 PID: 961 Comm: mount Not tainted 5.17.1 #1
[   50.885663] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS
1.13.0-1ubuntu1.1 04/01/2014
[   50.885691] RIP: 0010:xlog_recover_reorder_trans+0xd7/0x4c0 [xfs]
[   50.885987] Code: 48 89 44 24 30 48 89 7e 30 48 89 7e 38 48 39 cd 4c 8b 65
00 49 89 ee 0f 84 43 02 00 00 49 c7 c7 c0 fc 49 c0 4c 8b 45 18 31 db <49> 8b 00
0f b7 08 89 de 89 da 48 83 fe 0c 0f 87 a5 03 00 00 49 8b
[   50.886068] RSP: 0018:ffffb8aa8047b9c8 EFLAGS: 00010246
[   50.886090] RAX: ffff9bafd1271900 RBX: 0000000000000000 RCX:
ffffb8aa8047b9f0
[   50.886117] RDX: ffff9bafd1271900 RSI: ffff9bafd1271640 RDI:
ffff9bafd1271670
[   50.886144] RBP: ffff9bafd1271900 R08: 0000000000000000 R09:
0000000000000001
[   50.886170] R10: 0000000000000005 R11: ffff9bafd10d93f8 R12:
ffffb8aa8047b9f0
[   50.886197] R13: ffff9bafd1271640 R14: ffff9bafd1271900 R15:
ffffffffc049fcc0
[   50.886224] FS:  00007f4142af0080(0000) GS:ffff9bb1b5d80000(0000)
knlGS:0000000000000000
[   50.886255] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[   50.886277] CR2: 0000000000000000 CR3: 0000000105044005 CR4:
0000000000370ee0
[   50.886307] DR0: 0000000000000000 DR1: 0000000000000000 DR2:
0000000000000000
[   50.886334] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7:
0000000000000400
[   50.886360] Call Trace:
[   50.886387]  <TASK>
[   50.886398]  ? slab_post_alloc_hook+0x56/0x2c0
[   50.886421]  xlog_recover_commit_trans+0x83/0x300 [xfs]
[   50.886550]  ? xfs_buf_delwri_submit+0x35/0xf0 [xfs]
[   50.886663]  xlog_recovery_process_trans+0x8e/0xc0 [xfs]
[   50.886781]  xlog_recover_process_data+0xab/0x130 [xfs]
[   50.886900]  xlog_do_recovery_pass+0x2d5/0x5c0 [xfs]
[   50.887023]  xlog_do_log_recovery+0x62/0xb0 [xfs]
[   50.887139]  xlog_do_recover+0x34/0x190 [xfs]
[   50.887253]  xlog_recover+0xbc/0x170 [xfs]
[   50.887366]  xfs_log_mount+0x125/0x2d0 [xfs]
[   50.887483]  xfs_mountfs+0x4e0/0xa50 [xfs]
[   50.887594]  ? kmem_alloc+0x88/0x140 [xfs]
[   50.887706]  ? xfs_filestream_get_parent+0x70/0x70 [xfs]
[   50.887819]  xfs_fs_fill_super+0x69f/0x880 [xfs]
[   50.887932]  ? sget_fc+0x1be/0x230
[   50.887949]  ? xfs_fs_inode_init_once+0x70/0x70 [xfs]
[   50.888064]  get_tree_bdev+0x16a/0x280
[   50.888082]  vfs_get_tree+0x22/0xc0
[   50.888098]  path_mount+0x59b/0x9a0
[   50.888114]  do_mount+0x75/0x90
[   50.888129]  __x64_sys_mount+0x86/0xd0
[   50.888145]  do_syscall_64+0x37/0xb0
[   50.888820]  entry_SYSCALL_64_after_hwframe+0x44/0xae
[   50.889518] RIP: 0033:0x7f41423b115a
[   50.890218] Code: 48 8b 0d 31 8d 2c 00 f7 d8 64 89 01 48 83 c8 ff c3 66 2e
0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 49 89 ca b8 a5 00 00 00 0f 05 <48> 3d 01
f0 ff ff 73 01 c3 48 8b 0d fe 8c 2c 00 f7 d8 64 89 01 48
[   50.891656] RSP: 002b:00007ffc770985f8 EFLAGS: 00000202 ORIG_RAX:
00000000000000a5
[   50.892383] RAX: ffffffffffffffda RBX: 00005600900f9420 RCX:
00007f41423b115a
[   50.893113] RDX: 00005600900f9600 RSI: 00005600900fb320 RDI:
0000560090102c40
[   50.893835] RBP: 0000000000000000 R08: 0000000000000000 R09:
00005600900f9620
[   50.894566] R10: 00000000c0ed0000 R11: 0000000000000202 R12:
0000560090102c40
[   50.895257] R13: 00005600900f9600 R14: 0000000000000000 R15:
00007f41428d28a4
[   50.895894]  </TASK>
[   50.896514] Modules linked in: iscsi_tcp libiscsi_tcp libiscsi
scsi_transport_iscsi xfs input_leds joydev serio_raw qemu_fw_cfg autofs4
hid_generic usbhid hid raid10 raid456 async_raid6_recov async_memcpy async_pq
async_xor async_tx raid1 raid0 multipath linear qxl drm_ttm_helper ttm
drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops psmouse drm
crct10dif_pclmul crc32_pclmul ghash_clmulni_intel aesni_intel crypto_simd
cryptd
[   50.899203] CR2: 0000000000000000
[   50.899903] ---[ end trace 0000000000000000 ]---
[   50.900566] RIP: 0010:xlog_recover_reorder_trans+0xd7/0x4c0 [xfs]
[   50.901362] Code: 48 89 44 24 30 48 89 7e 30 48 89 7e 38 48 39 cd 4c 8b 65
00 49 89 ee 0f 84 43 02 00 00 49 c7 c7 c0 fc 49 c0 4c 8b 45 18 31 db <49> 8b 00
0f b7 08 89 de 89 da 48 83 fe 0c 0f 87 a5 03 00 00 49 8b
[   50.902823] RSP: 0018:ffffb8aa8047b9c8 EFLAGS: 00010246
[   50.903489] RAX: ffff9bafd1271900 RBX: 0000000000000000 RCX:
ffffb8aa8047b9f0
[   50.904209] RDX: ffff9bafd1271900 RSI: ffff9bafd1271640 RDI:
ffff9bafd1271670
[   50.904984] RBP: ffff9bafd1271900 R08: 0000000000000000 R09:
0000000000000001
[   50.905706] R10: 0000000000000005 R11: ffff9bafd10d93f8 R12:
ffffb8aa8047b9f0
[   50.906382] R13: ffff9bafd1271640 R14: ffff9bafd1271900 R15:
ffffffffc049fcc0
[   50.907096] FS:  00007f4142af0080(0000) GS:ffff9bb1b5d80000(0000)
knlGS:0000000000000000
[   50.907814] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[   50.908540] CR2: 0000000000000000 CR3: 0000000105044005 CR4:
0000000000370ee0
[   50.909304] DR0: 0000000000000000 DR1: 0000000000000000 DR2:
0000000000000000
[   50.910045] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7:
0000000000000400

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.



[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux