summaryrefslogtreecommitdiffstats
path: root/mm/shmem.c
diff options
context:
space:
mode:
authorThomas Weißschuh <thomas.weissschuh@amadeus.com>2022-09-28 12:45:35 +0200
committerAndrew Morton <akpm@linux-foundation.org>2022-11-09 02:37:13 +0100
commita5454f95246aa1d3527ef5e128cd3a10bc8371de (patch)
tree03de0b8ec4b84edd654850242d7835ade4e88b50 /mm/shmem.c
parentmm: memcontrol: use mem_cgroup_is_root() helper (diff)
downloadlinux-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.c1
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,