Home
last modified time | relevance | path

Searched hist:"6314 efee3cfeea2da12dbc05edfa20e5a42391bd" (Results 1 – 2 of 2) sorted by relevance

/openbmc/linux/fs/fuse/
H A Dfuse_i.hdiff 6314efee3cfeea2da12dbc05edfa20e5a42391bd Tue Oct 01 09:41:22 CDT 2013 Miklos Szeredi <mszeredi@suse.cz> fuse: readdirplus: fix RCU walk

Doing dput(parent) is not valid in RCU walk mode. In RCU mode it would
probably be okay to update the parent flags, but it's actually not
necessary most of the time...

So only set the FUSE_I_ADVISE_RDPLUS flag on the parent when the entry was
recently initialized by READDIRPLUS.

This is achieved by setting FUSE_I_INIT_RDPLUS on entries added by
READDIRPLUS and only dropping out of RCU mode if this flag is set.
FUSE_I_INIT_RDPLUS is cleared once the FUSE_I_ADVISE_RDPLUS flag is set in
the parent.

Reported-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
Cc: stable@vger.kernel.org
H A Ddir.cdiff 6314efee3cfeea2da12dbc05edfa20e5a42391bd Tue Oct 01 09:41:22 CDT 2013 Miklos Szeredi <mszeredi@suse.cz> fuse: readdirplus: fix RCU walk

Doing dput(parent) is not valid in RCU walk mode. In RCU mode it would
probably be okay to update the parent flags, but it's actually not
necessary most of the time...

So only set the FUSE_I_ADVISE_RDPLUS flag on the parent when the entry was
recently initialized by READDIRPLUS.

This is achieved by setting FUSE_I_INIT_RDPLUS on entries added by
READDIRPLUS and only dropping out of RCU mode if this flag is set.
FUSE_I_INIT_RDPLUS is cleared once the FUSE_I_ADVISE_RDPLUS flag is set in
the parent.

Reported-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
Cc: stable@vger.kernel.org