Message ID | 20201208073936.8629-1-lersek@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | virtiofsd: update FUSE_FORGET comment on "lo_inode.nlookup" | expand |
On Tue, Dec 08, 2020 at 08:39:36AM +0100, Laszlo Ersek wrote: > Miklos confirms it's *only* the FUSE_FORGET request that the client can > use for decrementing "lo_inode.nlookup". > > Cc: "Dr. David Alan Gilbert" <dgilbert@redhat.com> > Cc: Miklos Szeredi <mszeredi@redhat.com> > Cc: Stefan Hajnoczi <stefanha@redhat.com> > Fixes: 1222f015558fc34cea02aa3a5a92de608c82cec8 > Signed-off-by: Laszlo Ersek <lersek@redhat.com> Looks correct. unref_inode() calls in lo_rmdir() lo_rename() are dropping ->nlookup they have taken internally during the function execution. Reviewed-by: Vivek Goyal <vgoyal@redhat.com> Thanks Vivek > --- > tools/virtiofsd/passthrough_ll.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/tools/virtiofsd/passthrough_ll.c b/tools/virtiofsd/passthrough_ll.c > index 06543b20dcbb..d3be680e92c3 100644 > --- a/tools/virtiofsd/passthrough_ll.c > +++ b/tools/virtiofsd/passthrough_ll.c > @@ -113,7 +113,7 @@ struct lo_inode { > * This counter keeps the inode alive during the FUSE session. > * Incremented when the FUSE inode number is sent in a reply > * (FUSE_LOOKUP, FUSE_READDIRPLUS, etc). Decremented when an inode is > - * released by requests like FUSE_FORGET, FUSE_RMDIR, FUSE_RENAME, etc. > + * released by a FUSE_FORGET request. > * > * Note that this value is untrusted because the client can manipulate > * it arbitrarily using FUSE_FORGET requests. > -- > 2.19.1.3.g30247aa5d201 > > _______________________________________________ > Virtio-fs mailing list > Virtio-fs@redhat.com > https://www.redhat.com/mailman/listinfo/virtio-fs
* Vivek Goyal (vgoyal@redhat.com) wrote: > On Tue, Dec 08, 2020 at 08:39:36AM +0100, Laszlo Ersek wrote: > > Miklos confirms it's *only* the FUSE_FORGET request that the client can > > use for decrementing "lo_inode.nlookup". > > > > Cc: "Dr. David Alan Gilbert" <dgilbert@redhat.com> > > Cc: Miklos Szeredi <mszeredi@redhat.com> > > Cc: Stefan Hajnoczi <stefanha@redhat.com> > > Fixes: 1222f015558fc34cea02aa3a5a92de608c82cec8 > > Signed-off-by: Laszlo Ersek <lersek@redhat.com> > > Looks correct. unref_inode() calls in lo_rmdir() lo_rename() are dropping > ->nlookup they have taken internally during the function execution. > > Reviewed-by: Vivek Goyal <vgoyal@redhat.com> Queued. > > Thanks > Vivek > > > --- > > tools/virtiofsd/passthrough_ll.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/tools/virtiofsd/passthrough_ll.c b/tools/virtiofsd/passthrough_ll.c > > index 06543b20dcbb..d3be680e92c3 100644 > > --- a/tools/virtiofsd/passthrough_ll.c > > +++ b/tools/virtiofsd/passthrough_ll.c > > @@ -113,7 +113,7 @@ struct lo_inode { > > * This counter keeps the inode alive during the FUSE session. > > * Incremented when the FUSE inode number is sent in a reply > > * (FUSE_LOOKUP, FUSE_READDIRPLUS, etc). Decremented when an inode is > > - * released by requests like FUSE_FORGET, FUSE_RMDIR, FUSE_RENAME, etc. > > + * released by a FUSE_FORGET request. > > * > > * Note that this value is untrusted because the client can manipulate > > * it arbitrarily using FUSE_FORGET requests. > > -- > > 2.19.1.3.g30247aa5d201 > > > > _______________________________________________ > > Virtio-fs mailing list > > Virtio-fs@redhat.com > > https://www.redhat.com/mailman/listinfo/virtio-fs > > _______________________________________________ > Virtio-fs mailing list > Virtio-fs@redhat.com > https://www.redhat.com/mailman/listinfo/virtio-fs
diff --git a/tools/virtiofsd/passthrough_ll.c b/tools/virtiofsd/passthrough_ll.c index 06543b20dcbb..d3be680e92c3 100644 --- a/tools/virtiofsd/passthrough_ll.c +++ b/tools/virtiofsd/passthrough_ll.c @@ -113,7 +113,7 @@ struct lo_inode { * This counter keeps the inode alive during the FUSE session. * Incremented when the FUSE inode number is sent in a reply * (FUSE_LOOKUP, FUSE_READDIRPLUS, etc). Decremented when an inode is - * released by requests like FUSE_FORGET, FUSE_RMDIR, FUSE_RENAME, etc. + * released by a FUSE_FORGET request. * * Note that this value is untrusted because the client can manipulate * it arbitrarily using FUSE_FORGET requests.
Miklos confirms it's *only* the FUSE_FORGET request that the client can use for decrementing "lo_inode.nlookup". Cc: "Dr. David Alan Gilbert" <dgilbert@redhat.com> Cc: Miklos Szeredi <mszeredi@redhat.com> Cc: Stefan Hajnoczi <stefanha@redhat.com> Fixes: 1222f015558fc34cea02aa3a5a92de608c82cec8 Signed-off-by: Laszlo Ersek <lersek@redhat.com> --- tools/virtiofsd/passthrough_ll.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)