summaryrefslogtreecommitdiffstats
path: root/firmware/sun
diff options
context:
space:
mode:
authorMiklos Szeredi <mszeredi@suse.cz>2013-10-01 16:41:22 +0200
committerMiklos Szeredi <mszeredi@suse.cz>2013-10-01 16:41:22 +0200
commit6314efee3cfeea2da12dbc05edfa20e5a42391bd (patch)
tree1a891d7590e5f036526fa304e1a8f710185858a2 /firmware/sun
parent3c70b8eeda596069258772afabf2ab0b1aa017f0 (diff)
downloadlinux-6314efee3cfeea2da12dbc05edfa20e5a42391bd.tar.bz2
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
Diffstat (limited to 'firmware/sun')
0 files changed, 0 insertions, 0 deletions