diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2015-04-03 03:47:49 +0200 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2015-04-12 04:28:28 +0200 |
commit | 21c9f5ccb103868c730aec6f8548e144ec397fed (patch) | |
tree | d82387bd64ae1e98c40ad2f244d1584ec5c4f47f /fs/coda/cnode.c | |
parent | 9p: we are leaking glock.client_id in v9fs_file_getlock() (diff) | |
download | linux-21c9f5ccb103868c730aec6f8548e144ec397fed.tar.xz linux-21c9f5ccb103868c730aec6f8548e144ec397fed.zip |
p9_client_attach(): set fid->uid correctly
it's almost always equal to current_fsuid(), but there's an exception -
if the first writeback fid is opened by non-root *and* that happens before
root has done any lookups in /, we end up doing attach for root. The
current code leaves the resulting FID owned by root from the server POV
and by non-root from the client one. Unfortunately, it means that e.g.
massive dcache eviction will leave that user buggered - they'll end
up redoing walks from / *and* picking that FID every time. As soon as
they try to create something, the things will get nasty.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/coda/cnode.c')
0 files changed, 0 insertions, 0 deletions