This is a note to let you know that I've just added the patch titled Revert "mwifiex: fix sleep in atomic context bugs caused by dev_coredumpv" to the 5.15-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: revert-mwifiex-fix-sleep-in-atomic-context-bugs-caused-by-dev_coredumpv.patch and it can be found in the queue-5.15 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From 5f8954e099b8ae96e7de1bb95950e00c85bedd40 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon, 27 Jun 2022 16:35:59 +0200 Subject: Revert "mwifiex: fix sleep in atomic context bugs caused by dev_coredumpv" From: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5f8954e099b8ae96e7de1bb95950e00c85bedd40 upstream. This reverts commit a52ed4866d2b90dd5e4ae9dabd453f3ed8fa3cbc as it causes build problems in linux-next. It needs to be reintroduced in a way that can allow the api to evolve and not require a "flag day" to catch all users. Link: https://lore.kernel.org/r/20220623160723.7a44b573@xxxxxxxxxxxxxxxx Cc: Duoming Zhou <duoming@xxxxxxxxxx> Cc: Brian Norris <briannorris@xxxxxxxxxxxx> Cc: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/net/wireless/marvell/mwifiex/init.c | 9 ++++----- drivers/net/wireless/marvell/mwifiex/main.h | 3 +-- drivers/net/wireless/marvell/mwifiex/sta_event.c | 6 +++--- 3 files changed, 8 insertions(+), 10 deletions(-) --- a/drivers/net/wireless/marvell/mwifiex/init.c +++ b/drivers/net/wireless/marvell/mwifiex/init.c @@ -63,10 +63,9 @@ static void wakeup_timer_fn(struct timer adapter->if_ops.card_reset(adapter); } -static void fw_dump_work(struct work_struct *work) +static void fw_dump_timer_fn(struct timer_list *t) { - struct mwifiex_adapter *adapter = - container_of(work, struct mwifiex_adapter, devdump_work.work); + struct mwifiex_adapter *adapter = from_timer(adapter, t, devdump_timer); mwifiex_upload_device_dump(adapter); } @@ -322,7 +321,7 @@ static void mwifiex_init_adapter(struct adapter->active_scan_triggered = false; timer_setup(&adapter->wakeup_timer, wakeup_timer_fn, 0); adapter->devdump_len = 0; - INIT_DELAYED_WORK(&adapter->devdump_work, fw_dump_work); + timer_setup(&adapter->devdump_timer, fw_dump_timer_fn, 0); } /* @@ -401,7 +400,7 @@ static void mwifiex_adapter_cleanup(struct mwifiex_adapter *adapter) { del_timer(&adapter->wakeup_timer); - cancel_delayed_work_sync(&adapter->devdump_work); + del_timer_sync(&adapter->devdump_timer); mwifiex_cancel_all_pending_cmd(adapter); wake_up_interruptible(&adapter->cmd_wait_q.wait); wake_up_interruptible(&adapter->hs_activate_wait_q); --- a/drivers/net/wireless/marvell/mwifiex/main.h +++ b/drivers/net/wireless/marvell/mwifiex/main.h @@ -49,7 +49,6 @@ #include <linux/pm_runtime.h> #include <linux/slab.h> #include <linux/of_irq.h> -#include <linux/workqueue.h> #include "decl.h" #include "ioctl.h" @@ -1054,7 +1053,7 @@ struct mwifiex_adapter { /* Device dump data/length */ void *devdump_data; int devdump_len; - struct delayed_work devdump_work; + struct timer_list devdump_timer; bool ignore_btcoex_events; }; --- a/drivers/net/wireless/marvell/mwifiex/sta_event.c +++ b/drivers/net/wireless/marvell/mwifiex/sta_event.c @@ -623,8 +623,8 @@ mwifiex_fw_dump_info_event(struct mwifie * transmission event get lost, in this cornel case, * user would still get partial of the dump. */ - schedule_delayed_work(&adapter->devdump_work, - msecs_to_jiffies(MWIFIEX_TIMER_10S)); + mod_timer(&adapter->devdump_timer, + jiffies + msecs_to_jiffies(MWIFIEX_TIMER_10S)); } /* Overflow check */ @@ -643,7 +643,7 @@ mwifiex_fw_dump_info_event(struct mwifie return; upload_dump: - cancel_delayed_work_sync(&adapter->devdump_work); + del_timer_sync(&adapter->devdump_timer); mwifiex_upload_device_dump(adapter); } Patches currently in stable-queue which might be from gregkh@xxxxxxxxxxxxxxxxxxx are queue-5.15/xen-blkback-fix-persistent-grants-negotiation.patch queue-5.15/xen-blkfront-apply-feature_persistent-parameter-when-connect.patch queue-5.15/scsi-qla2xxx-fix-discovery-issues-in-fc-al-topology.patch queue-5.15/alsa-hda-conexant-add-quirk-for-lenovo-20149-notebook-model.patch queue-5.15/crypto-lib-blake2s-reduce-stack-frame-usage-in-self-test.patch queue-5.15/md-raid10-fix-kasan-warning.patch queue-5.15/x86-kprobes-update-kcb-status-flag-after-singlestepping.patch queue-5.15/tty-n_gsm-fix-tty-registration-before-control-channe.patch queue-5.15/xen-blkback-apply-feature_persistent-parameter-when-connect.patch queue-5.15/kvm-x86-tag-kvm_mmu_x86_module_init-with-__init.patch queue-5.15/drm-hyperv-drm-include-framebuffer-and-edid-headers.patch queue-5.15/netfilter-nf_tables-do-not-allow-chain_id-to-refer-to-another-table.patch queue-5.15/soundwire-qcom-check-device-status-before-reading-devid.patch queue-5.15/usb-dwc3-gadget-refactor-dwc3_repare_one_trb.patch queue-5.15/mac80211-fix-a-memory-leak-where-sta_info-is-not-freed.patch queue-5.15/pnfs-flexfiles-report-rdma-connection-errors-to-the-server.patch queue-5.15/ftrace-x86-add-back-ftrace_expected-assignment.patch queue-5.15/scsi-qla2xxx-fix-erroneous-mailbox-timeout-after-pci-error-injection.patch queue-5.15/risc-v-add-modules-to-virtual-kernel-memory-layout-dump.patch queue-5.15/mips-cpuinfo-fix-a-warning-for-config_cpumask_offstack.patch queue-5.15/risc-v-kexec-fixup-use-of-smp_processor_id-in-preemptible-context.patch queue-5.15/x86-bugs-enable-stibp-for-ibpb-mitigated-retbleed.patch queue-5.15/serial-8250-fold-endrun-device-support-into-oxsemi-t.patch queue-5.15/netfilter-nf_tables-fix-null-deref-due-to-zeroed-list-head.patch queue-5.15/tty-n_gsm-fix-wrong-t1-retry-count-handling.patch queue-5.15/kvm-nvmx-let-userspace-set-nvmx-msr-to-any-_host_-supported-value.patch queue-5.15/netfilter-nf_tables-do-not-allow-set_id-to-refer-to-another-table.patch queue-5.15/usb-serial-fix-tty-port-initialized-comments.patch queue-5.15/risc-v-fixup-schedule-out-issue-in-machine_crash_shutdown.patch queue-5.15/posix-cpu-timers-cleanup-cpu-timers-before-freeing-them-during-exec.patch queue-5.15/misc-rtsx-fix-an-error-handling-path-in-rtsx_pci_pro.patch queue-5.15/intel_th-pci-add-raptor-lake-s-cpu-support.patch queue-5.15/scsi-qla2xxx-fix-incorrect-display-of-max-frame-size.patch queue-5.15/tty-n_gsm-fix-missing-corner-cases-in-gsmld_poll.patch queue-5.15/hid-wacom-don-t-register-pad_input-for-touch-switch.patch queue-5.15/iio-light-isl29028-fix-the-warning-in-isl29028_remove.patch queue-5.15/tty-vt-initialize-unicode-screen-buffer.patch queue-5.15/mwifiex-fix-sleep-in-atomic-context-bugs-caused-by-d.patch queue-5.15/kvm-nvmx-always-enable-tsc-scaling-for-l2-when-it-was-enabled-for-l1.patch queue-5.15/net-usb-make-usb_rtl8153_ecm-non-user-configurable.patch queue-5.15/wifi-mac80211_hwsim-use-32-bit-skb-cookie.patch queue-5.15/drm-nouveau-acpi-don-t-print-error-when-we-get-einprogress-from-pm_runtime.patch queue-5.15/scsi-qla2xxx-fix-crash-due-to-stale-srb-access-around-i-o-timeouts.patch queue-5.15/kvm-x86-do-not-report-preemption-if-the-steal-time-cache-is-stale.patch queue-5.15/alsa-hda-realtek-add-quirk-for-clevo-nv45pz.patch queue-5.15/fbcon-fix-accelerated-fbdev-scrolling-while-logo-is-still-shown.patch queue-5.15/coresight-clear-the-connection-field-properly.patch queue-5.15/epoll-autoremove-wakers-even-more-aggressively.patch queue-5.15/pm-domains-ensure-genpd_debugfs_dir-exists-before-re.patch queue-5.15/serial-mvebu-uart-uart2-error-bits-clearing.patch queue-5.15/driver-core-fix-potential-deadlock-in-__driver_attac.patch queue-5.15/kvm-x86-set-error-code-to-segment-selector-on-lldt-ltr-non-canonical-gp.patch queue-5.15/add-barriers-to-buffer_uptodate-and-set_buffer_uptodate.patch queue-5.15/revert-s390-smp-enforce-lowcore-protection-on-cpu-restart.patch queue-5.15/netfilter-xtables-bring-spdx-identifier-back.patch queue-5.15/kvm-nvmx-inject-ud-if-vmxon-is-attempted-with-incompatible-cr0-cr4.patch queue-5.15/tcp-fix-over-estimation-in-sk_forced_mem_schedule.patch queue-5.15/arm64-dts-uniphier-fix-usb-interrupts-for-pxs3-soc.patch queue-5.15/arm64-kexec_file-use-more-system-keyrings-to-verify-kernel-image-signature.patch queue-5.15/usb-gadget-fix-use-after-free-read-in-usb_udc_uevent.patch queue-5.15/fs-add-missing-umask-strip-in-vfs_tmpfile.patch queue-5.15/wifi-mac80211_hwsim-add-back-erroneously-removed-cast.patch queue-5.15/tty-n_gsm-fix-wrong-queuing-behavior-in-gsm_dlci_dat.patch queue-5.15/kvm-svm-don-t-bug-if-userspace-injects-an-interrupt-with-gif-0.patch queue-5.15/ia64-processor-fix-wincompatible-pointer-types-in-ia64_get_irr.patch queue-5.15/kvm-nvmx-snapshot-pre-vm-enter-bndcfgs-for-nested_run_pending-case.patch queue-5.15/kvm-x86-split-kvm_is_valid_cr4-and-export-only-the-non-vendor-bits.patch queue-5.15/mtd-rawnand-arasan-update-nand-bus-clock-instead-of-system-clock.patch queue-5.15/serial-8250-export-icr-access-helpers-for-internal-u.patch queue-5.15/alsa-bcd2000-fix-a-uaf-bug-on-the-error-path-of-probing.patch queue-5.15/serial-8250_pci-refactor-the-loop-in-pci_ite887x_ini.patch queue-5.15/arm-dts-uniphier-fix-usb-interrupts-for-pxs2-soc.patch queue-5.15/tty-n_gsm-fix-race-condition-in-gsmld_write.patch queue-5.15/x86-olpc-fix-logical-not-is-only-applied-to-the-left-hand-side.patch queue-5.15/wifi-mac80211_hwsim-fix-race-condition-in-pending-packet.patch queue-5.15/ksmbd-fix-memory-leak-in-smb2_handle_negotiate.patch queue-5.15/parisc-fix-device-names-in-proc-iomem.patch queue-5.15/md-raid-destroy-the-bitmap-after-destroying-the-thread.patch queue-5.15/tty-n_gsm-delete-gsmtty-open-sabm-frame-when-config-.patch queue-5.15/intel_th-pci-add-meteor-lake-p-support.patch queue-5.15/alsa-hda-realtek-add-a-quirk-for-hp-omen-15-8786-mute-led.patch queue-5.15/smb3-fix-lease-break-timeout-when-multiple-deferred-close-handles-for-the-same-file.patch queue-5.15/scsi-ufs-core-correct-ufshcd_shutdown-flow.patch queue-5.15/tracing-use-a-struct-alignof-to-determine-trace-event-field-alignment.patch queue-5.15/fbcon-fix-boundary-checks-for-fbcon-vc-n1-n2-parameters.patch queue-5.15/parisc-drop-pa_swapper_pg_lock-spinlock.patch queue-5.15/serial-8250_fsl-don-t-report-fe-pe-and-oe-twice.patch queue-5.15/serial-8250-dma-allow-driver-operations-before-start.patch queue-5.15/usb-hcd-fix-urb-giveback-issue-in-tasklet-function.patch queue-5.15/usb-dwc3-core-deprecate-gctl.coresoftreset.patch queue-5.15/alsa-hda-realtek-add-quirk-for-another-asus-k42jz-model.patch queue-5.15/scsi-sg-allow-waiting-for-commands-to-complete-on-removed-device.patch queue-5.15/mtd-rawnand-arasan-fix-clock-rate-in-nv-ddr.patch queue-5.15/risc-v-fixup-get-incorrect-user-mode-pc-for-kernel-mode-regs.patch queue-5.15/android-binder-stop-saving-a-pointer-to-the-vma.patch queue-5.15/tty-n_gsm-fix-user-open-not-possible-at-responder-un.patch queue-5.15/powerpc-powernv-avoid-crashing-if-rng-is-null.patch queue-5.15/input-gscps2-check-return-value-of-ioremap-in-gscps2_probe.patch queue-5.15/tty-n_gsm-fix-packet-re-transmission-without-open-co.patch queue-5.15/alsa-usb-audio-add-quirk-for-behringer-umc202hd.patch queue-5.15/drm-amdgpu-fix-check-in-fbdev-init.patch queue-5.15/ksmbd-fix-use-after-free-bug-in-smb2_tree_disconect.patch queue-5.15/usb-host-fix-refcount-leak-in-ehci_hcd_ppc_of_probe.patch queue-5.15/usb-gadget-tegra-xudc-fix-error-check-in-tegra_xudc_.patch queue-5.15/scsi-revert-scsi-qla2xxx-fix-disk-failure-to-rediscover.patch queue-5.15/thermal-sysfs-fix-cooling_device_stats_setup-error-code-path.patch queue-5.15/mbcache-add-functions-to-delete-entry-if-unused.patch queue-5.15/spmi-trace-fix-stack-out-of-bound-access-in-spmi-tracing-functions.patch queue-5.15/hid-hid-input-add-surface-go-battery-quirk.patch queue-5.15/usb-ohci-nxp-fix-refcount-leak-in-ohci_hcd_nxp_probe.patch queue-5.15/ksmbd-prevent-out-of-bound-read-for-smb2_tree_connnect.patch queue-5.15/revert-mwifiex-fix-sleep-in-atomic-context-bugs-caused-by-dev_coredumpv.patch queue-5.15/nfsd-eliminate-the-nfsd_file_break_-flags.patch queue-5.15/serial-8250_bcm7271-save-restore-rts-in-suspend-resu.patch queue-5.15/serial-8250-add-proper-clock-handling-for-oxsemi-pci.patch queue-5.15/dt-bindings-riscv-fix-sifive-l2-cache-s-cache-sets.patch queue-5.15/vfs-check-the-truncate-maximum-size-in-inode_newsize_ok.patch queue-5.15/ovl-drop-warn_on-dentry-is-null-in-ovl_encode_fh.patch queue-5.15/kvm-s390-pv-don-t-present-the-ecall-interrupt-twice.patch queue-5.15/tty-n_gsm-fix-missing-timer-to-handle-stalled-links.patch queue-5.15/drm-amdgpu-check-bo-s-requested-pinning-domains-against-its-preferred_domains.patch queue-5.15/kvm-x86-mark-tss-busy-during-ltr-emulation-_after_-all-fault-checks.patch queue-5.15/kvm-nvmx-account-for-kvm-reserved-cr4-bits-in-consistency-checks.patch queue-5.15/binder-fix-redefinition-of-seq_file-attributes.patch queue-5.15/mbcache-don-t-reclaim-used-entries.patch queue-5.15/alsa-hda-cirrus-support-for-imac-12-1-model.patch queue-5.15/parisc-io_pgetevents_time64-needs-compat-syscall-in-32-bit-compat-mode.patch queue-5.15/iio-fix-iio_format_avail_range-printing-for-none-iio_val_int.patch queue-5.15/tty-n_gsm-fix-non-flow-control-frames-during-mux-flo.patch queue-5.15/hid-wacom-only-report-rotation-for-art-pen.patch queue-5.15/nfsd-clean-up-the-show_nf_flags-macro.patch queue-5.15/usb-aspeed-vhub-fix-refcount-leak-bug-in-ast_vhub_in.patch queue-5.15/kvm-nvmx-snapshot-pre-vm-enter-debugctl-for-nested_run_pending-case.patch queue-5.15/usb-xhci-tegra-fix-error-check.patch queue-5.15/usb-gadget-udc-amd5536-depends-on-has_dma.patch queue-5.15/powerpc-ptdump-fix-display-of-rw-pages-on-fsl_book3e.patch queue-5.15/serial-8250_dw-store-lsr-into-lsr_saved_flags-in-dw8.patch queue-5.15/crypto-ccp-use-kzalloc-for-sev-ioctl-interfaces-to-prevent-kernel-memory-leak.patch queue-5.15/scsi-zfcp-fix-missing-auto-port-scan-and-thus-missing-target-ports.patch queue-5.15/powerpc-fix-eh-field-when-calling-lwarx-on-ppc32.patch queue-5.15/fuse-limit-nsec.patch queue-5.15/tty-n_gsm-fix-dm-command.patch queue-5.15/revert-pnfs-nfs3_set_ds_client-should-set-nfs_cs_noping.patch queue-5.15/drm-nouveau-fix-another-off-by-one-in-nvbios_addr.patch queue-5.15/intel_th-fix-a-resource-leak-in-an-error-handling-pa.patch queue-5.15/um-seed-rng-using-host-os-rng.patch queue-5.15/fuse-ioctl-translate-enosys.patch queue-5.15/parisc-check-the-return-value-of-ioremap-in-lba_driver_probe.patch queue-5.15/intel_th-pci-add-raptor-lake-s-pch-support.patch queue-5.15/serial-8250_pci-replace-dev_-by-pci_-macros.patch queue-5.15/scsi-qla2xxx-fix-excessive-i-o-error-messages-by-default.patch queue-5.15/scsi-qla2xxx-zero-undefined-mailbox-in-registers.patch queue-5.15/eeprom-idt_89hpesx-uninitialized-data-in-idt_dbgfs_c.patch queue-5.15/usb-typec-ucsi-acknowledge-the-get_error_status-command-completion.patch queue-5.15/tty-8250-add-support-for-brainboxes-px-cards.patch queue-5.15/tty-n_gsm-fix-resource-allocation-order-in-gsm_activ.patch queue-5.15/drm-shmem-helper-add-missing-vunmap-on-error.patch queue-5.15/__follow_mount_rcu-verify-that-mount_lock-remains-unchanged.patch queue-5.15/scsi-qla2xxx-fix-imbalance-vha-vref_count.patch queue-5.15/usb-dwc3-core-do-not-perform-gctl_core_softreset-dur.patch queue-5.15/drm-nouveau-kms-fix-failure-path-for-creating-dp-connectors.patch queue-5.15/scsi-qla2xxx-wind-down-adapter-after-pcie-error.patch queue-5.15/makefile-link-with-z-noexecstack-no-warn-rwx-segments.patch queue-5.15/um-remove-straying-parenthesis.patch queue-5.15/x86-link-vdso-and-boot-with-z-noexecstack-no-warn-rwx-segments.patch queue-5.15/scsi-qla2xxx-fix-losing-fcp-2-targets-during-port-perturbation-tests.patch queue-5.15/bpf-fix-kasan-use-after-free-read-in-compute_effective_progs.patch queue-5.15/media-pci-atomisp_cmd-fix-three-missing-checks-on-list-iterator.patch queue-5.15/usb-dwc3-qcom-fix-missing-optional-irq-warnings.patch queue-5.15/scsi-qla2xxx-fix-losing-target-when-it-reappears-during-delete.patch queue-5.15/scsi-qla2xxx-fix-losing-fcp-2-targets-on-long-port-disable-with-i-os.patch queue-5.15/drm-vc4-hdmi-disable-audio-if-dmas-property-is-present-but-empty.patch queue-5.15/kvm-x86-revalidate-steal-time-cache-if-msr-value-changes.patch queue-5.15/riscv-uprobe-fix-sr_spie-set-clear-handling.patch queue-5.15/usbnet-fix-linkwatch-use-after-free-on-disconnect.patch queue-5.15/usb-host-xhci-use-snprintf-in-xhci_decode_trb.patch queue-5.15/intel_th-msu-fix-vmalloced-buffers.patch queue-5.15/rtc-rx8025-fix-12-24-hour-mode-detection-on-rx-8035.patch queue-5.15/staging-rtl8192u-fix-sleep-in-atomic-context-bug-in-.patch queue-5.15/net_sched-cls_route-remove-from-list-when-handle-is-0.patch queue-5.15/scsi-qla2xxx-turn-off-multi-queue-for-8g-adapters.patch queue-5.15/lockd-detect-and-reject-lock-arguments-that-overflow.patch queue-5.15/riscv-set-default-pm_power_off-to-null.patch queue-5.15/drm-gem-properly-annotate-ww-context-on-drm_gem_lock_reservations-error.patch queue-5.15/intel_th-msu-sink-potential-dereference-of-null-poin.patch queue-5.15/alsa-hda-realtek-add-quirk-for-hp-spectre-x360-15-eb0xxx.patch queue-5.15/drm-nouveau-don-t-pm_runtime_put_sync-only-pm_runtime_put_autosuspend.patch queue-5.15/powerpc-fsl-pci-fix-class-code-of-pcie-root-port.patch queue-5.15/tty-serial-fsl_lpuart-correct-the-count-of-break-cha.patch queue-5.15/netfilter-nf_tables-do-not-allow-rule_id-to-refer-to-another-chain.patch queue-5.15/fix-short-copy-handling-in-copy_mc_pipe_to_iter.patch queue-5.15/btrfs-reject-log-replay-if-there-is-unsupported-ro-compat-flag.patch queue-5.15/usb-dwc3-gadget-fix-high-speed-multiplier-setting.patch queue-5.15/usb-cdns3-change-place-of-priv_ep-assignment-in-cdns.patch