initramfs: free initrd memory if opening /initrd.image fails

Patch series "initramfs tidyups".

I've spent some time chasing down behavior in initramfs and found
plenty of opportunity to improve the code.  A first stab on that is
contained in this series.

This patch (of 7):

We free the initrd memory for all successful or error cases except for the
case where opening /initrd.image fails, which looks like an oversight.

Steven said:

: This also changes the behaviour when CONFIG_INITRAMFS_FORCE is enabled
: - specifically it means that the initrd is freed (previously it was
: ignored and never freed).  But that seems like reasonable behaviour and
: the previous behaviour looks like another oversight.

Signed-off-by: Christoph Hellwig <>
Reviewed-by: Steven Price <>
Acked-by: Mike Rapoport <>
Cc: Catalin Marinas <>	[arm64]
Cc: Geert Uytterhoeven <>	[m68k]
Cc: Alexander Viro <>
Cc: Russell King <>
Cc: Will Deacon <>
Cc: Guan Xuetao <>
Signed-off-by: Andrew Morton <>
Signed-off-by: Linus Torvalds <>
1 file changed