8bca38b4d8
4752 Commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
|
41dc53c83f | Merge "Revert "block: Fix use-after-free while iterating over requests"" | ||
|
30ed308e3c |
Revert "block: Fix use-after-free while iterating over requests"
commit
|
||
|
9e5e30aa0f |
block: Fix the setting of same_page variable
The same_page variable inside the function __bio_try_merge_page()
must be set to true if the merge happened within the same page.
As some the callers of this function take action based on that.
Change-Id: Iae4a7170aeaffcc0b9c424368c7d8127d51a177b
Fixes:
|
||
|
c6bb501a23 | Merge "block: Fix use-after-free while iterating over requests" | ||
|
1bbb4bd9c3 |
block: disable multi-page bvec
The multi-page bvec is resulting in the performance regression on UFS devices in sequential read test for upto ~9%. Hence, disable it as a workaround. Change-Id: I1dc3f5e710fd1c9a76f32e3144a0081df755ea26 Signed-off-by: Sahitya Tummala <stummala@codeaurora.org> |
||
|
10ee57c29e |
block: Fix use-after-free while iterating over requests
During request completion and if there are no more references, update the free request with NULL. This could avoid accessing the already free request from other contexts while iterating over the requests. Change-Id: If3593d8397f510821e1d2ca89f5e0af9d19d57e1 Signed-off-by: Pradeep P V K <ppvk@codeaurora.org> |
||
|
1154754b7b |
block: fix get_max_io_size()
A previous commit aligning splits to physical block sizes inadvertently modified one return case such that that it now returns 0 length splits when the number of sectors doesn't exceed the physical offset. This later hits a case of 0 in bio_split(). Restore the previous working behavior. Change-Id: I5d4b36862fb7f7202996bcaa2c4b7d71b49e6ba6 Fixes: |
||
|
166bbfd00d |
block: Fix use-after-free issue while accessing ioscheduler lock
Observes below crash while accessing (use-after-free) lock member of bfq data. context#1 context#2 process_one_work() kthread() blk_mq_run_work_fn() worker_thread() ->__blk_mq_run_hw_queue() process_one_work() ->blk_mq_sched_dispatch_requests() __blk_release_queue() ->blk_mq_do_dispatch_sched() ->__elevator_exit() ->blk_mq_exit_sched() ->exit_sched() ->kfree() ->bfq_dispatch_request() ->spin_unlock_irq(&bfqd->lock) This is because of the kblockd delayed work that might got scheduled around blk_release_queue() and accessed use-after-free member of bfq_data. 240.212359: <2> Unable to handle kernel paging request at virtual address ffffffee2e33ad70 ... 240.212637: <2> Workqueue: kblockd blk_mq_run_work_fn 240.212649: <2> pstate: 00c00085 (nzcv daIf +PAN +UAO) 240.212666: <2> pc : queued_spin_lock_slowpath+0x10c/0x2e0 240.212677: <2> lr : queued_spin_lock_slowpath+0x84/0x2e0 ... Call trace: 240.212865: <2> queued_spin_lock_slowpath+0x10c/0x2e0 240.212876: <2> do_raw_spin_lock+0xf0/0xf4 240.212890: <2> _raw_spin_lock_irq+0x74/0x94 240.212906: <2> bfq_dispatch_request+0x4c/0xd60 240.212918: <2> blk_mq_do_dispatch_sched+0xe0/0x1f0 240.212927: <2> blk_mq_sched_dispatch_requests+0x130/0x194 240.212940: <2> __blk_mq_run_hw_queue+0x100/0x158 240.212950: <2> blk_mq_run_work_fn+0x1c/0x28 240.212963: <2> process_one_work+0x280/0x460 240.212973: <2> worker_thread+0x27c/0x4dc 240.212986: <2> kthread+0x160/0x170 Fix this by cancelling the delayed work if any before elevator exits. Change-Id: If015576983e328aa726bac90a7a8de824d6532f0 Signed-off-by: Pradeep P V K <ppvk@codeaurora.org> |
||
|
125c29efb1 |
Merge android11-5.4.60 (8ae87ad ) into msm-5.4
* refs/heads/tmp-8ae87ad: Linux 5.4.60 drm/amd/display: dchubbub p-state warning during surface planes switch drm/amdgpu: Fix bug where DPM is not enabled after hibernate and resume drm: fix drm_dp_mst_port refcount leaks in drm_dp_mst_allocate_vcpi drm: Added orientation quirk for ASUS tablet model T103HAF drm/panfrost: Use kvfree() to free bo->sgts arm64: dts: marvell: espressobin: add ethernet alias khugepaged: retract_page_tables() remember to test exit sh: landisk: Add missing initialization of sh_io_port_base perf/x86/rapl: Fix missing psys sysfs attributes tools build feature: Quote CC and CXX for their arguments perf bench mem: Always memset source before memcpy ALSA: echoaudio: Fix potential Oops in snd_echo_resume() crypto: algif_aead - fix uninitialized ctx->init mfd: dln2: Run event handler loop under spinlock i2c: iproc: fix race between client unreg and isr test_kmod: avoid potential double free in trigger_config_run_type() fs/ufs: avoid potential u32 multiplication overflow fs/minix: remove expected error message in block_to_path() fs/minix: fix block limit check for V1 filesystems fs/minix: set s_maxbytes correctly nfs: Fix getxattr kernel panic and memory overflow net: qcom/emac: add missed clk_disable_unprepare in error path of emac_clks_phase1_init drm/vmwgfx: Fix two list_for_each loop exit tests drm/vmwgfx: Use correct vmw_legacy_display_unit pointer recordmcount: Fix build failure on non arm64 Input: sentelic - fix error return when fsp_reg_write fails x86/tsr: Fix tsc frequency enumeration bug on Lightning Mountain SoC md-cluster: Fix potential error pointer dereference in resize_bitmaps() watchdog: initialize device before misc_register nfs: nfs_file_write() should check for writeback errors scsi: lpfc: nvmet: Avoid hang / use-after-free again when destroying targetport openrisc: Fix oops caused when dumping stack libnvdimm/security: ensure sysfs poll thread woke up and fetch updated attr libnvdimm/security: fix a typo clk: bcm2835: Do not use prediv with bcm2711's PLLs ubifs: Fix wrong orphan node deletion in ubifs_jnl_update|rename nfs: ensure correct writeback errors are returned on close() i2c: rcar: avoid race when unregistering slave tools build feature: Use CC and CXX from parent pwm: bcm-iproc: handle clk_get_rate() return clk: clk-atlas6: fix return value check in atlas6_clk_init() clk: qcom: gcc-sdm660: Fix up gcc_mss_mnoc_bimc_axi_clk i2c: rcar: slave: only send STOP event when we have been addressed iommu/vt-d: Enforce PASID devTLB field mask clk: qcom: clk-alpha-pll: remove unused/incorrect PLL_CAL_VAL clk: qcom: gcc: fix sm8150 GPU and NPU clocks iommu/omap: Check for failure of a call to omap_iommu_dump_ctx selftests/powerpc: ptrace-pkey: Don't update expected UAMOR value selftests/powerpc: ptrace-pkey: Update the test to mark an invalid pkey correctly selftests/powerpc: ptrace-pkey: Rename variables to make it easier to follow code clk: actions: Fix h_clk for Actions S500 SoC dm rq: don't call blk_mq_queue_stopped() in dm_stop_queue() gpu: ipu-v3: image-convert: Wait for all EOFs before completing a tile gpu: ipu-v3: image-convert: Combine rotate/no-rotate irq handlers crypto: caam - Remove broken arc4 support mmc: renesas_sdhi_internal_dmac: clean up the code for dma complete RDMA/counter: Allow manually bind QPs with different pids to same counter RDMA/counter: Only bind user QPs in auto mode devres: keep both device name and resource name in pretty name crypto: af_alg - Fix regression on empty requests USB: serial: ftdi_sio: clean up receive processing USB: serial: ftdi_sio: make process-packet buffer unsigned selftests/bpf: test_progs use another shell exit on non-actions selftests/bpf: Test_progs indicate to shell on non-actions IB/uverbs: Set IOVA on IB MR in uverbs layer media: rockchip: rga: Only set output CSC mode for RGB input media: rockchip: rga: Introduce color fmt macros and refactor CSC mode logic RDMA/ipoib: Fix ABBA deadlock with ipoib_reap_ah() RDMA/ipoib: Return void from ipoib_ib_dev_stop() platform/chrome: cros_ec_ishtp: Fix a double-unlock issue mtd: rawnand: fsl_upm: Remove unused mtd var octeontx2-af: change (struct qmem)->entry_sz from u8 to u16 mfd: arizona: Ensure 32k clock is put on driver unbind and error crypto: algif_aead - Only wake up when ctx->more is zero pinctrl: ingenic: Properly detect GPIO direction when configured for IRQ orangefs: get rid of knob code... drm/imx: imx-ldb: Disable both channels for split mode in enc->disable() remoteproc: qcom_q6v5_mss: Validate modem blob firmware size before load remoteproc: qcom_q6v5_mss: Validate MBA firmware size before load remoteproc: qcom: q6v5: Update running state before requesting stop perf intel-pt: Fix duplicate branch after CBR perf intel-pt: Fix FUP packet state module: Correctly truncate sysfs sections output pseries: Fix 64 bit logical memory block panic ceph: handle zero-length feature mask in session messages ceph: set sec_context xattr on symlink creation watchdog: f71808e_wdt: clear watchdog timeout occurred flag watchdog: f71808e_wdt: remove use of wrong watchdog_info option watchdog: f71808e_wdt: indicate WDIOF_CARDRESET support in watchdog_info.options tracing: Move pipe reference to trace array instead of current_tracer tracing: Use trace_sched_process_free() instead of exit() for pid tracing tracing/hwlat: Honor the tracing_cpumask kprobes: Fix NULL pointer dereference at kprobe_ftrace_handler ftrace: Setup correct FTRACE_FL_REGS flags for module mm/memory_hotplug: fix unpaired mem_hotplug_begin/done mm/page_counter.c: fix protection usage propagation ocfs2: change slot number type s16 to u16 khugepaged: collapse_pte_mapped_thp() protect the pmd lock khugepaged: collapse_pte_mapped_thp() flush the right range ext2: fix missing percpu_counter_inc MIPS: qi_lb60: Fix routing to audio amplifier MIPS: CPU#0 is not hotpluggable driver core: Avoid binding drivers to dead devices mac80211: fix misplaced while instead of if bcache: fix overflow in offset_to_stripe() bcache: allocate meta data pages as compound pages md/raid5: Fix Force reconstruct-write io stuck in degraded raid5 net/compat: Add missing sock updates for SCM_RIGHTS net: stmmac: dwmac1000: provide multicast filter fallback net: ethernet: stmmac: Disable hardware multicast filter media: vsp1: dl: Fix NULL pointer dereference on unbind pinctrl: ingenic: Enhance support for IRQ_TYPE_EDGE_BOTH powerpc: Fix circular dependency between percpu.h and mmu.h powerpc: Allow 4224 bytes of stack expansion for the signal frame powerpc/ptdump: Fix build failure in hashpagetable.c cifs: Fix leak when handling lease break for cached root fid xtensa: fix xtensa_pmu_setup prototype xtensa: add missing exclusive access state management iio: dac: ad5592r: fix unbalanced mutex unlocks in ad5592r_read_raw() dt-bindings: iio: io-channel-mux: Fix compatible string in example code arm64: perf: Correct the event index in sysfs btrfs: fix return value mixup in btrfs_get_extent btrfs: make sure SB_I_VERSION doesn't get unset by remount btrfs: fix memory leaks after failure to lookup checksums during inode logging btrfs: inode: fix NULL pointer dereference if inode doesn't need compression btrfs: only search for left_info if there is no right_info in try_merge_free_space btrfs: fix messages after changing compression level by remount btrfs: fix race between page release and a fast fsync btrfs: don't WARN if we abort a transaction with EROFS btrfs: sysfs: use NOFS for device creation btrfs: avoid possible signal interruption of btrfs_drop_snapshot() on relocation tree btrfs: add missing check for nocow and compression inode flags btrfs: relocation: review the call sites which can be interrupted by signal btrfs: move the chunk_mutex in btrfs_read_chunk_tree btrfs: open device without device_list_mutex btrfs: don't traverse into the seed devices in show_devname btrfs: remove no longer needed use of log_writers for the log root tree btrfs: stop incremening log_batch for the log root tree when syncing log btrfs: ref-verify: fix memory leak in add_block_entry btrfs: don't allocate anonymous block device for user invisible roots btrfs: free anon block device right after subvolume deletion btrfs: allow use of global block reserve for balance item deletion PCI: qcom: Add support for tx term offset for rev 2.1.0 PCI: qcom: Define some PARF params needed for ipq8064 SoC PCI: Add device even if driver attach failed PCI: Mark AMD Navi10 GPU rev 0x00 ATS as broken PCI: hotplug: ACPI: Fix context refcounting in acpiphp_grab_context() genirq/PM: Always unlock IRQ descriptor in rearm_wake_irq() genirq/affinity: Make affinity setting if activated opt-in smb3: warn on confusing error scenario with sec=krb5 ANDROID: ABI: FPSIMD save/restore using vendor_hooks ANDROID: vendor_hooks: FPSIMD save/restore by using vendor_hooks ANDROID: futex: Add vendor hook for wait queue ANDROID: sched: add vendor hooks to handle scheduling priority ANDROID: rwsem: Add vendor hook to the rw-semaphore ANDROID: binder: Add vendor hook to the binder FROMLIST: ufs: introduce a callback to get info of command completion ANDROID: scsi: ufs: export ufshcd_wb_ctrl func ANDROID: GKI: enable some USB_NET_ config options ANDROID: sched: add restrict vendor hook to modify task placement policy in EAS BACKPORT: kthread: Do not preempt current task if it is going to call schedule() ANDROID: GKI: enable CONFIG_USB_ROLE_SWITCH ANDROID: ABI: Update ABI after UFS error recovery patches BACKPORT: FROMGIT: scsi: ufs: Properly release resources if a task is aborted successfully BACKPORT: FROMGIT: scsi: ufs: Fix a race condition between error handler and runtime PM ops FROMGIT: scsi: ufs: Move dumps in IRQ handler to error handler BACKPORT: FROMGIT: scsi: ufs: Recover HBA runtime PM error in error handler BACKPORT: FROMGIT: scsi: ufs: Fix concurrency of error handler and other error recovery paths BACKPORT: FROMGIT: scsi: ufs: Add some debug information to ufshcd_print_host_state() FROMGIT: scsi: ufs-qcom: Remove testbus dump in ufs_qcom_dump_dbg_regs FROMGIT: scsi: ufs: ufs-qcom: Fix race conditions caused by ufs_qcom_testbus_config() FROMGIT: scsi: ufs: Add checks before setting clk-gating states ANDROID: kbuild: don't preprocess module-lto.lds ANDROID: vendor_hooks: Add vendor hook to the net Revert "ALSA: usb-audio: work around streaming quirk for MacroSilicon MS2109" Linux 5.4.59 io_uring: Fix NULL pointer dereference in loop_rw_iter() s390/gmap: improve THP splitting s390/dasd: fix inability to use DASD with DIAG driver xen/gntdev: Fix dmabuf import with non-zero sgt offset xen/balloon: make the balloon wait interruptible xen/balloon: fix accounting in alloc_xenballooned_pages error path fs/minix: reject too-large maximum file size fs/minix: don't allow getting deleted inodes fs/minix: check return value of sb_getblk() bitfield.h: don't compile-time validate _val in FIELD_FIT crypto: cpt - don't sleep of CRYPTO_TFM_REQ_MAY_SLEEP was not specified crypto: ccp - Fix use of merged scatterlists crypto: qat - fix double free in qat_uclo_create_batch_init_list crypto: hisilicon - don't sleep of CRYPTO_TFM_REQ_MAY_SLEEP was not specified pstore: Fix linking when crypto API disabled tpm: Unify the mismatching TPM space buffer sizes ALSA: usb-audio: add quirk for Pioneer DDJ-RB irqdomain/treewide: Free firmware node after domain removal ARM: 8992/1: Fix unwind_frame for clang-built kernels parisc: mask out enable and reserved bits from sba imask parisc: Implement __smp_store_release and __smp_load_acquire barriers parisc: Do not use an ordered store in pa_tlb_lock() Revert "parisc: Revert "Release spinlocks using ordered store"" Revert "parisc: Use ldcw instruction for SMP spinlock release barrier" Revert "parisc: Drop LDCW barrier in CAS code when running UP" erofs: fix extended inode could cross boundary mtd: rawnand: qcom: avoid write to unavailable register spi: spidev: Align buffers for DMA include/asm-generic/vmlinux.lds.h: align ro_after_init cpufreq: dt: fix oops on armada37xx cpufreq: Fix locking issues with governors NFS: Don't return layout segments that are in use NFS: Don't move layouts to plh_return_segs list while in use io_uring: set ctx sq/cq entry count earlier drm/ttm/nouveau: don't call tt destroy callback on alloc failure. media: media-request: Fix crash if memory allocation fails 9p: Fix memory leak in v9fs_mount ALSA: usb-audio: work around streaming quirk for MacroSilicon MS2109 ALSA: usb-audio: fix overeager device match for MacroSilicon MS2109 ALSA: usb-audio: Creative USB X-Fi Pro SB1095 volume knob support ALSA: hda - fix the micmute led status for Lenovo ThinkCentre AIO USB: serial: cp210x: enable usb generic throttle/unthrottle USB: serial: cp210x: re-enable auto-RTS on open net: initialize fastreuse on inet_inherit_port net: refactor bind_bucket fastreuse into helper vmxnet3: use correct tcp hdr length when packet is encapsulated tcp: correct read of TFO keys on big endian systems net/tls: Fix kmap usage net: Set fput_needed iff FDPUT_FPUT is set net: phy: fix memory leak in device-create error path net/nfc/rawsock.c: add CAP_NET_RAW check. net: Fix potential memory leak in proto_register() drivers/net/wan/lapbether: Added needed_headroom and a skb->len check af_packet: TPACKET_V3: fix fill status rwlock imbalance crypto: aesni - add compatibility with IAS x86/fsgsbase/64: Fix NULL deref in 86_fsgsbase_read_task SUNRPC: Fix ("SUNRPC: Add "@len" parameter to gss_unwrap()") svcrdma: Fix page leak in svc_rdma_recv_read_chunk() pinctrl-single: fix pcs_parse_pinconf() return value ocfs2: fix unbalanced locking dlm: Fix kobject memleak net: thunderx: initialize VF's mailbox mutex before first usage fsl/fman: fix eth hash table allocation fsl/fman: check dereferencing null pointer fsl/fman: fix unreachable code fsl/fman: fix dereference null return value fsl/fman: use 32-bit unsigned integer net: spider_net: Fix the size used in a 'dma_free_coherent()' call liquidio: Fix wrong return value in cn23xx_get_pf_num() net: ethernet: aquantia: Fix wrong return value net/mlx5: Delete extra dump stack that gives nothing net/mlx5: DR, Change push vlan action sequence tools, bpftool: Fix wrong return value in do_dump() tools, build: Propagate build failures from tools/build/Makefile.build wl1251: fix always return 0 error rtw88: coex: only skip coex triggered by BT info rtw88: fix short GI capability based on current bandwidth rtw88: fix LDPC field for RA info ice: Graceful error handling in HW table calloc failure s390/qeth: don't process empty bridge port events ASoC: fsl_sai: Fix value of FSL_SAI_CR1_RFW_MASK ASoC: meson: axg-tdm-formatters: fix sclk inversion ASoC: meson: axg-tdmin: fix g12a skew ASoC: meson: axg-tdm-interface: fix link fmt setup selftests/powerpc: Fix online CPU selection cpufreq: ap806: fix cpufreq driver needs ap cpu clk PCI: Release IVRS table in AMD ACS quirk RDMA/netlink: Remove CAP_NET_RAW check when dump a raw QP selftests/powerpc: Fix CPU affinity for child process powerpc/boot: Fix CONFIG_PPC_MPC52XX references powerpc/32s: Fix CONFIG_BOOK3S_601 uses selftests/powerpc: Squash spurious errors due to device removal xfs: fix inode allocation block res calculation precedence net: dsa: rtl8366: Fix VLAN set-up net: dsa: rtl8366: Fix VLAN semantics Bluetooth: hci_serdev: Only unregister device if it was registered Bluetooth: hci_h5: Set HCI_UART_RESET_ON_INIT to correct flags power: supply: check if calc_soc succeeded in pm860x_init_battery Smack: prevent underflow in smk_set_cipso() Smack: fix another vsscanf out of bounds RDMA/core: Fix return error value in _ib_modify_qp() to negative PCI: cadence: Fix updating Vendor ID and Subsystem Vendor ID register macintosh/via-macii: Access autopoll_devs when inside lock net: dsa: mv88e6xxx: MV88E6097 does not support jumbo configuration scsi: mesh: Fix panic after host or bus reset scsi: megaraid_sas: Clear affinity hint usb: gadget: f_uac2: fix AC Interface Header Descriptor wTotalLength usb: dwc2: Fix error path in gadget registration MIPS: OCTEON: add missing put_device() call in dwc3_octeon_device_init() phy: armada-38x: fix NETA lockup when repeatedly switching speeds mt76: mt7615: fix potential memory leak in mcu message handler powerpc/perf: Fix missing is_sier_aviable() during build coresight: tmc: Fix TMC mode read in tmc_read_unprepare_etb() thermal: ti-soc-thermal: Fix reversed condition in ti_thermal_expose_sensor() usb: core: fix quirks_param_set() writing to a const pointer USB: serial: iuu_phoenix: fix led-activity helpers spi: lantiq-ssc: Fix warning by using WQ_MEM_RECLAIM gpu: ipu-v3: Restore RGB32, BGR32 drm/imx: tve: fix regulator_disable error path drm/imx: fix use after free powerpc/book3s64/pkeys: Use PVR check instead of cpu feature phy: renesas: rcar-gen3-usb2: move irq registration to init PCI/ASPM: Add missing newline in sysfs 'policy' ASoC: meson: fixes the missed kfree() for axg_card_add_tdm_loopback staging: rtl8192u: fix a dubious looking mask before a shift ima: Have the LSM free its audit rule RDMA/rxe: Prevent access to wr->next ptr afrer wr is posted to send queue RDMA/qedr: SRQ's bug fixes powerpc/vdso: Fix vdso cpu truncation powerpc/rtas: don't online CPUs for partition suspend kernfs: do not call fsnotify() with name without a parent mwifiex: Prevent memory corruption handling keys scsi: scsi_debug: Add check for sdebug_max_queue during module init drm/bridge: sil_sii8620: initialize return of sii8620_readb phy: exynos5-usbdrd: Calibrating makes sense only for USB2.0 PHY drm: panel: simple: Fix bpc for LG LB070WV8 panel leds: core: Flush scheduled work for system suspend kobject: Avoid premature parent object freeing in kobject_cleanup() drm/stm: repair runtime power management PCI: Fix pci_cfg_wait queue locking problem RDMA/rxe: Skip dgid check in loopback mode xfs: fix reflink quota reservation accounting error xfs: don't eat an EIO/ENOSPC writeback error when scrubbing data fork media: cros-ec-cec: do not bail on device_init_wakeup failure media: exynos4-is: Add missed check for pinctrl_lookup_state() media: firewire: Using uninitialized values in node_probe() ipvs: allow connection reuse for unconfirmed conntrack scsi: eesox: Fix different dev_id between request_irq() and free_irq() scsi: powertec: Fix different dev_id between request_irq() and free_irq() RDMA/core: Fix bogus WARN_ON during ib_unregister_device_queued() iavf: Fix updating statistics iavf: fix error return code in iavf_init_get_resources() staging: vchiq_arm: Add a matching unregister call drm/radeon: fix array out-of-bounds read and write issues cxl: Fix kobject memleak drm/mipi: use dcs write for mipi_dsi_dcs_set_tear_scanline scsi: cumana_2: Fix different dev_id between request_irq() and free_irq() ASoC: Intel: bxt_rt298: add missing .owner field ASoC: SOF: nocodec: add missing .owner field media: omap3isp: Add missed v4l2_ctrl_handler_free() for preview_init_entities() media: marvell-ccic: Add missed v4l2_async_notifier_cleanup() media: cxusb-analog: fix V4L2 dependency Bluetooth: btmtksdio: fix up firmware download sequence Bluetooth: btusb: fix up firmware download sequence leds: lm355x: avoid enum conversion warning clk: bcm63xx-gate: fix last clock availability drm/arm: fix unintentional integer overflow on left shift drm/etnaviv: Fix error path on failure to enable bus clk iio: improve IIO_CONCENTRATION channel type description ath10k: Acquire tx_lock in tx error paths video: pxafb: Fix the function used to balance a 'dma_alloc_coherent()' call console: newport_con: fix an issue about leak related system resources video: fbdev: sm712fb: fix an issue about iounmap for a wrong address btmrvl: Fix firmware filename for sd8997 chipset btmrvl: Fix firmware filename for sd8977 chipset mwifiex: Fix firmware filename for sd8997 chipset mwifiex: Fix firmware filename for sd8977 chipset agp/intel: Fix a memory leak on module initialisation failure drm/bridge: ti-sn65dsi86: Clear old error bits before AUX transfers drm/gem: Fix a leak in drm_gem_objects_lookup() drm/msm: ratelimit crtc event overflow error ACPICA: Do not increment operation_region reference counts for field units bcache: fix super block seq numbers comparision in register_cache_set() dyndbg: fix a BUG_ON in ddebug_describe_flags usb: bdc: Halt controller on suspend bdc: Fix bug causing crash after multiple disconnects usb: gadget: net2280: fix memory leak on probe error handling paths mmc: sdhci-pci-o2micro: Bug fix for O2 host controller Seabird1 ionic: update eid test for overflow gpu: host1x: debug: Fix multiple channels emitting messages simultaneously iwlegacy: Check the return value of pcie_capability_read_*() platform/x86: asus-nb-wmi: add support for ASUS ROG Zephyrus G14 and G15 brcmfmac: set state of hanger slot to FREE when flushing PSQ brcmfmac: To fix Bss Info flag definition Bug brcmfmac: keep SDIO watchdog running when console_interval is non-zero bpf: Fix fds_example SIGSEGV error drm/amd/powerplay: fix compile error with ARCH=arc drm/amdgpu/display bail early in dm_pp_get_static_clocks mm/mmap.c: Add cond_resched() for exit_mmap() CPU stalls irqchip/irq-mtk-sysirq: Replace spinlock with raw_spinlock drm/radeon: disable AGP by default drm/debugfs: fix plain echo to connector "force" attribute drm/msm: Fix a null pointer access in msm_gem_shrinker_count() drm: msm: a6xx: fix gpu failure after system resume usb: mtu3: clear dual mode of u3port when disable device btrfs: fix lockdep splat from btrfs_dump_space_info mmc: sdhci-cadence: do not use hardware tuning for SD mode drm/nouveau: fix multiple instances of reference count leaks drm/nouveau: fix reference count leak in nouveau_debugfs_strap_peek drm/etnaviv: fix ref count leak via pm_runtime_get_sync arm64: dts: hisilicon: hikey: fixes to comply with adi, adv7533 DT binding drm/nouveau/kms/nv50-: Fix disabling dithering md-cluster: fix wild pointer of unlock_all_bitmaps() bus: ti-sysc: Add missing quirk flags for usb_host_hs video: fbdev: neofb: fix memory leak in neo_scan_monitor() video: fbdev: savage: fix memory leak on error handling path in probe crypto: aesni - Fix build with LLVM_IAS=1 drm/radeon: Fix reference count leaks caused by pm_runtime_get_sync drm/amdgpu: avoid dereferencing a NULL pointer fs/btrfs: Add cond_resched() for try_release_extent_mapping() stalls ANDROID: fix a bug in quota2 loop: be paranoid on exit and prevent new additions / removals Bluetooth: add a mutex lock to avoid UAF in do_enale_set soc: qcom: rpmh-rsc: Set suppress_bind_attrs flag drm/tilcdc: fix leak & null ref in panel_connector_get_modes nvme-multipath: do not fall back to __nvme_find_path() for non-optimized paths nvme-multipath: fix logic for non-optimized paths nvme-rdma: fix controller reset hang during traffic nvme-tcp: fix controller reset hang during traffic md: raid0/linear: fix dereference before null check on pointer mddev seccomp: Fix ioctl number for SECCOMP_IOCTL_NOTIF_ID_VALID irqchip/ti-sci-inta: Fix return value about devm_ioremap_resource() iocost: Fix check condition of iocg abs_vdebt ARM: socfpga: PM: add missing put_device() call in socfpga_setup_ocram_self_refresh() spi: rockchip: Fix error in SPI slave pio read io_uring: fix sq array offset calculation regulator: fix memory leak on error path of regulator_register() recordmcount: only record relocation of type R_AARCH64_CALL26 on arm64. tpm: Require that all digests are present in TCG_PCR_EVENT2 structures spi: lantiq: fix: Rx overflow error in full duplex mode ARM: dts: sunxi: bananapi-m2-plus-v1.2: Fix CPU supply voltages ARM: dts: sunxi: bananapi-m2-plus-v1.2: Add regulator supply to all CPU cores ARM: at91: pm: add missing put_device() call in at91_pm_sram_init() ARM: dts: gose: Fix ports node name for adv7612 ARM: dts: gose: Fix ports node name for adv7180 platform/x86: intel-vbtn: Fix return value check in check_acpi_dev() platform/x86: intel-hid: Fix return value check in check_acpi_dev() m68k: mac: Fix IOP status/control register writes m68k: mac: Don't send IOP message until channel is idle clk: scmi: Fix min and max rate when registering clocks with discrete rates sched/uclamp: Fix initialization of struct uclamp_rq arm64: dts: exynos: Fix silent hang after boot on Espresso firmware: arm_scmi: Fix SCMI genpd domain probing ARM: exynos: MCPM: Restore big.LITTLE cpuidle support crypto: ccree - fix resource leak on error path blktrace: fix debugfs use after free arm64: dts: qcom: msm8916: Replace invalid bias-pull-none property crc-t10dif: Fix potential crypto notify dead-lock EDAC: Fix reference count leaks arm64: dts: rockchip: fix rk3399-puma gmac reset gpio arm64: dts: rockchip: fix rk3399-puma vcc5v0-host gpio arm64: dts: rockchip: fix rk3368-lion gmac reset gpio sched: correct SD_flags returned by tl->sd_flags() sched/fair: Fix NOHZ next idle balance x86/mce/inject: Fix a wrong assignment of i_mce.status clk: qcom: clk-rpmh: Wait for completion when enabling clocks fs/io_uring.c: Fix uninitialized variable is referenced in io_submit_sqe nvme: add a Identify Namespace Identification Descriptor list quirk HID: input: Fix devices that return multiple bytes in battery report tracepoint: Mark __tracepoint_string's __used ANDROID: ABI: Update allowed list for QCOM Conflicts: Documentation/devicetree/bindings Documentation/devicetree/bindings/iio/multiplexer/io-channel-mux.txt android/abi_gki_aarch64_qcom drivers/clk/qcom/clk-rpmh.c drivers/hwtracing/coresight/coresight-tmc-etf.c drivers/scsi/ufs/ufs-qcom.c drivers/scsi/ufs/ufshcd.c Change-Id: Ifd7b8337005ddb6c64a6f4e017e470e745170d98 Signed-off-by: Ivaylo Georgiev <irgeorgiev@codeaurora.org> Signed-off-by: Blagovest Kolenichev <bkolenichev@codeaurora.org> |
||
|
cf218ddb22 |
block: Fix a race in the runtime power management code
With the current implementation the following race can happen: * blk_pre_runtime_suspend() calls blk_freeze_queue_start() and blk_mq_unfreeze_queue(). * blk_queue_enter() calls blk_queue_pm_only() and that function returns true. * blk_queue_enter() calls blk_pm_request_resume() and that function does not call pm_request_resume() because the queue runtime status is RPM_ACTIVE. * blk_pre_runtime_suspend() changes the queue status into RPM_SUSPENDING. Fix this race by changing the queue runtime status into RPM_SUSPENDING before switching q_usage_counter to atomic mode. Change-Id: I5a2c842b959b8c57730b12e4f372abc515a8c8ab Signed-off-by: Can Guo <cang@codeaurora.org> |
||
|
c0b1779755 |
This is the 5.4.59 stable release
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAl88xTwACgkQONu9yGCS aT60Lw/9HV3JZ0KDYKHRRS/n4UWh2w7jHe5hwFTfX8/KibexzGzgV3gTaXsyQx75 Bj2ruJTGZKDvy+a9/IsjTe1v1/HPwPydDyfABNl/Rn8vQuyHzyyGzQo2owqGb57w 4wVuoqhPASn0n2QAMG05caAx1uqPlXcT/I4H8vpzieNEHbB/2TbwFiWvrDC2d+nw mw1PkRmaFp2GSMOHSb68n2oYUv19EBHDtxF9WkwyftdKALQYz5x4O/n4lhpzMSmO OeiUg/dpLi0bptL1SQAfaY/Lxa1gFb62YvP47WbWp/P6zespOInk2n8kmpoHxol3 MMZelRCdl9NtIKVXMEOFEv/asXPlF2wARGmNejGCYLaRqal1bH67yG4eja7biIJe gr5OBOFVPol83sPAnb6V4P2SEs650WR95hshYpRL9lbmcHY4q5zoXVm9ul/Hp49R qjjfxHDNQQoQgX4ZhEJLp2a5AEJUM4Kz28pZXHyczKYc2R6/AZWqHfnbQVURf+au 0xJ/tOFxn3yqRtTkmuuifkZcUTJ5iRnzxUUYiGyhTqZOTNZTD0FgiI+S7gckI//K idoWGTszHZb6YkNBEwz4WJFtxCGpO95xgD95jOpJVxFcJ5f5PpfZE7RkXUDLR5UO XzJopB3nOT1h3EoI3xq7aPDF1hKbkp+VRMWcVrBeP9KgcpLisS4= =Tk2c -----END PGP SIGNATURE----- Merge 5.4.59 into android11-5.4 Changes in 5.4.59 tracepoint: Mark __tracepoint_string's __used HID: input: Fix devices that return multiple bytes in battery report nvme: add a Identify Namespace Identification Descriptor list quirk fs/io_uring.c: Fix uninitialized variable is referenced in io_submit_sqe clk: qcom: clk-rpmh: Wait for completion when enabling clocks x86/mce/inject: Fix a wrong assignment of i_mce.status sched/fair: Fix NOHZ next idle balance sched: correct SD_flags returned by tl->sd_flags() arm64: dts: rockchip: fix rk3368-lion gmac reset gpio arm64: dts: rockchip: fix rk3399-puma vcc5v0-host gpio arm64: dts: rockchip: fix rk3399-puma gmac reset gpio EDAC: Fix reference count leaks crc-t10dif: Fix potential crypto notify dead-lock arm64: dts: qcom: msm8916: Replace invalid bias-pull-none property blktrace: fix debugfs use after free crypto: ccree - fix resource leak on error path ARM: exynos: MCPM: Restore big.LITTLE cpuidle support firmware: arm_scmi: Fix SCMI genpd domain probing arm64: dts: exynos: Fix silent hang after boot on Espresso sched/uclamp: Fix initialization of struct uclamp_rq clk: scmi: Fix min and max rate when registering clocks with discrete rates m68k: mac: Don't send IOP message until channel is idle m68k: mac: Fix IOP status/control register writes platform/x86: intel-hid: Fix return value check in check_acpi_dev() platform/x86: intel-vbtn: Fix return value check in check_acpi_dev() ARM: dts: gose: Fix ports node name for adv7180 ARM: dts: gose: Fix ports node name for adv7612 ARM: at91: pm: add missing put_device() call in at91_pm_sram_init() ARM: dts: sunxi: bananapi-m2-plus-v1.2: Add regulator supply to all CPU cores ARM: dts: sunxi: bananapi-m2-plus-v1.2: Fix CPU supply voltages spi: lantiq: fix: Rx overflow error in full duplex mode tpm: Require that all digests are present in TCG_PCR_EVENT2 structures recordmcount: only record relocation of type R_AARCH64_CALL26 on arm64. regulator: fix memory leak on error path of regulator_register() io_uring: fix sq array offset calculation spi: rockchip: Fix error in SPI slave pio read ARM: socfpga: PM: add missing put_device() call in socfpga_setup_ocram_self_refresh() iocost: Fix check condition of iocg abs_vdebt irqchip/ti-sci-inta: Fix return value about devm_ioremap_resource() seccomp: Fix ioctl number for SECCOMP_IOCTL_NOTIF_ID_VALID md: raid0/linear: fix dereference before null check on pointer mddev nvme-tcp: fix controller reset hang during traffic nvme-rdma: fix controller reset hang during traffic nvme-multipath: fix logic for non-optimized paths nvme-multipath: do not fall back to __nvme_find_path() for non-optimized paths drm/tilcdc: fix leak & null ref in panel_connector_get_modes soc: qcom: rpmh-rsc: Set suppress_bind_attrs flag Bluetooth: add a mutex lock to avoid UAF in do_enale_set loop: be paranoid on exit and prevent new additions / removals fs/btrfs: Add cond_resched() for try_release_extent_mapping() stalls drm/amdgpu: avoid dereferencing a NULL pointer drm/radeon: Fix reference count leaks caused by pm_runtime_get_sync crypto: aesni - Fix build with LLVM_IAS=1 video: fbdev: savage: fix memory leak on error handling path in probe video: fbdev: neofb: fix memory leak in neo_scan_monitor() bus: ti-sysc: Add missing quirk flags for usb_host_hs md-cluster: fix wild pointer of unlock_all_bitmaps() drm/nouveau/kms/nv50-: Fix disabling dithering arm64: dts: hisilicon: hikey: fixes to comply with adi, adv7533 DT binding drm/etnaviv: fix ref count leak via pm_runtime_get_sync drm/nouveau: fix reference count leak in nouveau_debugfs_strap_peek drm/nouveau: fix multiple instances of reference count leaks mmc: sdhci-cadence: do not use hardware tuning for SD mode btrfs: fix lockdep splat from btrfs_dump_space_info usb: mtu3: clear dual mode of u3port when disable device drm: msm: a6xx: fix gpu failure after system resume drm/msm: Fix a null pointer access in msm_gem_shrinker_count() drm/debugfs: fix plain echo to connector "force" attribute drm/radeon: disable AGP by default irqchip/irq-mtk-sysirq: Replace spinlock with raw_spinlock mm/mmap.c: Add cond_resched() for exit_mmap() CPU stalls drm/amdgpu/display bail early in dm_pp_get_static_clocks drm/amd/powerplay: fix compile error with ARCH=arc bpf: Fix fds_example SIGSEGV error brcmfmac: keep SDIO watchdog running when console_interval is non-zero brcmfmac: To fix Bss Info flag definition Bug brcmfmac: set state of hanger slot to FREE when flushing PSQ platform/x86: asus-nb-wmi: add support for ASUS ROG Zephyrus G14 and G15 iwlegacy: Check the return value of pcie_capability_read_*() gpu: host1x: debug: Fix multiple channels emitting messages simultaneously ionic: update eid test for overflow mmc: sdhci-pci-o2micro: Bug fix for O2 host controller Seabird1 usb: gadget: net2280: fix memory leak on probe error handling paths bdc: Fix bug causing crash after multiple disconnects usb: bdc: Halt controller on suspend dyndbg: fix a BUG_ON in ddebug_describe_flags bcache: fix super block seq numbers comparision in register_cache_set() ACPICA: Do not increment operation_region reference counts for field units drm/msm: ratelimit crtc event overflow error drm/gem: Fix a leak in drm_gem_objects_lookup() drm/bridge: ti-sn65dsi86: Clear old error bits before AUX transfers agp/intel: Fix a memory leak on module initialisation failure mwifiex: Fix firmware filename for sd8977 chipset mwifiex: Fix firmware filename for sd8997 chipset btmrvl: Fix firmware filename for sd8977 chipset btmrvl: Fix firmware filename for sd8997 chipset video: fbdev: sm712fb: fix an issue about iounmap for a wrong address console: newport_con: fix an issue about leak related system resources video: pxafb: Fix the function used to balance a 'dma_alloc_coherent()' call ath10k: Acquire tx_lock in tx error paths iio: improve IIO_CONCENTRATION channel type description drm/etnaviv: Fix error path on failure to enable bus clk drm/arm: fix unintentional integer overflow on left shift clk: bcm63xx-gate: fix last clock availability leds: lm355x: avoid enum conversion warning Bluetooth: btusb: fix up firmware download sequence Bluetooth: btmtksdio: fix up firmware download sequence media: cxusb-analog: fix V4L2 dependency media: marvell-ccic: Add missed v4l2_async_notifier_cleanup() media: omap3isp: Add missed v4l2_ctrl_handler_free() for preview_init_entities() ASoC: SOF: nocodec: add missing .owner field ASoC: Intel: bxt_rt298: add missing .owner field scsi: cumana_2: Fix different dev_id between request_irq() and free_irq() drm/mipi: use dcs write for mipi_dsi_dcs_set_tear_scanline cxl: Fix kobject memleak drm/radeon: fix array out-of-bounds read and write issues staging: vchiq_arm: Add a matching unregister call iavf: fix error return code in iavf_init_get_resources() iavf: Fix updating statistics RDMA/core: Fix bogus WARN_ON during ib_unregister_device_queued() scsi: powertec: Fix different dev_id between request_irq() and free_irq() scsi: eesox: Fix different dev_id between request_irq() and free_irq() ipvs: allow connection reuse for unconfirmed conntrack media: firewire: Using uninitialized values in node_probe() media: exynos4-is: Add missed check for pinctrl_lookup_state() media: cros-ec-cec: do not bail on device_init_wakeup failure xfs: don't eat an EIO/ENOSPC writeback error when scrubbing data fork xfs: fix reflink quota reservation accounting error RDMA/rxe: Skip dgid check in loopback mode PCI: Fix pci_cfg_wait queue locking problem drm/stm: repair runtime power management kobject: Avoid premature parent object freeing in kobject_cleanup() leds: core: Flush scheduled work for system suspend drm: panel: simple: Fix bpc for LG LB070WV8 panel phy: exynos5-usbdrd: Calibrating makes sense only for USB2.0 PHY drm/bridge: sil_sii8620: initialize return of sii8620_readb scsi: scsi_debug: Add check for sdebug_max_queue during module init mwifiex: Prevent memory corruption handling keys kernfs: do not call fsnotify() with name without a parent powerpc/rtas: don't online CPUs for partition suspend powerpc/vdso: Fix vdso cpu truncation RDMA/qedr: SRQ's bug fixes RDMA/rxe: Prevent access to wr->next ptr afrer wr is posted to send queue ima: Have the LSM free its audit rule staging: rtl8192u: fix a dubious looking mask before a shift ASoC: meson: fixes the missed kfree() for axg_card_add_tdm_loopback PCI/ASPM: Add missing newline in sysfs 'policy' phy: renesas: rcar-gen3-usb2: move irq registration to init powerpc/book3s64/pkeys: Use PVR check instead of cpu feature drm/imx: fix use after free drm/imx: tve: fix regulator_disable error path gpu: ipu-v3: Restore RGB32, BGR32 spi: lantiq-ssc: Fix warning by using WQ_MEM_RECLAIM USB: serial: iuu_phoenix: fix led-activity helpers usb: core: fix quirks_param_set() writing to a const pointer thermal: ti-soc-thermal: Fix reversed condition in ti_thermal_expose_sensor() coresight: tmc: Fix TMC mode read in tmc_read_unprepare_etb() powerpc/perf: Fix missing is_sier_aviable() during build mt76: mt7615: fix potential memory leak in mcu message handler phy: armada-38x: fix NETA lockup when repeatedly switching speeds MIPS: OCTEON: add missing put_device() call in dwc3_octeon_device_init() usb: dwc2: Fix error path in gadget registration usb: gadget: f_uac2: fix AC Interface Header Descriptor wTotalLength scsi: megaraid_sas: Clear affinity hint scsi: mesh: Fix panic after host or bus reset net: dsa: mv88e6xxx: MV88E6097 does not support jumbo configuration macintosh/via-macii: Access autopoll_devs when inside lock PCI: cadence: Fix updating Vendor ID and Subsystem Vendor ID register RDMA/core: Fix return error value in _ib_modify_qp() to negative Smack: fix another vsscanf out of bounds Smack: prevent underflow in smk_set_cipso() power: supply: check if calc_soc succeeded in pm860x_init_battery Bluetooth: hci_h5: Set HCI_UART_RESET_ON_INIT to correct flags Bluetooth: hci_serdev: Only unregister device if it was registered net: dsa: rtl8366: Fix VLAN semantics net: dsa: rtl8366: Fix VLAN set-up xfs: fix inode allocation block res calculation precedence selftests/powerpc: Squash spurious errors due to device removal powerpc/32s: Fix CONFIG_BOOK3S_601 uses powerpc/boot: Fix CONFIG_PPC_MPC52XX references selftests/powerpc: Fix CPU affinity for child process RDMA/netlink: Remove CAP_NET_RAW check when dump a raw QP PCI: Release IVRS table in AMD ACS quirk cpufreq: ap806: fix cpufreq driver needs ap cpu clk selftests/powerpc: Fix online CPU selection ASoC: meson: axg-tdm-interface: fix link fmt setup ASoC: meson: axg-tdmin: fix g12a skew ASoC: meson: axg-tdm-formatters: fix sclk inversion ASoC: fsl_sai: Fix value of FSL_SAI_CR1_RFW_MASK s390/qeth: don't process empty bridge port events ice: Graceful error handling in HW table calloc failure rtw88: fix LDPC field for RA info rtw88: fix short GI capability based on current bandwidth rtw88: coex: only skip coex triggered by BT info wl1251: fix always return 0 error tools, build: Propagate build failures from tools/build/Makefile.build tools, bpftool: Fix wrong return value in do_dump() net/mlx5: DR, Change push vlan action sequence net/mlx5: Delete extra dump stack that gives nothing net: ethernet: aquantia: Fix wrong return value liquidio: Fix wrong return value in cn23xx_get_pf_num() net: spider_net: Fix the size used in a 'dma_free_coherent()' call fsl/fman: use 32-bit unsigned integer fsl/fman: fix dereference null return value fsl/fman: fix unreachable code fsl/fman: check dereferencing null pointer fsl/fman: fix eth hash table allocation net: thunderx: initialize VF's mailbox mutex before first usage dlm: Fix kobject memleak ocfs2: fix unbalanced locking pinctrl-single: fix pcs_parse_pinconf() return value svcrdma: Fix page leak in svc_rdma_recv_read_chunk() SUNRPC: Fix ("SUNRPC: Add "@len" parameter to gss_unwrap()") x86/fsgsbase/64: Fix NULL deref in 86_fsgsbase_read_task crypto: aesni - add compatibility with IAS af_packet: TPACKET_V3: fix fill status rwlock imbalance drivers/net/wan/lapbether: Added needed_headroom and a skb->len check net: Fix potential memory leak in proto_register() net/nfc/rawsock.c: add CAP_NET_RAW check. net: phy: fix memory leak in device-create error path net: Set fput_needed iff FDPUT_FPUT is set net/tls: Fix kmap usage tcp: correct read of TFO keys on big endian systems vmxnet3: use correct tcp hdr length when packet is encapsulated net: refactor bind_bucket fastreuse into helper net: initialize fastreuse on inet_inherit_port USB: serial: cp210x: re-enable auto-RTS on open USB: serial: cp210x: enable usb generic throttle/unthrottle ALSA: hda - fix the micmute led status for Lenovo ThinkCentre AIO ALSA: usb-audio: Creative USB X-Fi Pro SB1095 volume knob support ALSA: usb-audio: fix overeager device match for MacroSilicon MS2109 ALSA: usb-audio: work around streaming quirk for MacroSilicon MS2109 9p: Fix memory leak in v9fs_mount media: media-request: Fix crash if memory allocation fails drm/ttm/nouveau: don't call tt destroy callback on alloc failure. io_uring: set ctx sq/cq entry count earlier NFS: Don't move layouts to plh_return_segs list while in use NFS: Don't return layout segments that are in use cpufreq: Fix locking issues with governors cpufreq: dt: fix oops on armada37xx include/asm-generic/vmlinux.lds.h: align ro_after_init spi: spidev: Align buffers for DMA mtd: rawnand: qcom: avoid write to unavailable register erofs: fix extended inode could cross boundary Revert "parisc: Drop LDCW barrier in CAS code when running UP" Revert "parisc: Use ldcw instruction for SMP spinlock release barrier" Revert "parisc: Revert "Release spinlocks using ordered store"" parisc: Do not use an ordered store in pa_tlb_lock() parisc: Implement __smp_store_release and __smp_load_acquire barriers parisc: mask out enable and reserved bits from sba imask ARM: 8992/1: Fix unwind_frame for clang-built kernels irqdomain/treewide: Free firmware node after domain removal ALSA: usb-audio: add quirk for Pioneer DDJ-RB tpm: Unify the mismatching TPM space buffer sizes pstore: Fix linking when crypto API disabled crypto: hisilicon - don't sleep of CRYPTO_TFM_REQ_MAY_SLEEP was not specified crypto: qat - fix double free in qat_uclo_create_batch_init_list crypto: ccp - Fix use of merged scatterlists crypto: cpt - don't sleep of CRYPTO_TFM_REQ_MAY_SLEEP was not specified bitfield.h: don't compile-time validate _val in FIELD_FIT fs/minix: check return value of sb_getblk() fs/minix: don't allow getting deleted inodes fs/minix: reject too-large maximum file size xen/balloon: fix accounting in alloc_xenballooned_pages error path xen/balloon: make the balloon wait interruptible xen/gntdev: Fix dmabuf import with non-zero sgt offset s390/dasd: fix inability to use DASD with DIAG driver s390/gmap: improve THP splitting io_uring: Fix NULL pointer dereference in loop_rw_iter() Linux 5.4.59 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: I4bc685ec9234d8f72a9c66ee2d509a2975f6d711 |
||
|
2f53a4b54e |
iocost: Fix check condition of iocg abs_vdebt
[ Upstream commit d9012a59db54442d5b2fcfdfcded35cf566397d3 ] We shouldn't skip iocg when its abs_vdebt is not zero. Fixes: 0b80f9866e6b ("iocost: protect iocg->abs_vdebt with iocg->waitq.lock") Signed-off-by: Chengming Zhou <zhouchengming@bytedance.com> Acked-by: Tejun Heo <tj@kernel.org> Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Sasha Levin <sashal@kernel.org> |
||
|
176bb149c6 |
FROMGIT: scsi: block: pm: Simplify resume handling
Commit 05d18ae1cc8a ("scsi: pm: Balance pm_only counter of request queue during system resume") fixed a problem in the block layer's runtime-PM code: blk_set_runtime_active() failed to call blk_clear_pm_only(). However, the commit's implementation was awkward; it forced the SCSI system-resume handler to choose whether to call blk_post_runtime_resume() or blk_set_runtime_active(), depending on whether or not the SCSI device had previously been runtime suspended. This patch simplifies the situation considerably by adding the missing function call directly into blk_set_runtime_active() (under the condition that the queue is not already in the RPM_ACTIVE state). This allows the SCSI routine to revert back to its original form. Furthermore, making this change reveals that blk_post_runtime_resume() (in its success pathway) does exactly the same thing as blk_set_runtime_active(). The duplicate code is easily removed by making one routine call the other. No functional changes are intended. Link: https://lore.kernel.org/r/20200706151436.GA702867@rowland.harvard.edu CC: Can Guo <cang@codeaurora.org> CC: Bart Van Assche <bvanassche@acm.org> Reviewed-by: Bart Van Assche <bvanassche@acm.org> Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> Bug: 162892567 (cherry picked from commit 8f38f8e0a30e1c33cdfc48eba2bd63ac2eae373a https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git 5.9/scsi-queue) Change-Id: Ibeca9786fb65ee7d782314f48fb39274b82feb57 Signed-off-by: Can Guo <cang@codeaurora.org> |
||
|
171202d5b0 |
This is the 5.4.53 stable release
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAl8X674ACgkQONu9yGCS aT5F9g/+PdG5XSPhoGEhO2FW43cQKuGp5vWJ3IhVFyEXFdboWIa5laWNBh1ZC/Kg Ua0vxBGGJDTGZNTJAQd6Re1RfAbptEstrNlwC3BaxUQn5Qn4YQMCNbAeFEj7D2nw Tez3r3gjpGc9uo0EqfeJStqhFZfh+D3apHz1/RFZ/12T5d4dIEtCXDUAP89zib0w lHBOH37Mc0WqXSUPLdabIbemlbZv4prYn7gnzIeoxl3h+TKzdjM4pGjrjzKJwy2D 9XDB3Dw9BA225uoextJl3GCOm7IF+TGaR10YxuHCtxJAkdPSt2BUUAFC0XrV7KPw fGMy8/a8EZj5PoNNjKHzDD2IJf9PhLZgcn7AjOW6x9XXu7lJls4Wx4/k5TpIO1I1 paO8kGex8jk751X4U1Bu8LowLPjiL3fKp0lSeysSw9IIzTBW1DlhSR9Mf/CEihib xbS6k8/uF9HGtYJKIW4o/iL/3D0MGKTuOX18tlhnZ92Hp5WcAEZKrUKgYTY/exvF WDYDRSFv17tw6XT7Jfey3veP1z+3kVMZ3KD0CnpJ7poS/f8H730yyEgIDO0dRO3I Rd1r/uCmgr0GkeNDp46eoTYCgvhCQruxWul0/6/pw4VdzIBSRlPjsZBR+2Frnmuw dRim972ocnvVzxKe1N2fD+whfjok85h30Xg7uvFgZGEZ7/wOUL8= =mqst -----END PGP SIGNATURE----- Merge 5.4.53 into android11-5.4 Changes in 5.4.53 crypto: atmel - Fix selection of CRYPTO_AUTHENC crypto: atmel - Fix build error of CRYPTO_AUTHENC net: atlantic: fix ip dst and ipv6 address filters net: rmnet: fix lower interface leak bridge: mcast: Fix MLD2 Report IPv6 payload length check genetlink: remove genl_bind ipv4: fill fl4_icmp_{type,code} in ping_v4_sendmsg ipv6: fib6_select_path can not use out path for nexthop objects ipv6: Fix use of anycast address with loopback l2tp: remove skb_dst_set() from l2tp_xmit_skb() llc: make sure applications use ARPHRD_ETHER net: Added pointer check for dst->ops->neigh_lookup in dst_neigh_lookup_skb net: dsa: microchip: set the correct number of ports net_sched: fix a memory leak in atm_tc_init() net: usb: qmi_wwan: add support for Quectel EG95 LTE modem sched: consistently handle layer3 header accesses in the presence of VLANs tcp: fix SO_RCVLOWAT possible hangs under high mem pressure tcp: make sure listeners don't initialize congestion-control state tcp: md5: add missing memory barriers in tcp_md5_do_add()/tcp_md5_hash_key() tcp: md5: do not send silly options in SYNCOOKIES vlan: consolidate VLAN parsing code and limit max parsing depth tcp: md5: refine tcp_md5_do_add()/tcp_md5_hash_key() barriers tcp: md5: allow changing MD5 keys in all socket states cgroup: fix cgroup_sk_alloc() for sk_clone_lock() cgroup: Fix sock_cgroup_data on big-endian. ip: Fix SO_MARK in RST, ACK and ICMP packets arm64: Introduce a way to disable the 32bit vdso arm64: arch_timer: Allow an workaround descriptor to disable compat vdso arm64: arch_timer: Disable the compat vdso for cores affected by ARM64_WORKAROUND_1418040 drm/msm: fix potential memleak in error branch drm/msm/dpu: allow initialization of encoder locks during encoder init drm/exynos: Properly propagate return value in drm_iommu_attach_device() drm/exynos: fix ref count leak in mic_pre_enable x86/fpu: Reset MXCSR to default in kernel_fpu_begin() thermal/drivers: imx: Fix missing of_node_put() at probe time blk-mq-debugfs: update blk_queue_flag_name[] accordingly for new flags m68k: nommu: register start of the memory with memblock m68k: mm: fix node memblock init dt-bindings: mailbox: zynqmp_ipi: fix unit address cifs: prevent truncation from long to int in wait_for_free_credits arm64/alternatives: use subsections for replacement sequences tpm_tis: extra chip->ops check on error path in tpm_tis_core_init gfs2: read-only mounts should grab the sd_freeze_gl glock i2c: eg20t: Load module automatically if ID matches arm64/alternatives: don't patch up internal branches iio:magnetometer:ak8974: Fix alignment and data leak issues iio:humidity:hdc100x Fix alignment and data leak issues iio: magnetometer: ak8974: Fix runtime PM imbalance on error iio: core: add missing IIO_MOD_H2/ETHANOL string identifiers iio: mma8452: Add missed iio_device_unregister() call in mma8452_probe() iio: pressure: zpa2326: handle pm_runtime_get_sync failure iio:humidity:hts221 Fix alignment and data leak issues iio:pressure:ms5611 Fix buffer element alignment iio:health:afe4403 Fix timestamp alignment and prevent data leak. spi: spi-fsl-dspi: Fix lockup if device is shutdown during SPI transfer net: dsa: bcm_sf2: Fix node reference count of: of_mdio: Correct loop scanning logic net: macb: call pm_runtime_put_sync on failure path net: ethernet: mvneta: Do not error out in non serdes modes net: ethernet: mvneta: Add back interface mode validation Revert "usb/ohci-platform: Fix a warning when hibernating" Revert "usb/ehci-platform: Set PM runtime as active on resume" Revert "usb/xhci-plat: Set PM runtime as active on resume" net: sfp: add support for module quirks net: sfp: add some quirks for GPON modules ARM: OMAP4+: remove pdata quirks for omap4+ iommus ARM: OMAP2+: Add workaround for DRA7 DSP MStandby errata i879 ARM: OMAP2+: use separate IOMMU pdata to fix DRA7 IPU1 boot mmc: mmci: Support any block sizes for ux500v2 and qcom variant HID: quirks: Remove ITE 8595 entry from hid_have_special_driver ARM: at91: pm: add quirk for sam9x60's ulp1 drm/sun4i: tcon: Separate quirks for tcon0 and tcon1 on A20 scsi: sr: remove references to BLK_DEV_SR_VENDOR, leave it enabled bus: ti-sysc: Rename clk related quirks to pre_reset and post_reset quirks bus: ti-sysc: Consider non-existing registers too when matching quirks bus: ti-sysc: Handle module unlock quirk needed for some RTC bus: ti-sysc: Detect display subsystem related devices arm64: dts: g12-common: add parkmode_disable_ss_quirk on DWC3 controller bus: ti-sysc: Detect EDMA and set quirk flags for tptc ALSA: usb-audio: Add support for MOTU MicroBook IIc Input: goodix - fix touch coordinates on Cube I15-TC ALSA: usb-audio: Create a registration quirk for Kingston HyperX Amp (0951:16d8) doc: dt: bindings: usb: dwc3: Update entries for disabling SS instances in park mode mmc: sdhci: do not enable card detect interrupt for gpio cd type ALSA: usb-audio: Rewrite registration quirk handling ACPI: video: Use native backlight on Acer Aspire 5783z ALSA: usb-audio: Add registration quirk for Kingston HyperX Cloud Alpha S ALSA: usb-audio: Add quirk for Focusrite Scarlett 2i2 Input: mms114 - add extra compatible for mms345l ACPI: video: Use native backlight on Acer TravelMate 5735Z bus: ti-sysc: Use optional clocks on for enable and wait for softreset bit ALSA: usb-audio: Add registration quirk for Kingston HyperX Cloud Flight S iio:health:afe4404 Fix timestamp alignment and prevent data leak. soundwire: intel: fix memory leak with devm_kasprintf dmaengine: sh: usb-dmac: set tx_result parameters phy: sun4i-usb: fix dereference of pointer phy0 before it is null checked arm64: dts: meson: add missing gxl rng clock arm64: dts: meson-gxl-s805x: reduce initial Mali450 core frequency bus: ti-sysc: Fix wakeirq sleeping function called from invalid context bus: ti-sysc: Fix sleeping function called from invalid context for RTC quirk bus: ti-sysc: Do not disable on suspend for no-idle iio: adc: ad7780: Fix a resource handling path in 'ad7780_probe()' dmaengine: dw: Initialize channel before each transfer dmaengine: dmatest: stop completed threads when running without set channel spi: spi-sun6i: sun6i_spi_transfer_one(): fix setting of clock rate usb: gadget: udc: atmel: fix uninitialized read in debug printk staging: comedi: verify array index is correct before using it clk: mvebu: ARMADA_AP_CPU_CLK needs to select ARMADA_AP_CP_HELPER clk: AST2600: Add mux for EMMC clock NFS: Fix interrupted slots by sending a solo SEQUENCE operation fuse: don't ignore errors from fuse_writepages_fill() ARM: dts: Fix dcan driver probe failed on am437x platform Revert "thermal: mediatek: fix register index error" xprtrdma: fix incorrect header size calculations ARM: dts: socfpga: Align L2 cache-controller nodename with dtschema arm64: dts: spcfpga: Align GIC, NAND and UART nodenames with dtschema keys: asymmetric: fix error return code in software_key_query() regmap: debugfs: Don't sleep while atomic for fast_io regmaps copy_xstate_to_kernel: Fix typo which caused GDB regression arm: dts: mt7623: add phy-mode property for gmac2 soc: qcom: socinfo: add missing soc_id sysfs entry apparmor: ensure that dfa state tables have entries habanalabs: Align protection bits configuration of all TPCs PCI/PM: Call .bridge_d3() hook only if non-NULL perf stat: Zero all the 'ena' and 'run' array slot stats for interval mode soc: qcom: rpmh: Update dirty flag only when data changes soc: qcom: rpmh: Invalidate SLEEP and WAKE TCSes before flushing new data soc: qcom: rpmh-rsc: Clear active mode configuration for wake TCS soc: qcom: rpmh-rsc: Allow using free WAKE TCS for active request RDMA/mlx5: Verify that QP is created with RQ or SQ mtd: rawnand: marvell: Fix the condition on a return code mtd: rawnand: marvell: Use nand_cleanup() when the device is not yet registered mtd: rawnand: marvell: Fix probe error path mtd: rawnand: timings: Fix default tR_max and tCCS_min timings mtd: rawnand: brcmnand: correctly verify erased pages mtd: rawnand: brcmnand: fix CS0 layout mtd: rawnand: oxnas: Keep track of registered devices mtd: rawnand: oxnas: Unregister all devices on error mtd: rawnand: oxnas: Release all devices in the _remove() path clk: qcom: gcc: Add GPU and NPU clocks for SM8150 clk: qcom: gcc: Add missing UFS clocks for SM8150 slimbus: core: Fix mismatch in of_node_get/put HID: logitech-hidpp: avoid repeated "multiplier = " log messages HID: magicmouse: do not set up autorepeat HID: quirks: Always poll Obins Anne Pro 2 keyboard HID: quirks: Ignore Simply Automated UPB PIM ALSA: line6: Perform sanity check for each URB creation ALSA: line6: Sync the pending work cancel at disconnection ALSA: usb-audio: Fix race against the error recovery URB submission ALSA: hda/realtek - change to suitable link model for ASUS platform ALSA: hda/realtek: enable headset mic of ASUS ROG Zephyrus G14(G401) series with ALC289 ALSA: hda/realtek: Enable headset mic of Acer TravelMate B311R-31 with ALC256 ALSA: hda/realtek - Enable Speaker for ASUS UX533 and UX534 ALSA: hda/realtek - Enable Speaker for ASUS UX563 USB: c67x00: fix use after free in c67x00_giveback_urb usb: dwc2: Fix shutdown callback in platform usb: chipidea: core: add wakeup support for extcon usb: gadget: function: fix missing spinlock in f_uac1_legacy USB: serial: iuu_phoenix: fix memory corruption USB: serial: cypress_m8: enable Simply Automated UPB PIM USB: serial: ch341: add new Product ID for CH340 USB: serial: option: add GosunCn GM500 series USB: serial: option: add Quectel EG95 LTE modem virt: vbox: Fix VBGL_IOCTL_VMMDEV_REQUEST_BIG and _LOG req numbers to match upstream virt: vbox: Fix guest capabilities mask check Revert "tty: xilinx_uartps: Fix missing id assignment to the console" virtio: virtio_console: add missing MODULE_DEVICE_TABLE() for rproc serial serial: mxs-auart: add missed iounmap() in probe failure and remove ovl: fix regression with re-formatted lower squashfs ovl: inode reference leak in ovl_is_inuse true case. ovl: relax WARN_ON() when decoding lower directory file handle ovl: fix unneeded call to ovl_change_flags() fuse: ignore 'data' argument of mount(..., MS_REMOUNT) fuse: use ->reconfigure() instead of ->remount_fs() fuse: Fix parameter for FS_IOC_{GET,SET}FLAGS Revert "zram: convert remaining CLASS_ATTR() to CLASS_ATTR_RO()" mei: bus: don't clean driver pointer Input: i8042 - add Lenovo XiaoXin Air 12 to i8042 nomux list Input: elan_i2c - add more hardware ID for Lenovo laptops uio_pdrv_genirq: Remove warning when irq is not specified uio_pdrv_genirq: fix use without device tree and no interrupt scsi: megaraid_sas: Remove undefined ENABLE_IRQ_POLL macro timer: Prevent base->clk from moving backward timer: Fix wheel index calculation on last level riscv: use 16KB kernel stack on 64-bit hwmon: (emc2103) fix unable to change fan pwm1_enable attribute powerpc/book3s64/pkeys: Fix pkey_access_permitted() for execute disable pkey powerpc/pseries/svm: Fix incorrect check for shared_lppaca_size intel_th: pci: Add Jasper Lake CPU support intel_th: pci: Add Tiger Lake PCH-H support intel_th: pci: Add Emmitsburg PCH support intel_th: Fix a NULL dereference when hub driver is not loaded dmaengine: fsl-edma: Fix NULL pointer exception in fsl_edma_tx_handler dmaengine: mcf-edma: Fix NULL pointer exception in mcf_edma_tx_handler dmaengine: fsl-edma-common: correct DSIZE_32BYTE misc: atmel-ssc: lock with mutex instead of spinlock thermal: int3403_thermal: Downgrade error message thermal/drivers/cpufreq_cooling: Fix wrong frequency converted from power arm64: ptrace: Override SPSR.SS when single-stepping is enabled arm64: ptrace: Consistently use pseudo-singlestep exceptions arm64: compat: Ensure upper 32 bits of x0 are zero on syscall return sched: Fix unreliable rseq cpu_id for new tasks sched/fair: handle case of task_h_load() returning 0 genirq/affinity: Handle affinity setting on inactive interrupts correctly drm/amdgpu/sdma5: fix wptr overwritten in ->get_wptr() drm/i915/gt: Ignore irq enabling on the virtual engines block: fix splitting segments on boundary masks block: fix get_max_segment_size() overflow on 32bit arch libceph: don't omit recovery_deletes in target_copy() rxrpc: Fix trace string spi: sprd: switch the sequence of setting WDG_LOAD_LOW and _HIGH ionic: export features for vlans to use iommu/vt-d: Make Intel SVM code 64-bit only drm/i915/gvt: Fix two CFL MMIO handling caused by regression. gpio: pca953x: disable regmap locking for automatic address incrementing Linux 5.4.53 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: I2347f0f12d1e95a90cff2f3999940e1f82231df2 |
||
|
d2ccad3c9c |
block: fix get_max_segment_size() overflow on 32bit arch
commit 4a2f704eb2d831a2d73d7f4cdd54f45c49c3c353 upstream. Commit 429120f3df2d starts to take account of segment's start dma address when computing max segment size, and data type of 'unsigned long' is used to do that. However, the segment mask may be 0xffffffff, so the figured out segment size may be overflowed in case of zero physical address on 32bit arch. Fix the issue by returning queue_max_segment_size() directly when that happens. Fixes: 429120f3df2d ("block: fix splitting segments on boundary masks") Reported-by: Guenter Roeck <linux@roeck-us.net> Tested-by: Guenter Roeck <linux@roeck-us.net> Cc: Christoph Hellwig <hch@lst.de> Tested-by: Steven Rostedt (VMware) <rostedt@goodmis.org> Signed-off-by: Ming Lei <ming.lei@redhat.com> Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
||
|
310d75f274 |
block: fix splitting segments on boundary masks
commit 429120f3df2dba2bf3a4a19f4212a53ecefc7102 upstream.
We ran into a problem with a mpt3sas based controller, where we would
see random (and hard to reproduce) file corruption). The issue seemed
specific to this controller, but wasn't specific to the file system.
After a lot of debugging, we find out that it's caused by segments
spanning a 4G memory boundary. This shouldn't happen, as the default
setting for segment boundary masks is 4G.
Turns out there are two issues in get_max_segment_size():
1) The default segment boundary mask is bypassed
2) The segment start address isn't taken into account when checking
segment boundary limit
Fix these two issues by removing the bypass of the segment boundary
check even if the mask is set to the default value, and taking into
account the actual start address of the request when checking if a
segment needs splitting.
Cc: stable@vger.kernel.org # v5.1+
Reviewed-by: Chris Mason <clm@fb.com>
Tested-by: Chris Mason <clm@fb.com>
Fixes:
|
||
|
c3adbd37c0 |
blk-mq-debugfs: update blk_queue_flag_name[] accordingly for new flags
[ Upstream commit bfe373f608cf81b7626dfeb904001b0e867c5110 ] Else there may be magic numbers in /sys/kernel/debug/block/*/state. Signed-off-by: Hou Tao <houtao1@huawei.com> Reviewed-by: Bart Van Assche <bvanassche@acm.org> Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Sasha Levin <sashal@kernel.org> |
||
|
c7725aece3 |
Merge 5.4.52 into android11-5.4
Changes in 5.4.52 KVM: s390: reduce number of IO pins to 1 spi: spi-fsl-dspi: Adding shutdown hook spi: spi-fsl-dspi: Fix lockup if device is removed during SPI transfer regmap: fix alignment issue perf/x86/rapl: Move RAPL support to common x86 code perf/x86/rapl: Fix RAPL config variable bug ARM: dts: omap4-droid4: Fix spi configuration and increase rate drm/ttm: Fix dma_fence refcnt leak when adding move fence drm/tegra: hub: Do not enable orphaned window group gpu: host1x: Detach driver on unregister drm: mcde: Fix display initialization problem ASoC: SOF: Intel: add PCI ID for CometLake-S ALSA: hda: Intel: add missing PCI IDs for ICL-H, TGL-H and EKL spi: spidev: fix a race between spidev_release and spidev_remove spi: spidev: fix a potential use-after-free in spidev_release() net: ethernet: mvneta: Fix Serdes configuration for SoCs without comphy net: ethernet: mvneta: Add 2500BaseX support for SoCs without comphy ixgbe: protect ring accesses with READ- and WRITE_ONCE i40e: protect ring accesses with READ- and WRITE_ONCE ibmvnic: continue to init in CRQ reset returns H_CLOSED powerpc/kvm/book3s64: Fix kernel crash with nested kvm & DEBUG_VIRTUAL iommu/vt-d: Don't apply gfx quirks to untrusted devices drm: panel-orientation-quirks: Add quirk for Asus T101HA panel drm: panel-orientation-quirks: Use generic orientation-data for Acer S1003 s390/kasan: fix early pgm check handler execution cifs: update ctime and mtime during truncate ARM: imx6: add missing put_device() call in imx6q_suspend_init() scsi: mptscsih: Fix read sense data size usb: dwc3: pci: Fix reference count leak in dwc3_pci_resume_work block: release bip in a right way in error path nvme-rdma: assign completion vector correctly x86/entry: Increase entry_stack size to a full page sched/core: Check cpus_mask, not cpus_ptr in __set_cpus_allowed_ptr(), to fix mask corruption net: qrtr: Fix an out of bounds read qrtr_endpoint_post() gpio: pca953x: Override IRQ for one of the expanders on Galileo Gen 2 gpio: pca953x: Fix GPIO resource leak on Intel Galileo Gen 2 nl80211: don't return err unconditionally in nl80211_start_ap() drm/mediatek: Check plane visibility in atomic_update bpf, sockmap: RCU splat with redirect and strparser error or TLS bpf, sockmap: RCU dereferenced psock may be used outside RCU block netfilter: ipset: call ip_set_free() instead of kfree() net: mvneta: fix use of state->speed net: cxgb4: fix return error value in t4_prep_fw IB/sa: Resolv use-after-free in ib_nl_make_request() net: dsa: microchip: set the correct number of ports netfilter: conntrack: refetch conntrack after nf_conntrack_update() perf report TUI: Fix segmentation fault in perf_evsel__hists_browse() perf intel-pt: Fix recording PEBS-via-PT with registers perf intel-pt: Fix PEBS sample for XMM registers smsc95xx: check return value of smsc95xx_reset smsc95xx: avoid memory leak in smsc95xx_bind net: hns3: add a missing uninit debugfs when unload driver net: hns3: fix use-after-free when doing self test ALSA: compress: fix partial_drain completion state RDMA/siw: Fix reporting vendor_part_id arm64: kgdb: Fix single-step exception handling oops nbd: Fix memory leak in nbd_add_socket cxgb4: fix all-mask IP address comparison IB/mlx5: Fix 50G per lane indication qed: Populate nvm-file attributes while reading nvm config partition. net/mlx5: Fix eeprom support for SFP module net/mlx5e: Fix 50G per lane indication bnxt_en: fix NULL dereference in case SR-IOV configuration fails net: macb: fix wakeup test in runtime suspend/resume routines net: macb: mark device wake capable when "magic-packet" property present net: macb: fix call to pm_runtime in the suspend/resume functions mlxsw: spectrum_router: Remove inappropriate usage of WARN_ON() mlxsw: pci: Fix use-after-free in case of failed devlink reload IB/hfi1: Do not destroy hfi1_wq when the device is shut down IB/hfi1: Do not destroy link_wq when the device is shut down ALSA: opl3: fix infoleak in opl3 ALSA: hda - let hs_mic be picked ahead of hp_mic ALSA: usb-audio: add quirk for MacroSilicon MS2109 ALSA: usb-audio: Add implicit feedback quirk for RTX6001 ALSA: hda/realtek - Fix Lenovo Thinkpad X1 Carbon 7th quirk subdevice id ALSA: hda/realtek - Enable audio jacks of Acer vCopperbox with ALC269VC ALSA: hda/realtek: Enable headset mic of Acer C20-820 with ALC269VC ALSA: hda/realtek: Enable headset mic of Acer Veriton N4660G with ALC269VC KVM: arm64: Fix definition of PAGE_HYP_DEVICE KVM: arm64: Stop clobbering x0 for HVC_SOFT_RESTART KVM: arm64: Annotate hyp NMI-related functions as __always_inline KVM: x86: bit 8 of non-leaf PDPEs is not reserved KVM: x86: Inject #GP if guest attempts to toggle CR4.LA57 in 64-bit mode KVM: x86: Mark CR4.TSD as being possibly owned by the guest KVM: arm64: Fix kvm_reset_vcpu() return code being incorrect with SVE kallsyms: Refactor kallsyms_show_value() to take cred module: Refactor section attr into bin attribute module: Do not expose section addresses to non-CAP_SYSLOG kprobes: Do not expose probe addresses to non-CAP_SYSLOG bpf: Check correct cred for CAP_SYSLOG in bpf_dump_raw_ok() Revert "ath9k: Fix general protection fault in ath9k_hif_usb_rx_cb" btrfs: fix fatal extent_buffer readahead vs releasepage race btrfs: fix double put of block group with nocow drm/radeon: fix double free drm/amdgpu: don't do soft recovery if gpu_recovery=0 dm: use noio when sending kobject event mmc: meson-gx: limit segments to 1 when dram-access-quirk is needed ARC: entry: fix potential EFA clobber when TIF_SYSCALL_TRACE ARC: elf: use right ELF_ARCH s390/setup: init jump labels before command line parsing s390/mm: fix huge pte soft dirty copying blk-mq: consider non-idle request as "inflight" in blk_mq_rq_inflight() dm writecache: reject asynchronous pmem devices perf scripts python: export-to-postgresql.py: Fix struct.pack() int argument perf scripts python: exported-sql-viewer.py: Fix zero id in call graph 'Find' result perf scripts python: exported-sql-viewer.py: Fix zero id in call tree 'Find' result perf scripts python: exported-sql-viewer.py: Fix unexpanded 'Find' result pwm: jz4740: Fix build failure s390: Change s390_kernel_write() return type to match memcpy() s390/maccess: add no DAT mode to kernel_write Linux 5.4.52 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: Ib10c465a3556b5c55d6d6c2ec37b6061b32ca75f |
||
|
49a7ac29f6 |
blk-mq: consider non-idle request as "inflight" in blk_mq_rq_inflight()
commit 05a4fed69ff00a8bd83538684cb602a4636b07a7 upstream.
dm-multipath is the only user of blk_mq_queue_inflight(). When
dm-multipath calls blk_mq_queue_inflight() to check if it has
outstanding IO it can get a false negative. The reason for this is
blk_mq_rq_inflight() doesn't consider requests that are no longer
MQ_RQ_IN_FLIGHT but that are now MQ_RQ_COMPLETE (->complete isn't
called or finished yet) as "inflight".
This causes request-based dm-multipath's dm_wait_for_completion() to
return before all outstanding dm-multipath requests have actually
completed. This breaks DM multipath's suspend functionality because
blk-mq requests complete after DM's suspend has finished -- which
shouldn't happen.
Fix this by considering any request not in the MQ_RQ_IDLE state
(so either MQ_RQ_COMPLETE or MQ_RQ_IN_FLIGHT) as "inflight" in
blk_mq_rq_inflight().
Fixes:
|
||
|
074ae0cd84 |
block: release bip in a right way in error path
[ Upstream commit 0b8eb629a700c0ef15a437758db8255f8444e76c ] Release bip using kfree() in error path when that was allocated by kmalloc(). Signed-off-by: Chengguang Xu <cgxu519@mykernel.net> Reviewed-by: Christoph Hellwig <hch@lst.de> Acked-by: Martin K. Petersen <martin.petersen@oracle.com> Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Sasha Levin <sashal@kernel.org> |
||
|
a200ad52ff |
Linux 5.4.50
-----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEE4n5dijQDou9mhzu83qZv95d3LNwFAl77nuMACgkQ3qZv95d3 LNw0EA//UhQOd/8ZlP33Iis58gUfuGU9sWmej6A8Tio2gdkG4g2c/dQjbxrMQT8b Vr1DJCthisT7pBJpQbhejwsfl5qRsrjBYFyUomCjeM8/0fF0+8JX0tSXX0/JM5Bg vOE4tV/kga+c5cbOD/FbLGH0vX4j20BnGXjHb9hyWY/gVp2gEcRzO3Ou0shZCXKJ 9NnhNB2gIm7BCRgz+cClPmZQjG59WazJu9I/Fk58ojdOp+E5gFibyBoeOylGR/W/ tjRm3Sz6D3uF0RSpGfAilqt2duwfjHTh0LxWlBX9C4OBWdJjYh1uUZ24tTvjxnCm lbgL4BbkOsVMp02jWhDDCe+pEPfT7EpLD6USivj8XFDLh8FK0eoaRQZRQ/hGK/Yj ZmVJRzNavf3xbz72Hz6aHdHmaxp180P8X8KtRDLT4ik+Kkf8gJVps3T5wTR9C60R htFVTDxEF+jE/EUCRh3sD4MrV114lpoJ5LlTPzJ87WCMHMjTZ8As/Ty/PLPg7KO6 ngI3y72cnvW/UfLPmdtaLx40gzEAYnw9+E30ebyKU6b8kY5idhuzd0AZnidsmeZa CzmZFZSCqqMO9vLo24VKxfKk3ufRiHxDU/nHqdGgOG18RlCmhWD0GXamsmeku3PB 1et/jXilpW9aIp/BJozeOdlGr82otk/4Ss+z/RtvvIkTbppgXlY= =6X7m -----END PGP SIGNATURE----- Merge 5.4.50 into android-5.4-stable Changes in 5.4.50 block/bio-integrity: don't free 'buf' if bio_integrity_add_page() failed enetc: Fix tx rings bitmap iteration range, irq handling geneve: allow changing DF behavior after creation ibmveth: Fix max MTU limit mld: fix memory leak in ipv6_mc_destroy_dev() mvpp2: ethtool rxtx stats fix net: bridge: enfore alignment for ethernet address net: core: reduce recursion limit value net: Do not clear the sock TX queue in sk_set_socket() net: fix memleak in register_netdevice() net: Fix the arp error in some cases net: increment xmit_recursion level in dev_direct_xmit() net: usb: ax88179_178a: fix packet alignment padding openvswitch: take into account de-fragmentation/gso_size in execute_check_pkt_len rocker: fix incorrect error handling in dma_rings_init rxrpc: Fix notification call on completion of discarded calls sctp: Don't advertise IPv4 addresses if ipv6only is set on the socket tcp: don't ignore ECN CWR on pure ACK tcp: grow window for OOO packets only for SACK flows tg3: driver sleeps indefinitely when EEH errors exceed eeh_max_freezes ip6_gre: fix use-after-free in ip6gre_tunnel_lookup() net: phy: Check harder for errors in get_phy_id() ip_tunnel: fix use-after-free in ip_tunnel_lookup() sch_cake: don't try to reallocate or unshare skb unconditionally sch_cake: don't call diffserv parsing code when it is not needed sch_cake: fix a few style nits tcp_cubic: fix spurious HYSTART_DELAY exit upon drop in min RTT Revert "i2c: tegra: Fix suspending in active runtime PM state" btrfs: fix a block group ref counter leak after failure to remove block group net: sched: export __netdev_watchdog_up() fix a braino in "sparc32: fix register window handling in genregs32_[gs]et()" ALSA: usb-audio: Fix potential use-after-free of streams binder: fix null deref of proc->context USB: ohci-sm501: Add missed iounmap() in remove usb: dwc2: Postponed gadget registration to the udc class driver usb: add USB_QUIRK_DELAY_INIT for Logitech C922 USB: ehci: reopen solution for Synopsys HC bug usb: host: xhci-mtk: avoid runtime suspend when removing hcd xhci: Poll for U0 after disabling USB2 LPM usb: host: ehci-exynos: Fix error check in exynos_ehci_probe() usb: typec: tcpci_rt1711h: avoid screaming irq causing boot hangs ALSA: usb-audio: Add implicit feedback quirk for SSL2+. ALSA: usb-audio: add quirk for Denon DCD-1500RE ALSA: usb-audio: add quirk for Samsung USBC Headset (AKG) ALSA: usb-audio: Fix OOB access of mixer element list usb: cdns3: trace: using correct dir value usb: cdns3: ep0: fix the test mode set incorrectly usb: cdns3: ep0: add spinlock for cdns3_check_new_setup scsi: qla2xxx: Keep initiator ports after RSCN scsi: zfcp: Fix panic on ERP timeout for previously dismissed ERP action cifs: Fix cached_fid refcnt leak in open_shroot cifs/smb3: Fix data inconsistent when punch hole cifs/smb3: Fix data inconsistent when zero file range xhci: Fix incorrect EP_STATE_MASK xhci: Fix enumeration issue when setting max packet size for FS devices. xhci: Return if xHCI doesn't support LPM cdc-acm: Add DISABLE_ECHO quirk for Microchip/SMSC chip loop: replace kill_bdev with invalidate_bdev IB/mad: Fix use after free when destroying MAD agent IB/hfi1: Fix module use count flaw due to leftover module put calls bus: ti-sysc: Flush posted write on enable and disable bus: ti-sysc: Ignore clockactivity unless specified as a quirk ARM: OMAP2+: Fix legacy mode dss_reset xfrm: Fix double ESP trailer insertion in IPsec crypto offload. ASoC: q6asm: handle EOS correctly efi/tpm: Verify event log header before parsing efi/esrt: Fix reference count leak in esre_create_sysfs_entry. ASoc: q6afe: add support to get port direction ASoC: qcom: common: set correct directions for dailinks regualtor: pfuze100: correct sw1a/sw2 on pfuze3000 RDMA/siw: Fix pointer-to-int-cast warning in siw_rx_pbl() ASoC: fsl_ssi: Fix bclk calculation for mono channel samples/bpf: xdp_redirect_cpu: Set MAX_CPUS according to NR_CPUS bpf, xdp, samples: Fix null pointer dereference in *_user code ARM: dts: am335x-pocketbeagle: Fix mmc0 Write Protect ARM: dts: Fix duovero smsc interrupt for suspend x86/resctrl: Fix a NULL vs IS_ERR() static checker warning in rdt_cdp_peer_get() regmap: Fix memory leak from regmap_register_patch devmap: Use bpf_map_area_alloc() for allocating hash buckets bpf: Don't return EINVAL from {get,set}sockopt when optlen > PAGE_SIZE ARM: dts: NSP: Correct FA2 mailbox node rxrpc: Fix handling of rwind from an ACK packet RDMA/rvt: Fix potential memory leak caused by rvt_alloc_rq RDMA/qedr: Fix KASAN: use-after-free in ucma_event_handler+0x532 RDMA/cma: Protect bind_list and listen_list while finding matching cm id ASoC: rockchip: Fix a reference count leak. s390/qeth: fix error handling for isolation mode cmds RDMA/mad: Fix possible memory leak in ib_mad_post_receive_mads() selftests/net: report etf errors correctly iommu/vt-d: Enable PCI ACS for platform opt in hint iommu/vt-d: Update scalable mode paging structure coherency net: qed: fix left elements count calculation net: qed: fix async event callbacks unregistering net: qede: stop adding events on an already destroyed workqueue net: qed: fix NVMe login fails over VFs net: qed: fix excessive QM ILT lines consumption net: qede: fix PTP initialization on recovery net: qede: fix use-after-free on recovery and AER handling cxgb4: move handling L2T ARP failures to caller ARM: imx5: add missing put_device() call in imx_suspend_alloc_ocram() scsi: lpfc: Avoid another null dereference in lpfc_sli4_hba_unset() usb: gadget: udc: Potential Oops in error handling code usb: renesas_usbhs: getting residue from callback_result nvme: don't protect ns mutation with ns->head->lock netfilter: ipset: fix unaligned atomic access net: bcmgenet: use hardware padding of runt frames clk: sifive: allocate sufficient memory for struct __prci_data i2c: fsi: Fix the port number field in status register i2c: core: check returned size of emulated smbus block read afs: Fix storage of cell names sched/deadline: Initialize ->dl_boosted sched/core: Fix PI boosting between RT and DEADLINE tasks sata_rcar: handle pm_runtime_get_sync failure cases ata/libata: Fix usage of page address by page_address in ata_scsi_mode_select_xlat function drm/amd/display: Use kfree() to free rgb_user in calculate_user_regamma_ramp() riscv/atomic: Fix sign extension for RV64I hwrng: ks-sa - Fix runtime PM imbalance on error ibmvnic: Harden device login requests net: alx: fix race condition in alx_remove test_objagg: Fix potential memory leak in error handling pinctrl: qcom: spmi-gpio: fix warning about irq chip reusage pinctrl: tegra: Use noirq suspend/resume callbacks s390/ptrace: pass invalid syscall numbers to tracing s390/ptrace: fix setting syscall number s390/vdso: Use $(LD) instead of $(CC) to link vDSO s390/vdso: fix vDSO clock_getres() arm64: sve: Fix build failure when ARM64_SVE=y and SYSCTL=n kbuild: improve cc-option to clean up all temporary files recordmcount: support >64k sections kprobes: Suppress the suspicious RCU warning on kprobes blktrace: break out of blktrace setup on concurrent calls block: update hctx map when use multiple maps RISC-V: Don't allow write+exec only page mapping request in mmap ALSA: hda: Add NVIDIA codec IDs 9a & 9d through a0 to patch table ALSA: hda/realtek - Add quirk for MSI GE63 laptop ALSA: hda/realtek: Add mute LED and micmute LED support for HP systems ACPI: sysfs: Fix pm_profile_attr type ACPI: configfs: Disallow loading ACPI tables when locked down erofs: fix partially uninitialized misuse in z_erofs_onlinepage_fixup KVM: X86: Fix MSR range of APIC registers in X2APIC mode KVM: nVMX: Plumb L2 GPA through to PML emulation KVM: VMX: Stop context switching MSR_IA32_UMWAIT_CONTROL x86/cpu: Use pinning mask for CR4 bits needing to be 0 x86/asm/64: Align start of __clear_user() loop to 16-bytes btrfs: fix bytes_may_use underflow when running balance and scrub in parallel btrfs: fix data block group relocation failure due to concurrent scrub btrfs: check if a log root exists before locking the log_mutex on unlink btrfs: fix failure of RWF_NOWAIT write into prealloc extent beyond eof mm/slab: use memzero_explicit() in kzfree() ocfs2: avoid inode removal while nfsd is accessing it ocfs2: load global_inode_alloc ocfs2: fix value of OCFS2_INVALID_SLOT ocfs2: fix panic on nfs server over ocfs2 mm/memcontrol.c: add missed css_put() arm64: perf: Report the PC value in REGS_ABI_32 mode arm64: dts: imx8mm-evk: correct ldo1/ldo2 voltage range arm64: dts: imx8mn-ddr4-evk: correct ldo1/ldo2 voltage range tracing: Fix event trigger to accept redundant spaces ring-buffer: Zero out time extend if it is nested and not absolute drm/amd: fix potential memleak in err branch drm: rcar-du: Fix build error drm/radeon: fix fb_div check in ni_init_smc_spll_table() drm/amdgpu: add fw release for sdma v5_0 Staging: rtl8723bs: prevent buffer overflow in update_sta_support_rate() sunrpc: fixed rollback in rpc_gssd_dummy_populate() SUNRPC: Properly set the @subbuf parameter of xdr_buf_subsegment() pNFS/flexfiles: Fix list corruption if the mirror count changes NFSv4 fix CLOSE not waiting for direct IO compeletion xprtrdma: Fix handling of RDMA_ERROR replies dm writecache: correct uncommitted_block when discarding uncommitted entry dm writecache: add cond_resched to loop in persistent_memory_claim() xfs: add agf freeblocks verify in xfs_agf_verify Revert "tty: hvc: Fix data abort due to race in hvc_open" Linux 5.4.50 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: I3bfeaba86876d3c2f91979d3e98d894a2b70fe1a |
||
|
26b0956cb3 |
block: update hctx map when use multiple maps
[ Upstream commit fe35ec58f0d339221643287bbb7cee15c93a5389 ] There is an issue when tune the number for read and write queues, if the total queue count was not changed. The hctx->type cannot be updated, since __blk_mq_update_nr_hw_queues will return directly if the total queue count has not been changed. Reproduce: dmesg | grep "default/read/poll" [ 2.607459] nvme nvme0: 48/0/0 default/read/poll queues cat /sys/kernel/debug/block/nvme0n1/hctx*/type | sort | uniq -c 48 default tune the write queues to 24: echo 24 > /sys/module/nvme/parameters/write_queues echo 1 > /sys/block/nvme0n1/device/reset_controller dmesg | grep "default/read/poll" [ 433.547235] nvme nvme0: 24/24/0 default/read/poll queues cat /sys/kernel/debug/block/nvme0n1/hctx*/type | sort | uniq -c 48 default The driver's hardware queue mapping is not same as block layer. Signed-off-by: Weiping Zhang <zhangweiping@didiglobal.com> Reviewed-by: Ming Lei <ming.lei@redhat.com> Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Sasha Levin <sashal@kernel.org> |
||
|
b90ca32531 |
block/bio-integrity: don't free 'buf' if bio_integrity_add_page() failed
commit a75ca9303175d36af93c0937dd9b1a6422908b8d upstream. commit |
||
|
fa46997961 |
This is the 5.4.48 stable release
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAl7wXk8ACgkQONu9yGCS aT5uyhAA1EoV9ROPRt8Vw1fzlDIrRA5X2T+FCGXskg2kKWehVHAvge4U76nZ16+i aYcBX3lAmN7GGVw+/GiRHf9QpiwOUF5f3ZUQZ0KuLS1gcuaXx+VC1h5yyunx3tm1 CI01B2p+GQ3jABWopnhsujMVAeWjbD18NqY+a+xOzTn8CCyLAli+LiviWCR/apQp p4r6++eevWo1yMDlJGNGoMYsFcxChWhtlnDQKWCsIDCN3I1cinGz8wopiv93WqRH Sz3wb1YMuhXb10usNZcZFaSvDGf5XSaMxpRkyNSxN7CLv8LzbovXQOE+fFDGAYxd lUCjRK0wFBMzRSeZ2iGYqqQf5xyYKb6hNmViGprdqwR2c3MBHN/Xs5aDLqJEgHkr OXzZLyHUngRfp3GpagFGV6q06S6fgb9ca/7FuT4Hn8Z3tb5Xt7b/KlPcW3VymiSt I37itASNA/Qs6Njl4tDd9GjwbcOAs+s/XabasU+pXscOkf3o8fYMy2krisy176D/ AXtRTLq4pc42I8c3tv5uCNz7Zje/qytKSPErNRBAedvOu5JX7ab6hgULPH4N7r0N Di/LyKqYw+ZBa4AfzcsvlR3wJLWqni+aFj5yppSrNkH7kNzZGLmlw8xIo8v1CFYw T86b13WmHPqvyFWQLpX5WCEYu0OCw5YCUyQXSsLZN5oC7gAwC7U= =FSdI -----END PGP SIGNATURE----- Merge 5.4.48 into android-5.4-stable Changes in 5.4.48 ACPI: GED: use correct trigger type field in _Exx / _Lxx handling drm/amdgpu: fix and cleanup amdgpu_gem_object_close v4 ath10k: Fix the race condition in firmware dump work queue drm: bridge: adv7511: Extend list of audio sample rates media: staging: imgu: do not hold spinlock during freeing mmu page table media: imx: imx7-mipi-csis: Cleanup and fix subdev pad format handling crypto: ccp -- don't "select" CONFIG_DMADEVICES media: vicodec: Fix error codes in probe function media: si2157: Better check for running tuner in init objtool: Ignore empty alternatives spi: spi-mem: Fix Dual/Quad modes on Octal-capable devices drm/amdgpu: Init data to avoid oops while reading pp_num_states. arm64/kernel: Fix range on invalidating dcache for boot page tables libbpf: Fix memory leak and possible double-free in hashmap__clear spi: pxa2xx: Apply CS clk quirk to BXT x86,smap: Fix smap_{save,restore}() alternatives sched/fair: Refill bandwidth before scaling net: atlantic: make hw_get_regs optional net: ena: fix error returning in ena_com_get_hash_function() efi/libstub/x86: Work around LLVM ELF quirk build regression ath10k: remove the max_sched_scan_reqs value arm64: cacheflush: Fix KGDB trap detection media: staging: ipu3: Fix stale list entries on parameter queue failure rtw88: fix an issue about leak system resources spi: dw: Zero DMA Tx and Rx configurations on stack ACPICA: Dispatcher: add status checks block: alloc map and request for new hardware queue arm64: insn: Fix two bugs in encoding 32-bit logical immediates block: reset mapping if failed to update hardware queue count drm: rcar-du: Set primary plane zpos immutably at initializing lockdown: Allow unprivileged users to see lockdown status ixgbe: Fix XDP redirect on archs with PAGE_SIZE above 4K platform/x86: dell-laptop: don't register micmute LED if there is no token MIPS: Loongson: Build ATI Radeon GPU driver as module Bluetooth: Add SCO fallback for invalid LMP parameters error kgdb: Disable WARN_CONSOLE_UNLOCKED for all kgdb kgdb: Prevent infinite recursive entries to the debugger pmu/smmuv3: Clear IRQ affinity hint on device removal ACPI/IORT: Fix PMCG node single ID mapping handling mips: Fix cpu_has_mips64r1/2 activation for MIPS32 CPUs spi: dw: Enable interrupts in accordance with DMA xfer mode clocksource: dw_apb_timer: Make CPU-affiliation being optional clocksource: dw_apb_timer_of: Fix missing clockevent timers media: dvbdev: Fix tuner->demod media controller link btrfs: account for trans_block_rsv in may_commit_transaction btrfs: do not ignore error from btrfs_next_leaf() when inserting checksums ARM: 8978/1: mm: make act_mm() respect THREAD_SIZE batman-adv: Revert "disable ethtool link speed detection when auto negotiation off" ice: Fix memory leak ice: Fix for memory leaks and modify ICE_FREE_CQ_BUFS mmc: meson-mx-sdio: trigger a soft reset after a timeout or CRC error Bluetooth: btmtkuart: Improve exception handling in btmtuart_probe() spi: dw: Fix Rx-only DMA transfers x86/kvm/hyper-v: Explicitly align hcall param for kvm_hyperv_exit net: vmxnet3: fix possible buffer overflow caused by bad DMA value in vmxnet3_get_rss() x86: fix vmap arguments in map_irq_stack staging: android: ion: use vmap instead of vm_map_ram ath10k: fix kernel null pointer dereference media: staging/intel-ipu3: Implement lock for stream on/off operations spi: Respect DataBitLength field of SpiSerialBusV2() ACPI resource brcmfmac: fix wrong location to get firmware feature regulator: qcom-rpmh: Fix typos in pm8150 and pm8150l tools api fs: Make xxx__mountpoint() more scalable e1000: Distribute switch variables for initialization dt-bindings: display: mediatek: control dpi pins mode to avoid leakage drm/mediatek: set dpi pin mode to gpio low to avoid leakage current audit: fix a net reference leak in audit_send_reply() media: dvb: return -EREMOTEIO on i2c transfer failure. media: platform: fcp: Set appropriate DMA parameters MIPS: Make sparse_init() using top-down allocation ath10k: add flush tx packets for SDIO chip Bluetooth: btbcm: Add 2 missing models to subver tables audit: fix a net reference leak in audit_list_rules_send() Drivers: hv: vmbus: Always handle the VMBus messages on CPU0 dpaa2-eth: fix return codes used in ndo_setup_tc netfilter: nft_nat: return EOPNOTSUPP if type or flags are not supported selftests/bpf: Fix memory leak in extract_build_id() net: bcmgenet: set Rx mode before starting netif net: bcmgenet: Fix WoL with password after deep sleep lib/mpi: Fix 64-bit MIPS build with Clang exit: Move preemption fixup up, move blocking operations down sched/core: Fix illegal RCU from offline CPUs drivers/perf: hisi: Fix typo in events attribute array iocost_monitor: drop string wrap around numbers when outputting json net: lpc-enet: fix error return code in lpc_mii_init() selinux: fix error return code in policydb_read() drivers: net: davinci_mdio: fix potential NULL dereference in davinci_mdio_probe() media: cec: silence shift wrapping warning in __cec_s_log_addrs() net: allwinner: Fix use correct return type for ndo_start_xmit() powerpc/spufs: fix copy_to_user while atomic libertas_tf: avoid a null dereference in pointer priv xfs: clean up the error handling in xfs_swap_extents Crypto/chcr: fix for ccm(aes) failed test MIPS: Truncate link address into 32bit for 32bit kernel mips: cm: Fix an invalid error code of INTVN_*_ERR kgdb: Fix spurious true from in_dbg_master() xfs: reset buffer write failure state on successful completion xfs: fix duplicate verification from xfs_qm_dqflush() platform/x86: intel-vbtn: Use acpi_evaluate_integer() platform/x86: intel-vbtn: Split keymap into buttons and switches parts platform/x86: intel-vbtn: Do not advertise switches to userspace if they are not there platform/x86: intel-vbtn: Also handle tablet-mode switch on "Detachable" and "Portable" chassis-types iwlwifi: avoid debug max amsdu config overwriting itself nvme: refine the Qemu Identify CNS quirk nvme-pci: align io queue count with allocted nvme_queue in nvme_probe nvme-tcp: use bh_lock in data_ready ath10k: Remove msdu from idr when management pkt send fails wcn36xx: Fix error handling path in 'wcn36xx_probe()' net: qed*: Reduce RX and TX default ring count when running inside kdump kernel drm/mcde: dsi: Fix return value check in mcde_dsi_bind() mt76: avoid rx reorder buffer overflow md: don't flush workqueue unconditionally in md_open raid5: remove gfp flags from scribble_alloc() iocost: don't let vrate run wild while there's no saturation signal veth: Adjust hard_start offset on redirect XDP frames net/mlx5e: IPoIB, Drop multicast packets that this interface sent rtlwifi: Fix a double free in _rtl_usb_tx_urb_setup() mwifiex: Fix memory corruption in dump_station kgdboc: Use a platform device to handle tty drivers showing up late x86/boot: Correct relocation destination on old linkers sched: Defend cfs and rt bandwidth quota against overflow mips: MAAR: Use more precise address mask mips: Add udelay lpj numbers adjustment crypto: stm32/crc32 - fix ext4 chksum BUG_ON() crypto: stm32/crc32 - fix run-time self test issue. crypto: stm32/crc32 - fix multi-instance drm/amd/powerpay: Disable gfxoff when setting manual mode on picasso and raven drm/amdgpu: Sync with VM root BO when switching VM to CPU update mode selftests/bpf: CONFIG_IPV6_SEG6_BPF required for test_seg6_loop.o x86/mm: Stop printing BRK addresses MIPS: tools: Fix resource leak in elf-entry.c m68k: mac: Don't call via_flush_cache() on Mac IIfx btrfs: improve global reserve stealing logic btrfs: qgroup: mark qgroup inconsistent if we're inherting snapshot to a new qgroup macvlan: Skip loopback packets in RX handler PCI: Don't disable decoding when mmio_always_on is set MIPS: Fix IRQ tracing when call handle_fpe() and handle_msa_fpe() bcache: fix refcount underflow in bcache_device_free() mmc: sdhci-msm: Set SDHCI_QUIRK_MULTIBLOCK_READ_ACMD12 quirk staging: greybus: sdio: Respect the cmd->busy_timeout from the mmc core mmc: via-sdmmc: Respect the cmd->busy_timeout from the mmc core ice: fix potential double free in probe unrolling ixgbe: fix signed-integer-overflow warning iwlwifi: mvm: fix aux station leak mmc: sdhci-esdhc-imx: fix the mask for tuning start point spi: dw: Return any value retrieved from the dma_transfer callback cpuidle: Fix three reference count leaks platform/x86: hp-wmi: Convert simple_strtoul() to kstrtou32() platform/x86: intel-hid: Add a quirk to support HP Spectre X2 (2015) platform/x86: intel-vbtn: Only blacklist SW_TABLET_MODE on the 9 / "Laptop" chasis-type platform/x86: asus_wmi: Reserve more space for struct bias_args libbpf: Fix perf_buffer__free() API for sparse allocs bpf: Fix map permissions check bpf: Refactor sockmap redirect code so its easy to reuse bpf: Fix running sk_skb program types with ktls selftests/bpf, flow_dissector: Close TAP device FD after the test kasan: stop tests being eliminated as dead code with FORTIFY_SOURCE string.h: fix incompatibility between FORTIFY_SOURCE and KASAN btrfs: free alien device after device add btrfs: include non-missing as a qualifier for the latest_bdev btrfs: send: emit file capabilities after chown btrfs: force chunk allocation if our global rsv is larger than metadata btrfs: fix error handling when submitting direct I/O bio btrfs: fix wrong file range cleanup after an error filling dealloc range btrfs: fix space_info bytes_may_use underflow after nocow buffered write btrfs: fix space_info bytes_may_use underflow during space cache writeout powerpc/mm: Fix conditions to perform MMU specific management by blocks on PPC32. mm: thp: make the THP mapcount atomic against __split_huge_pmd_locked() mm: initialize deferred pages with interrupts enabled mm/pagealloc.c: call touch_nmi_watchdog() on max order boundaries in deferred init mm: call cond_resched() from deferred_init_memmap() ima: Fix ima digest hash table key calculation ima: Switch to ima_hash_algo for boot aggregate ima: Evaluate error in init_ima() ima: Directly assign the ima_default_policy pointer to ima_rules ima: Call ima_calc_boot_aggregate() in ima_eventdigest_init() ima: Remove __init annotation from ima_pcrread() evm: Fix possible memory leak in evm_calc_hmac_or_hash() ext4: fix EXT_MAX_EXTENT/INDEX to check for zeroed eh_max ext4: fix error pointer dereference ext4: fix race between ext4_sync_parent() and rename() PCI: Avoid Pericom USB controller OHCI/EHCI PME# defect PCI: Avoid FLR for AMD Matisse HD Audio & USB 3.0 PCI: Avoid FLR for AMD Starship USB 3.0 PCI: Add ACS quirk for Intel Root Complex Integrated Endpoints PCI: vmd: Add device id for VMD device 8086:9A0B x86/amd_nb: Add Family 19h PCI IDs PCI: Add Loongson vendor ID serial: 8250_pci: Move Pericom IDs to pci_ids.h x86/amd_nb: Add AMD family 17h model 60h PCI IDs ima: Remove redundant policy rule set in add_rules() ima: Set again build_ima_appraise variable PCI: Program MPS for RCiEP devices e1000e: Disable TSO for buffer overrun workaround e1000e: Relax condition to trigger reset for ME workaround carl9170: remove P2P_GO support media: go7007: fix a miss of snd_card_free media: cedrus: Program output format during each run serial: 8250: Avoid error message on reprobe Bluetooth: hci_bcm: fix freeing not-requested IRQ b43legacy: Fix case where channel status is corrupted b43: Fix connection problem with WPA3 b43_legacy: Fix connection problem with WPA3 media: ov5640: fix use of destroyed mutex clk: mediatek: assign the initial value to clk_init_data of mtk_mux igb: Report speed and duplex as unknown when device is runtime suspended hwmon: (k10temp) Add AMD family 17h model 60h PCI match EDAC/amd64: Add AMD family 17h model 60h PCI IDs power: vexpress: add suppress_bind_attrs to true power: supply: core: fix HWMON temperature labels power: supply: core: fix memory leak in HWMON error path pinctrl: samsung: Correct setting of eint wakeup mask on s5pv210 pinctrl: samsung: Save/restore eint_mask over suspend for EINT_TYPE GPIOs gnss: sirf: fix error return code in sirf_probe() sparc32: fix register window handling in genregs32_[gs]et() sparc64: fix misuses of access_process_vm() in genregs32_[sg]et() dm crypt: avoid truncating the logical block size alpha: fix memory barriers so that they conform to the specification powerpc/fadump: use static allocation for reserved memory ranges powerpc/fadump: consider reserved ranges while reserving memory powerpc/fadump: Account for memory_limit while reserving memory kernel/cpu_pm: Fix uninitted local in cpu_pm ARM: tegra: Correct PL310 Auxiliary Control Register initialization soc/tegra: pmc: Select GENERIC_PINCONF ARM: dts: exynos: Fix GPIO polarity for thr GalaxyS3 CM36651 sensor's bus ARM: dts: at91: sama5d2_ptc_ek: fix vbus pin ARM: dts: s5pv210: Set keep-power-in-suspend for SDHCI1 on Aries drivers/macintosh: Fix memleak in windfarm_pm112 driver powerpc/32s: Fix another build failure with CONFIG_PPC_KUAP_DEBUG powerpc/kasan: Fix issues by lowering KASAN_SHADOW_END powerpc/kasan: Fix shadow pages allocation failure powerpc/32: Disable KASAN with pages bigger than 16k powerpc/64s: Don't let DT CPU features set FSCR_DSCR powerpc/64s: Save FSCR to init_task.thread.fscr after feature init kbuild: force to build vmlinux if CONFIG_MODVERSION=y sunrpc: svcauth_gss_register_pseudoflavor must reject duplicate registrations. sunrpc: clean up properly in gss_mech_unregister() mtd: rawnand: Fix nand_gpio_waitrdy() mtd: rawnand: onfi: Fix redundancy detection check mtd: rawnand: brcmnand: fix hamming oob layout mtd: rawnand: diskonchip: Fix the probe error path mtd: rawnand: sharpsl: Fix the probe error path mtd: rawnand: ingenic: Fix the probe error path mtd: rawnand: xway: Fix the probe error path mtd: rawnand: orion: Fix the probe error path mtd: rawnand: socrates: Fix the probe error path mtd: rawnand: oxnas: Fix the probe error path mtd: rawnand: sunxi: Fix the probe error path mtd: rawnand: plat_nand: Fix the probe error path mtd: rawnand: pasemi: Fix the probe error path mtd: rawnand: mtk: Fix the probe error path mtd: rawnand: tmio: Fix the probe error path w1: omap-hdq: cleanup to add missing newline for some dev_dbg f2fs: fix checkpoint=disable:%u%% perf probe: Do not show the skipped events perf probe: Fix to check blacklist address correctly perf probe: Check address correctness by map instead of _etext perf symbols: Fix debuginfo search for Ubuntu perf symbols: Fix kernel maps for kcore and eBPF Linux 5.4.48 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: I9954fb3f08956419e8586bcb9078e604df207fb9 |
||
|
894d9cd524 |
iocost: don't let vrate run wild while there's no saturation signal
[ Upstream commit 81ca627a933063fa63a6d4c66425de822a2ab7f5 ] When the QoS targets are met and nothing is being throttled, there's no way to tell how saturated the underlying device is - it could be almost entirely idle, at the cusp of saturation or anywhere inbetween. Given that there's no information, it's best to keep vrate as-is in this state. Before |
||
|
e7aefaba39 |
block: reset mapping if failed to update hardware queue count
[ Upstream commit aa880ad690ab6d4c53934af85fb5a43e69ecb0f5 ] When we increase hardware queue count, blk_mq_update_queue_map will reset the mapping between cpu and hardware queue base on the hardware queue count(set->nr_hw_queues). The mapping cannot be reset if it encounters error in blk_mq_realloc_hw_ctxs, but the fallback flow will continue using it, then blk_mq_map_swqueue will touch a invalid memory, because the mapping points to a wrong hctx. blktest block/030: null_blk: module loaded Increasing nr_hw_queues to 8 fails, fallback to 1 ================================================================== BUG: KASAN: null-ptr-deref in blk_mq_map_swqueue+0x2f2/0x830 Read of size 8 at addr 0000000000000128 by task nproc/8541 CPU: 5 PID: 8541 Comm: nproc Not tainted 5.7.0-rc4-dbg+ #3 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.13.0-0-gf21b5a4-rebuilt.opensuse.org 04/01/2014 Call Trace: dump_stack+0xa5/0xe6 __kasan_report.cold+0x65/0xbb kasan_report+0x45/0x60 check_memory_region+0x15e/0x1c0 __kasan_check_read+0x15/0x20 blk_mq_map_swqueue+0x2f2/0x830 __blk_mq_update_nr_hw_queues+0x3df/0x690 blk_mq_update_nr_hw_queues+0x32/0x50 nullb_device_submit_queues_store+0xde/0x160 [null_blk] configfs_write_file+0x1c4/0x250 [configfs] __vfs_write+0x4c/0x90 vfs_write+0x14b/0x2d0 ksys_write+0xdd/0x180 __x64_sys_write+0x47/0x50 do_syscall_64+0x6f/0x310 entry_SYSCALL_64_after_hwframe+0x49/0xb3 Signed-off-by: Weiping Zhang <zhangweiping@didiglobal.com> Tested-by: Bart van Assche <bvanassche@acm.org> Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Sasha Levin <sashal@kernel.org> |
||
|
201219691a |
block: alloc map and request for new hardware queue
[ Upstream commit fd689871bbfbb41cd77379d3e9e5f4def0f7d6c6 ] Alloc new map and request for new hardware queue when increse hardware queue count. Before this patch, it will show a warning for each new hardware queue, but it's not enough, these hctx have no maps and reqeust, when a bio was mapped to these hardware queue, it will trigger kernel panic when get request from these hctx. Test environment: * A NVMe disk supports 128 io queues * 96 cpus in system A corner case can always trigger this panic, there are 96 io queues allocated for HCTX_TYPE_DEFAULT type, the corresponding kernel log: nvme nvme0: 96/0/0 default/read/poll queues. Now we set nvme write queues to 96, then nvme will alloc others(32) queues for read, but blk_mq_update_nr_hw_queues does not alloc map and request for these new added io queues. So when process read nvme disk, it will trigger kernel panic when get request from these hardware context. Reproduce script: nr=$(expr `cat /sys/block/nvme0n1/device/queue_count` - 1) echo $nr > /sys/module/nvme/parameters/write_queues echo 1 > /sys/block/nvme0n1/device/reset_controller dd if=/dev/nvme0n1 of=/dev/null bs=4K count=1 [ 8040.805626] ------------[ cut here ]------------ [ 8040.805627] WARNING: CPU: 82 PID: 12921 at block/blk-mq.c:2578 blk_mq_map_swqueue+0x2b6/0x2c0 [ 8040.805627] Modules linked in: nvme nvme_core nf_conntrack_netlink xt_addrtype br_netfilter overlay xt_CHECKSUM xt_MASQUERADE xt_conntrack ipt_REJECT nft_counter nf_nat_tftp nf_conntrack_tftp nft_masq nf_tables_set nft_fib_inet nft_f ib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4 nf_reject_ipv6 nft_reject nft_ct nft_chain_nat nf_nat nf_conntrack tun bridge nf_defrag_ipv6 nf_defrag_ipv4 stp llc ip6_tables ip_tables nft_compat rfkill ip_set nf_tables nfne tlink sunrpc intel_rapl_msr intel_rapl_common skx_edac nfit libnvdimm x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel kvm irqbypass ipmi_ssif crct10dif_pclmul crc32_pclmul iTCO_wdt iTCO_vendor_support ghash_clmulni_intel intel_ cstate intel_uncore raid0 joydev intel_rapl_perf ipmi_si pcspkr mei_me ioatdma sg ipmi_devintf mei i2c_i801 dca lpc_ich ipmi_msghandler acpi_power_meter acpi_pad xfs libcrc32c sd_mod ast i2c_algo_bit drm_vram_helper drm_ttm_helper ttm d rm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops [ 8040.805637] ahci drm i40e libahci crc32c_intel libata t10_pi wmi dm_mirror dm_region_hash dm_log dm_mod [last unloaded: nvme_core] [ 8040.805640] CPU: 82 PID: 12921 Comm: kworker/u194:2 Kdump: loaded Tainted: G W 5.6.0-rc5.78317c+ #2 [ 8040.805640] Hardware name: Inspur SA5212M5/YZMB-00882-104, BIOS 4.0.9 08/27/2019 [ 8040.805641] Workqueue: nvme-reset-wq nvme_reset_work [nvme] [ 8040.805642] RIP: 0010:blk_mq_map_swqueue+0x2b6/0x2c0 [ 8040.805643] Code: 00 00 00 00 00 41 83 c5 01 44 39 6d 50 77 b8 5b 5d 41 5c 41 5d 41 5e 41 5f c3 48 8b bb 98 00 00 00 89 d6 e8 8c 81 03 00 eb 83 <0f> 0b e9 52 ff ff ff 0f 1f 00 0f 1f 44 00 00 41 57 48 89 f1 41 56 [ 8040.805643] RSP: 0018:ffffba590d2e7d48 EFLAGS: 00010246 [ 8040.805643] RAX: 0000000000000000 RBX: ffff9f013e1ba800 RCX: 000000000000003d [ 8040.805644] RDX: ffff9f00ffff6000 RSI: 0000000000000003 RDI: ffff9ed200246d90 [ 8040.805644] RBP: ffff9f00f6a79860 R08: 0000000000000000 R09: 000000000000003d [ 8040.805645] R10: 0000000000000001 R11: ffff9f0138c3d000 R12: ffff9f00fb3a9008 [ 8040.805645] R13: 000000000000007f R14: ffffffff96822660 R15: 000000000000005f [ 8040.805645] FS: 0000000000000000(0000) GS:ffff9f013fa80000(0000) knlGS:0000000000000000 [ 8040.805646] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 8040.805646] CR2: 00007f7f397fa6f8 CR3: 0000003d8240a002 CR4: 00000000007606e0 [ 8040.805647] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 8040.805647] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [ 8040.805647] PKRU: 55555554 [ 8040.805647] Call Trace: [ 8040.805649] blk_mq_update_nr_hw_queues+0x31b/0x390 [ 8040.805650] nvme_reset_work+0xb4b/0xeab [nvme] [ 8040.805651] process_one_work+0x1a7/0x370 [ 8040.805652] worker_thread+0x1c9/0x380 [ 8040.805653] ? max_active_store+0x80/0x80 [ 8040.805655] kthread+0x112/0x130 [ 8040.805656] ? __kthread_parkme+0x70/0x70 [ 8040.805657] ret_from_fork+0x35/0x40 [ 8040.805658] ---[ end trace b5f13b1e73ccb5d3 ]--- [ 8229.365135] BUG: kernel NULL pointer dereference, address: 0000000000000004 [ 8229.365165] #PF: supervisor read access in kernel mode [ 8229.365178] #PF: error_code(0x0000) - not-present page [ 8229.365191] PGD 0 P4D 0 [ 8229.365201] Oops: 0000 [#1] SMP PTI [ 8229.365212] CPU: 77 PID: 13024 Comm: dd Kdump: loaded Tainted: G W 5.6.0-rc5.78317c+ #2 [ 8229.365232] Hardware name: Inspur SA5212M5/YZMB-00882-104, BIOS 4.0.9 08/27/2019 [ 8229.365253] RIP: 0010:blk_mq_get_tag+0x227/0x250 [ 8229.365265] Code: 44 24 04 44 01 e0 48 8b 74 24 38 65 48 33 34 25 28 00 00 00 75 33 48 83 c4 40 5b 5d 41 5c 41 5d 41 5e c3 48 8d 68 10 4c 89 ef <44> 8b 60 04 48 89 ee e8 dd f9 ff ff 83 f8 ff 75 c8 e9 67 fe ff ff [ 8229.365304] RSP: 0018:ffffba590e977970 EFLAGS: 00010246 [ 8229.365317] RAX: 0000000000000000 RBX: ffff9f00f6a79860 RCX: ffffba590e977998 [ 8229.365333] RDX: 0000000000000000 RSI: ffff9f012039b140 RDI: ffffba590e977a38 [ 8229.365349] RBP: 0000000000000010 R08: ffffda58ff94e190 R09: ffffda58ff94e198 [ 8229.365365] R10: 0000000000000011 R11: ffff9f00f6a79860 R12: 0000000000000000 [ 8229.365381] R13: ffffba590e977a38 R14: ffff9f012039b140 R15: 0000000000000001 [ 8229.365397] FS: 00007f481c230580(0000) GS:ffff9f013f940000(0000) knlGS:0000000000000000 [ 8229.365415] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 8229.365428] CR2: 0000000000000004 CR3: 0000005f35e26004 CR4: 00000000007606e0 [ 8229.365444] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 8229.365460] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [ 8229.365476] PKRU: 55555554 [ 8229.365484] Call Trace: [ 8229.365498] ? finish_wait+0x80/0x80 [ 8229.365512] blk_mq_get_request+0xcb/0x3f0 [ 8229.365525] blk_mq_make_request+0x143/0x5d0 [ 8229.365538] generic_make_request+0xcf/0x310 [ 8229.365553] ? scan_shadow_nodes+0x30/0x30 [ 8229.365564] submit_bio+0x3c/0x150 [ 8229.365576] mpage_readpages+0x163/0x1a0 [ 8229.365588] ? blkdev_direct_IO+0x490/0x490 [ 8229.365601] read_pages+0x6b/0x190 [ 8229.365612] __do_page_cache_readahead+0x1c1/0x1e0 [ 8229.365626] ondemand_readahead+0x182/0x2f0 [ 8229.365639] generic_file_buffered_read+0x590/0xab0 [ 8229.365655] new_sync_read+0x12a/0x1c0 [ 8229.365666] vfs_read+0x8a/0x140 [ 8229.365676] ksys_read+0x59/0xd0 [ 8229.365688] do_syscall_64+0x55/0x1d0 [ 8229.365700] entry_SYSCALL_64_after_hwframe+0x44/0xa9 Signed-off-by: Ming Lei <ming.lei@redhat.com> Signed-off-by: Weiping Zhang <zhangweiping@didiglobal.com> Tested-by: Weiping Zhang <zhangweiping@didiglobal.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Hannes Reinecke <hare@suse.de> Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Sasha Levin <sashal@kernel.org> |
||
|
f520ca124c |
This is the 5.4.44 stable release
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAl7XQXMACgkQONu9yGCS aT4OHw//YYuI/61rkff6/3qAE4gDwTZolVywu5HHzT5W7t7qeHPzJin2u04RBiS8 4S8Mut0RUSK/0IyB0B3S342ntia1v41Q04veWm0K90iAScScjjUapLDXC/P3StA0 iitGKJ8QFDS49+PFKFYkyXEsv6HYlDbtTmS0yxVoooSr+uqeR7m6rS1jsDsfUTaR T4tvfX8VPHkgfkfkOKCUq8/rM3uDW3lSk3JflIbPwRBQo9KvNPnfBetU9p//dCHG CB1K9K3sB6xLkKe7Ut7PlwoTq/Lc8qOma535xy3A8Iv6fVq4+hPE2jsB93WGI270 WoEZbHpon7W6g/bU+C+CGfov2zBtz1dKHfWNcK5+dEkEQjjzKvvigfUvaKjyUUKB Vo5rQ3GZQ4JsMkHEJaLOlp3/SkdRd6RV/E0YErBISNeswzqsOgTrX8mz6wfQInwd Ww7V9LKdwSD6h2DuzutUbEm1X8i8glXammWEOUuh6zzQ3+WS57R1L+Nkr/6WxpgN w2g7F0+5enUbE1kIdq5OCzY1D0gBpT1o5YlrZgdL2GF5lU1b/lhsGhV6P83fl2Mf rTGFtg5M1pNgjbUkSH3VHHof35PM9vQZ6lrYbKMCjwymVY+BcR6nsCadfLqjMGnW NCYeiAmoIVCJX7q0hONww+TevZ3T+SLUjQ2os3WzooPC51MPOAQ= =5p6V -----END PGP SIGNATURE----- Merge 5.4.44 into android-5.4-stable Changes in 5.4.44 ax25: fix setsockopt(SO_BINDTODEVICE) dpaa_eth: fix usage as DSA master, try 3 net: don't return invalid table id error when we fall back to PF_UNSPEC net: dsa: mt7530: fix roaming from DSA user ports net: ethernet: ti: cpsw: fix ASSERT_RTNL() warning during suspend __netif_receive_skb_core: pass skb by reference net: inet_csk: Fix so_reuseport bind-address cache in tb->fast* net: ipip: fix wrong address family in init error path net/mlx5: Add command entry handling completion net: mvpp2: fix RX hashing for non-10G ports net: nlmsg_cancel() if put fails for nhmsg net: qrtr: Fix passing invalid reference to qrtr_local_enqueue() net: revert "net: get rid of an signed integer overflow in ip_idents_reserve()" net sched: fix reporting the first-time use timestamp net/tls: fix race condition causing kernel panic nexthop: Fix attribute checking for groups r8152: support additional Microsoft Surface Ethernet Adapter variant sctp: Don't add the shutdown timer if its already been added sctp: Start shutdown on association restart if in SHUTDOWN-SENT state and socket is closed tipc: block BH before using dst_cache net/mlx5e: kTLS, Destroy key object after destroying the TIS net/mlx5e: Fix inner tirs handling net/mlx5: Fix memory leak in mlx5_events_init net/mlx5e: Update netdev txq on completions during closure net/mlx5: Fix error flow in case of function_setup failure net/mlx5: Annotate mutex destroy for root ns net/tls: fix encryption error checking net/tls: free record only on encryption error net: sun: fix missing release regions in cas_init_one(). net/mlx4_core: fix a memory leak bug. mlxsw: spectrum: Fix use-after-free of split/unsplit/type_set in case reload fails ARM: dts: rockchip: fix phy nodename for rk3228-evb ARM: dts: rockchip: fix phy nodename for rk3229-xms6 arm64: dts: rockchip: fix status for &gmac2phy in rk3328-evb.dts arm64: dts: rockchip: swap interrupts interrupt-names rk3399 gpu node ARM: dts: rockchip: swap clock-names of gpu nodes ARM: dts: rockchip: fix pinctrl sub nodename for spi in rk322x.dtsi gpio: tegra: mask GPIO IRQs during IRQ shutdown ALSA: usb-audio: add mapping for ASRock TRX40 Creator net: microchip: encx24j600: add missed kthread_stop gfs2: move privileged user check to gfs2_quota_lock_check gfs2: Grab glock reference sooner in gfs2_add_revoke drm/amdgpu: drop unnecessary cancel_delayed_work_sync on PG ungate drm/amd/powerplay: perform PG ungate prior to CG ungate drm/amdgpu: Use GEM obj reference for KFD BOs cachefiles: Fix race between read_waiter and read_copier involving op->to_do usb: dwc3: pci: Enable extcon driver for Intel Merrifield usb: phy: twl6030-usb: Fix a resource leak in an error handling path in 'twl6030_usb_probe()' usb: gadget: legacy: fix redundant initialization warnings net: freescale: select CONFIG_FIXED_PHY where needed IB/i40iw: Remove bogus call to netdev_master_upper_dev_get() riscv: stacktrace: Fix undefined reference to `walk_stackframe' clk: ti: am33xx: fix RTC clock parent csky: Fixup msa highest 3 bits mask csky: Fixup perf callchain unwind csky: Fixup remove duplicate irq_disable hwmon: (nct7904) Fix incorrect range of temperature limit registers cifs: Fix null pointer check in cifs_read csky: Fixup raw_copy_from_user() samples: bpf: Fix build error drivers: net: hamradio: Fix suspicious RCU usage warning in bpqether.c Input: usbtouchscreen - add support for BonXeon TP Input: evdev - call input_flush_device() on release(), not flush() Input: xpad - add custom init packet for Xbox One S controllers Input: dlink-dir685-touchkeys - fix a typo in driver name Input: i8042 - add ThinkPad S230u to i8042 reset list Input: synaptics-rmi4 - really fix attn_data use-after-free Input: synaptics-rmi4 - fix error return code in rmi_driver_probe() ARM: 8970/1: decompressor: increase tag size ARM: uaccess: consolidate uaccess asm to asm/uaccess-asm.h ARM: uaccess: integrate uaccess_save and uaccess_restore ARM: uaccess: fix DACR mismatch with nested exceptions gpio: exar: Fix bad handling for ida_simple_get error path arm64: dts: mt8173: fix vcodec-enc clock soc: mediatek: cmdq: return send msg error code gpu/drm: Ingenic: Fix opaque pointer casted to wrong type IB/qib: Call kobject_put() when kobject_init_and_add() fails ARM: dts/imx6q-bx50v3: Set display interface clock parents ARM: dts: bcm2835-rpi-zero-w: Fix led polarity ARM: dts: bcm: HR2: Fix PPI interrupt types mmc: block: Fix use-after-free issue for rpmb gpio: pxa: Fix return value of pxa_gpio_probe() gpio: bcm-kona: Fix return value of bcm_kona_gpio_probe() RDMA/pvrdma: Fix missing pci disable in pvrdma_pci_probe() ALSA: hwdep: fix a left shifting 1 by 31 UB bug ALSA: hda/realtek - Add a model for Thinkpad T570 without DAC workaround ALSA: usb-audio: mixer: volume quirk for ESS Technology Asus USB DAC exec: Always set cap_ambient in cap_bprm_set_creds clk: qcom: gcc: Fix parent for gpll0_out_even ALSA: usb-audio: Quirks for Gigabyte TRX40 Aorus Master onboard audio ALSA: hda/realtek - Add new codec supported for ALC287 libceph: ignore pool overlay and cache logic on redirects ceph: flush release queue when handling caps for unknown inode RDMA/core: Fix double destruction of uobject drm/amd/display: drop cursor position check in atomic test IB/ipoib: Fix double free of skb in case of multicast traffic in CM mode mm,thp: stop leaking unreleased file pages mm: remove VM_BUG_ON(PageSlab()) from page_mapcount() fs/binfmt_elf.c: allocate initialized memory in fill_thread_core_info() include/asm-generic/topology.h: guard cpumask_of_node() macro argument Revert "block: end bio with BLK_STS_AGAIN in case of non-mq devs and REQ_NOWAIT" gpio: fix locking open drain IRQ lines iommu: Fix reference count leak in iommu_group_alloc. parisc: Fix kernel panic in mem_init() cfg80211: fix debugfs rename crash x86/syscalls: Revert "x86/syscalls: Make __X32_SYSCALL_BIT be unsigned long" mac80211: mesh: fix discovery timer re-arming issue / crash x86/dma: Fix max PFN arithmetic overflow on 32 bit systems copy_xstate_to_kernel(): don't leave parts of destination uninitialized xfrm: allow to accept packets with ipv6 NEXTHDR_HOP in xfrm_input xfrm: do pskb_pull properly in __xfrm_transport_prep xfrm: remove the xfrm_state_put call becofe going to out_reset xfrm: call xfrm_output_gso when inner_protocol is set in xfrm_output xfrm interface: fix oops when deleting a x-netns interface xfrm: fix a warning in xfrm_policy_insert_list xfrm: fix a NULL-ptr deref in xfrm_local_error xfrm: fix error in comment ip_vti: receive ipip packet by calling ip_tunnel_rcv netfilter: nft_reject_bridge: enable reject with bridge vlan netfilter: ipset: Fix subcounter update skip netfilter: conntrack: make conntrack userspace helpers work again netfilter: nfnetlink_cthelper: unbreak userspace helper support netfilter: nf_conntrack_pptp: prevent buffer overflows in debug code esp6: get the right proto for transport mode in esp6_gso_encap bnxt_en: Fix accumulation of bp->net_stats_prev. ieee80211: Fix incorrect mask for default PE duration xsk: Add overflow check for u64 division, stored into u32 qlcnic: fix missing release in qlcnic_83xx_interrupt_test. crypto: chelsio/chtls: properly set tp->lsndtime nexthops: Move code from remove_nexthop_from_groups to remove_nh_grp_entry nexthops: don't modify published nexthop groups nexthop: Expand nexthop_is_multipath in a few places ipv4: nexthop version of fib_info_nh_uses_dev net: dsa: declare lockless TX feature for slave ports bonding: Fix reference count leak in bond_sysfs_slave_add. netfilter: conntrack: comparison of unsigned in cthelper confirmation netfilter: conntrack: Pass value of ctinfo to __nf_conntrack_update netfilter: nf_conntrack_pptp: fix compilation warning with W=1 build perf: Make perf able to build with latest libbfd Linux 5.4.44 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: Idd547df1abb0bea116f30e3224a80387529adb0b |
||
|
bba91cdba6 |
Revert "block: end bio with BLK_STS_AGAIN in case of non-mq devs and REQ_NOWAIT"
[ Upstream commit b0beb28097fa04177b3769f4bb7a0d0d9c4ae76e ] This reverts commit c58c1f83436b501d45d4050fd1296d71a9760bcb. io_uring does do the right thing for this case, and we're still returning -EAGAIN to userspace for the cases we don't support. Revert this change to avoid doing endless spins of resubmits. Cc: stable@vger.kernel.org # v5.6 Reported-by: Bijan Mottahedeh <bijan.mottahedeh@oracle.com> Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Sasha Levin <sashal@kernel.org> |
||
|
1af79e47ae |
ANDROID: block: backport the ability to specify max_dun_bytes
Backport a fix from the v7 inline crypto patchset which ensures that the block layer knows the number of DUN bytes the inline encryption hardware supports, so that hardware isn't used when it shouldn't be. (This unfortunately means introducing some increasing long argument lists; this was all already fixed up in later versions of the patchset.) To avoid breaking the KMI for drivers, don't add a dun_bytes argument to keyslot_manager_create() but rather allow drivers to call keyslot_manager_set_max_dun_bytes() to override the default. Also, don't add dun_bytes as a new field in 'struct blk_crypto_key' but rather pack it into the existing 'hash' field which is for block layer use. Bug: 144046242 Bug: 153512828 Change-Id: I285f36557fb3eafc5f2f64727ef1740938b59dd7 Signed-off-by: Eric Biggers <ebiggers@google.com> |
||
|
5e169f689f |
This is the 5.4.41 stable release
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAl683gYACgkQONu9yGCS aT4UrQ/+OWH+sgNXQW2TtBAtDt+b6WCPCwsAe74YdsbqzVf/mxVGVpHKvFJCEXxA KDRrBqdICgrjZ+L8Y2MPzNhyD2/nLHwB8M99ARx4B6mvOu4pT0+/xATViGmotqDN tzpQ3HvnFLlR/z74/xDanXgXrTAv591hpSQlpUmf6NCiBZNlhndId4qnh/z8Eumn wVLseK1r2CY3s3mMZTw6BXmHmj6zGA70Ckuvhp9JmxiKs9fg+pmDlUaRPHex91Xh LtSJd7CdpVr5YrMIC9DcQ2TN46KsZZkoo+l/W8jVNVG3ggqWUrHn7wGamwTHafd1 TkoU7eQt9ps15p7Sj4Z19de30Y1m/g+Qq7L4NrgGcX8bhnCHdgfdbAj40GINOaB2 WLHRVu3PgEUCbLCSixE5BRLmBTECjWapIiW50fp/jogGmeRiBbJFFnWbVtiEwyme KU7ZJRw/sfKNzIN0QioJ/EadK7ZkvIfr/ajinpXdxIA+4gteyKRrNb0323FRG3Ev JoStdR2g+dv+yEJYLmsCl3N0eEETzHK8fRJbp0lkSKjEaxW/yDRpIdhREXmWGd2V Hprcoiyknae0MEIFFnTvA4Oj7wOYezxP0tQg14nOdtXZX5afry5qP/lryE0kYxiV JcI4BrwfWI8hOwdaFd413qp+JG7eKV3RhanhaPimroQJn0WKB9Q= =Ipyc -----END PGP SIGNATURE----- Merge 5.4.41 into android-5.4-stable Changes in 5.4.41 USB: serial: qcserial: Add DW5816e support nvme: refactor nvme_identify_ns_descs error handling nvme: fix possible hang when ns scanning fails during error recovery tracing/kprobes: Fix a double initialization typo net: macb: Fix runtime PM refcounting drm/amdgpu: move kfd suspend after ip_suspend_phase1 drm/amdgpu: drop redundant cg/pg ungate on runpm enter vt: fix unicode console freeing with a common interface tty: xilinx_uartps: Fix missing id assignment to the console devlink: fix return value after hitting end in region read dp83640: reverse arguments to list_add_tail fq_codel: fix TCA_FQ_CODEL_DROP_BATCH_SIZE sanity checks ipv6: Use global sernum for dst validation with nexthop objects mlxsw: spectrum_acl_tcam: Position vchunk in a vregion list properly neigh: send protocol value in neighbor create notification net: dsa: Do not leave DSA master with NULL netdev_ops net: macb: fix an issue about leak related system resources net: macsec: preserve ingress frame ordering net/mlx4_core: Fix use of ENOSPC around mlx4_counter_alloc() net_sched: sch_skbprio: add message validation to skbprio_change() net: stricter validation of untrusted gso packets net: tc35815: Fix phydev supported/advertising mask net/tls: Fix sk_psock refcnt leak in bpf_exec_tx_verdict() net/tls: Fix sk_psock refcnt leak when in tls_data_ready() net: usb: qmi_wwan: add support for DW5816e nfp: abm: fix a memory leak bug sch_choke: avoid potential panic in choke_reset() sch_sfq: validate silly quantum values tipc: fix partial topology connection closure tunnel: Propagate ECT(1) when decapsulating as recommended by RFC6040 bnxt_en: Fix VF anti-spoof filter setup. bnxt_en: Reduce BNXT_MSIX_VEC_MAX value to supported CQs per PF. bnxt_en: Improve AER slot reset. bnxt_en: Return error when allocating zero size context memory. bnxt_en: Fix VLAN acceleration handling in bnxt_fix_features(). net/mlx5: DR, On creation set CQ's arm_db member to right value net/mlx5: Fix forced completion access non initialized command entry net/mlx5: Fix command entry leak in Internal Error State net: mvpp2: prevent buffer overflow in mvpp22_rss_ctx() net: mvpp2: cls: Prevent buffer overflow in mvpp2_ethtool_cls_rule_del() HID: wacom: Read HID_DG_CONTACTMAX directly for non-generic devices sctp: Fix bundling of SHUTDOWN with COOKIE-ACK Revert "HID: wacom: generic: read the number of expected touches on a per collection basis" HID: usbhid: Fix race between usbhid_close() and usbhid_stop() HID: wacom: Report 2nd-gen Intuos Pro S center button status over BT USB: uas: add quirk for LaCie 2Big Quadra usb: chipidea: msm: Ensure proper controller reset using role switch API USB: serial: garmin_gps: add sanity checking for data length tracing: Add a vmalloc_sync_mappings() for safe measure crypto: arch/nhpoly1305 - process in explicit 4k chunks KVM: s390: Remove false WARN_ON_ONCE for the PQAP instruction KVM: VMX: Explicitly clear RFLAGS.CF and RFLAGS.ZF in VM-Exit RSB path KVM: arm: vgic: Fix limit condition when writing to GICD_I[CS]ACTIVER KVM: arm64: Fix 32bit PC wrap-around arm64: hugetlb: avoid potential NULL dereference drm: ingenic-drm: add MODULE_DEVICE_TABLE ipc/mqueue.c: change __do_notify() to bypass check_kill_permission() epoll: atomically remove wait entry on wake up eventpoll: fix missing wakeup for ovflist in ep_poll_callback mm/page_alloc: fix watchdog soft lockups during set_zone_contiguous() mm: limit boost_watermark on small zones ceph: fix endianness bug when handling MDS session feature bits ceph: demote quotarealm lookup warning to a debug message staging: gasket: Check the return value of gasket_get_bar_index() coredump: fix crash when umh is disabled riscv: set max_pfn to the PFN of the last page iocost: protect iocg->abs_vdebt with iocg->waitq.lock batman-adv: fix batadv_nc_random_weight_tq batman-adv: Fix refcnt leak in batadv_show_throughput_override batman-adv: Fix refcnt leak in batadv_store_throughput_override batman-adv: Fix refcnt leak in batadv_v_ogm_process x86/entry/64: Fix unwind hints in register clearing code x86/entry/64: Fix unwind hints in kernel exit path x86/entry/64: Fix unwind hints in rewind_stack_do_exit() x86/unwind/orc: Don't skip the first frame for inactive tasks x86/unwind/orc: Prevent unwinding before ORC initialization x86/unwind/orc: Fix error path for bad ORC entry type x86/unwind/orc: Fix premature unwind stoppage due to IRET frames KVM: x86: Fixes posted interrupt check for IRQs delivery modes arch/x86/kvm/svm/sev.c: change flag passed to GUP fast in sev_pin_memory() netfilter: nat: never update the UDP checksum when it's 0 netfilter: nf_osf: avoid passing pointer to local var objtool: Fix stack offset tracking for indirect CFAs iommu/virtio: Reverse arguments to list_add scripts/decodecode: fix trapping instruction formatting mm, memcg: fix error return value of mem_cgroup_css_alloc() bdi: move bdi_dev_name out of line bdi: add a ->dev_name field to struct backing_dev_info fsnotify: replace inode pointer with an object id fanotify: merge duplicate events on parent and child Linux 5.4.41 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: Ie6695b1dace8ca62579a57084608e9268e52fde9 |
||
|
34ca080088 |
iocost: protect iocg->abs_vdebt with iocg->waitq.lock
commit 0b80f9866e6bbfb905140ed8787ff2af03652c0c upstream.
abs_vdebt is an atomic_64 which tracks how much over budget a given cgroup
is and controls the activation of use_delay mechanism. Once a cgroup goes
over budget from forced IOs, it has to pay it back with its future budget.
The progress guarantee on debt paying comes from the iocg being active -
active iocgs are processed by the periodic timer, which ensures that as time
passes the debts dissipate and the iocg returns to normal operation.
However, both iocg activation and vdebt handling are asynchronous and a
sequence like the following may happen.
1. The iocg is in the process of being deactivated by the periodic timer.
2. A bio enters ioc_rqos_throttle(), calls iocg_activate() which returns
without anything because it still sees that the iocg is already active.
3. The iocg is deactivated.
4. The bio from #2 is over budget but needs to be forced. It increases
abs_vdebt and goes over the threshold and enables use_delay.
5. IO control is enabled for the iocg's subtree and now IOs are attributed
to the descendant cgroups and the iocg itself no longer issues IOs.
This leaves the iocg with stuck abs_vdebt - it has debt but inactive and no
further IOs which can activate it. This can end up unduly punishing all the
descendants cgroups.
The usual throttling path has the same issue - the iocg must be active while
throttled to ensure that future event will wake it up - and solves the
problem by synchronizing the throttling path with a spinlock. abs_vdebt
handling is another form of overage handling and shares a lot of
characteristics including the fact that it isn't in the hottest path.
This patch fixes the above and other possible races by strictly
synchronizing abs_vdebt and use_delay handling with iocg->waitq.lock.
Signed-off-by: Tejun Heo <tj@kernel.org>
Reported-by: Vlad Dmitriev <vvd@fb.com>
Cc: stable@vger.kernel.org # v5.4+
Fixes:
|
||
|
ae0dae9ffc |
This is the 5.4.37 stable release
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAl6tF/4ACgkQONu9yGCS aT7GdA//U9Nzp0upthsH5IMqIOwaJQBEwXF83fTResLKPSNjq6wAYO6kQwdTBMZ1 PUo/ZEmOnDigdHM3PCGw+Z779UCb9/2laH+KPnPTnst9LcM0sLJMsgoCIuqsyl8J mPDLCbx4f7/ffkw/cSb+JrqCn/2mFib3uCwktTSqxVWm9S7EcE3CRxSTEE1XP/z6 FzDPCjeNijNa3U96NnHFcKXEo/vcaEKHIB9bgdR7kUuRKGBhXSjv7LWUV/940F2w eyGgW5A+o94dsCORx2aOgBwOoujAto/DxDihv4jm/S5HTg68hqWQxqWerlsy0PFP k7j854aaHamIJjt5SE2MTm9YxnvWh4rpbXjuYDLYLM1jLaACZ+5mIj+w18yrpmOs 7vjlHBBBTt4xNbODML4KLrj+fCdXk4uEBy7sWi/qYPUmrV3CLK1DqcqRQ9toS+yh o22JwyVYuD2os0YMYikqSVRlCe4UwJcW0ZZfOFg2cpB9anG7i+DrzW9Lc6CuPsHo ZC9rdVNEHLh9Ti9zcXrs8AFjxoIbP/m0n+ZH7bQPo1/rWE4+fzj14wtKslGtkT0B 00/Vo9mtmmBC0MVBignbWsq5aE3bFLWTOveJppjgAVXYJ7mQhtnvw4eFSJahtBa0 s+SB9M6kGNvWpL11cokqIaVfklDjaMo0Jeakd78KdobeNOgBvug= =TNyS -----END PGP SIGNATURE----- Merge 5.4.37 into android-5.4-stable Changes in 5.4.37 remoteproc: Fix wrong rvring index computation ubifs: Fix ubifs_tnc_lookup() usage in do_kill_orphans() printk: queue wake_up_klogd irq_work only if per-CPU areas are ready ASoC: stm32: sai: fix sai probe usb: dwc3: gadget: Do link recovery for SS and SSP kbuild: fix DT binding schema rule again to avoid needless rebuilds usb: gadget: udc: bdc: Remove unnecessary NULL checks in bdc_req_complete usb: gadget: udc: atmel: Fix vbus disconnect handling afs: Make record checking use TASK_UNINTERRUPTIBLE when appropriate afs: Fix to actually set AFS_SERVER_FL_HAVE_EPOCH iio:ad7797: Use correct attribute_group propagate_one(): mnt_set_mountpoint() needs mount_lock counter: 104-quad-8: Add lock guards - generic interface s390/ftrace: fix potential crashes when switching tracers ASoC: q6dsp6: q6afe-dai: add missing channels to MI2S DAIs ASoC: tas571x: disable regulators on failed probe ASoC: meson: axg-card: fix codec-to-codec link setup ASoC: wm8960: Fix wrong clock after suspend & resume drivers: soc: xilinx: fix firmware driver Kconfig dependency nfsd: memory corruption in nfsd4_lock() bpf: Forbid XADD on spilled pointers for unprivileged users i2c: altera: use proper variable to hold errno rxrpc: Fix DATA Tx to disable nofrag for UDP on AF_INET6 socket net/cxgb4: Check the return from t4_query_params properly xfs: acquire superblock freeze protection on eofblocks scans svcrdma: Fix trace point use-after-free race svcrdma: Fix leak of svc_rdma_recv_ctxt objects net/mlx5e: Don't trigger IRQ multiple times on XSK wakeup to avoid WQ overruns net/mlx5e: Get the latest values from counters in switchdev mode PCI: Avoid ASMedia XHCI USB PME# from D0 defect PCI: Add ACS quirk for Zhaoxin multi-function devices PCI: Make ACS quirk implementations more uniform PCI: Unify ACS quirk desired vs provided checking PCI: Add Zhaoxin Vendor ID PCI: Add ACS quirk for Zhaoxin Root/Downstream Ports PCI: Move Apex Edge TPU class quirk to fix BAR assignment ARM: dts: bcm283x: Disable dsi0 node cpumap: Avoid warning when CONFIG_DEBUG_PER_CPU_MAPS is enabled s390/pci: do not set affinity for floating irqs net/mlx5: Fix failing fw tracer allocation on s390 sched/core: Fix reset-on-fork from RT with uclamp perf/core: fix parent pid/tid in task exit events netfilter: nat: fix error handling upon registering inet hook PM: sleep: core: Switch back to async_schedule_dev() blk-iocost: Fix error on iocost_ioc_vrate_adj um: ensure `make ARCH=um mrproper` removes arch/$(SUBARCH)/include/generated/ bpf, x86_32: Fix incorrect encoding in BPF_LDX zero-extension bpf, x86_32: Fix clobbering of dst for BPF_JSET bpf, x86_32: Fix logic error in BPF_LDX zero-extension mm: shmem: disable interrupt when acquiring info->lock in userfaultfd_copy path xfs: clear PF_MEMALLOC before exiting xfsaild thread bpf, x86: Fix encoding for lower 8-bit registers in BPF_STX BPF_B libbpf: Initialize *nl_pid so gcc 10 is happy net: fec: set GPR bit on suspend by DT configuration. x86: hyperv: report value of misc_features signal: check sig before setting info in kill_pid_usb_asyncio afs: Fix length of dump of bad YFSFetchStatus record xfs: fix partially uninitialized structure in xfs_reflink_remap_extent ALSA: hda: Release resources at error in delayed probe ALSA: hda: Keep the controller initialization even if no codecs found ALSA: hda: Explicitly permit using autosuspend if runtime PM is supported scsi: target: fix PR IN / READ FULL STATUS for FC scsi: target: tcmu: reset_ring should reset TCMU_DEV_BIT_BROKEN objtool: Fix CONFIG_UBSAN_TRAP unreachable warnings objtool: Support Clang non-section symbols in ORC dump xen/xenbus: ensure xenbus_map_ring_valloc() returns proper grant status ALSA: hda: call runtime_allow() for all hda controllers net: stmmac: socfpga: Allow all RGMII modes mac80211: fix channel switch trigger from unknown mesh peer arm64: Delete the space separator in __emit_inst ext4: use matching invalidatepage in ext4_writepage ext4: increase wait time needed before reuse of deleted inode numbers ext4: convert BUG_ON's to WARN_ON's in mballoc.c blk-mq: Put driver tag in blk_mq_dispatch_rq_list() when no budget hwmon: (jc42) Fix name to have no illegal characters taprio: do not use BIT() in TCA_TAPRIO_ATTR_FLAG_* definitions qed: Fix race condition between scheduling and destroying the slowpath workqueue Crypto: chelsio - Fixes a hang issue during driver registration net: use indirect call wrappers for skb_copy_datagram_iter() qed: Fix use after free in qed_chain_free ext4: check for non-zero journal inum in ext4_calculate_overhead ASoC: soc-core: disable route checks for legacy devices ASoC: stm32: spdifrx: fix regmap status check Linux 5.4.37 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: Ice2ab2e77117b798ed22e9442f72a44f39be28dc |
||
|
c7b6c51298 |
blk-mq: Put driver tag in blk_mq_dispatch_rq_list() when no budget
[ Upstream commit 5fe56de799ad03e92d794c7936bf363922b571df ] If in blk_mq_dispatch_rq_list() we find no budget, then we break of the dispatch loop, but the request may keep the driver tag, evaulated in 'nxt' in the previous loop iteration. Fix by putting the driver tag for that request. Reviewed-by: Ming Lei <ming.lei@redhat.com> Signed-off-by: John Garry <john.garry@huawei.com> Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Sasha Levin <sashal@kernel.org> |
||
|
9c5c94c501 |
blk-iocost: Fix error on iocost_ioc_vrate_adj
commit d6c8e949a35d6906d6c03a50e9a9cdf4e494528a upstream.
Systemtap 4.2 is unable to correctly interpret the "u32 (*missed_ppm)[2]"
argument of the iocost_ioc_vrate_adj trace entry defined in
include/trace/events/iocost.h leading to the following error:
/tmp/stapAcz0G0/stap_c89c58b83cea1724e26395efa9ed4939_6321_aux_6.c:78:8:
error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
, u32[]* __tracepoint_arg_missed_ppm
That argument type is indeed rather complex and hard to read. Looking
at block/blk-iocost.c. It is just a 2-entry u32 array. By simplifying
the argument to a simple "u32 *missed_ppm" and adjusting the trace
entry accordingly, the compilation error was gone.
Fixes:
|
||
|
5e713c48ff |
This is the 5.4.35 stable release
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAl6hU54ACgkQONu9yGCS aT5/3BAAlSOFEbVYeiAjDQYfA5DvieeVN3qKk0HnErIPRm35UHqCYSMyEDiJ2c8E 01V2aFpvAZDyj/pE/prBrUH5FnKyil9tPQrg/da2f54yMiXQvQ6iFdmH/N5Zp5eu oY6qFUo4jePTbmI/TBzz08XZ9B4VxccNRhSdF0dO4SInt3eC+vJho3dCXH8H3B7o cDf4uIXQqyGn6t9yQQlSVRYTCK1JMwkSVxCU7uMWS5TfJSN3EyZvMMfXyTCTmgIy 13Vv3+nSHxGqgyAA3fsClCGGAeQyFGQXP28OqyzesPuYyi5z3nDKtgZcAVtvyw9I eDsfnOUrw76StiJwRfnKkbg8TBKDWn4N9VyLyBvjRvRovSzTJ31jKVBLhByKDJQt cnsi/Ttkm2CYmChozdJrm1Pfm6HH5etEXh6rq4sqeGLkpi+k1UiQgYlavJPOI3nz n6dMQEyeg1dmAIBXqgvSvGVfyZuRi37ApPHMHEY4klALbRaSj2Vu/pblyeRezIXL G5D7olchwI0X18khdoBYOT1+tmid1pDZ00WB6Iq5IKIjR5x8KBf5uMcvprAc3LsP mhGP9+MYXhWQ/GjHjA6TZq76qhYlEZBIHBarIaNjrl3IShLTQXzxAwS8rGtI5wZP fTlCc+FBg5w1LDiVcEYJHXR583jSgsFTd3qbtpeaaQyKcC/fkEk= =3/4K -----END PGP SIGNATURE----- Merge 5.4.35 into android-5.4-stable Changes in 5.4.35 ext4: use non-movable memory for superblock readahead watchdog: sp805: fix restart handler xsk: Fix out of boundary write in __xsk_rcv_memcpy arm, bpf: Fix bugs with ALU64 {RSH, ARSH} BPF_K shift by 0 arm, bpf: Fix offset overflow for BPF_MEM BPF_DW objtool: Fix switch table detection in .text.unlikely scsi: sg: add sg_remove_request in sg_common_write ALSA: hda: Honor PM disablement in PM freeze and thaw_noirq ops ARM: dts: imx6: Use gpc for FEC interrupt controller to fix wake on LAN. kbuild, btf: Fix dependencies for DEBUG_INFO_BTF netfilter: nf_tables: report EOPNOTSUPP on unsupported flags/object type irqchip/mbigen: Free msi_desc on device teardown ALSA: hda: Don't release card at firmware loading error xsk: Add missing check on user supplied headroom size of: unittest: kmemleak on changeset destroy of: unittest: kmemleak in of_unittest_platform_populate() of: unittest: kmemleak in of_unittest_overlay_high_level() of: overlay: kmemleak in dup_and_fixup_symbol_prop() x86/Hyper-V: Unload vmbus channel in hv panic callback x86/Hyper-V: Trigger crash enlightenment only once during system crash. x86/Hyper-V: Report crash register data or kmsg before running crash kernel x86/Hyper-V: Report crash register data when sysctl_record_panic_msg is not set x86/Hyper-V: Report crash data in die() when panic_on_oops is set afs: Fix missing XDR advance in xdr_decode_{AFS,YFS}FSFetchStatus() afs: Fix decoding of inline abort codes from version 1 status records afs: Fix rename operation status delivery afs: Fix afs_d_validate() to set the right directory version afs: Fix race between post-modification dir edit and readdir/d_revalidate block, bfq: turn put_queue into release_process_ref in __bfq_bic_change_cgroup block, bfq: make reparent_leaf_entity actually work only on leaf entities block, bfq: invoke flush_idle_tree after reparent_active_queues in pd_offline rbd: avoid a deadlock on header_rwsem when flushing notifies rbd: call rbd_dev_unprobe() after unwatching and flushing notifies x86/Hyper-V: Free hv_panic_page when fail to register kmsg dump drm/ttm: flush the fence on the bo after we individualize the reservation object clk: Don't cache errors from clk_ops::get_phase() clk: at91: usb: continue if clk_hw_round_rate() return zero net/mlx5e: Enforce setting of a single FEC mode f2fs: fix the panic in do_checkpoint() ARM: dts: rockchip: fix vqmmc-supply property name for rk3188-bqedison2qc arm64: dts: allwinner: a64: Fix display clock register range power: supply: bq27xxx_battery: Silence deferred-probe error clk: tegra: Fix Tegra PMC clock out parents arm64: tegra: Add PCIe endpoint controllers nodes for Tegra194 arm64: tegra: Fix Tegra194 PCIe compatible string arm64: dts: clearfog-gt-8k: set gigabit PHY reset deassert delay soc: imx: gpc: fix power up sequencing dma-coherent: fix integer overflow in the reserved-memory dma allocation rtc: 88pm860x: fix possible race condition NFS: alloc_nfs_open_context() must use the file cred when available NFSv4/pnfs: Return valid stateids in nfs_layout_find_inode_by_stateid() NFSv4.2: error out when relink swapfile ARM: dts: rockchip: fix lvds-encoder ports subnode for rk3188-bqedison2qc KVM: PPC: Book3S HV: Fix H_CEDE return code for nested guests f2fs: fix to show norecovery mount option phy: uniphier-usb3ss: Add Pro5 support NFS: direct.c: Fix memory leak of dreq when nfs_get_lock_context fails f2fs: Fix mount failure due to SPO after a successful online resize FS f2fs: Add a new CP flag to help fsck fix resize SPO issues s390/cpuinfo: fix wrong output when CPU0 is offline hibernate: Allow uswsusp to write to swap btrfs: add RCU locks around block group initialization powerpc/prom_init: Pass the "os-term" message to hypervisor powerpc/maple: Fix declaration made after definition s390/cpum_sf: Fix wrong page count in error message ext4: do not commit super on read-only bdev um: ubd: Prevent buffer overrun on command completion cifs: Allocate encryption header through kmalloc mm/hugetlb: fix build failure with HUGETLB_PAGE but not HUGEBTLBFS drm/nouveau/svm: check for SVM initialized before migrating drm/nouveau/svm: fix vma range check for migration include/linux/swapops.h: correct guards for non_swap_entry() percpu_counter: fix a data race at vm_committed_as compiler.h: fix error in BUILD_BUG_ON() reporting KVM: s390: vsie: Fix possible race when shadowing region 3 tables drm/nouveau: workaround runpm fail by disabling PCI power management on certain intel bridges leds: core: Fix warning message when init_data x86: ACPI: fix CPU hotplug deadlock csky: Fixup cpu speculative execution to IO area drm/amdkfd: kfree the wrong pointer NFS: Fix memory leaks in nfs_pageio_stop_mirroring() csky: Fixup get wrong psr value from phyical reg f2fs: fix NULL pointer dereference in f2fs_write_begin() ACPICA: Fixes for acpiExec namespace init file um: falloc.h needs to be directly included for older libc drm/vc4: Fix HDMI mode validation iommu/virtio: Fix freeing of incomplete domains iommu/vt-d: Fix mm reference leak SUNRPC: fix krb5p mount to provide large enough buffer in rq_rcvsize ext2: fix empty body warnings when -Wextra is used iommu/vt-d: Silence RCU-list debugging warning in dmar_find_atsr() iommu/vt-d: Fix page request descriptor size ext2: fix debug reference to ext2_xattr_cache sunrpc: Fix gss_unwrap_resp_integ() again csky: Fixup init_fpu compile warning with __init power: supply: axp288_fuel_gauge: Broaden vendor check for Intel Compute Sticks. libnvdimm: Out of bounds read in __nd_ioctl() iommu/amd: Fix the configuration of GCR3 table root pointer f2fs: fix to wait all node page writeback drm/nouveau/gr/gp107,gp108: implement workaround for HW hanging during init net: dsa: bcm_sf2: Fix overflow checks dma-debug: fix displaying of dma allocation type fbdev: potential information leak in do_fb_ioctl() ARM: dts: sunxi: Fix DE2 clocks register range iio: si1133: read 24-bit signed integer for measurement fbmem: Adjust indentation in fb_prepare_logo and fb_blank tty: evh_bytechan: Fix out of bounds accesses locktorture: Print ratio of acquisitions, not failures mtd: rawnand: free the nand_device object mtd: spinand: Explicitly use MTD_OPS_RAW to write the bad block marker to OOB docs: Fix path to MTD command line partition parser mtd: lpddr: Fix a double free in probe() mtd: phram: fix a double free issue in error path KEYS: Don't write out to userspace while holding key semaphore bpf: fix buggy r0 retval refinement for tracing helpers bpf: Test_verifier, bpf_get_stack return value add <0 bpf: Test_progs, add test to catch retval refine error handling bpf, test_verifier: switch bpf_get_stack's 0 s> r8 test Linux 5.4.35 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: I702aba533097c8533c12561c7f1a51f3a96f6f09 |
||
|
a362482b23 |
block, bfq: invoke flush_idle_tree after reparent_active_queues in pd_offline
commit 4d38a87fbb77fb9ff2ff4e914162a8ae6453eff5 upstream. In bfq_pd_offline(), the function bfq_flush_idle_tree() is invoked to flush the rb tree that contains all idle entities belonging to the pd (cgroup) being destroyed. In particular, bfq_flush_idle_tree() is invoked before bfq_reparent_active_queues(). Yet the latter may happen to add some entities to the idle tree. It happens if, in some of the calls to bfq_bfqq_move() performed by bfq_reparent_active_queues(), the queue to move is empty and gets expired. This commit simply reverses the invocation order between bfq_flush_idle_tree() and bfq_reparent_active_queues(). Tested-by: cki-project@redhat.com Signed-off-by: Paolo Valente <paolo.valente@linaro.org> Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
||
|
839b7cd1d8 |
block, bfq: make reparent_leaf_entity actually work only on leaf entities
commit 576682fa52cbd95deb3773449566274f206acc58 upstream. bfq_reparent_leaf_entity() reparents the input leaf entity (a leaf entity represents just a bfq_queue in an entity tree). Yet, the input entity is guaranteed to always be a leaf entity only in two-level entity trees. In this respect, because of the error fixed by commit 14afc5936197 ("block, bfq: fix overwrite of bfq_group pointer in bfq_find_set_group()"), all (wrongly collapsed) entity trees happened to actually have only two levels. After the latter commit, this does not hold any longer. This commit fixes this problem by modifying bfq_reparent_leaf_entity(), so that it searches an active leaf entity down the path that stems from the input entity. Such a leaf entity is guaranteed to exist when bfq_reparent_leaf_entity() is invoked. Tested-by: cki-project@redhat.com Signed-off-by: Paolo Valente <paolo.valente@linaro.org> Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
||
|
ad749ca022 |
block, bfq: turn put_queue into release_process_ref in __bfq_bic_change_cgroup
commit c8997736650060594845e42c5d01d3118aec8d25 upstream. A bfq_put_queue() may be invoked in __bfq_bic_change_cgroup(). The goal of this put is to release a process reference to a bfq_queue. But process-reference releases may trigger also some extra operation, and, to this goal, are handled through bfq_release_process_ref(). So, turn the invocation of bfq_put_queue() into an invocation of bfq_release_process_ref(). Tested-by: cki-project@redhat.com Signed-off-by: Paolo Valente <paolo.valente@linaro.org> Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
||
|
a9372c6b57 |
This is the 5.4.33 stable release
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAl6ZbdIACgkQONu9yGCS aT5Jqw/7BZ639nTAAmz809yOF1JBhvBptRg9tBKYAfw62DzfZe5s9IZA6znIt0f0 nlluLvnhHlDSpgycHNkFry5AkiCUpRQW6NY681xITm918w3BxsKX2pfCawojIOSw YBaTWoWqNFQQWlC18L1CWJmIvIktSCHXBMTVDpnvRv7sw5A4Oe/zarzVDNb0A6OJ ThaR7LAKJrUEDDLuCOuB/IrYCOpOzg2SkViFmlo4wmmhvCSi8PXvf3royrSFXxM/ Y1bs67Hu/uqeHl8Y2RaMZpXf1aW9F31sooca4GD+UnVoWppjIOKRyuGLTrXKv7pw /goIzlE8wfJz5K0iQ4UcbXwwdY81L9UlMdVsmIWHHgxMjSp1J5mfQ5TLUC/VK3UO Ll9tCYBwH4FjzxNRJq7if8TDAfgPzyhw4BMchgXZWzW1oasl51T2uEye3KgFXQSb u6TwCx4KGS0w/Q81SKis83Pb0unHGanJOSCZxI1B44raf0ruCBpTYUc713pfegWT 46YtwoorAK8N+GpFQA1tsTJvVclqCF5bHVE19TMvXV4UX/VTPtbIAUE7vnvcxcqO uh0b9Jfmd6Fcgh7VZQCH7CUYnsyJmGqj2kycB1p+T8UB6H+PCeuQBZBl8sJnf8oj d5NIzB7WWXBQuEG5XuPtxg6+ARMPEIpd2exEVn9ZOv5qhesBo04= =pjAq -----END PGP SIGNATURE----- Merge 5.4.33 into android-5.4-stable Changes in 5.4.33 ARM: dts: sun8i-a83t-tbs-a711: HM5065 doesn't like such a high voltage bus: sunxi-rsb: Return correct data when mixing 16-bit and 8-bit reads ARM: dts: Fix dm814x Ethernet by changing to use rgmii-id mode bpf: Fix deadlock with rq_lock in bpf_send_signal() iwlwifi: mvm: Fix rate scale NSS configuration Input: tm2-touchkey - add support for Coreriver TC360 variant soc: fsl: dpio: register dpio irq handlers after dpio create rxrpc: Abstract out the calculation of whether there's Tx space rxrpc: Fix call interruptibility handling net: stmmac: platform: Fix misleading interrupt error msg net: vxge: fix wrong __VA_ARGS__ usage hinic: fix a bug of waitting for IO stopped hinic: fix the bug of clearing event queue hinic: fix out-of-order excution in arm cpu hinic: fix wrong para of wait_for_completion_timeout hinic: fix wrong value of MIN_SKB_LEN selftests/net: add definition for SOL_DCCP to fix compilation errors for old libc cxgb4/ptp: pass the sign of offset delta in FW CMD drm/scheduler: fix rare NULL ptr race cfg80211: Do not warn on same channel at the end of CSA qlcnic: Fix bad kzalloc null test i2c: st: fix missing struct parameter description i2c: pca-platform: Use platform_irq_get_optional media: rc: add keymap for Videostrong KII Pro cpufreq: imx6q: Fixes unwanted cpu overclocking on i.MX6ULL staging: wilc1000: avoid double unlocking of 'wilc->hif_cs' mutex media: venus: hfi_parser: Ignore HEVC encoding for V1 firmware: arm_sdei: fix double-lock on hibernate with shared events null_blk: Fix the null_add_dev() error path null_blk: Handle null_add_dev() failures properly null_blk: fix spurious IO errors after failed past-wp access media: imx: imx7_mipi_csis: Power off the source when stopping streaming media: imx: imx7-media-csi: Fix video field handling xhci: bail out early if driver can't accress host in resume ACPI: EC: Do not clear boot_ec_is_ecdt in acpi_ec_add() x86: Don't let pgprot_modify() change the page encryption bit dma-mapping: Fix dma_pgprot() for unencrypted coherent pages block: keep bdi->io_pages in sync with max_sectors_kb for stacked devices debugfs: Check module state before warning in {full/open}_proxy_open() irqchip/versatile-fpga: Handle chained IRQs properly time/sched_clock: Expire timer in hardirq context media: allegro: fix type of gop_length in channel_create message sched: Avoid scale real weight down to zero selftests/x86/ptrace_syscall_32: Fix no-vDSO segfault PCI/switchtec: Fix init_completion race condition with poll_wait() block, bfq: move forward the getting of an extra ref in bfq_bfqq_move media: i2c: video-i2c: fix build errors due to 'imply hwmon' libata: Remove extra scsi_host_put() in ata_scsi_add_hosts() pstore/platform: fix potential mem leak if pstore_init_fs failed gfs2: Do log_flush in gfs2_ail_empty_gl even if ail list is empty gfs2: Don't demote a glock until its revokes are written cpufreq: imx6q: fix error handling x86/boot: Use unsigned comparison for addresses efi/x86: Ignore the memory attributes table on i386 genirq/irqdomain: Check pointer in irq_domain_alloc_irqs_hierarchy() block: Fix use-after-free issue accessing struct io_cq media: i2c: ov5695: Fix power on and off sequences usb: dwc3: core: add support for disabling SS instances in park mode irqchip/gic-v4: Provide irq_retrigger to avoid circular locking dependency md: check arrays is suspended in mddev_detach before call quiesce operations firmware: fix a double abort case with fw_load_sysfs_fallback spi: spi-fsl-dspi: Replace interruptible wait queue with a simple completion locking/lockdep: Avoid recursion in lockdep_count_{for,back}ward_deps() block, bfq: fix use-after-free in bfq_idle_slice_timer_body btrfs: qgroup: ensure qgroup_rescan_running is only set when the worker is at least queued btrfs: remove a BUG_ON() from merge_reloc_roots() btrfs: restart relocate_tree_blocks properly btrfs: track reloc roots based on their commit root bytenr ASoC: fix regwmask ASoC: dapm: connect virtual mux with default value ASoC: dpcm: allow start or stop during pause for backend ASoC: topology: use name_prefix for new kcontrol usb: gadget: f_fs: Fix use after free issue as part of queue failure usb: gadget: composite: Inform controller driver of self-powered ALSA: usb-audio: Add mixer workaround for TRX40 and co ALSA: hda: Add driver blacklist ALSA: hda: Fix potential access overflow in beep helper ALSA: ice1724: Fix invalid access for enumerated ctl items ALSA: pcm: oss: Fix regression by buffer overflow fix ALSA: hda/realtek: Enable mute LED on an HP system ALSA: hda/realtek - a fake key event is triggered by running shutup ALSA: doc: Document PC Beep Hidden Register on Realtek ALC256 ALSA: hda/realtek - Set principled PC Beep configuration for ALC256 ALSA: hda/realtek - Remove now-unnecessary XPS 13 headphone noise fixups ALSA: hda/realtek - Add quirk for Lenovo Carbon X1 8th gen ALSA: hda/realtek - Add quirk for MSI GL63 media: venus: firmware: Ignore secure call error on first resume media: hantro: Read be32 words starting at every fourth byte media: ti-vpe: cal: fix disable_irqs to only the intended target media: ti-vpe: cal: fix a kernel oops when unloading module seccomp: Add missing compat_ioctl for notify acpi/x86: ignore unspecified bit positions in the ACPI global lock field ACPICA: Allow acpi_any_gpe_status_set() to skip one GPE ACPI: PM: s2idle: Refine active GPEs check thermal: devfreq_cooling: inline all stubs for CONFIG_DEVFREQ_THERMAL=n nvmet-tcp: fix maxh2cdata icresp parameter nvme-fc: Revert "add module to ops template to allow module references" efi/x86: Add TPM related EFI tables to unencrypted mapping checks PCI: pciehp: Fix indefinite wait on sysfs requests PCI/ASPM: Clear the correct bits when enabling L1 substates PCI: Add boot interrupt quirk mechanism for Xeon chipsets PCI: qcom: Fix the fixup of PCI_VENDOR_ID_QCOM PCI: endpoint: Fix for concurrent memory allocation in OB address region sched/fair: Fix enqueue_task_fair warning tpm: Don't make log failures fatal tpm: tpm1_bios_measurements_next should increase position index tpm: tpm2_bios_measurements_next should increase position index KEYS: reaching the keys quotas correctly cpu/hotplug: Ignore pm_wakeup_pending() for disable_nonboot_cpus() genirq/debugfs: Add missing sanity checks to interrupt injection irqchip/versatile-fpga: Apply clear-mask earlier io_uring: remove bogus RLIMIT_NOFILE check in file registration pstore: pstore_ftrace_seq_next should increase position index MIPS/tlbex: Fix LDDIR usage in setup_pw() for Loongson-3 MIPS: OCTEON: irq: Fix potential NULL pointer dereference PM / Domains: Allow no domain-idle-states DT property in genpd when parsing PM: sleep: wakeup: Skip wakeup_source_sysfs_remove() if device is not there ath9k: Handle txpower changes even when TPC is disabled signal: Extend exec_id to 64bits x86/tsc_msr: Use named struct initializers x86/tsc_msr: Fix MSR_FSB_FREQ mask for Cherry Trail devices x86/tsc_msr: Make MSR derived TSC frequency more accurate x86/entry/32: Add missing ASM_CLAC to general_protection entry platform/x86: asus-wmi: Support laptops where the first battery is named BATT KVM: nVMX: Properly handle userspace interrupt window request KVM: s390: vsie: Fix region 1 ASCE sanity shadow address checks KVM: s390: vsie: Fix delivery of addressing exceptions KVM: x86: Allocate new rmap and large page tracking when moving memslot KVM: VMX: Always VMCLEAR in-use VMCSes during crash with kexec support KVM: x86: Gracefully handle __vmalloc() failure during VM allocation KVM: VMX: Add a trampoline to fix VMREAD error handling KVM: VMX: fix crash cleanup when KVM wasn't used smb3: fix performance regression with setting mtime CIFS: Fix bug which the return value by asynchronous read is error mtd: spinand: Stop using spinand->oobbuf for buffering bad block markers mtd: spinand: Do not erase the block before writing a bad block marker btrfs: Don't submit any btree write bio if the fs has errors Btrfs: fix crash during unmount due to race with delayed inode workers btrfs: reloc: clean dirty subvols if we fail to start a transaction btrfs: set update the uuid generation as soon as possible btrfs: drop block from cache on error in relocation btrfs: fix missing file extent item for hole after ranged fsync btrfs: unset reloc control if we fail to recover btrfs: fix missing semaphore unlock in btrfs_sync_file btrfs: use nofs allocations for running delayed items remoteproc: qcom_q6v5_mss: Don't reassign mpss region on shutdown remoteproc: qcom_q6v5_mss: Reload the mba region on coredump remoteproc: Fix NULL pointer dereference in rproc_virtio_notify crypto: rng - Fix a refcounting bug in crypto_rng_reset() crypto: mxs-dcp - fix scatterlist linearization for hash erofs: correct the remaining shrink objects io_uring: honor original task RLIMIT_FSIZE mmc: sdhci-of-esdhc: fix esdhc_reset() for different controller versions powerpc/pseries: Drop pointless static qualifier in vpa_debugfs_init() tools: gpio: Fix out-of-tree build regression net: qualcomm: rmnet: Allow configuration updates to existing devices arm64: dts: allwinner: h6: Fix PMU compatible sched/core: Remove duplicate assignment in sched_tick_remote() arm64: dts: allwinner: h5: Fix PMU compatible mm, memcg: do not high throttle allocators based on wraparound dm writecache: add cond_resched to avoid CPU hangs dm integrity: fix a crash with unusually large tag size dm verity fec: fix memory leak in verity_fec_dtr dm clone: Add overflow check for number of regions dm clone metadata: Fix return type of dm_clone_nr_of_hydrated_regions() XArray: Fix xas_pause for large multi-index entries xarray: Fix early termination of xas_for_each_marked crypto: caam/qi2 - fix chacha20 data size error crypto: caam - update xts sector size for large input length crypto: ccree - protect against empty or NULL scatterlists crypto: ccree - only try to map auth tag if needed crypto: ccree - dec auth tag size from cryptlen map scsi: zfcp: fix missing erp_lock in port recovery trigger for point-to-point scsi: ufs: fix Auto-Hibern8 error detection scsi: lpfc: Fix lpfc_io_buf resource leak in lpfc_get_scsi_buf_s4 error path ARM: dts: exynos: Fix polarity of the LCD SPI bus on UniversalC210 board arm64: dts: ti: k3-am65: Add clocks to dwc3 nodes arm64: armv8_deprecated: Fix undef_hook mask for thumb setend selftests: vm: drop dependencies on page flags from mlock2 tests selftests/vm: fix map_hugetlb length used for testing read and write selftests/powerpc: Add tlbie_test in .gitignore vfio: platform: Switch to platform_get_irq_optional() drm/i915/gem: Flush all the reloc_gpu batch drm/etnaviv: rework perfmon query infrastructure drm: Remove PageReserved manipulation from drm_pci_alloc drm/amdgpu/powerplay: using the FCLK DPM table to set the MCLK drm/amdgpu: unify fw_write_wait for new gfx9 asics powerpc/pseries: Avoid NULL pointer dereference when drmem is unavailable nfsd: fsnotify on rmdir under nfsd/clients/ NFS: Fix use-after-free issues in nfs_pageio_add_request() NFS: Fix a page leak in nfs_destroy_unlinked_subrequests() ext4: fix a data race at inode->i_blocks fs/filesystems.c: downgrade user-reachable WARN_ONCE() to pr_warn_once() ocfs2: no need try to truncate file beyond i_size perf tools: Support Python 3.8+ in Makefile s390/diag: fix display of diagnose call statistics Input: i8042 - add Acer Aspire 5738z to nomux list ftrace/kprobe: Show the maxactive number on kprobe_events clk: ingenic/jz4770: Exit with error if CGU init failed clk: ingenic/TCU: Fix round_rate returning error kmod: make request_module() return an error when autoloading is disabled cpufreq: powernv: Fix use-after-free hfsplus: fix crash and filesystem corruption when deleting files libata: Return correct status in sata_pmp_eh_recover_pm() when ATA_DFLAG_DETACH is set ipmi: fix hung processes in __get_guid() xen/blkfront: fix memory allocation flags in blkfront_setup_indirect() powerpc/64/tm: Don't let userspace set regs->trap via sigreturn powerpc/fsl_booke: Avoid creating duplicate tlb1 entry powerpc/hash64/devmap: Use H_PAGE_THP_HUGE when setting up huge devmap PTE entries powerpc/xive: Use XIVE_BAD_IRQ instead of zero to catch non configured IPIs powerpc/64: Setup a paca before parsing device tree etc. powerpc/xive: Fix xmon support on the PowerNV platform powerpc/kprobes: Ignore traps that happened in real mode powerpc/64: Prevent stack protection in early boot scsi: mpt3sas: Fix kernel panic observed on soft HBA unplug powerpc: Make setjmp/longjmp signature standard arm64: Always force a branch protection mode when the compiler has one dm zoned: remove duplicate nr_rnd_zones increase in dmz_init_zone() dm clone: replace spin_lock_irqsave with spin_lock_irq dm clone: Fix handling of partial region discards dm clone: Add missing casts to prevent overflows and data corruption scsi: lpfc: Add registration for CPU Offline/Online events scsi: lpfc: Fix Fabric hostname registration if system hostname changes scsi: lpfc: Fix configuration of BB credit recovery in service parameters scsi: lpfc: Fix broken Credit Recovery after driver load Revert "drm/dp_mst: Remove VCPI while disabling topology mgr" drm/dp_mst: Fix clearing payload state on topology disable drm/amdgpu: fix gfx hang during suspend with video playback (v2) drm/i915/icl+: Don't enable DDI IO power on a TypeC port in TBT mode powerpc/kasan: Fix kasan_remap_early_shadow_ro() mmc: sdhci: Convert sdhci_set_timeout_irq() to non-static mmc: sdhci: Refactor sdhci_set_timeout() bpf: Fix tnum constraints for 32-bit comparisons mfd: dln2: Fix sanity checking for endpoints efi/x86: Fix the deletion of variables in mixed mode ASoC: stm32: sai: Add missing cleanup scsi: lpfc: fix inlining of lpfc_sli4_cleanup_poll_list() Linux 5.4.33 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: I6c37e2c64801a572781c46fc5883bcc74e6a7a1a |
||
|
b37de1b1e8 |
block, bfq: fix use-after-free in bfq_idle_slice_timer_body
[ Upstream commit 2f95fa5c955d0a9987ffdc3a095e2f4e62c5f2a9 ]
In bfq_idle_slice_timer func, bfqq = bfqd->in_service_queue is
not in bfqd-lock critical section. The bfqq, which is not
equal to NULL in bfq_idle_slice_timer, may be freed after passing
to bfq_idle_slice_timer_body. So we will access the freed memory.
In addition, considering the bfqq may be in race, we should
firstly check whether bfqq is in service before doing something
on it in bfq_idle_slice_timer_body func. If the bfqq in race is
not in service, it means the bfqq has been expired through
__bfq_bfqq_expire func, and wait_request flags has been cleared in
__bfq_bfqd_reset_in_service func. So we do not need to re-clear the
wait_request of bfqq which is not in service.
KASAN log is given as follows:
[13058.354613] ==================================================================
[13058.354640] BUG: KASAN: use-after-free in bfq_idle_slice_timer+0xac/0x290
[13058.354644] Read of size 8 at addr ffffa02cf3e63f78 by task fork13/19767
[13058.354646]
[13058.354655] CPU: 96 PID: 19767 Comm: fork13
[13058.354661] Call trace:
[13058.354667] dump_backtrace+0x0/0x310
[13058.354672] show_stack+0x28/0x38
[13058.354681] dump_stack+0xd8/0x108
[13058.354687] print_address_description+0x68/0x2d0
[13058.354690] kasan_report+0x124/0x2e0
[13058.354697] __asan_load8+0x88/0xb0
[13058.354702] bfq_idle_slice_timer+0xac/0x290
[13058.354707] __hrtimer_run_queues+0x298/0x8b8
[13058.354710] hrtimer_interrupt+0x1b8/0x678
[13058.354716] arch_timer_handler_phys+0x4c/0x78
[13058.354722] handle_percpu_devid_irq+0xf0/0x558
[13058.354731] generic_handle_irq+0x50/0x70
[13058.354735] __handle_domain_irq+0x94/0x110
[13058.354739] gic_handle_irq+0x8c/0x1b0
[13058.354742] el1_irq+0xb8/0x140
[13058.354748] do_wp_page+0x260/0xe28
[13058.354752] __handle_mm_fault+0x8ec/0x9b0
[13058.354756] handle_mm_fault+0x280/0x460
[13058.354762] do_page_fault+0x3ec/0x890
[13058.354765] do_mem_abort+0xc0/0x1b0
[13058.354768] el0_da+0x24/0x28
[13058.354770]
[13058.354773] Allocated by task 19731:
[13058.354780] kasan_kmalloc+0xe0/0x190
[13058.354784] kasan_slab_alloc+0x14/0x20
[13058.354788] kmem_cache_alloc_node+0x130/0x440
[13058.354793] bfq_get_queue+0x138/0x858
[13058.354797] bfq_get_bfqq_handle_split+0xd4/0x328
[13058.354801] bfq_init_rq+0x1f4/0x1180
[13058.354806] bfq_insert_requests+0x264/0x1c98
[13058.354811] blk_mq_sched_insert_requests+0x1c4/0x488
[13058.354818] blk_mq_flush_plug_list+0x2d4/0x6e0
[13058.354826] blk_flush_plug_list+0x230/0x548
[13058.354830] blk_finish_plug+0x60/0x80
[13058.354838] read_pages+0xec/0x2c0
[13058.354842] __do_page_cache_readahead+0x374/0x438
[13058.354846] ondemand_readahead+0x24c/0x6b0
[13058.354851] page_cache_sync_readahead+0x17c/0x2f8
[13058.354858] generic_file_buffered_read+0x588/0xc58
[13058.354862] generic_file_read_iter+0x1b4/0x278
[13058.354965] ext4_file_read_iter+0xa8/0x1d8 [ext4]
[13058.354972] __vfs_read+0x238/0x320
[13058.354976] vfs_read+0xbc/0x1c0
[13058.354980] ksys_read+0xdc/0x1b8
[13058.354984] __arm64_sys_read+0x50/0x60
[13058.354990] el0_svc_common+0xb4/0x1d8
[13058.354994] el0_svc_handler+0x50/0xa8
[13058.354998] el0_svc+0x8/0xc
[13058.354999]
[13058.355001] Freed by task 19731:
[13058.355007] __kasan_slab_free+0x120/0x228
[13058.355010] kasan_slab_free+0x10/0x18
[13058.355014] kmem_cache_free+0x288/0x3f0
[13058.355018] bfq_put_queue+0x134/0x208
[13058.355022] bfq_exit_icq_bfqq+0x164/0x348
[13058.355026] bfq_exit_icq+0x28/0x40
[13058.355030] ioc_exit_icq+0xa0/0x150
[13058.355035] put_io_context_active+0x250/0x438
[13058.355038] exit_io_context+0xd0/0x138
[13058.355045] do_exit+0x734/0xc58
[13058.355050] do_group_exit+0x78/0x220
[13058.355054] __wake_up_parent+0x0/0x50
[13058.355058] el0_svc_common+0xb4/0x1d8
[13058.355062] el0_svc_handler+0x50/0xa8
[13058.355066] el0_svc+0x8/0xc
[13058.355067]
[13058.355071] The buggy address belongs to the object at ffffa02cf3e63e70#012 which belongs to the cache bfq_queue of size 464
[13058.355075] The buggy address is located 264 bytes inside of#012 464-byte region [ffffa02cf3e63e70, ffffa02cf3e64040)
[13058.355077] The buggy address belongs to the page:
[13058.355083] page:ffff7e80b3cf9800 count:1 mapcount:0 mapping:ffff802db5c90780 index:0xffffa02cf3e606f0 compound_mapcount: 0
[13058.366175] flags: 0x2ffffe0000008100(slab|head)
[13058.370781] raw: 2ffffe0000008100 ffff7e80b53b1408 ffffa02d730c1c90 ffff802db5c90780
[13058.370787] raw: ffffa02cf3e606f0 0000000000370023 00000001ffffffff 0000000000000000
[13058.370789] page dumped because: kasan: bad access detected
[13058.370791]
[13058.370792] Memory state around the buggy address:
[13058.370797] ffffa02cf3e63e00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fb fb
[13058.370801] ffffa02cf3e63e80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
[13058.370805] >ffffa02cf3e63f00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
[13058.370808] ^
[13058.370811] ffffa02cf3e63f80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
[13058.370815] ffffa02cf3e64000: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc
[13058.370817] ==================================================================
[13058.370820] Disabling lock debugging due to kernel taint
Here, we directly pass the bfqd to bfq_idle_slice_timer_body func.
--
V2->V3: rewrite the comment as suggested by Paolo Valente
V1->V2: add one comment, and add Fixes and Reported-by tag.
Fixes:
|
||
|
510b4e0695 |
block: Fix use-after-free issue accessing struct io_cq
[ Upstream commit 30a2da7b7e225ef6c87a660419ea04d3cef3f6a7 ] There is a potential race between ioc_release_fn() and ioc_clear_queue() as shown below, due to which below kernel crash is observed. It also can result into use-after-free issue. context#1: context#2: ioc_release_fn() __ioc_clear_queue() gets the same icq ->spin_lock(&ioc->lock); ->spin_lock(&ioc->lock); ->ioc_destroy_icq(icq); ->list_del_init(&icq->q_node); ->call_rcu(&icq->__rcu_head, icq_free_icq_rcu); ->spin_unlock(&ioc->lock); ->ioc_destroy_icq(icq); ->hlist_del_init(&icq->ioc_node); This results into below crash as this memory is now used by icq->__rcu_head in context#1. There is a chance that icq could be free'd as well. 22150.386550: <6> Unable to handle kernel write to read-only memory at virtual address ffffffaa8d31ca50 ... Call trace: 22150.607350: <2> ioc_destroy_icq+0x44/0x110 22150.611202: <2> ioc_clear_queue+0xac/0x148 22150.615056: <2> blk_cleanup_queue+0x11c/0x1a0 22150.619174: <2> __scsi_remove_device+0xdc/0x128 22150.623465: <2> scsi_forget_host+0x2c/0x78 22150.627315: <2> scsi_remove_host+0x7c/0x2a0 22150.631257: <2> usb_stor_disconnect+0x74/0xc8 22150.635371: <2> usb_unbind_interface+0xc8/0x278 22150.639665: <2> device_release_driver_internal+0x198/0x250 22150.644897: <2> device_release_driver+0x24/0x30 22150.649176: <2> bus_remove_device+0xec/0x140 22150.653204: <2> device_del+0x270/0x460 22150.656712: <2> usb_disable_device+0x120/0x390 22150.660918: <2> usb_disconnect+0xf4/0x2e0 22150.664684: <2> hub_event+0xd70/0x17e8 22150.668197: <2> process_one_work+0x210/0x480 22150.672222: <2> worker_thread+0x32c/0x4c8 Fix this by adding a new ICQ_DESTROYED flag in ioc_destroy_icq() to indicate this icq is once marked as destroyed. Also, ensure __ioc_clear_queue() is accessing icq within rcu_read_lock/unlock so that icq doesn't get free'd up while it is still using it. Signed-off-by: Sahitya Tummala <stummala@codeaurora.org> Co-developed-by: Pradeep P V K <ppvk@codeaurora.org> Signed-off-by: Pradeep P V K <ppvk@codeaurora.org> Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Sasha Levin <sashal@kernel.org> |
||
|
fb80a18584 |
block, bfq: move forward the getting of an extra ref in bfq_bfqq_move
[ Upstream commit fd1bb3ae54a9a2e0c42709de861c69aa146b8955 ] Commit ecedd3d7e199 ("block, bfq: get extra ref to prevent a queue from being freed during a group move") gets an extra reference to a bfq_queue before possibly deactivating it (temporarily), in bfq_bfqq_move(). This prevents the bfq_queue from disappearing before being reactivated in its new group. Yet, the bfq_queue may also be expired (i.e., its service may be stopped) before the bfq_queue is deactivated. And also an expiration may lead to a premature freeing. This commit fixes this issue by simply moving forward the getting of the extra reference already introduced by commit ecedd3d7e199 ("block, bfq: get extra ref to prevent a queue from being freed during a group move"). Reported-by: cki-project@redhat.com Tested-by: cki-project@redhat.com Signed-off-by: Paolo Valente <paolo.valente@linaro.org> Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Sasha Levin <sashal@kernel.org> |
||
|
fd66df97dc |
block: keep bdi->io_pages in sync with max_sectors_kb for stacked devices
[ Upstream commit e74d93e96d721c4297f2a900ad0191890d2fc2b0 ] Field bdi->io_pages added in commit |
||
|
724ffa0096 |
This is the 5.4.32 stable release
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAl6UJ1IACgkQONu9yGCS aT6i1A//RmLhD1Td+1pGWODgsMtfYD1FMB07D2uyFlX/NJe3jnhR9XGIKjFEtFSt bLXoQZlm07GPS7fsll7rE6Ydq0b1c5z59l+5pFCP4cc0ehM3Gca/V77ui0YBh9Mq /Jvk70qyE4en20qTia16cjozUjMreYPDdbqoR4rB3Lq+ALEEOwS0G4h2Nd4PTYGp YDXBwYn+O/f+CAl1arQeOSwpEThGGA4giSzBGaevq09xl2oIs4hAIWTpZ0WtugjR C4AXSEfl9Y/3OcYJm9KYVx4HqyunDhM3rY5ecCZXqeG4g9i5PZob9KisHuhs4nDD CBHd8ALTk0jo869MpizJ7nlcaGWPzBMSyxQeo1icq340KZjH/zWm7FY72VL+tBI0 DSpPyP7zJmQESuZGRWfjLZkETH3edg6VI9233pB6OSfddYh7asrDVcw1jwMpr6Pf Y71aR7D9cYVyNPAP5AzQzdKUQlEPW1t4GhW6Cwxt7lbMZV18N73vYUxpl7IjSUa6 6J5FHEIylnOFmpObzEC4Rj45Poy5ziI44/jmKMf7jmua9IAmHK2Dd6X5XjCRX40C Urf5it+wC5vkHVS6SW1tN4kbBhDfThHsAG71a3Y7kZeSpT6MrgneLEM9/BNk+csv gKTMukqZrgmR+zYTY78nbwM/XflqIqSwkF97GNvalyvT48Cokco= =Wb3/ -----END PGP SIGNATURE----- Merge 5.4.32 into android-5.4-stable Changes in 5.4.32 net: phy: realtek: fix handling of RTL8105e-integrated PHY cxgb4: fix MPS index overwrite when setting MAC address ipv6: don't auto-add link-local address to lag ports net: dsa: bcm_sf2: Do not register slave MDIO bus with OF net: dsa: bcm_sf2: Ensure correct sub-node is parsed net: dsa: mt7530: fix null pointer dereferencing in port5 setup net: phy: micrel: kszphy_resume(): add delay after genphy_resume() before accessing PHY registers net_sched: add a temporary refcnt for struct tcindex_data net_sched: fix a missing refcnt in tcindex_init() net: stmmac: dwmac1000: fix out-of-bounds mac address reg setting slcan: Don't transmit uninitialized stack data in padding tun: Don't put_page() for all negative return values from XDP program mlxsw: spectrum_flower: Do not stop at FLOW_ACTION_VLAN_MANGLE r8169: change back SG and TSO to be disabled by default s390: prevent leaking kernel address in BEAR random: always use batched entropy for get_random_u{32,64} usb: dwc3: gadget: Wrap around when skip TRBs uapi: rename ext2_swab() to swab() and share globally in swab.h slub: improve bit diffusion for freelist ptr obfuscation tools/accounting/getdelays.c: fix netlink attribute length hwrng: imx-rngc - fix an error path ACPI: PM: Add acpi_[un]register_wakeup_handler() platform/x86: intel_int0002_vgpio: Use acpi_register_wakeup_handler() ASoC: jz4740-i2s: Fix divider written at incorrect offset in register IB/hfi1: Call kobject_put() when kobject_init_and_add() fails IB/hfi1: Fix memory leaks in sysfs registration and unregistration IB/mlx5: Replace tunnel mpls capability bits for tunnel_offloads ARM: imx: Enable ARM_ERRATA_814220 for i.MX6UL and i.MX7D ARM: imx: only select ARM_ERRATA_814220 for ARMv7-A ceph: remove the extra slashes in the server path ceph: canonicalize server path in place include/uapi/linux/swab.h: fix userspace breakage, use __BITS_PER_LONG for swap RDMA/ucma: Put a lock around every call to the rdma_cm layer RDMA/cma: Teach lockdep about the order of rtnl and lock RDMA/siw: Fix passive connection establishment Bluetooth: RFCOMM: fix ODEBUG bug in rfcomm_dev_ioctl RDMA/cm: Update num_paths in cma_resolve_iboe_route error flow blk-mq: Keep set->nr_hw_queues and set->map[].nr_queues in sync fbcon: fix null-ptr-deref in fbcon_switch drm/i915: Fix ref->mutex deadlock in i915_active_wait() iommu/vt-d: Allow devices with RMRRs to use identity domain Linux 5.4.32 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: I520b282d0cdebf3f80293c014d5cd6e88d956d55 |
||
|
d4083258db |
blk-mq: Keep set->nr_hw_queues and set->map[].nr_queues in sync
commit 6e66b49392419f3fe134e1be583323ef75da1e4b upstream.
blk_mq_map_queues() and multiple .map_queues() implementations expect that
set->map[HCTX_TYPE_DEFAULT].nr_queues is set to the number of hardware
queues. Hence set .nr_queues before calling these functions. This patch
fixes the following kernel warning:
WARNING: CPU: 0 PID: 2501 at include/linux/cpumask.h:137
Call Trace:
blk_mq_run_hw_queue+0x19d/0x350 block/blk-mq.c:1508
blk_mq_run_hw_queues+0x112/0x1a0 block/blk-mq.c:1525
blk_mq_requeue_work+0x502/0x780 block/blk-mq.c:775
process_one_work+0x9af/0x1740 kernel/workqueue.c:2269
worker_thread+0x98/0xe40 kernel/workqueue.c:2415
kthread+0x361/0x430 kernel/kthread.c:255
Fixes:
|
||
|
0367acdde3 |
ANDROID: block: require drivers to declare supported crypto key type(s)
We need a way to tell which type of keys the inline crypto hardware supports (standard, wrapped, or both), so that fallbacks can be used when needed (either blk-crypto-fallback, or fscrypt fs-layer crypto). We can't simply assume that keyslot_mgmt_ll_ops::derive_raw_secret == NULL means only standard keys are supported and that keyslot_mgmt_ll_ops::derive_raw_secret != NULL means that only wrapped keys are supported, because device-mapper devices always implement this method. Also, hardware might support both types of keys. Therefore, add a field keyslot_manager::features which contains a bitmask of flags which indicate the supported types of keys. Drivers will need to fill this in. This patch makes the UFS standard crypto code set BLK_CRYPTO_FEATURE_STANDARD_KEYS, but UFS variant drivers may need to set BLK_CRYPTO_FEATURE_WRAPPED_KEYS instead. Then, make keyslot_manager_crypto_mode_supported() take the key type into account. Bug: 137270441 Bug: 151100202 Test: 'atest vts_kernel_encryption_test' on Pixel 4 with the inline crypto patches backported, and also on Cuttlefish. Change-Id: Ied846c2767c1fd2f438792dcfd3649157e68b005 Signed-off-by: Eric Biggers <ebiggers@google.com> |
||
|
6e8182d6c5 |
ANDROID: block: make blk_crypto_start_using_mode() properly check for support
If blk-crypto-fallback is needed but is disabled by kconfig, make blk_crypto_start_using_mode() return an error rather than succeeding. Use ENOPKG, which matches the error code used by fscrypt when crypto API support is missing with fs-layer encryption. Also, if blk-crypto-fallback is needed but the algorithm is missing from the kernel's crypto API, change the error code from ENOENT to ENOPKG. This is needed for VtsKernelEncryptionTest to pass on some devices. Bug: 137270441 Bug: 151100202 Test: 'atest vts_kernel_encryption_test' on Pixel 4 with the inline crypto patches backported, and also on Cuttlefish. Change-Id: Iedf00ca8e48c74a5d4c40b12712f38738a04ef11 Signed-off-by: Eric Biggers <ebiggers@google.com> |
||
|
2341be6d9d |
This is the 5.4.28 stable release
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAl57B4gACgkQONu9yGCS aT6KWQ//ToF4D+fDl1Muf4xuT83HnXe1yA1XFlyC54ZmEaxGFnFMSAgAvitBR7HC GEczXlvYbbVJl646ynTmX/LFz2d+V0i2zGv2QKN3xfd8GtDrAq/s+Ffhneaskk1k gKkIUzOyBq0nEAq5vXbCT4LbQDYGLw8BxxvurLim/YywSy5sfnw+hKkYE7cVVSOa rTIdt5qnuL4pxD8VeCAakoU6SajoxfFqS8pX79LC1UPY+++OaVcJjyJvM4APw0Kr e2E1BaeZxxCyY57pQY2oqhjG3cCfIcmfln19JRzMCVNo9+J3MEjZI5EUqP/Zcjwz 1V5FHqDmqMGfA9cn+CexDk79bTKW5+YOyYMEG2RJjV5alWJtvv3Wj6dRPVPpBhnJ O627IuIVGMsHuiEbjziKczaTtYYU5GTpJF+7COH0Jnud0q1w3/RjaJXspnb2Yozh L9BFqc4aonD+AyW2NXTxuuvc3hnD2YSVgLectm7LF/TbM2YFJVu4tounelFsGG6I CPH2VF0Tn+yNR2iWf8igvopvYPCjv+QFGXU6kFGxQxLQFTnXHqoO2sPF4awXx7Hv XF8LrJzPwissX5BbPyhUSIl0FEcmQi6UzSN1/6fpxVq+092OGVacMWpZvwqjUOV/ 3k/OrmcYsu7i2UUbms47YHAK0PRkL2ogKgxgcSO4aNZ7MfkXkm8= =kp1m -----END PGP SIGNATURE----- Merge 5.4.28 into android-5.4 Changes in 5.4.28 locks: fix a potential use-after-free problem when wakeup a waiter locks: reinstate locks_delete_block optimization spi: spi-omap2-mcspi: Support probe deferral for DMA channels drm/mediatek: Find the cursor plane instead of hard coding it phy: ti: gmii-sel: fix set of copy-paste errors phy: ti: gmii-sel: do not fail in case of gmii ARM: dts: dra7-l4: mark timer13-16 as pwm capable spi: qup: call spi_qup_pm_resume_runtime before suspending powerpc: Include .BTF section cifs: fix potential mismatch of UNC paths cifs: add missing mount option to /proc/mounts ARM: dts: dra7: Add "dma-ranges" property to PCIe RC DT nodes spi: pxa2xx: Add CS control clock quirk spi/zynqmp: remove entry that causes a cs glitch drm/exynos: dsi: propagate error value and silence meaningless warning drm/exynos: dsi: fix workaround for the legacy clock name drm/exynos: hdmi: don't leak enable HDMI_EN regulator if probe fails drivers/perf: fsl_imx8_ddr: Correct the CLEAR bit definition drivers/perf: arm_pmu_acpi: Fix incorrect checking of gicc pointer altera-stapl: altera_get_note: prevent write beyond end of 'key' dm bio record: save/restore bi_end_io and bi_integrity dm integrity: use dm_bio_record and dm_bio_restore riscv: avoid the PIC offset of static percpu data in module beyond 2G limits ASoC: stm32: sai: manage rebind issue spi: spi_register_controller(): free bus id on error paths riscv: Force flat memory model with no-mmu riscv: Fix range looking for kernel image memblock drm/amdgpu: clean wptr on wb when gpu recovery drm/amd/display: Clear link settings on MST disable connector drm/amd/display: fix dcc swath size calculations on dcn1 xenbus: req->body should be updated before req->state xenbus: req->err should be updated before req->state block, bfq: fix overwrite of bfq_group pointer in bfq_find_set_group() parse-maintainers: Mark as executable binderfs: use refcount for binder control devices too Revert "drm/fbdev: Fallback to non tiled mode if all tiles not present" USB: Disable LPM on WD19's Realtek Hub usb: quirks: add NO_LPM quirk for RTL8153 based ethernet adapters USB: serial: option: add ME910G1 ECM composition 0x110b usb: host: xhci-plat: add a shutdown USB: serial: pl2303: add device-id for HP LD381 usb: xhci: apply XHCI_SUSPEND_DELAY to AMD XHCI controller 1022:145c usb: typec: ucsi: displayport: Fix NULL pointer dereference usb: typec: ucsi: displayport: Fix a potential race during registration USB: cdc-acm: fix close_delay and closing_wait units in TIOCSSERIAL USB: cdc-acm: fix rounding error in TIOCSSERIAL ALSA: line6: Fix endless MIDI read loop ALSA: hda/realtek - Enable headset mic of Acer X2660G with ALC662 ALSA: hda/realtek - Enable the headset of Acer N50-600 with ALC662 ALSA: seq: virmidi: Fix running status after receiving sysex ALSA: seq: oss: Fix running status after receiving sysex ALSA: pcm: oss: Avoid plugin buffer overflow ALSA: pcm: oss: Remove WARNING from snd_pcm_plug_alloc() checks tty: fix compat TIOCGSERIAL leaking uninitialized memory tty: fix compat TIOCGSERIAL checking wrong function ptr iio: chemical: sps30: fix missing triggered buffer dependency iio: st_sensors: remap SMO8840 to LIS2DH12 iio: trigger: stm32-timer: disable master mode when stopping iio: accel: adxl372: Set iio_chan BE iio: magnetometer: ak8974: Fix negative raw values in sysfs iio: adc: stm32-dfsdm: fix sleep in atomic context iio: adc: at91-sama5d2_adc: fix differential channels in triggered mode iio: light: vcnl4000: update sampling periods for vcnl4200 iio: light: vcnl4000: update sampling periods for vcnl4040 mmc: rtsx_pci: Fix support for speed-modes that relies on tuning mmc: sdhci-of-at91: fix cd-gpios for SAMA5D2 mmc: sdhci-cadence: set SDHCI_QUIRK2_PRESET_VALUE_BROKEN for UniPhier CIFS: fiemap: do not return EINVAL if get nothing kbuild: Disable -Wpointer-to-enum-cast staging: rtl8188eu: Add device id for MERCUSYS MW150US v2 staging: greybus: loopback_test: fix poll-mask build breakage staging/speakup: fix get_word non-space look-ahead intel_th: msu: Fix the unexpected state warning intel_th: Fix user-visible error codes intel_th: pci: Add Elkhart Lake CPU support modpost: move the namespace field in Module.symvers last rtc: max8907: add missing select REGMAP_IRQ arm64: compat: Fix syscall number of compat_clock_getres xhci: Do not open code __print_symbolic() in xhci trace events btrfs: fix log context list corruption after rename whiteout error drm/amd/amdgpu: Fix GPR read from debugfs (v2) drm/lease: fix WARNING in idr_destroy stm class: sys-t: Fix the use of time_after() memcg: fix NULL pointer dereference in __mem_cgroup_usage_unregister_event mm, memcg: fix corruption on 64-bit divisor in memory.high throttling mm, memcg: throttle allocators based on ancestral memory.high mm/hotplug: fix hot remove failure in SPARSEMEM|!VMEMMAP case mm: do not allow MADV_PAGEOUT for CoW pages epoll: fix possible lost wakeup on epoll_ctl() path mm: slub: be more careful about the double cmpxchg of freelist mm, slub: prevent kmalloc_node crashes and memory leaks page-flags: fix a crash at SetPageError(THP_SWAP) x86/mm: split vmalloc_sync_all() futex: Fix inode life-time issue futex: Unbreak futex hashing ALSA: hda/realtek: Fix pop noise on ALC225 arm64: smp: fix smp_send_stop() behaviour arm64: smp: fix crash_smp_send_stop() behaviour nvmet-tcp: set MSG_MORE only if we actually have more to send drm/bridge: dw-hdmi: fix AVI frame colorimetry staging: greybus: loopback_test: fix potential path truncation staging: greybus: loopback_test: fix potential path truncations Linux 5.4.28 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: I5d9d15d6236d8ab7374205c6ceda7efa7a9abb70 |
||
|
4db2f87e15 |
block, bfq: fix overwrite of bfq_group pointer in bfq_find_set_group()
[ Upstream commit 14afc59361976c0ba39e3a9589c3eaa43ebc7e1d ] The bfq_find_set_group() function takes as input a blkcg (which represents a cgroup) and retrieves the corresponding bfq_group, then it updates the bfq internal group hierarchy (see comments inside the function for why this is needed) and finally it returns the bfq_group. In the hierarchy update cycle, the pointer holding the correct bfq_group that has to be returned is mistakenly used to traverse the hierarchy bottom to top, meaning that in each iteration it gets overwritten with the parent of the current group. Since the update cycle stops at root's children (depth = 2), the overwrite becomes a problem only if the blkcg describes a cgroup at a hierarchy level deeper than that (depth > 2). In this case the root's child that happens to be also an ancestor of the correct bfq_group is returned. The main consequence is that processes contained in a cgroup at depth greater than 2 are wrongly placed in the group described above by BFQ. This commits fixes this problem by using a different bfq_group pointer in the update cycle in order to avoid the overwrite of the variable holding the original group reference. Reported-by: Kwon Je Oh <kwonje.oh2@gmail.com> Signed-off-by: Carlo Nonato <carlo.nonato95@gmail.com> Signed-off-by: Paolo Valente <paolo.valente@linaro.org> Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Sasha Levin <sashal@kernel.org> |