Comment 0 for bug 1410480

Revision history for this message
Ryan Tandy (rtandy) wrote : 3.18 overlayfs doesn't rename existing files/dirs properly

On a recent vivid livecd, after I rename a file that exists in the lower filesystem, the whiteout entry is visible.

root@ubuntu:~# ls -l /etc/fstab
-rw-r--r-- 1 root root 63 Jan 13 11:56 /etc/fstab
root@ubuntu:~# mv /etc/fstab /etc/fstab.renamed
root@ubuntu:~# ls -l /etc/fstab*
c--------- 1 root root 0, 0 Jan 13 19:57 /etc/fstab
-rw-r--r-- 1 root root 63 Jan 13 11:56 /etc/fstab.renamed
root@ubuntu:~#

It still happens if I trigger a copy-up first by editing the file.

When I rename a directory that exists in the lower filesystem, the kernel crashes.

root@ubuntu:~# mv /root /root.renamed

[ 441.433199] BUG: unable to handle kernel NULL pointer dereference at 0000000000000016
[ 441.433728] IP: [<ffffffff81216100>] __detach_mounts+0x40/0xa0
[ 441.434227] PGD 230449067 PUD 22a2a6067 PMD 0
[ 441.434718] Oops: 0000 [#1] SMP
[ 441.435211] Modules linked in: snd_hda_codec_realtek snd_hda_codec_generic snd_hda_codec_hdmi dm_crypt snd_hda_intel snd_hda_controller joydev snd_hda_codec snd_hwdep snd_mpu401_uart snd_pcm dm_multipath scsi_dh snd_seq_midi snd_seq_midi_event snd_rawmidi kvm_amd k10temp snd_seq kvm edac_core edac_mce_amd serio_raw snd_seq_device snd_timer snd shpchp ns558 gameport 8250_fintek i2c_nforce2 soundcore mac_hid parport_pc ppdev lp bnep rfcomm parport bluetooth squashfs overlay nfsv3 nfs_acl nfs lockd grace sunrpc fscache dm_mirror dm_region_hash dm_log hid_generic usbhid hid nouveau mxm_wmi wmi video i2c_algo_bit ttm drm_kms_helper r8169 psmouse pata_acpi mii drm sata_nv pata_amd
[ 441.438138] CPU: 3 PID: 3494 Comm: mv Not tainted 3.18.0-8-generic #9-Ubuntu
[ 441.438705] Hardware name: To Be Filled By O.E.M. To Be Filled By O.E.M./M61PMP/M61PMP-K, BIOS 080015 06/07/2010
[ 441.439286] task: ffff8800bb439400 ti: ffff88022936c000 task.ti: ffff88022936c000
[ 441.439862] RIP: 0010:[<ffffffff81216100>] [<ffffffff81216100>] __detach_mounts+0x40/0xa0
[ 441.440507] RSP: 0018:ffff88022936fe38 EFLAGS: 00010206
[ 441.441182] RAX: 0000000058985898 RBX: fffffffffffffffe RCX: 000000000000000e
[ 441.441859] RDX: 0000000000005898 RSI: ffffffffffffffff RDI: ffffffff81c0c484
[ 441.442536] RBP: ffff88022936fe48 R08: 0000000000000000 R09: 0000000000000246
[ 441.443216] R10: ffffffff81196347 R11: 0000000008000080 R12: ffff8800bb3464d8
[ 441.443890] R13: ffff8800bb0cfd98 R14: 00000000ffffff9c R15: 0000000000000000
[ 441.444566] FS: 00007f15124d9840(0000) GS:ffff88023fcc0000(0000) knlGS:0000000000000000
[ 441.445237] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 441.445912] CR2: 0000000000000016 CR3: 00000002291bb000 CR4: 00000000000007e0
[ 441.446588] Stack:
[ 441.447260] ffff88022936fe48 ffff8800bb346480 ffff88022936fe78 ffffffff811feb0f
[ 441.447946] ffff88022936fe68 ffff88022f866000 0000000000000000 0000000001f1ea30
[ 441.448639] ffff88022936ff68 ffffffff81204983 ffff8800bb346480 ffff88022936fea8
[ 441.449335] Call Trace:
[ 441.450028] [<ffffffff811feb0f>] vfs_rmdir+0x12f/0x140
[ 441.450712] [<ffffffff81204983>] do_rmdir+0x203/0x220
[ 441.451407] [<ffffffff811f522e>] ? ____fput+0xe/0x10
[ 441.452098] [<ffffffff81092fcc>] ? task_work_run+0xbc/0xf0
[ 441.452787] [<ffffffff810141a7>] ? do_notify_resume+0x97/0xb0
[ 441.453455] [<ffffffff81205d85>] SyS_unlinkat+0x25/0x40
[ 441.454118] [<ffffffff817b4ded>] system_call_fastpath+0x16/0x1b
[ 441.454767] Code: 83 ec 08 e8 a3 c9 59 00 48 89 df e8 cb d3 ff ff 48 85 c0 48 89 c3 74 58 48 c7 c7 84 c4 c0 81 e8 a7 e6 59 00 83 05 80 63 9f 00 01 <48> 8b 53 18 48 85 d2 74 21 0f 1f 80 00 00 00 00 48 8d ba 10 ff
[ 441.456342] RIP [<ffffffff81216100>] __detach_mounts+0x40/0xa0
[ 441.457022] RSP <ffff88022936fe38>
[ 441.457690] CR2: 0000000000000016
[ 441.458432] ---[ end trace ffd56c29f994b570 ]---

Files and directories that exist only in the upper filesystem (created after booting the livecd) work properly.

On utopic, everything works properly. I have not tested a 3.17 kernel.

ProblemType: Bug
DistroRelease: Ubuntu 15.04
Package: linux-image-3.18.0-8-generic 3.18.0-8.9
ProcVersionSignature: Ubuntu 3.18.0-8.9-generic 3.18.1
Uname: Linux 3.18.0-8-generic x86_64
ApportVersion: 2.15.1-0ubuntu2
Architecture: amd64
AudioDevicesInUse: Error: command ['fuser', '-v', '/dev/snd/hwC0D0', '/dev/snd/pcmC0D2c', '/dev/snd/pcmC0D1p', '/dev/snd/pcmC0D0c', '/dev/snd/pcmC0D0p', '/dev/snd/controlC0', '/dev/snd/by-path', '/dev/snd/hwC1D3', '/dev/snd/hwC1D2', '/dev/snd/hwC1D1', '/dev/snd/hwC1D0', '/dev/snd/pcmC1D9p', '/dev/snd/pcmC1D8p', '/dev/snd/pcmC1D7p', '/dev/snd/pcmC1D3p', '/dev/snd/controlC1', '/dev/snd/seq', '/dev/snd/timer'] failed with exit code 1:
CasperVersion: 1.347
Date: Tue Jan 13 19:42:41 2015
IwConfig:
 eth0 no wireless extensions.

 lo no wireless extensions.
LiveMediaBuild: Ubuntu 15.04 "Vivid Vervet" - Alpha amd64 (20150113)
Lsusb:
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 Bus 002 Device 003: ID 046d:c31c Logitech, Inc. Keyboard K120 for Business
 Bus 002 Device 002: ID 413c:3012 Dell Computer Corp. Optical Wheel Mouse
 Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
MachineType: To Be Filled By O.E.M. To Be Filled By O.E.M.
ProcEnviron:
 TERM=rxvt-unicode-256color
 PATH=(custom, no user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcFB: 0 nouveaufb
ProcKernelCmdLine: initrd=hostname/vivid/desktop/amd64/casper/initrd.lz boot=casper netboot=nfs nfsroot=10.0.2.1:/var/lib/tftpboot/hostname/vivid/desktop/amd64 quiet splash file=/cdrom/preseed/hostname.seed url=http://10.0.2.64/preseed/ubiquity.cfg text BOOT_IMAGE=hostname/vivid/desktop/amd64/casper/vmlinuz.efi
PulseList:
 Error: command ['pacmd', 'list'] failed with exit code 1: Home directory not accessible: Permission denied
 No PulseAudio daemon running, or not running as session daemon.
RelatedPackageVersions:
 linux-restricted-modules-3.18.0-8-generic N/A
 linux-backports-modules-3.18.0-8-generic N/A
 linux-firmware 1.140
RfKill:

SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 06/07/2010
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: 080015
dmi.board.asset.tag: To Be Filled By O.E.M.
dmi.board.name: M61PMP/M61PMP-K
dmi.board.vendor: FOXCONN
dmi.board.version: 1.0
dmi.chassis.asset.tag: To Be Filled By O.E.M.
dmi.chassis.type: 3
dmi.chassis.vendor: To Be Filled By O.E.M.
dmi.chassis.version: To Be Filled By O.E.M.
dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvr080015:bd06/07/2010:svnToBeFilledByO.E.M.:pnToBeFilledByO.E.M.:pvrToBeFilledByO.E.M.:rvnFOXCONN:rnM61PMP/M61PMP-K:rvr1.0:cvnToBeFilledByO.E.M.:ct3:cvrToBeFilledByO.E.M.:
dmi.product.name: To Be Filled By O.E.M.
dmi.product.version: To Be Filled By O.E.M.
dmi.sys.vendor: To Be Filled By O.E.M.