← Back to team overview

ecryptfs-devel team mailing list archive

Re: [BUG] OOPs from umount process - with fsfuzz ecryptfs

 

Nageswara R Sastry wrote:
> Hi,
> 
> While working with fsfuzz ecryptfs got the following Kernel panic with
> oops.
> 
> Kernel Version: 2.6.30
> Architecture : s390
> 
> /var/log/messages
> 
> root: ./run_test ecryptfs 62
> kernel: attempt to access beyond end of device
> kernel: loop1: rw=0, want=109053400, limit=40960
> kernel: attempt to access beyond end of device
> kernel: loop1: rw=0, want=93744, limit=40960
> kernel: kjournald starting.  Commit interval 5 seconds
> kernel: EXT3 FS on loop1, internal journal
> kernel: EXT3-fs: recovery complete.
> kernel: EXT3-fs: mounted filesystem with writeback data mode.
> kernel: EXT3-fs error (device loop1): htree_dirblock_to_tree: bad entry
> in directory #2: inode out of bounds - offset=44, inode=36364,
> rec_len=20, name_len=10
> kernel: EXT3-fs error (device loop1): htree_dirblock_to_tree: bad entry
> in directory #2: inode out of bounds - offset=44, inode=36364,
> rec_len=20, name_len=10
> kernel: EXT3-fs error (device loop1): ext3_valid_block_bitmap: Invalid
> block bitmap - block_group = 0, block = 5
> kernel: EXT3-fs error (device loop1): ext3_add_entry: bad entry in
> directory #2: inode out of bounds - offset=44, inode=36364, rec_len=20,
> name_len=10
> kernel: ecryptfs_do_create: Failure to create dentry in lower fs; rc = [-5]
> kernel: ecryptfs_create: Failed to create file inlower filesystem
> kernel: EXT3-fs error (device loop1): ext3_add_entry: bad entry in
> directory #2: inode out of bounds - offset=44, inode=36364, rec_len=20,
> name_len=10
> kernel: EXT3-fs error (device loop1): ext3_add_entry: bad entry in
> directory #2: inode out of bounds - offset=44, inode=36364, rec_len=20,
> name_len=10
> kernel: EXT3-fs error (device loop1): ext3_new_block: Allocating block
> in system zone - blocks from 40, length 1
> kernel: EXT3-fs error (device loop1): ext3_new_block: Allocating block
> in system zone - blocks from 43, length 1
> kernel: EXT3-fs error (device loop1): ext3_new_block: Allocating block
> in system zone - blocks from 44, length 1
> kernel: EXT3-fs error (device loop1): ext3_new_block: Allocating block
> in system zone - blocks from 46, length 1
> kernel: EXT3-fs error (device loop1): ext3_add_entry: bad entry in
> directory #2: inode out of bounds - offset=44, inode=36364, rec_len=20,
> name_len=10
> kernel: ecryptfs_do_create: Failure to create dentry in lower fs; rc = [-5]
> kernel: ecryptfs_create: Failed to create file inlower filesystem
> kernel: SELinux:  Context root:objùct_r:file_t:s0 is not valid (left
> unmapped).
> kernel: ecryptfs_cipher_code_to_string: Cipher code not recognized: [123]
> kernel: ecryptfs_init_crypt_ctx: cryptfs: init_crypt_ctx(): Error
> initializing cipher []
> kernel: Unrecognizable packet
> kernel: ecryptfs_parse_packet_set: No valid (ecryptfs-specific) literal
> packet containing authentication token signature found after tag 3 packet
> kernel: Either the lower file is not in a valid eCryptfs format, or the
> key could not be retrieved. Plaintext passthrough mode is not enabled;
> returning -EIO
> kernel: EXT3-fs error (device loop1): htree_dirblock_to_tree: bad entry
> in directory #2: inode out of bounds - offset=44, inode=36364,
> rec_len=20, name_len=10
> kernel: EXT3-fs error (device loop1): ext3_add_entry: bad entry in
> directory #2: inode out of bounds - offset=44, inode=36364, rec_len=20,
> name_len=10
> kernel: EXT3-fs error (device loop1): ext3_add_entry: bad entry in
> directory #2: inode out of bounds - offset=44, inode=36364, rec_len=20,
> name_len=10
> kernel: ecryptfs_do_create: Failure to create dentry in lower fs; rc = [-5]
> kernel: ecryptfs_create: Failed to create file inlower filesystem
> kernel: Unable to handle kernel pointer dereference at virtual kernel
> address 038003e03ffff000
> kernel: Oops: 0038 [#1] SMP
> kernel: Modules linked in: cbc md5 aes_s390 aes_generic ecb ecryptfs
> loop qeth_l3 autofs4 lockd sunrpc iptable_filter ip_tables ip6t_REJECT
> xt_tcpudp ip6table_filter ip6_tables x_tables ipv6 qeth_l2 qeth qdio
> ccwgroup vmur dm_round_robin dm_multipath scsi_dh sd_mod scsi_mod
> multipath dm_snapshot dm_zero dm_mirror dm_region_hash dm_log dm_mod
> dasd_fba_mod dasd_eckd_mod dasd_mod ext3 jbd
> kernel: CPU: 0 Not tainted 2.6.30 #3
> kernel: Process umount (pid: 4682, task: 0000000035b2d750, ksp:
> 00000000352e38d0)
> kernel: Krnl PSW : 0704200180000000 00000000000cfc44 (ksize+0x40/0x94)
> kernel:            R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:0 CC:2 PM:0 EA:3
> kernel: Krnl GPRS: 0000000000000000 038003e03fffffce fffffffffffffffe
> 038003e03fffffc8
> kernel:            000003e000000001 00000000002d6f60 000000003537bbc0
> 0000000000000000
> kernel:            0000000000000000 000000003e957800 fffffffffffffffe
> 0000000000000000
> kernel:            fffffffffffffffe 00000000002ea818 000000000019590a
> 00000000352e3c78
> kernel: Krnl Code: 00000000000cfc34: b9040031          lgr     %r3,%r1
> kernel:            00000000000cfc38: e31050080008      ag      %r1,8(%r5)
> kernel:            00000000000cfc3e: e33050000008      ag      %r3,0(%r5)
> umount.ecryptfs: Failed to find key with sig [253ca7e88811d184]:
> Required key not available
> kernel:           >00000000000cfc44: e31010000090      llgc    %r1,0(%r1)
> kernel:            00000000000cfc4a: 54105010          n       %r1,16(%r5)
> kernel:            00000000000cfc4e: 1211              ltr     %r1,%r1
> kernel:            00000000000cfc50: a7840005          brc     8,cfc5a
> umount.ecryptfs: Failed to find key with sig [253ca7e88811d184]:
> Required key not available
> kernel:            00000000000cfc54: e33030100004      lg      %r3,16(%r3)
> kernel: Call Trace:
> kernel: ([<00000000000ea09e>] dput+0x3e/0x1b4)
> umount.ecryptfs: Failed to find key with sig [253ca7e88811d184]:
> Required key not available
> kernel:  [<000003e0009bbfd2>] ecryptfs_destroy_crypt_stat+0x46/0xe0
> [ecryptfs]
> kernel:  [<000003e0009b84ca>] ecryptfs_destroy_inode+0x102/0x120 [ecryptfs]
> kernel:  [<00000000000eaa46>] shrink_dcache_for_umount_subtree+0x27a/0x2e8
> kernel:  [<00000000000eb60a>] shrink_dcache_for_umount+0x76/0x94
> umount.ecryptfs: Failed to find key with sig [253ca7e88811d184]:
> Required key not available
> kernel:  [<00000000000d954c>] generic_shutdown_super+0x3c/0x12c
> kernel:  [<00000000000d9b34>] deactivate_super+0xa0/0xc8
> kernel:  [<00000000000f2984>] SyS_umount+0x330/0x390
> kernel:  [<0000000000026092>] sysc_tracego+0xe/0x14
> umount.ecryptfs: Failed to find key with sig [253ca7e88811d184]:
> Required key not available
> kernel:  [<000000498d9b1eca>] 0x498d9b1eca
> kernel: Last Breaking-Event-Address:
> kernel:  [<00000000000cfc1e>] ksize+0x1a/0x94
> kernel:  <4>---[ end trace 663e2f0f40f97f3f ]---
> umount.ecryptfs: Failed to find key with sig [253ca7e88811d184]:
> Required key not available
> 
> 
> Regards
> R.Nageswara Sastry
> 

Thanks for testing eCryptfs and reporting this bug, Nageswara!  I've
filed a bug in our tracker at
https://bugs.launchpad.net/ecryptfs/+bug/394136

Tyler

Attachment: signature.asc
Description: OpenPGP digital signature