]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
init: open /initrd.image with O_LARGEFILE
authorJohn Sperbeck <jsperbeck@google.com>
Sun, 17 Mar 2024 22:15:22 +0000 (15:15 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 13 Apr 2024 10:50:14 +0000 (12:50 +0200)
[ Upstream commit 4624b346cf67400ef46a31771011fb798dd2f999 ]

If initrd data is larger than 2Gb, we'll eventually fail to write to the
/initrd.image file when we hit that limit, unless O_LARGEFILE is set.

Link: https://lkml.kernel.org/r/20240317221522.896040-1-jsperbeck@google.com
Signed-off-by: John Sperbeck <jsperbeck@google.com>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: Nick Desaulniers <ndesaulniers@google.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
init/initramfs.c

index e378d15a949e0286972112a011957681c498815a..6b49c5ae78c7a69f2805ebca0232ced4a9c24944 100644 (file)
@@ -613,7 +613,7 @@ static void populate_initrd_image(char *err)
 
        printk(KERN_INFO "rootfs image is not initramfs (%s); looks like an initrd\n",
                        err);
-       file = filp_open("/initrd.image", O_WRONLY | O_CREAT, 0700);
+       file = filp_open("/initrd.image", O_WRONLY|O_CREAT|O_LARGEFILE, 0700);
        if (IS_ERR(file))
                return;