diff options
author | Al Viro | 2015-04-03 03:47:49 +0200 |
---|---|---|
committer | Al Viro | 2015-04-12 04:28:28 +0200 |
commit | 21c9f5ccb103868c730aec6f8548e144ec397fed (patch) | |
tree | d82387bd64ae1e98c40ad2f244d1584ec5c4f47f /net/9p/trans_common.h | |
parent | 9p: we are leaking glock.client_id in v9fs_file_getlock() (diff) | |
download | kernel-qcow2-linux-21c9f5ccb103868c730aec6f8548e144ec397fed.tar.gz kernel-qcow2-linux-21c9f5ccb103868c730aec6f8548e144ec397fed.tar.xz kernel-qcow2-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 'net/9p/trans_common.h')
0 files changed, 0 insertions, 0 deletions