summaryrefslogtreecommitdiff
path: root/fs/read_write.c
diff options
context:
space:
mode:
authorJoel Stanley <joel@jms.id.au>2019-05-08 16:48:45 +0300
committerJoel Stanley <joel@jms.id.au>2019-05-08 16:48:48 +0300
commitd09fc0c4bdfbcbe251df247b5a94e2a07dec9c2f (patch)
tree893d98100d3ede2ff76905a67e1b9798c8c88868 /fs/read_write.c
parent76cc3bd0c342199b0bc0fd6afc7035274bf7a718 (diff)
parent274ede3e1a5fb3d0fd33acafb08993e95972c51f (diff)
downloadlinux-dev-5.0.tar.xz
Merge tag 'v5.0.14' into dev-5.0dev-5.0
This is the 5.0.14 stable release Signed-off-by: Joel Stanley <joel@jms.id.au>
Diffstat (limited to 'fs/read_write.c')
-rw-r--r--fs/read_write.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/read_write.c b/fs/read_write.c
index 27b69b85d49f..3d3194e32201 100644
--- a/fs/read_write.c
+++ b/fs/read_write.c
@@ -560,12 +560,13 @@ ssize_t vfs_write(struct file *file, const char __user *buf, size_t count, loff_
static inline loff_t file_pos_read(struct file *file)
{
- return file->f_pos;
+ return file->f_mode & FMODE_STREAM ? 0 : file->f_pos;
}
static inline void file_pos_write(struct file *file, loff_t pos)
{
- file->f_pos = pos;
+ if ((file->f_mode & FMODE_STREAM) == 0)
+ file->f_pos = pos;
}
ssize_t ksys_read(unsigned int fd, char __user *buf, size_t count)