d_path() and overlay fs
From: Karel Zak
Date: Fri Mar 20 2015 - 09:29:23 EST
Hi,
kernel-4.0.0-0.rc4.git1.3.fc23 (I have nothing more recent right now,
sorry it the problem is already fixed).
It seems like d_path() kernel function returns nonsenses for overlay fs.
Example:
# mount -t overlay overlay -olowerdir=/mnt/low,upperdir=/mnt/up/data,workdir=/mnt/up/work /mnt/merged
# dd if=/dev/zero of=/mnt/merged/image count=1 bs=1MiB
# losetup -f /mnt/merged/image
# cat /sys/block/loop0/loop/backing_file
/image
...should be /mnt/merged/image.
drivers/block/loop.c: loop_attr_backing_file_show() uses d_path()
It seems like serious problem because kernel uses d_path() (and
friends) on many places to generate path strings for userspace in
/proc and /sys and people already use overlay fs in containers.
Another example:
# cat /proc/swaps
Filename Type Size Used Priority
/dev/sda6 partition 8191996 258308 -1
/image file 1020 0 -2
Karel
--
Karel Zak <kzak@xxxxxxxxxx>
http://karelzak.blogspot.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/