diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2019-03-17 09:10:56 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2019-03-17 09:10:56 -0700 |
commit | db77bef53ba6ba5205ac1788bb8b66ce141ab020 (patch) | |
tree | 14ed240b50e3a7b89e7f77bd80b24487649d95b8 /fs/9p/vfs_file.c | |
parent | a9dce6679d736cb3d612af39bab9f31f8db66f9b (diff) | |
parent | bb06c388fa20ae24cfe80c52488de718a7e3a53f (diff) | |
download | linux-db77bef53ba6ba5205ac1788bb8b66ce141ab020.tar.bz2 |
Merge tag '9p-for-5.1' of git://github.com/martinetd/linux
Pull 9p updates from Dominique Martinet:
"Here is a 9p update for 5.1; there honestly hasn't been much.
Two fixes (leak on invalid mount argument and possible deadlock on
i_size update on 32bit smp) and a fall-through warning cleanup"
* tag '9p-for-5.1' of git://github.com/martinetd/linux:
9p/net: fix memory leak in p9_client_create
9p: use inode->i_lock to protect i_size_write() under 32-bit
9p: mark expected switch fall-through
Diffstat (limited to 'fs/9p/vfs_file.c')
-rw-r--r-- | fs/9p/vfs_file.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/fs/9p/vfs_file.c b/fs/9p/vfs_file.c index a25efa782fcc..9a1125305d84 100644 --- a/fs/9p/vfs_file.c +++ b/fs/9p/vfs_file.c @@ -446,7 +446,11 @@ v9fs_file_write_iter(struct kiocb *iocb, struct iov_iter *from) i_size = i_size_read(inode); if (iocb->ki_pos > i_size) { inode_add_bytes(inode, iocb->ki_pos - i_size); - i_size_write(inode, iocb->ki_pos); + /* + * Need to serialize against i_size_write() in + * v9fs_stat2inode() + */ + v9fs_i_size_write(inode, iocb->ki_pos); } return retval; } |