[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220520031603.GA54241@windriver.com>
Date: Thu, 19 May 2022 23:16:03 -0400
From: Paul Gortmaker <paul.gortmaker@...driver.com>
To: Luís Henriques <lhenriques@...e.de>
Cc: Amir Goldstein <amir73il@...il.com>, He Zhe <zhe.he@...driver.com>,
Dave Chinner <dchinner@...hat.com>,
"viro@...iv.linux.org.uk" <viro@...iv.linux.org.uk>,
"linux-fsdevel@...r.kernel.org" <linux-fsdevel@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>,
Luis Henriques <lhenriques@...e.com>
Subject: Re: warning for EOPNOTSUPP vfs_copy_file_range
[Re: warning for EOPNOTSUPP vfs_copy_file_range] On 19/05/2022 (Thu 15:31) Luís Henriques wrote:
> Amir Goldstein <amir73il@...il.com> writes:
>
> > On Thu, May 19, 2022 at 11:22 AM He Zhe <zhe.he@...driver.com> wrote:
> >>
> >> Hi,
> >>
> >> We are experiencing the following warning from
> >> "WARN_ON_ONCE(ret == -EOPNOTSUPP);" in vfs_copy_file_range, from
> >> 64bf5ff58dff ("vfs: no fallback for ->copy_file_range")
> >>
> >> # cat /sys/class/net/can0/phys_switch_id
> >>
> >> WARNING: CPU: 7 PID: 673 at fs/read_write.c:1516 vfs_copy_file_range+0x380/0x440
[...]
> > Sigh! Those filesystems have no business doing copy_file_range()
> >
> > Here is a patch that Luis has been trying to push last year
> > to fix a problem with copy_file_range() from tracefs:
> >
> > https://lore.kernel.org/linux-fsdevel/20210702090012.28458-1-lhenriques@suse.de/
>
> Yikes! It's been a while and I completely forgot about it. I can
> definitely try to respin this patch if someone's interested in picking
> it. I'll have to go re-read everything again and see what's missing and
> what has changed in between.
If it helps any, you don't need CAN bus or anything complicated. I was
able to reproduce it with the loopback device on linux-next of today
with a new userspace (from Yocto) that actively uses copy_file_range()
Note that a cp or redirect is needed to trigger the copy - with the
new userspace requiremet. Or write your own reproducer that goes at the
syscall directly on an old userspace (untested by me).
root@...ux86-64:/sys/class/net/lo# cat phys_switch_id
cat: phys_switch_id: Operation not supported
root@...ux86-64:/sys/class/net/lo# cat phys_switch_id > /tmp/foo
[ 87.527506] ------------[ cut here ]------------
[ 87.527675] WARNING: CPU: 2 PID: 238 at /home/paul/git/linux-head/fs/read_write.c:1511 vfs_copy_file_range+0x47c/0x4e0
Paul.
--
>
> Cheers,
> --
> Luís
>
> > Luis gave up on it, because no maintainer stepped up to take
> > the patch, but I think that is the right way to go.
> >
> > Maybe this bug report can raise awareness to that old patch.
> >
> > Al, could you have a look?
> >
> > Thanks,
> > Amir.
> >
Powered by blists - more mailing lists