Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1635446
| From | Stafford Horne <shorne@gmail.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [BUG] OpenRISC exec init fails, bisected to 0886551 ("initramfs: finish fput() before accessing any binary from initramfs") |
| Date | 2017-05-04 09:20 +0200 |
| Message-ID | <tDjdo-eZ-3@gated-at.bofh.it> (permalink) |
| Organization | linux.* mail to news gateway |
Hello,
While booting the v4.11 kernel I found the below issue.
The summary of the issue mentions
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.
It seems this patch (0886551) introduces that issue though?
I am looking into it, but any suggestions would be helpful.
BOOT LOG
Compiled-in FDT at c03b9100
Linux version 4.10.0-10351-g0886551 (shorne@lianli.shorne-pla.net) (gcc version 5.4.0 (GCC) ) #223 Thu May 4 16:01:02 JST 2017
CPU: OpenRISC-0 (revision 0) @20 MHz
...
Freeing unused kernel memory: 2856K
This architecture does not have kernel memory protection.
Failed to execute /init (error -26)
Starting init: /sbin/init exists but couldn't execute it (error -26)
Starting init: /bin/sh exists but couldn't execute it (error -26)
Kernel panic - not syncing: No working init found. Try passing init= option to kernel. See Linux Documentation/admin-guide/init.rst for guidance.
---[ end Kernel panic - not syncing: No working init found. Try passing init= option to kernel. See Linux Documentation/admin-guide/init.rst for guidance.
TO REPRODUCE
The failure is intermittent.
Using some tools:
- initramfs: https://github.com/stffrdhrn/or1k-utils
- compiler: https://github.com/openrisc/or1k-gcc/releases (or1k-linux-5.4.0-20170218.tar.xz)
- qemu: version 2.9
Make and run using:
make ARCH=openrisc defconfig
make -j5 ARCH=openrisc CROSS_COMPILE=or1k-linux- \
CONFIG_INITRAMFS_SOURCE="../openrisc/or1k-utils/initramfs ../openrisc/or1k-utils/initramfs.devnodes"
qemu-system-or1k -cpu or1200 -M or1k-sim -kernel vmlinux -serial stdio \
-nographic -monitor none
-Stafford
Back to linux.kernel | Previous | Next — Next in thread | Find similar | Unroll thread
[BUG] OpenRISC exec init fails, bisected to 0886551 ("initramfs: finish fput() before accessing any binary from initramfs") Stafford Horne <shorne@gmail.com> - 2017-05-04 09:20 +0200
Re: [BUG] OpenRISC exec init fails, bisected to 0886551 ("initramfs: finish fput() before accessing any binary from initramfs") Lokesh Vutla <lokeshvutla@ti.com> - 2017-05-04 09:50 +0200
Re: [BUG] OpenRISC exec init fails, bisected to 0886551 ("initramfs: finish fput() before accessing any binary from initramfs") Stafford Horne <shorne@gmail.com> - 2017-05-04 10:40 +0200
Re: [BUG] OpenRISC exec init fails, bisected to 0886551 ("initramfs: finish fput() before accessing any binary from initramfs") Lokesh Vutla <lokeshvutla@ti.com> - 2017-05-04 11:20 +0200
Re: [BUG] OpenRISC exec init fails, bisected to 0886551 ("initramfs: finish fput() before accessing any binary from initramfs") Stafford Horne <shorne@gmail.com> - 2017-05-04 11:50 +0200
[PATCH] initramfs: Always do fput() and load modules after rootfs populate Stafford Horne <shorne@gmail.com> - 2017-05-04 14:50 +0200
Re: [PATCH] initramfs: Always do fput() and load modules after rootfs populate Al Viro <viro@ZenIV.linux.org.uk> - 2017-05-04 20:50 +0200
Re: [PATCH] initramfs: Always do fput() and load modules after rootfs populate Stafford Horne <shorne@gmail.com> - 2017-05-05 09:50 +0200
Re: initramfs: Always do fput() and load modules after rootfs populate Stafford Horne <shorne@gmail.com> - 2017-05-06 10:20 +0200
Re: initramfs: Always do fput() and load modules after rootfs populate Stafford Horne <shorne@gmail.com> - 2017-05-06 10:30 +0200
csiph-web