From: John Sperbeck Date: Sun, 17 Mar 2024 22:15:22 +0000 (-0700) Subject: init: open /initrd.image with O_LARGEFILE X-Git-Tag: v6.7.12~98 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9d1fe30f4717968821117e325ba63c8a5bbec64c;p=thirdparty%2Fkernel%2Fstable.git init: open /initrd.image with O_LARGEFILE commit 4624b346cf67400ef46a31771011fb798dd2f999 upstream. 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 Cc: Jens Axboe Cc: Nick Desaulniers Cc: Peter Zijlstra Cc: Thomas Gleixner Cc: Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman --- diff --git a/init/initramfs.c b/init/initramfs.c index 8d0fd946cdd2b..efc477b905a48 100644 --- a/init/initramfs.c +++ b/init/initramfs.c @@ -673,7 +673,7 @@ static void __init 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;