trailofbits / trailofbits/mquire
AlmaLinux 9.6 (kernels 5.14.0): Failed to locate the init task struct
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 185
- Forks
- 8
- Avg merge
- 7d 11h
- Merged PRs (30d)
- 3
Description
Yoyo! I tested the current main branch, and unfortunately, the problem still occurs. My kernel version is 5.14.0-284.25.1.el9_2.x86_64 or 5.14.0-570.35.1.el9_6.x86_64. The same issue. Mem dump created with avml.
[DEBUG] src/operating_system/linux/operating_system.rs@549: Trying swapper candidate: paddr(0x00000000f3d312ab) => raddr(0x0000000000000000)
[DEBUG] src/operating_system/linux/operating_system.rs@549: Trying swapper candidate: paddr(0x00000000f3d8f68b) => raddr(0x0000000000000000)
[DEBUG] src/operating_system/linux/operating_system.rs@549: Trying swapper candidate: paddr(0x00000000f420d05f) => raddr(0x0000000000000000)
[DEBUG] src/operating_system/linux/operating_system.rs@549: Trying swapper candidate: paddr(0x00000000f75b9d5e) => raddr(0xff93d31762c628ff)
[DEBUG] src/operating_system/linux/operating_system.rs@549: Trying swapper candidate: paddr(0x00000000fae7aefe) => raddr(0x0000000000000000)
[DEBUG] src/operating_system/linux/operating_system.rs@549: Trying swapper candidate: paddr(0x00000000fb17601e) => raddr(0x0000000000000000)
[DEBUG] src/operating_system/linux/operating_system.rs@549: Trying swapper candidate: paddr(0x0000000116e9e812) => raddr(0x0000000000000000)
[DEBUG] src/operating_system/linux/operating_system.rs@549: Trying swapper candidate: paddr(0x0000000125d4407d) => raddr(0x0000000000000000)
[DEBUG] src/operating_system/linux/operating_system.rs@549: Trying swapper candidate: paddr(0x00000001382e5dbd) => raddr(0xff93d31762c628ff)
[DEBUG] src/operating_system/linux/operating_system.rs@549: Trying swapper candidate: paddr(0x000000016f95c5f6) => raddr(0x0000000000000000)
[DEBUG] src/operating_system/linux/operating_system.rs@292: BTF candidate failed init_task resolution: Error { kind: OperatingSystemInitializationFailed, message: "Failed to locate the init task struct" }
[DEBUG] src/operating_system/linux/btf.rs@215: Failed to parse BTF data at offset paddr(0x00000001518d2c48)
[DEBUG] src/operating_system/linux/btf.rs@215: Failed to parse BTF data at offset paddr(0x000000015b51628d)
[DEBUG] src/operating_system/linux/btf.rs@215: Failed to parse BTF data at offset paddr(0x00000001539dddd2)
[DEBUG] src/operating_system/linux/btf.rs@215: Failed to parse BTF data at offset paddr(0x000000015595e0be)
[DEBUG] src/operating_system/linux/btf.rs@215: Failed to parse BTF data at offset paddr(0x0000000155da9c7f)
[DEBUG] src/operating_system/linux/btf.rs@215: Failed to parse BTF data at offset paddr(0x000000015648e05f)
[DEBUG] src/operating_system/linux/btf.rs@215: Failed to parse BTF data at offset paddr(0x0000000156c5e05f)
[DEBUG] src/operating_system/linux/btf.rs@215: Failed to parse BTF data at offset paddr(0x000000015f7520be)
[DEBUG] src/operating_system/linux/btf.rs@215: Failed to parse BTF data at offset paddr(0x000000016882b4ee)
[DEBUG] src/operating_system/linux/btf.rs@215: Failed to parse BTF data at offset paddr(0x000000016882baee)
...
[DEBUG] src/operating_system/linux/operating_system.rs@549: Trying swapper candidate: paddr(0x00000000fae7aefe) => raddr(0x0000000000000000)
[DEBUG] src/operating_system/linux/operating_system.rs@549: Trying swapper candidate: paddr(0x00000000fb17601e) => raddr(0x0000000000000000)
[DEBUG] src/operating_system/linux/operating_system.rs@549: Trying swapper candidate: paddr(0x0000000116e9e812) => raddr(0x0000000000000000)
[DEBUG] src/operating_system/linux/operating_system.rs@549: Trying swapper candidate: paddr(0x0000000125d4407d) => raddr(0x0000000000000000)
[DEBUG] src/operating_system/linux/operating_system.rs@549: Trying swapper candidate: paddr(0x00000001382e5dbd) => raddr(0xff93d31762c628ff)
[DEBUG] src/operating_system/linux/operating_system.rs@549: Trying swapper candidate: paddr(0x000000016f95c5f6) => raddr(0x0000000000000000)
[DEBUG] src/operating_system/linux/operating_system.rs@292: BTF candidate failed init_task resolution: Error { kind: OperatingSystemInitializationFailed, message: "Failed to locate the init task struct" }
[DEBUG] src/operating_system/linux/btf.rs@215: Failed to parse BTF data at offset paddr(0x00000001782494ee)
[DEBUG] src/operating_system/linux/btf.rs@215: Failed to parse BTF data at offset paddr(0x00000001782498ee)
[DEBUG] src/operating_system/linux/btf.rs@215: Failed to parse BTF data at offset paddr(0x0000000170676e16)
[DEBUG] src/operating_system/linux/btf.rs@215: Failed to parse BTF data at offset paddr(0x0000000170676ed6)
[DEBUG] src/operating_system/linux/btf.rs@215: Failed to parse BTF data at offset paddr(0x0000000171c08017)
[DEBUG] src/operating_system/linux/btf.rs@215: Failed to parse BTF data at offset paddr(0x0000000171c7b3c5)
[DEBUG] src/operating_system/linux/btf.rs@215: Failed to parse BTF data at offset paddr(0x00000001725e40be)
[DEBUG] src/operating_system/linux/btf.rs@215: Failed to parse BTF data at offset paddr(0x000000017293611d)
[DEBUG] src/operating_system/linux/btf.rs@215: Failed to parse BTF data at offset paddr(0x000000017416754d)
[DEBUG] src/operating_system/linux/btf.rs@215: Failed to parse BTF data at offset paddr(0x0000000177d8a077)
Error: Custom { kind: Other, error: "Failed to create operating system: Error { kind: OperatingSystemInitializationFailed, message: "Failed to locate valid BTF debug symbols with a resolvable init task" }" }
Any support will be very helpful. Thank you!
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in src/operating_system/linux/operating_system.rs around lines 292 and 549, then read src/operating_system/linux/btf.rs around line 215. Reproduce the failure with an AlmaLinux 9.6 memory dump and trace BTF parsing and init_task resolution. Done means the reported kernels can create the operating system successfully with valid BTF symbols.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- linux, rust
- Domain
- operating-systems, reverse-engineering
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 38/100