[PATCH v2] initramfs: finish fput() before accessing any binary from initramfs

Lokesh Vutla lokeshvutla at ti.com
Wed Feb 1 05:45:53 PST 2017



On Wednesday 01 February 2017 05:58 PM, Al Viro wrote:
> On Tue, Jan 24, 2017 at 11:06:36AM +0530, Lokesh Vutla wrote:
>> commit 4a9d4b024a31 ("switch fput to task_work_add") implements a
>> schedule_work() for completing fput(), but did not guarantee calling
>> __fput() after unpacking initramfs. Because of this, there is a
>> possibility that during boot a driver can see ETXTBSY when it tries
>> to load a binary from initramfs as fput() is still pending on that
>> binary. This patch makes sure that fput() is completed after unpacking
>> initramfs.
> 
> Umm...  Do we want it done in kernel_init(), then?  I have no objections
> against calling it in populate_rootfs(), and it looks like a sane place
> for that, but I wonder if the old callsite would remain needed after that...
> 

Hmm..You are right, the call in kernel_init() is unnecessary. Will post
an updated version.

Thanks and regards,
Lokesh




More information about the linux-arm-kernel mailing list