diff options
-rw-r--r-- | fs/compat.c | 8 | ||||
-rw-r--r-- | fs/open.c | 3 |
2 files changed, 6 insertions, 5 deletions
diff --git a/fs/compat.c b/fs/compat.c index ed43e17a5dc6..b46604281766 100644 --- a/fs/compat.c +++ b/fs/compat.c | |||
@@ -197,8 +197,8 @@ static int put_compat_statfs(struct compat_statfs __user *ubuf, struct kstatfs * | |||
197 | { | 197 | { |
198 | 198 | ||
199 | if (sizeof ubuf->f_blocks == 4) { | 199 | if (sizeof ubuf->f_blocks == 4) { |
200 | if ((kbuf->f_blocks | kbuf->f_bfree | kbuf->f_bavail) & | 200 | if ((kbuf->f_blocks | kbuf->f_bfree | kbuf->f_bavail | |
201 | 0xffffffff00000000ULL) | 201 | kbuf->f_bsize | kbuf->f_frsize) & 0xffffffff00000000ULL) |
202 | return -EOVERFLOW; | 202 | return -EOVERFLOW; |
203 | /* f_files and f_ffree may be -1; it's okay | 203 | /* f_files and f_ffree may be -1; it's okay |
204 | * to stuff that into 32 bits */ | 204 | * to stuff that into 32 bits */ |
@@ -271,8 +271,8 @@ out: | |||
271 | static int put_compat_statfs64(struct compat_statfs64 __user *ubuf, struct kstatfs *kbuf) | 271 | static int put_compat_statfs64(struct compat_statfs64 __user *ubuf, struct kstatfs *kbuf) |
272 | { | 272 | { |
273 | if (sizeof ubuf->f_blocks == 4) { | 273 | if (sizeof ubuf->f_blocks == 4) { |
274 | if ((kbuf->f_blocks | kbuf->f_bfree | kbuf->f_bavail) & | 274 | if ((kbuf->f_blocks | kbuf->f_bfree | kbuf->f_bavail | |
275 | 0xffffffff00000000ULL) | 275 | kbuf->f_bsize | kbuf->f_frsize) & 0xffffffff00000000ULL) |
276 | return -EOVERFLOW; | 276 | return -EOVERFLOW; |
277 | /* f_files and f_ffree may be -1; it's okay | 277 | /* f_files and f_ffree may be -1; it's okay |
278 | * to stuff that into 32 bits */ | 278 | * to stuff that into 32 bits */ |
@@ -64,7 +64,8 @@ static int vfs_statfs_native(struct dentry *dentry, struct statfs *buf) | |||
64 | memcpy(buf, &st, sizeof(st)); | 64 | memcpy(buf, &st, sizeof(st)); |
65 | else { | 65 | else { |
66 | if (sizeof buf->f_blocks == 4) { | 66 | if (sizeof buf->f_blocks == 4) { |
67 | if ((st.f_blocks | st.f_bfree | st.f_bavail) & | 67 | if ((st.f_blocks | st.f_bfree | st.f_bavail | |
68 | st.f_bsize | st.f_frsize) & | ||
68 | 0xffffffff00000000ULL) | 69 | 0xffffffff00000000ULL) |
69 | return -EOVERFLOW; | 70 | return -EOVERFLOW; |
70 | /* | 71 | /* |