Re: [PATCH] overlayfs: Warn on copy up if a process has a R/O fd open to the lower file

From: Miklos Szeredi
Date: Mon Mar 07 2016 - 05:07:00 EST


On Tue, Jul 7, 2015 at 4:04 PM, David Howells <dhowells@xxxxxxxxxx> wrote:
>
> Print a warning when overlayfs copies up a file if the process that triggered
> the copy up has a R/O fd open to the lower file being copied up.
>
> This can help catch applications that do things like the following:
>
> fd1 = open("foo", O_RDONLY);
> fd2 = open("foo", O_RDWR);
>
> where they expect fd1 and fd2 to refer to the same file - which will no longer
> be the case post-copy up.
>
> With this patch, the following commands:
>
> bash 5</mnt/a/foo128
> 6<>/mnt/a/foo128
>
> assuming /mnt/a/foo128 to be an un-copied up file on an overlay will produce
> the following warning in the kernel log:
>
> overlayfs: Copying up foo129, but open R/O on fd 5 which will cease to
> be coherent [pid=3818 bash]
>
> This is enabled by setting:
>
> /sys/module/overlay/parameters/check_copy_up
>
> to 1.
>
> The warnings are ratelimited and are also limited to one warning per file -
> assuming the copy up completes in each case.
>

Queued.

Thanks,
Miklos