mlel...@serpens.de (Michael van Elst) writes:

>So far:

>it's a 2048 byte superblock (we insist on having 8192 bytes).
>the old_flags field isn't known and we try to intrpret it.
>the sblockloc field isn't known and validation fails.
>the maxsymlinklen field isn't known and the 'value' triggers a panic.

flags isn't known and we try to interpret it.

and finally:

the direct struct doesn't use the d_namlen field, it's always zero.

00000000  02 00 00 00 0c 00 01 00  2e 00 00 00 02 00 00 00  |................|
00000010  0c 00 02 00 2e 2e 00 00  03 00 00 00 14 00 0a 00  |................|
00000020  6c 6f 73 74 2b 66 6f 75  6e 64 00 00 00 08 00 00  |lost+found......|
00000030  0c 00 03 00 64 65 76 00  00 10 00 00 0c 00 03 00  |....dev.........|
00000040  65 74 63 00 00 18 00 00  10 00 04 00 68 6f 6d 65  |etc.........home|
00000050  00 00 00 00 02 08 00 00  0c 00 03 00 6d 6e 74 00  |............mnt.|
00000060  02 10 00 00 14 00 08 00  74 66 74 70 62 6f 6f 74  |........tftpboot|
00000070  00 00 00 00 02 18 00 00  0c 00 03 00 74 6d 70 00  |............tmp.|
00000080  02 20 00 00 0c 00 03 00  76 61 72 00 08 20 00 00  |. ......var.. ..|
00000090  0c 00 03 00 75 73 72 00  1c 10 00 00 10 00 07 00  |....usr.........|
000000a0  72 65 6c 65 61 73 65 00  1c 20 00 00 14 00 08 00  |release.. ......|
000000b0  70 61 63 6b 61 67 65 73  00 00 00 00 1f 10 00 00  |packages........|
000000c0  10 00 04 00 73 62 69 6e  00 00 00 00 d4 21 00 00  |....sbin.....!..|
000000d0  18 00 04 00 6d 6e 74 32  00 72 65 73 79 6d 74 61  |....mnt2.resymta|
000000e0  62 6c 65 00 22 00 00 00  10 00 06 00 2e 63 73 68  |ble."........csh|
000000f0  72 63 00 00 23 00 00 00  14 00 08 00 2e 70 72 6f  |rc..#........pro|
00000100  66 69 6c 65 00 00 00 00  21 00 00 00 14 00 08 00  |file....!.......|
00000110  73 77 61 70 66 69 6c 65  00 00 00 00 25 00 00 00  |swapfile....%...|
00000120  14 00 08 00 73 6c 6f 77  62 6f 6f 74 00 00 00 00  |....slowboot....|
00000130  26 00 00 00 0c 00 03 00  62 69 6e 00 27 00 00 00  |&.......bin.'...|
00000140  0c 00 03 00 6c 69 62 00  69 05 00 00 10 00 06 00  |....lib.i.......|
00000150  76 6d 75 6e 69 78 00 00  24 00 00 00 a8 00 08 00  |vmunix..$.......|
00000160  66 61 73 74 62 6f 6f 74  00 70 72 65 76 00 00 00  |fastboot.prev...|
00000170  94 00 0a 00 76 6d 75 6e  69 78 2e 6e 65 77 00 2e  |....vmunix.new..|
00000180  70 61 74 63 68 65 64 00  00 00 00 00 00 00 00 00  |patched.........|
00000190  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|

% ls -la /mnt
ls: : No such file or directory
ls: : No such file or directory
ls: : No such file or directory
ls: : No such file or directory
ls: : No such file or directory
ls: : No such file or directory
ls: : No such file or directory
ls: : No such file or directory
ls: : No such file or directory
ls: : No such file or directory
ls: : No such file or directory
ls: : No such file or directory
ls: : No such file or directory
ls: : No such file or directory
ls: : No such file or directory
ls: : No such file or directory
ls: : No such file or directory
ls: : No such file or directory
ls: : No such file or directory
ls: : No such file or directory
ls: : No such file or directory
ls: : No such file or directory
ls: : No such file or directory

% stat /mnt/usr
[ 261.6300050] /mnt: bad dir ino 2 at offset 0: missing NUL in name [] namlen=0
stat: /mnt/usr: lstat: No such file or directory


The code probably needs to deduce the name length from d_reclen if d_namlen
is zero.

Reply via email to