From: John Sperbeck Date: Sun, 17 Mar 2024 22:15:22 +0000 (-0700) Subject: init: open /initrd.image with O_LARGEFILE X-Git-Tag: v5.10.215~138 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f8f76b7574078a0337bc658a2b792aaaea7a4131;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 55b74d7e52607..ff09460727237 100644 --- a/init/initramfs.c +++ b/init/initramfs.c @@ -589,7 +589,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;