[PATCH v3] initramfs: finish fput() before accessing any binary from initramfs
Tero Kristo
t-kristo at ti.com
Fri Feb 3 09:19:11 PST 2017
On 02/02/17 00:12, Andrew Morton wrote:
> On Wed, 1 Feb 2017 19:35:40 +0530 Lokesh Vutla <lokeshvutla at ti.com> 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 and removes the call to flush_delayed_fput() in kernel_init()
>> which happens very late after unpacking initramfs.
>
> There's not really enough info here for others to be able to decide
> which kernel versions need the fix. How serious is the bug? Given
> that it's been there for 4 years, I assume "not very"?
I think the issue only surfaces with certain timing conditions, and for
some reason it has been masked for at least us until we noticed this
with 4.9-lts kernel. The same issue was not detected with earlier
4.4-lts kernel.
-Tero
More information about the linux-arm-kernel
mailing list