[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <bug-199337-13602@https.bugzilla.kernel.org/>
Date: Tue, 10 Apr 2018 03:46:44 +0000
From: bugzilla-daemon@...zilla.kernel.org
To: linux-ext4@...nel.org
Subject: [Bug 199337] New: BUG() in ext4_mb_mark_diskspace_used() when
mounting and operating on a crafted ext4 image
https://bugzilla.kernel.org/show_bug.cgi?id=199337
Bug ID: 199337
Summary: BUG() in ext4_mb_mark_diskspace_used() when mounting
and operating on a crafted ext4 image
Product: File System
Version: 2.5
Kernel Version: 4.4.x
Hardware: All
OS: Linux
Tree: Mainline
Status: NEW
Severity: normal
Priority: P1
Component: ext4
Assignee: fs_ext4@...nel-bugs.osdl.org
Reporter: wen.xu@...ech.edu
Regression: No
Created attachment 275263
--> https://bugzilla.kernel.org/attachment.cgi?id=275263&action=edit
The crafted image which causes kernel panic
- Overview
BUG() is triggered at ext4_mb_mark_diskspace_used() when mounting and operating
on a crafted ext4 image
- Reproduce
# mkdir mnt
# mount -t ext4 231.img mnt
# gcc -o poc poc.c
# ./poc ./mnt
- Location
https://elixir.bootlin.com/linux/v4.4.124/source/fs/ext4/mballoc.c#L2907
- Kernel Dump
[ 29.639629] EXT4-fs (loop0): mounted filesystem without journal. Opts:
(null)
[ 33.642045] EXT4-fs error (device loop0): ext4_mb_generate_buddy:758: group
4, block bitmap and bg descriptor inconsistent: 32 vs 0 free clusters
[ 33.642115] EXT4-fs error (device loop0): ext4_mb_generate_buddy:758: group
5, block bitmap and bg descriptor inconsistent: 32 vs 61696 free clusters
[ 33.642173] EXT4-fs error (device loop0): ext4_mb_generate_buddy:758: group
17, block bitmap and bg descriptor inconsistent: 32 vs 0 free clusters
[ 33.642227] EXT4-fs error (device loop0): ext4_mb_generate_buddy:758: group
21, block bitmap and bg descriptor inconsistent: 32 vs 0 free clusters
[ 33.642294] EXT4-fs error (device loop0): ext4_mb_generate_buddy:758: group
24, block bitmap and bg descriptor inconsistent: 20 vs 0 free clusters
[ 33.642347] EXT4-fs error (device loop0): ext4_mb_generate_buddy:758: group
25, block bitmap and bg descriptor inconsistent: 20 vs 256 free clusters
[ 33.642755] EXT4-fs error (device loop0): ext4_mb_generate_buddy:758: group
42, block bitmap and bg descriptor inconsistent: 32 vs 4 free clusters
[ 33.642813] EXT4-fs error (device loop0): ext4_mb_generate_buddy:758: group
43, block bitmap and bg descriptor inconsistent: 32 vs 0 free clusters
[ 33.642870] EXT4-fs error (device loop0): ext4_mb_generate_buddy:758: group
62, block bitmap and bg descriptor inconsistent: 20 vs 0 free clusters
[ 33.642922] EXT4-fs error (device loop0): ext4_mb_generate_buddy:758: group
63, block bitmap and bg descriptor inconsistent: 20 vs 32 free clusters
[ 33.643035] ------------[ cut here ]------------
[ 33.643054] kernel BUG at fs/ext4/mballoc.c:2907!
[ 33.643073] invalid opcode: 0000 [#1] SMP
[ 33.643092] Modules linked in: vmw_vsock_vmci_transport vsock uvcvideo
snd_ens1371 snd_ac97_codec btusb btrtl btbcm ac97_bus btintel snd_pcm bluetooth
videobuf2_vmalloc videobuf2_memops videobuf2_v4l2 videobuf2_core vmw_balloon
gameport v4l2_common snd_timer videodev snd_rawmidi snd_seq_device coretemp snd
joydev input_leds serio_raw vmw_vmci media soundcore i2c_piix4 shpchp
8250_fintek mac_hid ib_iser rdma_cm iw_cm ib_cm ib_sa ib_mad ib_core ib_addr
iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi autofs4 btrfs raid10
raid456 libcrc32c async_raid6_recov async_memcpy async_pq async_xor async_tx
xor raid6_pq raid1 raid0 multipath linear hid_generic usbhid hid vmwgfx
crct10dif_pclmul crc32_pclmul ghash_clmulni_intel drm_kms_helper aesni_intel
syscopyarea sysfillrect psmouse sysimgblt aes_x86_64
[ 33.643467] fb_sys_fops ttm glue_helper lrw gf128mul drm ablk_helper cryptd
mptspi scsi_transport_spi e1000 mptscsih mptbase ahci pata_acpi libahci fjes
[ 33.643542] CPU: 0 PID: 1510 Comm: poc Not tainted 4.4.124 #4
[ 33.644464] Hardware name: VMware, Inc. VMware Virtual Platform/440BX
Desktop Reference Platform, BIOS 6.00 07/02/2015
[ 33.646170] task: ffff880135d31c00 ti: ffff8800b5144000 task.ti:
ffff8800b5144000
[ 33.647050] RIP: 0010:[<ffffffff962d4357>] [<ffffffff962d4357>]
ext4_mb_mark_diskspace_used+0x2a7/0x4a0
[ 33.648661] RSP: 0018:ffff8800b5147938 EFLAGS: 00010246
[ 33.649410] RAX: 0000000000000000 RBX: ffff8800ba5ff800 RCX:
ffff8800347bd148
[ 33.650166] RDX: 0000000000000000 RSI: 0000000000000001 RDI:
ffff8800b94e6000
[ 33.650837] RBP: ffff8800b5147990 R08: ffff8800b94e6038 R09:
ffff8800b94e6034
[ 33.651494] R10: ffff8800b53cb650 R11: 0000000000000230 R12:
ffff8800b5147ab4
[ 33.652151] R13: ffff8800ba5fc800 R14: ffff8800b5147ab8 R15:
ffff8800b94e6000
[ 33.652762] FS: 00007fbd17057700(0000) GS:ffff880139600000(0000)
knlGS:0000000000000000
[ 33.653362] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 33.653950] CR2: 0000000001577158 CR3: 00000000b9ac4000 CR4:
0000000000160670
[ 33.654568] Stack:
[ 33.655161] ffff8800ba5ff800 ffff8800347bd138 ffff8800b5147990
ffffffff962d043a
[ 33.655740] ffff88003464e990 828c4939e340e542 ffff8800ba5ff800
ffff8800b5147ab4
[ 33.656337] ffff8800ba5fc800 ffff8800b5147ab8 ffff8800b94e6000
ffff8800b5147a40
[ 33.656880] Call Trace:
[ 33.657475] [<ffffffff962d043a>] ? ext4_mb_new_inode_pa+0x27a/0x3b0
[ 33.658003] [<ffffffff962d58d7>] ext4_mb_new_blocks+0x337/0xad0
[ 33.658520] [<ffffffff9624478a>] ? __find_get_block+0xaa/0x120
[ 33.659025] [<ffffffff96244acb>] ? __getblk_gfp+0x2b/0x60
[ 33.659568] [<ffffffff962da07c>] ? ext4_get_branch+0xbc/0x130
[ 33.660093] [<ffffffff962db65a>] ext4_ind_map_blocks+0xbba/0xbf0
[ 33.660672] [<ffffffff962991d3>] ? mpage_prepare_extent_to_map+0x243/0x2f0
[ 33.661211] [<ffffffff9629a3d4>] ext4_map_blocks+0x2c4/0x570
[ 33.661768] [<ffffffff962cd132>] ? ext4_journal_check_start+0x12/0x80
[ 33.662325] [<ffffffff9629d7f4>] ext4_writepages+0x634/0xce0
[ 33.662906] [<ffffffff9622990e>] ? atime_needs_update+0x4e/0xc0
[ 33.663425] [<ffffffff9619c131>] do_writepages+0x21/0x30
[ 33.663913] [<ffffffff9618f146>] __filemap_fdatawrite_range+0xc6/0x100
[ 33.664460] [<ffffffff9618f28a>] filemap_write_and_wait_range+0x2a/0x70
[ 33.664960] [<ffffffff96234ef7>] __generic_file_fsync+0x27/0x90
[ 33.665399] [<ffffffff96234f79>] generic_file_fsync+0x19/0x40
[ 33.665817] [<ffffffff962946fc>] ext4_sync_file+0x1ec/0x340
[ 33.666230] [<ffffffff962411de>] vfs_fsync_range+0x4e/0xb0
[ 33.666649] [<ffffffff9624129d>] do_fsync+0x3d/0x70
[ 33.667080] [<ffffffff96241563>] SyS_fdatasync+0x13/0x20
[ 33.667492] [<ffffffff967fb4e5>] entry_SYSCALL_64_fastpath+0x22/0x99
[ 33.667895] Code: ff ff 85 c0 0f 85 f9 fd ff ff 4c 8b 45 c8 31 c9 4c 89 e2
be b8 0b 00 00 48 c7 c7 90 68 a3 96 e8 b0 94 ff ff e9 da fd ff ff 0f 0b <0f> 0b
4c 63 4d b0 4c 8b 45 a8 48 c7 c1 30 15 cc 96 ba 7e 0b 00
[ 33.669230] RIP [<ffffffff962d4357>]
ext4_mb_mark_diskspace_used+0x2a7/0x4a0
[ 33.669657] RSP <ffff8800b5147938>
[ 33.670300] ---[ end trace 842e5cb6ac86b18d ]---
[ 33.670734] ------------[ cut here ]------------
[ 33.671160] WARNING: CPU: 0 PID: 1510 at kernel/exit.c:661
do_exit+0x5f/0xb00()
[ 33.671629] Modules linked in: vmw_vsock_vmci_transport vsock uvcvideo
snd_ens1371 snd_ac97_codec btusb btrtl btbcm ac97_bus btintel snd_pcm bluetooth
videobuf2_vmalloc videobuf2_memops videobuf2_v4l2 videobuf2_core vmw_balloon
gameport v4l2_common snd_timer videodev snd_rawmidi snd_seq_device coretemp snd
joydev input_leds serio_raw vmw_vmci media soundcore i2c_piix4 shpchp
8250_fintek mac_hid ib_iser rdma_cm iw_cm ib_cm ib_sa ib_mad ib_core ib_addr
iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi autofs4 btrfs raid10
raid456 libcrc32c async_raid6_recov async_memcpy async_pq async_xor async_tx
xor raid6_pq raid1 raid0 multipath linear hid_generic usbhid hid vmwgfx
crct10dif_pclmul crc32_pclmul ghash_clmulni_intel drm_kms_helper aesni_intel
syscopyarea sysfillrect psmouse sysimgblt aes_x86_64
[ 33.676423] fb_sys_fops ttm glue_helper lrw gf128mul drm ablk_helper cryptd
mptspi scsi_transport_spi e1000 mptscsih mptbase ahci pata_acpi libahci fjes
[ 33.677367] CPU: 0 PID: 1510 Comm: poc Tainted: G D 4.4.124 #4
[ 33.677841] Hardware name: VMware, Inc. VMware Virtual Platform/440BX
Desktop Reference Platform, BIOS 6.00 07/02/2015
[ 33.678904] 0000000000000286 828c4939e340e542 ffff8800b5147640
ffffffff963d8d23
[ 33.679411] 0000000000000000 ffffffff96ca89f6 ffff8800b5147678
ffffffff96081e72
[ 33.679917] ffff880135d31c00 000000000000000b ffff8800b5147888
0000000000000000
[ 33.680482] Call Trace:
[ 33.680982] [<ffffffff963d8d23>] dump_stack+0x63/0x90
[ 33.681485] [<ffffffff96081e72>] warn_slowpath_common+0x82/0xc0
[ 33.681988] [<ffffffff96081fba>] warn_slowpath_null+0x1a/0x20
[ 33.682487] [<ffffffff960848af>] do_exit+0x5f/0xb00
[ 33.682995] [<ffffffff9601acd1>] oops_end+0xa1/0xd0
[ 33.683486] [<ffffffff9601b18b>] die+0x4b/0x70
[ 33.684023] [<ffffffff96018131>] do_trap+0xb1/0x140
[ 33.684525] [<ffffffff960184b9>] do_error_trap+0x89/0x110
[ 33.685012] [<ffffffff962d4357>] ? ext4_mb_mark_diskspace_used+0x2a7/0x4a0
[ 33.685507] [<ffffffff962d3029>] ? mb_mark_used+0x289/0x320
[ 33.686003] [<ffffffff96018a20>] do_invalid_op+0x20/0x30
[ 33.686750] [<ffffffff967fd28e>] invalid_op+0x1e/0x30
[ 33.687719] [<ffffffff962d4357>] ? ext4_mb_mark_diskspace_used+0x2a7/0x4a0
[ 33.688763] [<ffffffff962d043a>] ? ext4_mb_new_inode_pa+0x27a/0x3b0
[ 33.689685] [<ffffffff962d58d7>] ext4_mb_new_blocks+0x337/0xad0
[ 33.690415] [<ffffffff9624478a>] ? __find_get_block+0xaa/0x120
[ 33.691262] [<ffffffff96244acb>] ? __getblk_gfp+0x2b/0x60
[ 33.692246] [<ffffffff962da07c>] ? ext4_get_branch+0xbc/0x130
[ 33.693136] [<ffffffff962db65a>] ext4_ind_map_blocks+0xbba/0xbf0
[ 33.693930] [<ffffffff962991d3>] ? mpage_prepare_extent_to_map+0x243/0x2f0
[ 33.694600] [<ffffffff9629a3d4>] ext4_map_blocks+0x2c4/0x570
[ 33.695526] [<ffffffff962cd132>] ? ext4_journal_check_start+0x12/0x80
[ 33.696304] [<ffffffff9629d7f4>] ext4_writepages+0x634/0xce0
[ 33.696838] [<ffffffff9622990e>] ? atime_needs_update+0x4e/0xc0
[ 33.697308] [<ffffffff9619c131>] do_writepages+0x21/0x30
[ 33.697759] [<ffffffff9618f146>] __filemap_fdatawrite_range+0xc6/0x100
[ 33.698261] [<ffffffff9618f28a>] filemap_write_and_wait_range+0x2a/0x70
[ 33.698694] [<ffffffff96234ef7>] __generic_file_fsync+0x27/0x90
[ 33.699117] [<ffffffff96234f79>] generic_file_fsync+0x19/0x40
[ 33.699559] [<ffffffff962946fc>] ext4_sync_file+0x1ec/0x340
[ 33.699945] [<ffffffff962411de>] vfs_fsync_range+0x4e/0xb0
[ 33.700415] [<ffffffff9624129d>] do_fsync+0x3d/0x70
[ 33.701025] [<ffffffff96241563>] SyS_fdatasync+0x13/0x20
[ 33.701421] [<ffffffff967fb4e5>] entry_SYSCALL_64_fastpath+0x22/0x99
[ 33.701834] ---[ end trace 842e5cb6ac86b18e ]---
Reported by Wen Xu from SSLab, Gatech
--
You are receiving this mail because:
You are watching the assignee of the bug.
Powered by blists - more mailing lists