]> git.baikalelectronics.ru Git - kernel.git/commit
9p: retrieve fid from file when file instance exist.
authorJianyong Wu <jianyong.wu@arm.com>
Fri, 10 Jul 2020 10:15:48 +0000 (18:15 +0800)
committerDominique Martinet <asmadeus@codewreck.org>
Sun, 19 Jul 2020 12:58:47 +0000 (14:58 +0200)
commit23738e553b4cf08d8d9858f29fe7824aeddff87b
treeb1f32cee7183ecd7adb40fa09eb3cf1526b4aafe
parent105a3b0dea6e5397ae5c990455ea3fdc13729fd2
9p: retrieve fid from file when file instance exist.

In the current setattr implementation in 9p, fid is always retrieved
from dentry no matter file instance exists or not. If so, there may be
some info related to opened file instance dropped. So it's better
to retrieve fid from file instance when it is passed to setattr.

for example:
fd=open("tmp", O_RDWR);
ftruncate(fd, 10);

The file context related with the fd will be lost as fid is always
retrieved from dentry, then the backend can't get the info of
file context. It is against the original intention of user and
may lead to bug.

Link: http://lkml.kernel.org/r/20200710101548.10108-1-jianyong.wu@arm.com
Signed-off-by: Jianyong Wu <jianyong.wu@arm.com>
Signed-off-by: Dominique Martinet <asmadeus@codewreck.org>
fs/9p/vfs_inode.c
fs/9p/vfs_inode_dotl.c