diff options
author | Thomas Weißschuh <thomas.weissschuh@amadeus.com> | 2022-09-28 12:45:35 +0200 |
---|---|---|
committer | Andrew Morton <akpm@linux-foundation.org> | 2022-11-09 02:37:13 +0100 |
commit | a5454f95246aa1d3527ef5e128cd3a10bc8371de (patch) | |
tree | 03de0b8ec4b84edd654850242d7835ade4e88b50 /mm/shmem.c | |
parent | mm: memcontrol: use mem_cgroup_is_root() helper (diff) | |
download | linux-a5454f95246aa1d3527ef5e128cd3a10bc8371de.tar.xz linux-a5454f95246aa1d3527ef5e128cd3a10bc8371de.zip |
tmpfs: ensure O_LARGEFILE with generic_file_open()
Without this check open() will open large files on tmpfs although
O_LARGEFILE was not specified. This is inconsistent with other
filesystems. Also it will later result in EOVERFLOW on stat() or EFBIG on
write().
Link: https://lore.kernel.org/lkml/76bedae6-22ea-4abc-8c06-b424ceb39217@t-8ch.de/
Link: https://lkml.kernel.org/r/20220928104535.61186-1-linux@weissschuh.net
Signed-off-by: Thomas Weißschuh <thomas.weissschuh@amadeus.com>
Acked-by: Hugh Dickins <hughd@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Diffstat (limited to 'mm/shmem.c')
-rw-r--r-- | mm/shmem.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/mm/shmem.c b/mm/shmem.c index 57d878b6391d..0a7c4a748811 100644 --- a/mm/shmem.c +++ b/mm/shmem.c @@ -3902,6 +3902,7 @@ EXPORT_SYMBOL(shmem_aops); static const struct file_operations shmem_file_operations = { .mmap = shmem_mmap, + .open = generic_file_open, .get_unmapped_area = shmem_get_unmapped_area, #ifdef CONFIG_TMPFS .llseek = shmem_file_llseek, |