[Filesystems-devel] Bug#886329: Bug#886329: Bug#886329: Bug#886329: aufs-dkms: Cannot use aufs union mount with Linux 4.14.7-1: kernel BUG at /var/lib/dkms/aufs/4.14+20171218/build/fs/aufs/finfo.c:113

Jan Luca Naumann j.naumann at fu-berlin.de
Wed Feb 21 09:30:03 UTC 2018


Dear aufs-maintainer,

below a Debian bug reporting a seg fault is attached. A online version
of the bug can be found here:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=886329

I could reproduce the bug using a 4.15 kernel. Could you please take a
look into this?

Thank you very much and best regards,
Jan

Am 19.02.2018 um 08:49 schrieb intrigeri:
> Hi,
> 
> Jan Luca Naumann:
>> could you please provide the additional information the upstream
>> developer requests for in the README, then I will forward it to upstream:
> 
> Sure!
> 
> To make communication with upstream easier I've retried with Linux
> 4.15.0-1 and manually compiled aufs4.15 20180219 in an up-to-date and
> mostly clean sid VM.
> 
> This bug appeared after upgrading from Linux 4.13 to Linux 4.14.
> 
>> When you have any problems or strange behaviour in aufs, please let me
>> know with:
>> - /proc/mounts (instead of the output of mount(8))
> 
> # cat /proc/mounts 
> sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
> proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
> udev /dev devtmpfs rw,nosuid,relatime,size=1005588k,nr_inodes=251397,mode=755 0 0
> devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0
> tmpfs /run tmpfs rw,nosuid,noexec,relatime,size=204484k,mode=755 0 0
> /dev/mapper/sid--desktop--vg-root / ext4 rw,relatime,errors=remount-ro,data=ordered 0 0
> securityfs /sys/kernel/security securityfs rw,nosuid,nodev,noexec,relatime 0 0
> tmpfs /dev/shm tmpfs rw,nosuid,nodev 0 0
> tmpfs /run/lock tmpfs rw,nosuid,nodev,noexec,relatime,size=5120k 0 0
> tmpfs /sys/fs/cgroup tmpfs ro,nosuid,nodev,noexec,mode=755 0 0
> cgroup /sys/fs/cgroup/unified cgroup2 rw,nosuid,nodev,noexec,relatime,nsdelegate 0 0
> cgroup /sys/fs/cgroup/systemd cgroup rw,nosuid,nodev,noexec,relatime,xattr,name=systemd 0 0
> pstore /sys/fs/pstore pstore rw,nosuid,nodev,noexec,relatime 0 0
> cgroup /sys/fs/cgroup/blkio cgroup rw,nosuid,nodev,noexec,relatime,blkio 0 0
> cgroup /sys/fs/cgroup/memory cgroup rw,nosuid,nodev,noexec,relatime,memory 0 0
> cgroup /sys/fs/cgroup/net_cls,net_prio cgroup rw,nosuid,nodev,noexec,relatime,net_cls,net_prio 0 0
> cgroup /sys/fs/cgroup/perf_event cgroup rw,nosuid,nodev,noexec,relatime,perf_event 0 0
> cgroup /sys/fs/cgroup/freezer cgroup rw,nosuid,nodev,noexec,relatime,freezer 0 0
> cgroup /sys/fs/cgroup/devices cgroup rw,nosuid,nodev,noexec,relatime,devices 0 0
> cgroup /sys/fs/cgroup/cpuset cgroup rw,nosuid,nodev,noexec,relatime,cpuset 0 0
> cgroup /sys/fs/cgroup/cpu,cpuacct cgroup rw,nosuid,nodev,noexec,relatime,cpu,cpuacct 0 0
> cgroup /sys/fs/cgroup/pids cgroup rw,nosuid,nodev,noexec,relatime,pids 0 0
> systemd-1 /proc/sys/fs/binfmt_misc autofs rw,relatime,fd=27,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=12446 0 0
> debugfs /sys/kernel/debug debugfs rw,relatime 0 0
> mqueue /dev/mqueue mqueue rw,relatime 0 0
> hugetlbfs /dev/hugepages hugetlbfs rw,relatime,pagesize=2M 0 0
> /dev/vda1 /boot ext2 rw,relatime,block_validity,barrier,user_xattr,acl 0 0
> tmpfs /run/user/116 tmpfs rw,nosuid,nodev,relatime,size=204480k,mode=700,uid=116,gid=120 0 0
> configfs /sys/kernel/config configfs rw,relatime 0 0
> tmpfs /run/user/0 tmpfs rw,nosuid,nodev,relatime,size=204480k,mode=700 0 0
> aufs /tmp/mount aufs rw,relatime,si=df346fccc2a2e857 0 0
> 
>> - /sys/module/aufs/*
> 
> Not sure what exactly I should extract from this directory so let's
> try that:
> 
> # for param in /sys/module/aufs/parameters/* ; do echo " - $(basename $param): $(cat $param)"; done 
>  - allow_userns: N
>  - brs: 1
>  - debug: 1
> 
> # for f in $(find /sys/module/aufs -maxdepth 1 -type f); do echo " - $(basename $f): $(cat $f)" ; done
>  - version: 4.15-20180219
>  - taint: O
>  - initsize: 0
>  - initstate: live
>  - srcversion: 4AEC6984C511AF142683949
>  - coresize: 376832
>  - refcnt: 2
> cat: /sys/module/aufs/uevent: Permission denied
>  - uevent: 
> 
>> - /sys/fs/aufs/* (if you have them)
> 
> # cat /sys/fs/aufs/config 
> CONFIG_AUFS_FS=m
> CONFIG_AUFS_BRANCH_MAX_127=y
> CONFIG_AUFS_SBILIST=y
> CONFIG_AUFS_DEBUG=y
> 
> # for f in /sys/fs/aufs/*/*; do echo " - $(basename $f): $(cat $f)" ; done
>  - br0: /tmp/rw=rw
>  - br1: /tmp/ro=rr+wh
>  - brid0: 64
>  - brid1: 65
>  - xi_path: /tmp/rw/.aufs.xino
> 
>> - /debug/aufs/* (if you have them)
> 
> I have no /debug.
> 
>> - linux kernel version
>>   if your kernel is not plain, for example modified by distributor,
>>   the url where i can download its source is necessary too.
> 
> Debian sid's linux-image-4.15.0-1-amd64, version 4.15.4-1.
> Patched source: http://ftp.us.debian.org/debian/pool/main/l/linux/linux-source-4.15_4.15.4-1_all.deb
> that is
> http://http.debian.net/debian/pool/main/l/linux/linux_4.15.4.orig.tar.xz
> + patches from http://http.debian.net/debian/pool/main/l/linux/linux_4.15.4.orig.tar.xz
> 
>> - aufs version which was printed at loading the module or booting the
>>   system, instead of the date you downloaded.
> 
> aufs 4.15-20180219
> 
>> - configuration (define/undefine CONFIG_AUFS_xxx)
> 
> I did not change the defaults from
> https://github.com/sfjro/aufs4-standalone.git
> (branch aufs4.15) before compiling.
> 
>> - kernel configuration or /proc/config.gz (if you have it)
> 
> Attached.
> 
>> - behaviour which you think to be incorrect
>> - actual operation, reproducible one is better
> 
> The first access to my aufs mountpoint segfaults but the second
> access works fine:
> 
>   # modprobe aufs debug=1 \
>     && mkdir /tmp/{ro,rw,mount} \
>     && touch /tmp/ro/bla \
>     && mount -t aufs -o dirs =/tmp/rw=rw:/tmp/ro=rr+wh aufs /tmp/mount \
>     && ls /tmp/mount ; \
>     ls /tmp/mount
>   Segmentation fault
>   bla
> 
> Corresponding kernel logs:
> 
>  aufs dump_opts:577:mount[3911]: DEBUG: add {b0, /tmp/rw, 0x1, 00000000761dd532}
>  aufs dump_opts:577:mount[3911]: DEBUG: add {b1, /tmp/ro, 0x1004, 00000000ee455003}
>  aufs au_xino_def:1329:mount[3911]: DEBUG: /tmp/rw/.aufs.xino
>  aufs h_d_revalidate:890:ls[3912]: DEBUG: b0, rw
>  aufs h_d_revalidate:890:ls[3912]: DEBUG: b1, ro
>  aufs h_d_revalidate:890:ls[3912]: DEBUG: b0, rw
>  aufs h_d_revalidate:890:ls[3912]: DEBUG: b1, ro
>  aufs aufs_iterate_shared:479:ls[3912]: DEBUG: /, ctx{filldir, 0}
>  aufs vfsub_iterate_dir:588:ls[3912]: DEBUG: rw, ctx{fillvdir [aufs], 0}
>  aufs au_nhash_append_wh:251:ls[3912]: DEBUG: .wh.orph
>  aufs au_nhash_append_wh:251:ls[3912]: DEBUG: .wh.aufs
>  aufs au_xino_new_ino:746:ls[3912]: DEBUG: i11
>  aufs au_nhash_append_wh:251:ls[3912]: DEBUG: .wh.plnk
>  aufs vfsub_iterate_dir:588:ls[3912]: DEBUG: rw, ctx{fillvdir [aufs], 9223372036854775807}
>  aufs vfsub_iterate_dir:588:ls[3912]: DEBUG: ro, ctx{fillvdir [aufs], 9223372036854775807}
>  aufs test_known:225:ls[3912]: DEBUG: .
>  aufs test_known:225:ls[3912]: DEBUG: ..
>  aufs au_xino_new_ino:746:ls[3912]: DEBUG: i12
>  aufs vfsub_iterate_dir:588:ls[3912]: DEBUG: ro, ctx{fillvdir [aufs], 9223372036854775807}
>  aufs seek_vdir:805:ls[3912]: DEBUG: offset 0
>  aufs au_vdir_fill_de:867:ls[3912]: DEBUG: ., off0, i2, dt4
>  aufs au_vdir_fill_de:867:ls[3912]: DEBUG: .., off16, i11, dt4
>  aufs au_vdir_fill_de:867:ls[3912]: DEBUG: bla, off32, i12, dt8
>  aufs aufs_iterate_shared:479:ls[3912]: DEBUG: /, ctx{filldir, 48}
>  aufs seek_vdir:805:ls[3912]: DEBUG: offset 48
>  ------------[ cut here ]------------
>  kernel BUG at /root/aufs4-standalone/fs/aufs/finfo.c:113!
>  invalid opcode: 0000 [#1] SMP PTI
>  Modules linked in: aufs(O) iscsi_target_mod target_core_mod uinput ebtable_filter ebtables ip6table_filter ip6_tables configfs devlink iptable_filter kvm_intel snd_hda_codec_generic kvm irqbypass joydev snd_hda_intel serio_raw pcspkr virtio_balloon snd_hda_codec virtio_console virtio_input snd_hda_core snd_hwdep sg snd_pcm snd_timer snd soundcor
>   usbcore scsi_mod usb_common i2c_piix4 floppy button
>  CPU: 0 PID: 3912 Comm: ls Tainted: G           O     4.15.0-1-amd64 #1 Debian 4.15.4-1
>  Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.2-1 04/01/2014
>  RIP: 0010:au_finfo_fin+0x55/0x60 [aufs]
>  RSP: 0018:ffffa5c042a63e68 EFLAGS: 00010202
>  RAX: 0000000000000001 RBX: ffff8e3bf8230700 RCX: 0000000000000020
>  RDX: ffffffffffffffe0 RSI: ffff8e3bb8b0f900 RDI: ffff8e3bf74d3870
>  RBP: ffff8e3bf5aaadf0 R08: 0000000000024b40 R09: ffffffffc0b125a0
>  R10: fffff882c1d6aa80 R11: 0000000000000000 R12: ffff8e3bb8b0f900
>  R13: ffff8e3bf5aaadc0 R14: ffff8e3bf8230700 R15: 0000000000000001
>  FS:  00007f9b333d6040(0000) GS:ffff8e3bffc00000(0000) knlGS:0000000000000000
>  CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
>  CR2: 0000562812de58c8 CR3: 0000000077ea6001 CR4: 00000000001606f0
>  Call Trace:
>   aufs_release_dir+0x101/0x130 [aufs]
>   __fput+0xd8/0x210
>   task_work_run+0x8a/0xb0
>   exit_to_usermode_loop+0xb9/0xc0
>   do_syscall_64+0x127/0x130
>   entry_SYSCALL_64_after_hwframe+0x21/0x86
>  RIP: 0033:0x7f9b32cbe747
>  RSP: 002b:00007ffe6dc0e3d0 EFLAGS: 00000202 ORIG_RAX: 0000000000000003
>  RAX: 0000000000000000 RBX: 0000000000000003 RCX: 00007f9b32cbe747
>  RDX: 0000000000012740 RSI: 0000000000000000 RDI: 0000000000000003
>  RBP: 0000000000000000 R08: 0000000000000000 R09: 0000562812ddd905
>  R10: 000000000000016c R11: 0000000000000202 R12: 00007f9b333d5ed8
>  R13: 0000562812ddd890 R14: 0000562812ddd870 R15: 0000000000000000
>  Code: b2 f3 e8 eb 48 8b b3 c8 00 00 00 48 83 7e 50 00 75 17 8b 05 ee d0 b9 ec 85 c0 75 0f 5b 48 8b 3d 02 6e 03 00 e9 dd ab cf eb 0f 0b <0f> 0b 66 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 48 83 c7 08 48 
>  RIP: au_finfo_fin+0x55/0x60 [aufs] RSP: ffffa5c042a63e68
>  ---[ end trace fec727daa8019dc7 ]---
>  aufs h_d_revalidate:890:ls[3913]: DEBUG: b0, rw
>  aufs h_d_revalidate:890:ls[3913]: DEBUG: b1, ro
>  aufs h_d_revalidate:890:ls[3913]: DEBUG: b0, rw
>  aufs h_d_revalidate:890:ls[3913]: DEBUG: b1, ro
>  aufs aufs_iterate_shared:479:ls[3913]: DEBUG: /, ctx{filldir, 0}
>  aufs seek_vdir:805:ls[3913]: DEBUG: offset 0
>  aufs au_vdir_fill_de:867:ls[3913]: DEBUG: ., off0, i2, dt4
>  aufs au_vdir_fill_de:867:ls[3913]: DEBUG: .., off16, i11, dt4
>  aufs au_vdir_fill_de:867:ls[3913]: DEBUG: bla, off32, i12, dt8
>  aufs aufs_iterate_shared:479:ls[3913]: DEBUG: /, ctx{filldir, 48}
>  aufs seek_vdir:805:ls[3913]: DEBUG: offset 48
> 
> 
> Cheers,
> 
> 
> 
> _______________________________________________
> Filesystems-devel mailing list
> Filesystems-devel at lists.alioth.debian.org
> http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/filesystems-devel
> 



More information about the Filesystems-devel mailing list