Fwd: XFS Assertion on malformed inode mode value

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

 



OOPS, forgot to CC list. re-sending


While working on xfstest xfs/348 and playing Russian roulette on inode
mode on-disk values
I hit this Assertion on readdir of malformed dir inode:

XFS: Assertion failed: rval == 0 || args->dp->i_d.di_size ==
args->geo->blksize, file:
/home/amir/build/src/linux/fs/xfs/libxfs/xfs_dir2.c, line: 635

Not sure how robust xfs is nowadays to fuzzing of on-disk values, but judging by
the amount of fuzz testing that Darrick has written, I guess that robustness for
malformed on-disk values is a goal.

The victim of the readdir assertion is either a non empty file or a
symlink whose
mode was modified to type dir. I did not check which one triggered the assertion
in attached logs.

Attached logs from 3 runs on kernel 4.9.0 and latest master (pre-4.10-rc1)
and matching kernel configs (with XFS_DEBUG=y).
2 logs are with crc=1, reflink=1 mkfs opts and one log with crc=0, ftype=0.

To reproduce, get my posted xfs/348 test and comment out the line:
    safety="-d"
    # NOTE that ls DOES blow up with kernel 4.9 on malformed
    # directory - remove the safety pin to explode

Cheers,
Amir.

Attachment: xfs-assert-xfstest-348.tgz
Description: GNU Zip compressed data


[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