Boot fails: failed to validate module [nls_iso8859_1] BTF: -22

Bug #1911359 reported by Timo Witte
This bug affects 2 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
Andrea Righi

Bug Description

I just updated to an unstable kernel build from the kernels team Repo
it´s the 5.11-2.3 package (5.11 RC3)
The mount of /dev/boot fails with a message:

IO charset iso8859-1 not found

this is probably due to the kernel being unable to load the nls_iso8859-1 module.

I see multiple messages with BPF:No data
and for the nls_iso8859-1 module a message:

failed to validate module [nls_iso8859_1] BTF: -22

this is probably introduced by this patch:

I don´t undestand what BTF validation is and whether this is an issue with linux 5.11-rc3 or with how the kernel modules are packaged in Ubuntu.

My machine is a Renoir (zen2) based Acer Laptop running in UEFI mode, with a fat32 /boot partition and a ext4 / root partition.
The root partition gets mounted, but once the /boot should be mounted, this fails with the mentioned error..

Other modules seem to load fine, things like "amdgpu" are already loaded!

Revision history for this message
Timo Witte (spacefish) wrote :
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:

apport-collect 1911359

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
Revision history for this message
Timo Witte (spacefish) wrote :

Can´t pull the log, as i am unable to boot.

Probably fixed by: https://patchwork.kernel<email address hidden>/ (not yet merged by torvalds)
The issue happens if a kernel module has an empty BTF

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
Andrea Righi (arighi) wrote :

Thanks @spacefish! I was currently testing a fix that looks exactly like that, but at this point I'll just apply that patch and upload a new unstable kernel.

Changed in linux (Ubuntu):
assignee: nobody → Andrea Righi (arighi)
importance: Undecided → High
Revision history for this message
Andrea Righi (arighi) wrote :

I've uploaded a new 5.11 (, but now there's another issue with the new binutils in -proposed (, that has been updated yesterday in the builders:

arch/x86/entry/thunk_64.o: warning: objtool: missing symbol table
make[4]: *** [/<<PKGBUILDDIR>>/scripts/ arch/x86/entry/thunk_64.o] Error 1
make[4]: *** Deleting file 'arch/x86/entry/thunk_64.o'
make[3]: *** [/<<PKGBUILDDIR>>/scripts/ arch/x86/entry] Error 2
make[2]: *** [/<<PKGBUILDDIR>>/Makefile:1833: arch/x86] Error 2
make[2]: *** Waiting for unfinished jobs....

So it looks like we need one more fix...

Revision history for this message
Andrea Righi (arighi) wrote :

And I may have a fix also for this one (testing right now). Apparently we need to build arch/x86/entry/thunk_64.S only when CONFIG_PREEMPTION is set, otherwise the generated object will be empty, the new assembler doesn't generate a symbol table for the empty object and objtool doesn't like that.

Revision history for this message
Andrea Righi (arighi) wrote :

This is fixed in Ubuntu-5.11.0-4.5. We can close this for now.

Changed in linux (Ubuntu):
status: Confirmed → Fix Committed
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-focal' to 'verification-done-focal'. If the problem still exists, change the tag 'verification-needed-focal' to 'verification-failed-focal'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-focal
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (20.7 KiB)

This bug was fixed in the package linux - 5.10.0-14.15

linux (5.10.0-14.15) hirsute; urgency=medium

  * hirsute/linux: 5.10.0-14.15 -proposed tracker (LP: #1913724)

  * Restore palm ejection on multi-input devices (LP: #1913520)
    - HID: multitouch: Apply MT_QUIRK_CONFIDENCE quirk for multi-input devices

  * intel-hid is not loaded on new Intel platform (LP: #1907160)
    - platform/x86: intel-hid: add Rocket Lake ACPI device ID

  * Hirsute update: v5.10.11 upstream stable release (LP: #1913430)
    - scsi: target: tcmu: Fix use-after-free of se_cmd->priv
    - mtd: rawnand: gpmi: fix dst bit offset when extracting raw payload
    - mtd: rawnand: nandsim: Fix the logic when selecting Hamming soft ECC engine
    - i2c: tegra: Wait for config load atomically while in ISR
    - i2c: bpmp-tegra: Ignore unknown I2C_M flags
    - platform/x86: ideapad-laptop: Disable touchpad_switch for ELAN0634
    - ALSA: seq: oss: Fix missing error check in snd_seq_oss_synth_make_info()
    - ALSA: hda/realtek - Limit int mic boost on Acer Aspire E5-575T
    - ALSA: hda/via: Add minimum mute flag
    - crypto: xor - Fix divide error in do_xor_speed()
    - dm crypt: fix copy and paste bug in crypt_alloc_req_aead
    - ACPI: scan: Make acpi_bus_get_device() clear return pointer on error
    - btrfs: don't get an EINTR during drop_snapshot for reloc
    - btrfs: do not double free backref nodes on error
    - btrfs: fix lockdep splat in btrfs_recover_relocation
    - btrfs: don't clear ret in btrfs_start_dirty_block_groups
    - btrfs: send: fix invalid clone operations when cloning from the same file
      and root
    - fs: fix lazytime expiration handling in __writeback_single_inode()
    - pinctrl: ingenic: Fix JZ4760 support
    - mmc: core: don't initialize block size from ext_csd if not present
    - mmc: sdhci-of-dwcmshc: fix rpmb access
    - mmc: sdhci-xenon: fix 1.8v regulator stabilization
    - mmc: sdhci-brcmstb: Fix mmc timeout errors on S5 suspend
    - dm: avoid filesystem lookup in dm_get_dev_t()
    - dm integrity: fix a crash if "recalculate" used without "internal_hash"
    - dm integrity: conditionally disable "recalculate" feature
    - drm/atomic: put state on error path
    - drm/syncobj: Fix use-after-free
    - drm/amdgpu: remove gpu info firmware of green sardine
    - drm/amd/display: DCN2X Find Secondary Pipe properly in MPO + ODM Case
    - drm/i915/gt: Prevent use of engine->wa_ctx after error
    - drm/i915: Check for rq->hwsp validity after acquiring RCU lock
    - ASoC: Intel: haswell: Add missing pm_ops
    - ASoC: rt711: mutex between calibration and power state changes
    - SUNRPC: Handle TCP socket sends with kernel_sendpage() again
    - HID: sony: select CONFIG_CRC32
    - dm integrity: select CRYPTO_SKCIPHER
    - x86/hyperv: Fix kexec panic/hang issues
    - scsi: ufs: Relax the condition of UFSHCI_QUIRK_SKIP_MANUAL_WB_FLUSH_CTRL
    - scsi: ufs: Correct the LUN used in eh_device_reset_handler() callback
    - scsi: qedi: Correct max length of CHAP secret
    - scsi: scsi_debug: Fix memleak in scsi_debug_init()
    - scsi: sd: Suppress spurious errors when WRITE SAME is being disabled
    - riscv: ...

Changed in linux (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.