]> 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)
commit7bccac4f976e9b4c53eed64581442a794e732ab7
treeb1f32cee7183ecd7adb40fa09eb3cf1526b4aafe
parent408a26f798d98c9e2e0cabdbbcfdf4b0fa971c0a
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