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.10-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.10 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 @@ -622,8 +622,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 */ @@ -642,7 +642,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.10/xen-blkback-fix-persistent-grants-negotiation.patch queue-5.10/xen-blkfront-apply-feature_persistent-parameter-when-connect.patch queue-5.10/scsi-qla2xxx-fix-discovery-issues-in-fc-al-topology.patch queue-5.10/ext4-remove-ea-inode-entry-from-mbcache-on-inode-eviction.patch queue-5.10/alsa-hda-conexant-add-quirk-for-lenovo-20149-notebook-model.patch queue-5.10/md-raid10-fix-kasan-warning.patch queue-5.10/xen-blkback-apply-feature_persistent-parameter-when-connect.patch queue-5.10/kvm-x86-tag-kvm_mmu_x86_module_init-with-__init.patch queue-5.10/netfilter-nf_tables-do-not-allow-chain_id-to-refer-to-another-table.patch queue-5.10/usb-dwc3-gadget-refactor-dwc3_repare_one_trb.patch queue-5.10/mac80211-fix-a-memory-leak-where-sta_info-is-not-freed.patch queue-5.10/dm-raid-fix-address-sanitizer-warning-in-raid_status.patch queue-5.10/ext4-check-if-directory-block-is-within-i_size.patch queue-5.10/ftrace-x86-add-back-ftrace_expected-assignment.patch queue-5.10/dm-raid-fix-address-sanitizer-warning-in-raid_resume.patch queue-5.10/scsi-qla2xxx-fix-erroneous-mailbox-timeout-after-pci-error-injection.patch queue-5.10/mips-cpuinfo-fix-a-warning-for-config_cpumask_offstack.patch queue-5.10/x86-bugs-enable-stibp-for-ibpb-mitigated-retbleed.patch queue-5.10/serial-8250-fold-endrun-device-support-into-oxsemi-t.patch queue-5.10/mm-mremap-hold-the-rmap-lock-in-write-mode-when-moving-page-table-entries.patch queue-5.10/netfilter-nf_tables-fix-null-deref-due-to-zeroed-list-head.patch queue-5.10/kvm-x86-avoid-theoretical-null-pointer-dereference-in-kvm_irq_delivery_to_apic_fast.patch queue-5.10/tty-n_gsm-fix-wrong-t1-retry-count-handling.patch queue-5.10/ext4-correct-max_inline_xattr_value_size-computing.patch queue-5.10/ext4-update-s_overhead_clusters-in-the-superblock-during-an-on-line-resize.patch queue-5.10/kvm-nvmx-let-userspace-set-nvmx-msr-to-any-_host_-supported-value.patch queue-5.10/netfilter-nf_tables-do-not-allow-set_id-to-refer-to-another-table.patch queue-5.10/usb-serial-fix-tty-port-initialized-comments.patch queue-5.10/posix-cpu-timers-cleanup-cpu-timers-before-freeing-them-during-exec.patch queue-5.10/misc-rtsx-fix-an-error-handling-path-in-rtsx_pci_pro.patch queue-5.10/intel_th-pci-add-raptor-lake-s-cpu-support.patch queue-5.10/scsi-qla2xxx-fix-incorrect-display-of-max-frame-size.patch queue-5.10/tty-n_gsm-fix-missing-corner-cases-in-gsmld_poll.patch queue-5.10/kvm-x86-check-lapic_in_kernel-before-attempting-to-set-a-synic-irq.patch queue-5.10/hid-wacom-don-t-register-pad_input-for-touch-switch.patch queue-5.10/iio-light-isl29028-fix-the-warning-in-isl29028_remove.patch queue-5.10/tty-vt-initialize-unicode-screen-buffer.patch queue-5.10/mwifiex-fix-sleep-in-atomic-context-bugs-caused-by-d.patch queue-5.10/mm-add-kvrealloc.patch queue-5.10/wifi-mac80211_hwsim-use-32-bit-skb-cookie.patch queue-5.10/drm-nouveau-acpi-don-t-print-error-when-we-get-einprogress-from-pm_runtime.patch queue-5.10/alsa-hda-realtek-add-quirk-for-clevo-nv45pz.patch queue-5.10/fbcon-fix-accelerated-fbdev-scrolling-while-logo-is-still-shown.patch queue-5.10/coresight-clear-the-connection-field-properly.patch queue-5.10/epoll-autoremove-wakers-even-more-aggressively.patch queue-5.10/serial-mvebu-uart-uart2-error-bits-clearing.patch queue-5.10/driver-core-fix-potential-deadlock-in-__driver_attac.patch queue-5.10/kvm-x86-set-error-code-to-segment-selector-on-lldt-ltr-non-canonical-gp.patch queue-5.10/add-barriers-to-buffer_uptodate-and-set_buffer_uptodate.patch queue-5.10/netfilter-xtables-bring-spdx-identifier-back.patch queue-5.10/tcp-fix-over-estimation-in-sk_forced_mem_schedule.patch queue-5.10/arm64-dts-uniphier-fix-usb-interrupts-for-pxs3-soc.patch queue-5.10/arm64-kexec_file-use-more-system-keyrings-to-verify-kernel-image-signature.patch queue-5.10/usb-gadget-fix-use-after-free-read-in-usb_udc_uevent.patch queue-5.10/serial-8250-dissociate-4mhz-titan-ports-from-oxford-.patch queue-5.10/fs-add-missing-umask-strip-in-vfs_tmpfile.patch queue-5.10/wifi-mac80211_hwsim-add-back-erroneously-removed-cast.patch queue-5.10/tty-n_gsm-fix-wrong-queuing-behavior-in-gsm_dlci_dat.patch queue-5.10/kvm-svm-don-t-bug-if-userspace-injects-an-interrupt-with-gif-0.patch queue-5.10/ia64-processor-fix-wincompatible-pointer-types-in-ia64_get_irr.patch queue-5.10/kvm-nvmx-snapshot-pre-vm-enter-bndcfgs-for-nested_run_pending-case.patch queue-5.10/mtd-rawnand-arasan-update-nand-bus-clock-instead-of-system-clock.patch queue-5.10/serial-do-not-restore-interrupt-state-in-sysrq-helpe.patch queue-5.10/serial-8250-export-icr-access-helpers-for-internal-u.patch queue-5.10/alsa-bcd2000-fix-a-uaf-bug-on-the-error-path-of-probing.patch queue-5.10/serial-8250_pci-refactor-the-loop-in-pci_ite887x_ini.patch queue-5.10/arm-dts-uniphier-fix-usb-interrupts-for-pxs2-soc.patch queue-5.10/tty-n_gsm-fix-race-condition-in-gsmld_write.patch queue-5.10/x86-olpc-fix-logical-not-is-only-applied-to-the-left-hand-side.patch queue-5.10/wifi-mac80211_hwsim-fix-race-condition-in-pending-packet.patch queue-5.10/parisc-fix-device-names-in-proc-iomem.patch queue-5.10/ext4-fix-use-after-free-in-ext4_xattr_set_entry.patch queue-5.10/md-raid-destroy-the-bitmap-after-destroying-the-thread.patch queue-5.10/tty-n_gsm-delete-gsmtty-open-sabm-frame-when-config-.patch queue-5.10/intel_th-pci-add-meteor-lake-p-support.patch queue-5.10/alsa-hda-realtek-add-a-quirk-for-hp-omen-15-8786-mute-led.patch queue-5.10/tracing-use-a-struct-alignof-to-determine-trace-event-field-alignment.patch queue-5.10/fbcon-fix-boundary-checks-for-fbcon-vc-n1-n2-parameters.patch queue-5.10/serial-8250_fsl-don-t-report-fe-pe-and-oe-twice.patch queue-5.10/usb-hcd-fix-urb-giveback-issue-in-tasklet-function.patch queue-5.10/usb-dwc3-core-deprecate-gctl.coresoftreset.patch queue-5.10/ext4-make-sure-ext4_append-always-allocates-new-block.patch queue-5.10/alsa-hda-realtek-add-quirk-for-another-asus-k42jz-model.patch queue-5.10/scsi-sg-allow-waiting-for-commands-to-complete-on-removed-device.patch queue-5.10/tty-n_gsm-fix-user-open-not-possible-at-responder-un.patch queue-5.10/powerpc-powernv-avoid-crashing-if-rng-is-null.patch queue-5.10/xfs-only-set-iomap_f_shared-when-providing-a-srcmap-to-a-write.patch queue-5.10/xfs-fix-i_dontcache.patch queue-5.10/input-gscps2-check-return-value-of-ioremap-in-gscps2_probe.patch queue-5.10/tty-n_gsm-fix-packet-re-transmission-without-open-co.patch queue-5.10/usb-host-fix-refcount-leak-in-ehci_hcd_ppc_of_probe.patch queue-5.10/usb-gadget-tegra-xudc-fix-error-check-in-tegra_xudc_.patch queue-5.10/scsi-revert-scsi-qla2xxx-fix-disk-failure-to-rediscover.patch queue-5.10/thermal-sysfs-fix-cooling_device_stats_setup-error-code-path.patch queue-5.10/mbcache-add-functions-to-delete-entry-if-unused.patch queue-5.10/spmi-trace-fix-stack-out-of-bound-access-in-spmi-tracing-functions.patch queue-5.10/ext4-correct-the-misjudgment-in-ext4_iget_extra_inode.patch queue-5.10/usb-ohci-nxp-fix-refcount-leak-in-ohci_hcd_nxp_probe.patch queue-5.10/revert-mwifiex-fix-sleep-in-atomic-context-bugs-caused-by-dev_coredumpv.patch queue-5.10/vfs-check-the-truncate-maximum-size-in-inode_newsize_ok.patch queue-5.10/ovl-drop-warn_on-dentry-is-null-in-ovl_encode_fh.patch queue-5.10/kvm-s390-pv-don-t-present-the-ecall-interrupt-twice.patch queue-5.10/ext4-fix-warning-in-ext4_iomap_begin-as-race-between-bmap-and-write.patch queue-5.10/drm-amdgpu-check-bo-s-requested-pinning-domains-against-its-preferred_domains.patch queue-5.10/kvm-x86-mark-tss-busy-during-ltr-emulation-_after_-all-fault-checks.patch queue-5.10/tpm-eventlog-fix-section-mismatch-for-debug_section_mismatch.patch queue-5.10/mbcache-don-t-reclaim-used-entries.patch queue-5.10/alsa-hda-cirrus-support-for-imac-12-1-model.patch queue-5.10/ext4-add-ext4_inode_has_xattr_space-macro-in-xattr.h.patch queue-5.10/parisc-io_pgetevents_time64-needs-compat-syscall-in-32-bit-compat-mode.patch queue-5.10/tty-n_gsm-fix-non-flow-control-frames-during-mux-flo.patch queue-5.10/hid-wacom-only-report-rotation-for-art-pen.patch queue-5.10/usb-aspeed-vhub-fix-refcount-leak-bug-in-ast_vhub_in.patch queue-5.10/kvm-nvmx-snapshot-pre-vm-enter-debugctl-for-nested_run_pending-case.patch queue-5.10/usb-xhci-tegra-fix-error-check.patch queue-5.10/usb-gadget-udc-amd5536-depends-on-has_dma.patch queue-5.10/powerpc-ptdump-fix-display-of-rw-pages-on-fsl_book3e.patch queue-5.10/serial-8250_dw-store-lsr-into-lsr_saved_flags-in-dw8.patch queue-5.10/scsi-zfcp-fix-missing-auto-port-scan-and-thus-missing-target-ports.patch queue-5.10/ext4-fix-extent-status-tree-race-in-writeback-error-recovery-path.patch queue-5.10/lockdep-allow-tuning-tracing-capacity-constants.patch queue-5.10/fuse-limit-nsec.patch queue-5.10/tty-n_gsm-fix-dm-command.patch queue-5.10/revert-pnfs-nfs3_set_ds_client-should-set-nfs_cs_noping.patch queue-5.10/drm-nouveau-fix-another-off-by-one-in-nvbios_addr.patch queue-5.10/intel_th-fix-a-resource-leak-in-an-error-handling-pa.patch queue-5.10/parisc-check-the-return-value-of-ioremap-in-lba_driver_probe.patch queue-5.10/intel_th-pci-add-raptor-lake-s-pch-support.patch queue-5.10/serial-8250_pci-replace-dev_-by-pci_-macros.patch queue-5.10/scsi-qla2xxx-zero-undefined-mailbox-in-registers.patch queue-5.10/eeprom-idt_89hpesx-uninitialized-data-in-idt_dbgfs_c.patch queue-5.10/usb-typec-ucsi-acknowledge-the-get_error_status-command-completion.patch queue-5.10/kvm-add-infrastructure-and-macro-to-mark-vm-as-bugged.patch queue-5.10/__follow_mount_rcu-verify-that-mount_lock-remains-unchanged.patch queue-5.10/usb-dwc3-core-do-not-perform-gctl_core_softreset-dur.patch queue-5.10/makefile-link-with-z-noexecstack-no-warn-rwx-segments.patch queue-5.10/x86-link-vdso-and-boot-with-z-noexecstack-no-warn-rwx-segments.patch queue-5.10/scsi-qla2xxx-fix-losing-fcp-2-targets-during-port-perturbation-tests.patch queue-5.10/media-pci-atomisp_cmd-fix-three-missing-checks-on-list-iterator.patch queue-5.10/usb-dwc3-qcom-fix-missing-optional-irq-warnings.patch queue-5.10/scsi-qla2xxx-fix-losing-fcp-2-targets-on-long-port-disable-with-i-os.patch queue-5.10/drm-vc4-hdmi-disable-audio-if-dmas-property-is-present-but-empty.patch queue-5.10/usbnet-fix-linkwatch-use-after-free-on-disconnect.patch queue-5.10/usb-host-xhci-use-snprintf-in-xhci_decode_trb.patch queue-5.10/intel_th-msu-fix-vmalloced-buffers.patch queue-5.10/staging-rtl8192u-fix-sleep-in-atomic-context-bug-in-.patch queue-5.10/net_sched-cls_route-remove-from-list-when-handle-is-0.patch queue-5.10/scsi-qla2xxx-turn-off-multi-queue-for-8g-adapters.patch queue-5.10/riscv-set-default-pm_power_off-to-null.patch queue-5.10/drm-gem-properly-annotate-ww-context-on-drm_gem_lock_reservations-error.patch queue-5.10/intel_th-msu-sink-potential-dereference-of-null-poin.patch queue-5.10/alsa-hda-realtek-add-quirk-for-hp-spectre-x360-15-eb0xxx.patch queue-5.10/drm-nouveau-don-t-pm_runtime_put_sync-only-pm_runtime_put_autosuspend.patch queue-5.10/powerpc-fsl-pci-fix-class-code-of-pcie-root-port.patch queue-5.10/netfilter-nf_tables-do-not-allow-rule_id-to-refer-to-another-chain.patch queue-5.10/usb-dwc3-gadget-fix-high-speed-multiplier-setting.patch queue-5.10/usb-cdns3-change-place-of-priv_ep-assignment-in-cdns.patch queue-5.10/keys-asymmetric-enforce-sm2-signature-use-pkey-algo.patch queue-5.10/serial-8250-correct-the-clock-for-oxsemi-pcie-device.patch