Skip to content

Kernel oops when preparing to update firmare #23

@hughsie

Description

@hughsie

I've just tried this on the pre-release Dell with the Lattice chip. The CVS device appeared as before and then when trying to deploy the firmware the intel-cvs driver exploded with:

[164232.099139] Intel CVS driver i2c-INTC10DE:00: cvs_ctrl_data_pre_show:Device fw version is 1.19.0.0
[164232.104839] ------------[ cut here ]------------
[164232.104842] WARNING: CPU: 1 PID: 16411 at mm/page_alloc.c:4678 __alloc_pages_noprof+0x338/0x350
[164232.104847] Modules linked in: typec_displayport usbhid cdc_ether usbnet r8152 mii uas usb_storage intel_cvs(OE) ccm rfcomm snd_seq_dummy snd_hrtimer qrtr cmac algif_hash algif_skcipher af_alg bnep snd_soc_sof_sdw snd_soc_intel_hda_dsp_common snd_soc_sdw_utils snd_sof_probes snd_soc_rt715_sdca snd_soc_rt1318_sdw regmap_sdw_mbq snd_hda_codec_hdmi regmap_sdw snd_soc_dmic intel_uncore_frequency intel_uncore_frequency_common dell_pc snd_ctl_led platform_profile snd_sof_pci_intel_lnl snd_sof_pci_intel_mtl snd_sof_intel_hda_generic soundwire_intel x86_pkg_temp_thermal soundwire_cadence intel_powerclamp snd_sof_intel_hda_common snd_sof_intel_hda_mlink snd_sof_intel_hda snd_sof_pci snd_sof_xtensa_dsp snd_sof snd_sof_utils snd_soc_hdac_hda coretemp snd_hda_ext_core snd_soc_acpi_intel_match soundwire_generic_allocation snd_soc_acpi soundwire_bus snd_soc_core kvm_intel snd_compress ac97_bus kvm snd_pcm_dmaengine intel_ipu7_psys(O) snd_hda_intel crct10dif_pclmul snd_intel_dspcfg snd_intel_sdw_acpi polyval_clmulni polyval_generic
[164232.104874]  snd_hda_codec ghash_clmulni_intel cmdlinepart snd_hda_core intel_ipu7_isys(O) snd_hwdep videobuf2_dma_contig sha256_ssse3 videobuf2_memops videobuf2_v4l2 sha1_ssse3 spi_nor aesni_intel binfmt_misc mei_gsc_proxy videobuf2_common snd_pcm mtd xe crypto_simd intel_rapl_msr snd_seq_midi cryptd snd_seq_midi_event iwlmvm snd_rawmidi dell_laptop rapl nls_iso8859_1 dell_wmi intel_cstate mac80211 gpu_sched dell_smm_hwmon dell_wmi_ddv snd_seq dell_smbios drm_gpuvm libarc4 processor_thermal_device_pci drm_exec processor_thermal_device snd_seq_device snd_timer dcdbas drm_buddy processor_thermal_wt_hint drm_suballoc_helper processor_thermal_rfim dell_wmi_sysman btintel_pcie firmware_attributes_class drm_ttm_helper dell_wmi_descriptor wmi_bmof snd iwlwifi btintel mei_me processor_thermal_rapl intel_rapl_common ttm spi_intel_pci soundcore spi_intel bluetooth mei processor_thermal_wt_req drm_display_helper processor_thermal_power_floor cfg80211 cec rc_core i2c_algo_bit intel_ipu7(O) intel_vpu int3403_thermal
[164232.104901]  processor_thermal_mbox intel_skl_int3472_tps68470 ipu_bridge int340x_thermal_zone tps68470_regulator i2c_usbio(O) clk_tps68470 gpio_usbio(O) ov02c10(O) usbio(O) v4l2_fwnode v4l2_async int3400_thermal intel_hid sparse_keymap intel_pmc_core acpi_thermal_rel intel_vsec pmt_telemetry pmt_class intel_skl_int3472_discrete acpi_tad acpi_pad joydev input_leds mac_hid serio_raw sch_fq_codel v4l2loopback(O) videodev mc msr parport_pc ppdev lp parport efi_pstore nfnetlink dmi_sysfs ip_tables x_tables autofs4 hid_multitouch hid_generic 8250_dw nvme psmouse crc32_pclmul intel_lpss_pci nvme_core intel_ish_ipc nvme_auth intel_lpss video ucsi_acpi idma64 intel_ishtp xhci_pci thunderbolt xhci_pci_renesas typec_ucsi typec i2c_hid_acpi i2c_hid hid wmi pinctrl_intel_platform [last unloaded: intel_cvs(O)]
[164232.104924] CPU: 1 UID: 0 PID: 16411 Comm: fwupdtool Tainted: G           OE      6.11.0-1013-oem #13-Ubuntu
[164232.104926] Tainted: [O]=OOT_MODULE, [E]=UNSIGNED_MODULE
[164232.104926] Hardware name: Dell Inc. REDACTED, BIOS 1.7.1 12/06/2024
[164232.104927] RIP: 0010:__alloc_pages_noprof+0x338/0x350
[164232.104929] Code: e8 fd f2 ff ff 49 89 c5 e9 55 fe ff ff 80 e7 fb eb af 89 de 40 80 e6 7f f7 c1 00 00 04 00 0f 45 de eb 9e c6 05 b6 c3 38 02 01 <0f> 0b e9 75 ff ff ff e8 8c 65 df 00 66 66 2e 0f 1f 84 00 00 00 00
[164232.104930] RSP: 0018:ffffa82542b13b30 EFLAGS: 00010246
[164232.104931] RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
[164232.104932] RDX: 0000000000000000 RSI: 000000000000000b RDI: 0000000000040dc0
[164232.104932] RBP: ffffa82542b13b88 R08: ffffffffc0f70a06 R09: 0000000000000000
[164232.104933] R10: ffffa82542b13c78 R11: 0000000000000000 R12: 000000000000000b
[164232.104933] R13: 0000000000040dc0 R14: 00000000ffffffff R15: 0000000000000000
[164232.104934] FS:  00007665b830eb80(0000) GS:ffff8a5e2f680000(0000) knlGS:0000000000000000
[164232.104935] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[164232.104935] CR2: 00005b052147c000 CR3: 000000010e182003 CR4: 0000000000f70ef0
[164232.104936] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[164232.104936] DR3: 0000000000000000 DR6: 00000000ffff07f0 DR7: 0000000000000400
[164232.104937] PKRU: 55555554
[164232.104937] Call Trace:
[164232.104938]  <TASK>
[164232.104941]  ? show_regs+0x6c/0x80
[164232.104944]  ? __warn+0x88/0x140
[164232.104945]  ? __alloc_pages_noprof+0x338/0x350
[164232.104946]  ? report_bug+0x182/0x1b0
[164232.104949]  ? handle_bug+0x51/0xa0
[164232.104951]  ? exc_invalid_op+0x18/0x80
[164232.104952]  ? asm_exc_invalid_op+0x1b/0x20
[164232.104955]  ? cvs_ctrl_data_pre_store+0xe6/0x310 [intel_cvs]
[164232.104958]  ? __alloc_pages_noprof+0x338/0x350
[164232.104959]  ___kmalloc_large_node+0x70/0x130
[164232.104961]  __kmalloc_large_node_noprof+0x22/0xc0
[164232.104962]  __kmalloc_node_track_caller_noprof+0x39e/0x4e0
[164232.104963]  ? cvs_ctrl_data_pre_store+0xe6/0x310 [intel_cvs]
[164232.104964]  devm_kmalloc+0x50/0x110
[164232.104967]  ? devm_kmalloc+0x50/0x110
[164232.104968]  cvs_ctrl_data_pre_store+0xe6/0x310 [intel_cvs]
[164232.104969]  dev_attr_store+0x14/0x40
[164232.104971]  sysfs_kf_write+0x3b/0x60
[164232.104973]  kernfs_fop_write_iter+0x14c/0x1e0
[164232.104974]  vfs_write+0x298/0x490
[164232.104976]  ksys_write+0x73/0x100
[164232.104977]  __x64_sys_write+0x19/0x30
[164232.104978]  x64_sys_call+0x7e/0x25f0
[164232.104980]  do_syscall_64+0x7e/0x170
[164232.104981]  ? __x64_sys_poll+0xc7/0x150
[164232.104982]  ? syscall_exit_to_user_mode+0x4e/0x250
[164232.104983]  ? do_syscall_64+0x8a/0x170
[164232.104984]  ? syscall_exit_to_user_mode+0x4e/0x250
[164232.104985]  ? do_syscall_64+0x8a/0x170
[164232.104985]  ? do_syscall_64+0x8a/0x170
[164232.104986]  ? do_syscall_64+0x8a/0x170
[164232.104986]  ? do_syscall_64+0x8a/0x170
[164232.104987]  entry_SYSCALL_64_after_hwframe+0x76/0x7e
[164232.104988] RIP: 0033:0x7665b9f1c5ad
[164232.104989] Code: e5 48 83 ec 20 48 89 55 e8 48 89 75 f0 89 7d f8 e8 b8 bf f7 ff 48 8b 55 e8 48 8b 75 f0 41 89 c0 8b 7d f8 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 33 44 89 c7 48 89 45 f8 e8 0f c0 f7 ff 48 8b
[164232.104990] RSP: 002b:00007ffc9d0e1f80 EFLAGS: 00000293 ORIG_RAX: 0000000000000001
[164232.104991] RAX: ffffffffffffffda RBX: 00005b05214080e0 RCX: 00007665b9f1c5ad
[164232.104991] RDX: 0000000000000010 RSI: 00005b052140af70 RDI: 0000000000000014
[164232.104992] RBP: 00007ffc9d0e1fa0 R08: 0000000000000000 R09: 00007ffc9d0e2340
[164232.104992] R10: 0000000000000010 R11: 0000000000000293 R12: 00005b05213679f0
[164232.104993] R13: 0000000000000010 R14: 00005b050c4a8030 R15: 00007665bac18000
[164232.104994]  </TASK>
[164232.104994] ---[ end trace 0000000000000000 ]---
[164232.104995] Intel CVS driver i2c-INTC10DE:00: cvs_ctrl_data_pre_store:No memory for fw_buffer
[164249.084490] sda: detected capacity change from 7866368 to 0
[164340.554564] Intel CVS driver i2c-INTC10DE:00: cvs_i2c_remove
[164347.534491] Intel CVS driver i2c-INTC10DE:00: cvs_i2c_probe with i2c_client:00000000bb2b4ecf
[164347.538269] Intel CVS driver i2c-INTC10DE:00: find_oem_prod_id: ACPI method OPID not found
[164347.538275] Intel CVS driver i2c-INTC10DE:00: find_shared_i2c: ACPI method IICS returned:0x0
[164347.742024] Intel CVS driver i2c-INTC10DE:00: cvs_i2c_probe:Transfer of ownership success
[164347.750492] Intel CVS driver i2c-INTC10DE:00: cvs_get_device_cap:Device protocol is 1.0
[164353.019295] Intel CVS driver i2c-INTC10DE:00: cvs_ctrl_data_pre_show:Device fw version is 1.19.0.0
[164353.025741] Intel CVS driver i2c-INTC10DE:00: cvs_ctrl_data_pre_store:No memory for fw_buffer
[164475.626119] Intel CVS driver i2c-INTC10DE:00: cvs_ctrl_data_pre_show:Device fw version is 1.19.0.0
[164475.632262] Intel CVS driver i2c-INTC10DE:00: cvs_ctrl_data_pre_store:No memory for fw_buffer

...which is unfortunately less progress than Synaptics. I then reproduced it on the same hardware with a fresh Fedora 41 install (with all updates) with the latest usbio and vision-drivers installed.

Turning on kernel debugging I see:

Intel CVS driver i2c-INTC10DE:00: cvs_ctrl_data_pre_store:Calculated fw_bin size:61bd00 bytes

This then fails in the devm_kzalloc() call -- returning NULL.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions