a7c4237e2c
4925 Commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
Ming Lei
|
585cb1a5da |
BACKPORT: blk-mq: clear stale request in tags->rq[] before freeing one request pool
refcount_inc_not_zero() in bt_tags_iter() still may read one freed
request.
Fix the issue by the following approach:
1) hold a per-tags spinlock when reading ->rqs[tag] and calling
refcount_inc_not_zero in bt_tags_iter()
2) clearing stale request referred via ->rqs[tag] before freeing
request pool, the per-tags spinlock is held for clearing stale
->rq[tag]
So after we cleared stale requests, bt_tags_iter() won't observe
freed request any more, also the clearing will wait for pending
request reference.
The idea of clearing ->rqs[] is borrowed from John Garry's previous
patch and one recent David's patch.
Tested-by: John Garry <john.garry@huawei.com>
Reviewed-by: David Jeffery <djeffery@redhat.com>
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Ming Lei <ming.lei@redhat.com>.
Bug: 197804811
Change-Id: If49478d7b05d3f5b0a26966ddf9ae764cf2fb6b0
[Upstream: cherry picked from commit bd63141d585bef14f4caf111f6d0e27fe2300ec6]
[Todd: refactored to avoid breaking KMI ]
Signed-off-by: Pradeep P V K <pragalla@codeaurora.org>
Signed-off-by: Todd Kjos <tkjos@google.com>
Git-commit:
|
||
Ming Lei
|
7fe0d300ab |
BACKPORT: blk-mq: grab rq->refcount before calling ->fn in blk_mq_tagset_busy_iter
Grab rq->refcount before calling ->fn in blk_mq_tagset_busy_iter(), and
this way will prevent the request from being re-used when ->fn is
running. The approach is same as what we do during handling timeout.
Fix request use-after-free(UAF) related with completion race or queue
releasing:
- If one rq is referred before rq->q is frozen, then queue won't be
frozen before the request is released during iteration.
- If one rq is referred after rq->q is frozen, refcount_inc_not_zero()
will return false, and we won't iterate over this request.
However, still one request UAF not covered: refcount_inc_not_zero() may
read one freed request, and it will be handled in next patch.
Tested-by: John Garry <john.garry@huawei.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Ming Lei <ming.lei@redhat.com>.
Bug: 197804811
Change-Id: I0e431a8361d1412aaca3f7c0310780d9a9ad0db8
[Upstream: cherry picked from commit 2e315dc07df009c3e29d6926871f62a30cfae394]
[Pradeep: Resolved conflicts in block/blk-mq-tag.c]
Git-commit:
|
||
Greg Kroah-Hartman
|
4a23ba6f12 |
Merge branch 'android11-5.4' into 'android11-5.4-lts'
Sync up with android11-5.4 for the following commits: |
||
Ming Lei
|
ec1b6ab9fe |
BACKPORT: blk-mq: fix is_flush_rq
is_flush_rq() is called from bt_iter()/bt_tags_iter(), and runs the following check: hctx->fq->flush_rq == req but the passed hctx from bt_iter()/bt_tags_iter() may be NULL because: 1) memory re-order in blk_mq_rq_ctx_init(): rq->mq_hctx = data->hctx; ... refcount_set(&rq->ref, 1); OR 2) tag re-use and ->rqs[] isn't updated with new request. Fix the issue by re-writing is_flush_rq() as: return rq->end_io == flush_end_io; which turns out simpler to follow and immune to data race since we have ordered WRITE rq->end_io and refcount_set(&rq->ref, 1). Fixes: 2e315dc07df0 ("blk-mq: grab rq->refcount before calling ->fn in blk_mq_tagset_busy_iter") Cc: "Blank-Burian, Markus, Dr." <blankburian@uni-muenster.de> Cc: Yufen Yu <yuyufen@huawei.com> Signed-off-by: Ming Lei <ming.lei@redhat.com> Bug: 197804811 Change-Id: Iba551d228e5cd96749c13f4c19e13687b0e89196 (cherry picked from commit a9ed27a764156929efe714033edb3e9023c5f321) [Pradeep: Resolved conflicts in block/blk.h] Signed-off-by: Pradeep P V K <pragalla@codeaurora.org> |
||
Ming Lei
|
c9a3b51b07 |
BACKPORT: blk-mq: clearing flush request reference in tags->rqs[]
Before we free request queue, clearing flush request reference in tags->rqs[], so that potential UAF can be avoided. Based on one patch written by David Jeffery. Tested-by: John Garry <john.garry@huawei.com> Reviewed-by: Bart Van Assche <bvanassche@acm.org> Reviewed-by: David Jeffery <djeffery@redhat.com> Signed-off-by: Ming Lei <ming.lei@redhat.com> Bug: 197804811 Change-Id: I9600626e807a4eed546c21be808fabed2a9db9b1 (cherry picked from commit 364b61818f65045479e42e76ed8dd6f051778280) [ refactored to avoid breaking KMI ] Signed-off-by: Pradeep P V K <pragalla@codeaurora.org> Signed-off-by: Todd Kjos <tkjos@google.com> |
||
Ming Lei
|
bb96e7f45d |
BACKPORT: blk-mq: clear stale request in tags->rq[] before freeing one request pool
refcount_inc_not_zero() in bt_tags_iter() still may read one freed request. Fix the issue by the following approach: 1) hold a per-tags spinlock when reading ->rqs[tag] and calling refcount_inc_not_zero in bt_tags_iter() 2) clearing stale request referred via ->rqs[tag] before freeing request pool, the per-tags spinlock is held for clearing stale ->rq[tag] So after we cleared stale requests, bt_tags_iter() won't observe freed request any more, also the clearing will wait for pending request reference. The idea of clearing ->rqs[] is borrowed from John Garry's previous patch and one recent David's patch. Tested-by: John Garry <john.garry@huawei.com> Reviewed-by: David Jeffery <djeffery@redhat.com> Reviewed-by: Bart Van Assche <bvanassche@acm.org> Signed-off-by: Ming Lei <ming.lei@redhat.com> Bug: 197804811 Change-Id: If49478d7b05d3f5b0a26966ddf9ae764cf2fb6b0 (cherry picked from commit bd63141d585bef14f4caf111f6d0e27fe2300ec6) [ refactored to avoid breaking KMI ] Signed-off-by: Pradeep P V K <pragalla@codeaurora.org> Signed-off-by: Todd Kjos <tkjos@google.com> |
||
Ming Lei
|
a5d38e7c26 |
BACKPORT: blk-mq: grab rq->refcount before calling ->fn in blk_mq_tagset_busy_iter
Grab rq->refcount before calling ->fn in blk_mq_tagset_busy_iter(), and this way will prevent the request from being re-used when ->fn is running. The approach is same as what we do during handling timeout. Fix request use-after-free(UAF) related with completion race or queue releasing: - If one rq is referred before rq->q is frozen, then queue won't be frozen before the request is released during iteration. - If one rq is referred after rq->q is frozen, refcount_inc_not_zero() will return false, and we won't iterate over this request. However, still one request UAF not covered: refcount_inc_not_zero() may read one freed request, and it will be handled in next patch. Tested-by: John Garry <john.garry@huawei.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Bart Van Assche <bvanassche@acm.org> Signed-off-by: Ming Lei <ming.lei@redhat.com> Bug: 197804811 Change-Id: Ib80fe8b9f1d76d2489e41f3365fbd12d68a3b097 (cherry picked from commit 2e315dc07df009c3e29d6926871f62a30cfae394) [Pradeep: Resolved conflicts in block/blk-mq-tag.c] Signed-off-by: Pradeep P V K <pragalla@codeaurora.org> |
||
Greg Kroah-Hartman
|
c33130b10f |
This is the 5.4.140 stable release
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmEVBCYACgkQONu9yGCS aT53WxAAqljdZCHORMxU9rnAHSGNHMtGH3UA7TXDU3SKOYSDRW4FOxI3XUJzJLeW jWB/ZXRSeNmSpwFVmUNYhMkHP3VTXDp73xx2y8DI8U20ykiTeyO6Ed+zW8GluWBP uvvdtjV511wspCUiGKOnD88z9FKvfb5OQKxRb03XrwxQqo3JvWSB5QZhWaBP0UnW j6YWAQm/luvsjx0V4sW36mDj3FWihtlyFyh4Psa7yOdlu6whgLZdGMeSCqsGAcGx 6SdshcXrMpJqU9op70a2WHbo8YYaEyLZ4bOK5FmXPfKokh7HmqHEXi7HuW2UcDmr hi3bR455LqQchw3a7OtiGaEF4liUnJw+EIQx1kaA330EvjlIUwayxdyTitZ/z+5c x9i3NS6bLFUL0FPl79tM5oyd7cR4ZSyrqIAVmE8Z+npCuk3XcKWgxfTvuPemgoBk 89Lbpe+C/zWBkStZFmK8OHAv9iBhP/jR2TmRtRhgHJQkV5qCiXCHejb3g8jur99F q4a9AmvN2ignkejh0darNXk2VdfTBfWIVrXjhcncsHSHGcV4xbc1uDyqQad0aug5 iRtmvkmYG0SruHFi3mF9KhKP1IjD0vI2uah6GeX0FLb8zQIuddNpkXSZMS/MZV0c pZicz6qB4JYT3AiiFEmfDtt1FGMwf1weZBmrfHE1OH1FWiZYC/w= =5ku+ -----END PGP SIGNATURE----- Merge 5.4.140 into android11-5.4-lts Changes in 5.4.140 Revert "ACPICA: Fix memory leak caused by _CID repair function" ALSA: seq: Fix racy deletion of subscriber arm64: dts: ls1028a: fix node name for the sysclk ARM: imx: add missing iounmap() ARM: imx: add missing clk_disable_unprepare() ARM: dts: imx6qdl-sr-som: Increase the PHY reset duration to 10ms ARM: dts: colibri-imx6ull: limit SDIO clock to 25MHz ARM: imx: fix missing 3rd argument in macro imx_mmdc_perf_init ARM: dts: imx: Swap M53Menlo pinctrl_power_button/pinctrl_power_out pins arm64: dts: armada-3720-turris-mox: remove mrvl,i2c-fast-mode ALSA: usb-audio: fix incorrect clock source setting clk: stm32f4: fix post divisor setup for I2S/SAI PLLs ARM: dts: am437x-l4: fix typo in can@0 node omap5-board-common: remove not physically existing vdds_1v8_main fixed-regulator spi: imx: mx51-ecspi: Reinstate low-speed CONFIGREG delay spi: imx: mx51-ecspi: Fix low-speed CONFIGREG delay calculation scsi: sr: Return correct event when media event code is 3 media: videobuf2-core: dequeue if start_streaming fails dmaengine: imx-dma: configure the generic DMA type to make it work net, gro: Set inner transport header offset in tcp/udp GRO hook net: dsa: sja1105: overwrite dynamic FDB entries with static ones in .port_fdb_add net: dsa: sja1105: invalidate dynamic FDB entries learned concurrently with statically added ones net: phy: micrel: Fix detection of ksz87xx switch net: natsemi: Fix missing pci_disable_device() in probe and remove gpio: tqmx86: really make IRQ optional sctp: move the active_key update after sh_keys is added nfp: update ethtool reporting of pauseframe control net: ipv6: fix returned variable type in ip6_skb_dst_mtu mips: Fix non-POSIX regexp bnx2x: fix an error code in bnx2x_nic_load() net: pegasus: fix uninit-value in get_interrupt_interval net: fec: fix use-after-free in fec_drv_remove net: vxge: fix use-after-free in vxge_device_unregister blk-iolatency: error out if blk_get_queue() failed in iolatency_set_limit() Bluetooth: defer cleanup of resources in hci_unregister_dev() USB: usbtmc: Fix RCU stall warning USB: serial: option: add Telit FD980 composition 0x1056 USB: serial: ch341: fix character loss at high transfer rates USB: serial: ftdi_sio: add device ID for Auto-M3 OP-COM v2 firmware_loader: use -ETIMEDOUT instead of -EAGAIN in fw_load_sysfs_fallback firmware_loader: fix use-after-free in firmware_fallback_sysfs ALSA: hda/realtek: add mic quirk for Acer SF314-42 ALSA: usb-audio: Add registration quirk for JBL Quantum 600 usb: cdns3: Fixed incorrect gadget state usb: gadget: f_hid: added GET_IDLE and SET_IDLE handlers usb: gadget: f_hid: fixed NULL pointer dereference usb: gadget: f_hid: idle uses the highest byte for duration usb: otg-fsm: Fix hrtimer list corruption clk: fix leak on devm_clk_bulk_get_all() unwind scripts/tracing: fix the bug that can't parse raw_trace_func tracing / histogram: Give calculation hist_fields a size optee: Clear stale cache entries during initialization tee: add tee_shm_alloc_kernel_buf() optee: Fix memory leak when failing to register shm pages tpm_ftpm_tee: Free and unregister TEE shared memory during kexec staging: rtl8723bs: Fix a resource leak in sd_int_dpc staging: rtl8712: get rid of flush_scheduled_work media: rtl28xxu: fix zero-length control request pipe: increase minimum default pipe size to 2 pages ext4: fix potential htree corruption when growing large_dir directories serial: tegra: Only print FIFO error message when an error occurs serial: 8250_mtk: fix uart corruption issue when rx power off serial: 8250: Mask out floating 16/32-bit bus bits MIPS: Malta: Do not byte-swap accesses to the CBUS UART serial: 8250_pci: Enumerate Elkhart Lake UARTs via dedicated driver serial: 8250_pci: Avoid irq sharing for MSI(-X) interrupts. timers: Move clearing of base::timer_running under base:: Lock pcmcia: i82092: fix a null pointer dereference bug md/raid10: properly indicate failure when ending a failed write request KVM: x86: accept userspace interrupt only if no event is injected KVM: Do not leak memory for duplicate debugfs directories KVM: x86/mmu: Fix per-cpu counter corruption on 32-bit builds arm64: vdso: Avoid ISB after reading from cntvct_el0 soc: ixp4xx: fix printing resources spi: meson-spicc: fix memory leak in meson_spicc_remove soc: ixp4xx/qmgr: fix invalid __iomem access perf/x86/amd: Don't touch the AMD64_EVENTSEL_HOSTONLY bit inside the guest bpf, selftests: Adjust few selftest result_unpriv outcomes libata: fix ata_pio_sector for CONFIG_HIGHMEM reiserfs: add check for root_inode in reiserfs_fill_super reiserfs: check directory items on read from disk virt_wifi: fix error on connect alpha: Send stop IPI to send to online CPUs net/qla3xxx: fix schedule while atomic in ql_wait_for_drvr_lock and ql_adapter_reset arm64: fix compat syscall return truncation Linux 5.4.140 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: Ife156cbbbcc40156b39f4401a1bb7fb500fb035c |
||
Yu Kuai
|
580c10a40c |
blk-iolatency: error out if blk_get_queue() failed in iolatency_set_limit()
[ Upstream commit 8d75d0eff6887bcac7225e12b9c75595e523d92d ]
If queue is dying while iolatency_set_limit() is in progress,
blk_get_queue() won't increment the refcount of the queue. However,
blk_put_queue() will still decrement the refcount later, which will
cause the refcout to be unbalanced.
Thus error out in such case to fix the problem.
Fixes:
|
||
Greg Kroah-Hartman
|
a7e747c026 |
Merge 5.4.133 into android11-5.4-lts
Changes in 5.4.133 drm/mxsfb: Don't select DRM_KMS_FB_HELPER drm/zte: Don't select DRM_KMS_FB_HELPER drm/amd/amdgpu/sriov disable all ip hw status by default drm/vc4: fix argument ordering in vc4_crtc_get_margins() net: pch_gbe: Use proper accessors to BE data in pch_ptp_match() drm/amd/display: fix use_max_lb flag for 420 pixel formats hugetlb: clear huge pte during flush function on mips platform atm: iphase: fix possible use-after-free in ia_module_exit() mISDN: fix possible use-after-free in HFC_cleanup() atm: nicstar: Fix possible use-after-free in nicstar_cleanup() net: Treat __napi_schedule_irqoff() as __napi_schedule() on PREEMPT_RT drm/mediatek: Fix PM reference leak in mtk_crtc_ddp_hw_init() reiserfs: add check for invalid 1st journal block drm/virtio: Fix double free on probe failure drm/sched: Avoid data corruptions udf: Fix NULL pointer dereference in udf_symlink function e100: handle eeprom as little endian igb: handle vlan types with checker enabled drm/bridge: cdns: Fix PM reference leak in cdns_dsi_transfer() clk: renesas: r8a77995: Add ZA2 clock clk: tegra: Ensure that PLLU configuration is applied properly ipv6: use prandom_u32() for ID generation RDMA/cxgb4: Fix missing error code in create_qp() dm space maps: don't reset space map allocation cursor when committing pinctrl: mcp23s08: fix race condition in irq handler ice: set the value of global config lock timeout longer virtio_net: Remove BUG() to avoid machine dead net: bcmgenet: check return value after calling platform_get_resource() net: mvpp2: check return value after calling platform_get_resource() net: micrel: check return value after calling platform_get_resource() drm/amd/display: Update scaling settings on modeset drm/amd/display: Release MST resources on switch from MST to SST drm/amd/display: Set DISPCLK_MAX_ERRDET_CYCLES to 7 drm/amdkfd: use allowed domain for vmbo validation fjes: check return value after calling platform_get_resource() selinux: use __GFP_NOWARN with GFP_NOWAIT in the AVC r8169: avoid link-up interrupt issue on RTL8106e if user enables ASPM drm/amd/display: Verify Gamma & Degamma LUT sizes in amdgpu_dm_atomic_check xfrm: Fix error reporting in xfrm_state_construct. wlcore/wl12xx: Fix wl12xx get_mac error if device is in ELP wl1251: Fix possible buffer overflow in wl1251_cmd_scan cw1200: add missing MODULE_DEVICE_TABLE bpf: Fix up register-based shifts in interpreter to silence KUBSAN mt76: mt7615: fix fixed-rate tx status reporting net: fix mistake path for netdev_features_strings net: sched: fix error return code in tcf_del_walker() drm/amdkfd: Walk through list with dqm lock hold rtl8xxxu: Fix device info for RTL8192EU devices MIPS: add PMD table accounting into MIPS'pmd_alloc_one atm: nicstar: use 'dma_free_coherent' instead of 'kfree' atm: nicstar: register the interrupt handler in the right place vsock: notify server to shutdown when client has pending signal RDMA/rxe: Don't overwrite errno from ib_umem_get() iwlwifi: mvm: don't change band on bound PHY contexts iwlwifi: pcie: free IML DMA memory allocation iwlwifi: pcie: fix context info freeing sfc: avoid double pci_remove of VFs sfc: error code if SRIOV cannot be disabled wireless: wext-spy: Fix out-of-bounds warning media, bpf: Do not copy more entries than user space requested net: ip: avoid OOM kills with large UDP sends over loopback RDMA/cma: Fix rdma_resolve_route() memory leak Bluetooth: btusb: Fixed too many in-token issue for Mediatek Chip. Bluetooth: Fix the HCI to MGMT status conversion table Bluetooth: Shutdown controller after workqueues are flushed or cancelled Bluetooth: btusb: fix bt fiwmare downloading failure issue for qca btsoc. sctp: validate from_addr_param return sctp: add size validation when walking chunks MIPS: loongsoon64: Reserve memory below starting pfn to prevent Oops MIPS: set mips32r5 for virt extensions fscrypt: don't ignore minor_hash when hash is 0 crypto: ccp - Annotate SEV Firmware file names perf bench: Fix 2 memory sanitizer warnings powerpc/mm: Fix lockup on kernel exec fault powerpc/barrier: Avoid collision with clang's __lwsync macro drm/amdgpu: Update NV SIMD-per-CU to 2 drm/radeon: Add the missed drm_gem_object_put() in radeon_user_framebuffer_create() drm/rockchip: dsi: remove extra component_del() call drm/amd/display: fix incorrrect valid irq check pinctrl/amd: Add device HID for new AMD GPIO controller drm/amd/display: Reject non-zero src_y and src_x for video planes drm/tegra: Don't set allow_fb_modifiers explicitly drm/msm/mdp4: Fix modifier support enabling drm/arm/malidp: Always list modifiers mmc: sdhci: Fix warning message when accessing RPMB in HS400 mode mmc: core: clear flags before allowing to retune mmc: core: Allow UHS-I voltage switch for SDSC cards if supported ata: ahci_sunxi: Disable DIPM cpu/hotplug: Cure the cpusets trainwreck clocksource/arm_arch_timer: Improve Allwinner A64 timer workaround fpga: stratix10-soc: Add missing fpga_mgr_free() call MIPS: fix "mipsel-linux-ld: decompress.c:undefined reference to `memmove'" ASoC: tegra: Set driver_name=tegra for all machine drivers qemu_fw_cfg: Make fw_cfg_rev_attr a proper kobj_attribute ipmi/watchdog: Stop watchdog timer when the current action is 'none' thermal/drivers/int340x/processor_thermal: Fix tcc setting ubifs: Fix races between xattr_{set|get} and listxattr operations power: supply: ab8500: Fix an old bug nvmem: core: add a missing of_node_put extcon: intel-mrfld: Sync hardware and software state on init seq_buf: Fix overflow in seq_buf_putmem_hex() rq-qos: fix missed wake-ups in rq_qos_throttle try two tracing: Simplify & fix saved_tgids logic tracing: Resize tgid_map to pid_max, not PID_MAX_DEFAULT ipack/carriers/tpci200: Fix a double free in tpci200_pci_probe coresight: tmc-etf: Fix global-out-of-bounds in tmc_update_etf_buffer() dm btree remove: assign new_root only when removal succeeds PCI: Leave Apple Thunderbolt controllers on for s2idle or standby PCI: aardvark: Fix checking for PIO Non-posted Request PCI: aardvark: Implement workaround for the readback value of VEND_ID media: subdev: disallow ioctl for saa6588/davinci media: dtv5100: fix control-request directions media: zr364xx: fix memory leak in zr364xx_start_readpipe media: gspca/sq905: fix control-request direction media: gspca/sunplus: fix zero-length control requests media: uvcvideo: Fix pixel format change for Elgato Cam Link 4K pinctrl: mcp23s08: Fix missing unlock on error in mcp23s08_irq() jfs: fix GPF in diFree smackfs: restrict bytes count in smk_set_cipso() Linux 5.4.133 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: I4daf813e30444755db3a7d587f8be81ccd2f748b |
||
Jan Kara
|
4d4f11c356 |
rq-qos: fix missed wake-ups in rq_qos_throttle try two
commit 11c7aa0ddea8611007768d3e6b58d45dc60a19e1 upstream. Commit |
||
Greg Kroah-Hartman
|
374d020984 |
This is the 5.4.132 stable release
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmDu+p0ACgkQONu9yGCS aT5SOw/9F58e4gz7PSTn4A9oCTNodRPe9B9rzf3y1Ol0k7T1aeQoWsPFOkZpNSOJ tdOGEXnwYnLpMC7nuFshWv1uKGAL/weHADyGV6J37AntYFjpEFhJhSH7pGGhDk7V EeIl98luBynPXOKNnDvcrQweeRaHKOInQBT8JJzwwsZbF2oqfOqdU0A787BiRu+3 zoi/mV0upDB443ji/JY0xj+o4jlbsuD0WxEqgkcD2YHL+QvU5Wr0mGys7m5gG9x7 TpKpMic0ILrF1vt/znLL5rOlX497prTvZ74ZXV/DYizeYxqtl/UG3CZjo1uf2yqk pAXA57paz6DY2Ct+3QbJBeuer27bTz6SCClSS1om9AcUk6oNSdULmMdTGvQb0SLU wx1Cy8b2ei04SVl96+McKKZ6ln47LJediGn0qIdwC6O/XHHrLq4u5PkSnQxRU4pA GH1tP5oYy4GzL9RbBeiDJQETFiXwkexSEWVyuSc6BhqQXao9yVzmLQbL1zgjH/zO m/tckZ3vEg+ll8j4QJCisHRyqYhwfru4PsJQH9Q7q6CtIuGOsd0Z/OUcLuF6knXg jDOrDIykE/PnkQ2Dc2RhdONP1ud5j3oBnHvNHs6FDghRKjaixMQzg3g/RNtnAaTj +7Xsfbi6ntpZSDOaY7YNgt+ZH3l4YRnUL/xBA6qIygayz374nzI= =LU0G -----END PGP SIGNATURE----- Merge 5.4.132 into android11-5.4-lts Changes in 5.4.132 ALSA: usb-audio: fix rate on Ozone Z90 USB headset ALSA: usb-audio: Fix OOB access at proc output ALSA: usb-audio: scarlett2: Fix wrong resume call ALSA: intel8x0: Fix breakage at ac97 clock measurement ALSA: hda/realtek: Add another ALC236 variant support ALSA: hda/realtek: Improve fixup for HP Spectre x360 15-df0xxx ALSA: hda/realtek: Fix bass speaker DAC mapping for Asus UM431D ALSA: hda/realtek: Apply LED fixup for HP Dragonfly G1, too media: dvb-usb: fix wrong definition Input: usbtouchscreen - fix control-request directions net: can: ems_usb: fix use-after-free in ems_usb_disconnect() usb: gadget: eem: fix echo command packet response issue USB: cdc-acm: blacklist Heimann USB Appset device usb: dwc3: Fix debugfs creation flow usb: typec: Add the missed altmode_id_remove() in typec_register_altmode() xhci: solve a double free problem while doing s4 ntfs: fix validity check for file name attribute copy_page_to_iter(): fix ITER_DISCARD case iov_iter_fault_in_readable() should do nothing in xarray case Input: joydev - prevent use of not validated data in JSIOCSBTNMAP ioctl arm_pmu: Fix write counter incorrect in ARMv7 big-endian mode ARM: dts: at91: sama5d4: fix pinctrl muxing btrfs: send: fix invalid path for unlink operations after parent orphanization btrfs: clear defrag status of a root if starting transaction fails ext4: cleanup in-core orphan list if ext4_truncate() failed to get a transaction handle ext4: fix kernel infoleak via ext4_extent_header ext4: return error code when ext4_fill_flex_info() fails ext4: correct the cache_nr in tracepoint ext4_es_shrink_exit ext4: remove check for zero nr_to_scan in ext4_es_scan() ext4: fix avefreec in find_group_orlov ext4: use ext4_grp_locked_error in mb_find_extent can: bcm: delay release of struct bcm_op after synchronize_rcu() can: gw: synchronize rcu operations before removing gw job entry can: j1939: j1939_sk_init(): set SOCK_RCU_FREE to call sk_destruct() after RCU is done can: peak_pciefd: pucan_handle_status(): fix a potential starvation issue in TX path mac80211: remove iwlwifi specific workaround that broke sta NDP tx SUNRPC: Fix the batch tasks count wraparound. SUNRPC: Should wake up the privileged task firstly. perf/smmuv3: Don't trample existing events with global filter KVM: PPC: Book3S HV: Workaround high stack usage with clang s390/cio: dont call css_wait_for_slow_path() inside a lock rtc: stm32: Fix unbalanced clk_disable_unprepare() on probe error path iio: light: tcs3472: do not free unallocated IRQ iio: ltr501: mark register holding upper 8 bits of ALS_DATA{0,1} and PS_DATA as volatile, too iio: ltr501: ltr559: fix initialization of LTR501_ALS_CONTR iio: ltr501: ltr501_read_ps(): add missing endianness conversion serial: mvebu-uart: fix calculation of clock divisor serial: sh-sci: Stop dmaengine transfer in sci_stop_tx() serial_cs: Add Option International GSM-Ready 56K/ISDN modem serial_cs: remove wrong GLOBETROTTER.cis entry ath9k: Fix kernel NULL pointer dereference during ath_reset_internal() ssb: sdio: Don't overwrite const buffer if block_write fails rsi: Assign beacon rate settings to the correct rate_info descriptor field rsi: fix AP mode with WPA failure due to encrypted EAPOL tracing/histograms: Fix parsing of "sym-offset" modifier tracepoint: Add tracepoint_probe_register_may_exist() for BPF tracing seq_buf: Make trace_seq_putmem_hex() support data longer than 8 powerpc/stacktrace: Fix spurious "stale" traces in raise_backtrace_ipi() evm: Execute evm_inode_init_security() only when an HMAC key is loaded evm: Refuse EVM_ALLOW_METADATA_WRITES only if an HMAC key is loaded fuse: ignore PG_workingset after stealing fuse: check connected before queueing on fpq->io fuse: reject internal errno spi: Make of_register_spi_device also set the fwnode media: mdk-mdp: fix pm_runtime_get_sync() usage count media: s5p: fix pm_runtime_get_sync() usage count media: sh_vou: fix pm_runtime_get_sync() usage count media: mtk-vcodec: fix PM runtime get logic media: s5p-jpeg: fix pm_runtime_get_sync() usage count media: sti/bdisp: fix pm_runtime_get_sync() usage count media: exynos-gsc: fix pm_runtime_get_sync() usage count spi: spi-loopback-test: Fix 'tx_buf' might be 'rx_buf' spi: spi-topcliff-pch: Fix potential double free in pch_spi_process_messages() spi: omap-100k: Fix the length judgment problem regulator: uniphier: Add missing MODULE_DEVICE_TABLE hwrng: exynos - Fix runtime PM imbalance on error crypto: nx - add missing MODULE_DEVICE_TABLE media: sti: fix obj-$(config) targets media: cpia2: fix memory leak in cpia2_usb_probe media: cobalt: fix race condition in setting HPD media: pvrusb2: fix warning in pvr2_i2c_core_done media: imx: imx7_mipi_csis: Fix logging of only error event counters crypto: qat - check return code of qat_hal_rd_rel_reg() crypto: qat - remove unused macro in FW loader sched/fair: Fix ascii art by relpacing tabs media: em28xx: Fix possible memory leak of em28xx struct media: v4l2-core: Avoid the dangling pointer in v4l2_fh_release media: bt8xx: Fix a missing check bug in bt878_probe media: st-hva: Fix potential NULL pointer dereferences Makefile: fix GDB warning with CONFIG_RELR media: dvd_usb: memory leak in cinergyt2_fe_attach memstick: rtsx_usb_ms: fix UAF mmc: sdhci-sprd: use sdhci_sprd_writew mmc: via-sdmmc: add a check against NULL pointer dereference crypto: shash - avoid comparing pointers to exported functions under CFI media: dvb_net: avoid speculation from net slot media: siano: fix device register error path media: imx-csi: Skip first few frames from a BT.656 source hwmon: (max31790) Report correct current pwm duty cycles hwmon: (max31790) Fix pwmX_enable attributes drivers/perf: fix the missed ida_simple_remove() in ddr_perf_probe() KVM: PPC: Book3S HV: Fix TLB management on SMT8 POWER9 and POWER10 processors btrfs: fix error handling in __btrfs_update_delayed_inode btrfs: abort transaction if we fail to update the delayed inode btrfs: disable build on platforms having page size 256K locking/lockdep: Fix the dep path printing for backwards BFS lockding/lockdep: Avoid to find wrong lock dep path in check_irq_usage() KVM: s390: get rid of register asm usage regulator: mt6358: Fix vdram2 .vsel_mask regulator: da9052: Ensure enough delay time for .set_voltage_time_sel media: Fix Media Controller API config checks HID: do not use down_interruptible() when unbinding devices EDAC/ti: Add missing MODULE_DEVICE_TABLE ACPI: processor idle: Fix up C-state latency if not ordered hv_utils: Fix passing zero to 'PTR_ERR' warning lib: vsprintf: Fix handling of number field widths in vsscanf ACPI: EC: Make more Asus laptops use ECDT _GPE block_dump: remove block_dump feature in mark_inode_dirty() fs: dlm: cancel work sync othercon random32: Fix implicit truncation warning in prandom_seed_state() fs: dlm: fix memory leak when fenced ACPICA: Fix memory leak caused by _CID repair function ACPI: bus: Call kobject_put() in acpi_init() error path ACPI: resources: Add checks for ACPI IRQ override block: fix race between adding/removing rq qos and normal IO platform/x86: toshiba_acpi: Fix missing error code in toshiba_acpi_setup_keyboard() nvmet-fc: do not check for invalid target port in nvmet_fc_handle_fcp_rqst() EDAC/Intel: Do not load EDAC driver when running as a guest PCI: hv: Add check for hyperv_initialized in init_hv_pci_drv() clocksource: Retry clock read if long delays detected ACPI: tables: Add custom DSDT file as makefile prerequisite HID: wacom: Correct base usage for capacitive ExpressKey status bits cifs: fix missing spinlock around update to ses->status block: fix discard request merge kthread_worker: fix return value when kthread_mod_delayed_work() races with kthread_cancel_delayed_work_sync() ia64: mca_drv: fix incorrect array size calculation writeback, cgroup: increment isw_nr_in_flight before grabbing an inode media: s5p_cec: decrement usage count if disabled crypto: ixp4xx - dma_unmap the correct address crypto: ux500 - Fix error return code in hash_hw_final() sata_highbank: fix deferred probing pata_rb532_cf: fix deferred probing media: I2C: change 'RST' to "RSET" to fix multiple build errors sched/uclamp: Fix wrong implementation of cpu.uclamp.min sched/uclamp: Fix locking around cpu_util_update_eff() kbuild: run the checker after the compiler kbuild: Fix objtool dependency for 'OBJECT_FILES_NON_STANDARD_<obj> := n' pata_octeon_cf: avoid WARN_ON() in ata_host_activate() evm: fix writing <securityfs>/evm overflow crypto: ccp - Fix a resource leak in an error handling path media: rc: i2c: Fix an error message pata_ep93xx: fix deferred probing media: exynos4-is: Fix a use after free in isp_video_release media: au0828: fix a NULL vs IS_ERR() check media: tc358743: Fix error return code in tc358743_probe_of() media: gspca/gl860: fix zero-length control requests m68k: atari: Fix ATARI_KBD_CORE kconfig unmet dependency warning media: siano: Fix out-of-bounds warnings in smscore_load_firmware_family2() crypto: nitrox - fix unchecked variable in nitrox_register_interrupts crypto: omap-sham - Fix PM reference leak in omap sham ops mmc: usdhi6rol0: fix error return code in usdhi6_probe() arm64: consistently use reserved_pg_dir arm64/mm: Fix ttbr0 values stored in struct thread_info for software-pan media: s5p-g2d: Fix a memory leak on ctx->fh.m2m_ctx hwmon: (max31722) Remove non-standard ACPI device IDs hwmon: (max31790) Fix fan speed reporting for fan7..12 KVM: nVMX: Ensure 64-bit shift when checking VMFUNC bitmap regulator: hi655x: Fix pass wrong pointer to config.driver_data btrfs: clear log tree recovering status if starting transaction fails sched/rt: Fix RT utilization tracking during policy change sched/rt: Fix Deadline utilization tracking during policy change sched/uclamp: Fix uclamp_tg_restrict() spi: spi-sun6i: Fix chipselect/clock bug crypto: nx - Fix RCU warning in nx842_OF_upd_status ACPI: sysfs: Fix a buffer overrun problem with description_show() extcon: extcon-max8997: Fix IRQ freeing at error path blk-wbt: introduce a new disable state to prevent false positive by rwb_enabled() blk-wbt: make sure throttle is enabled properly ACPI: Use DEVICE_ATTR_<RW|RO|WO> macros ACPI: bgrt: Fix CFI violation cpufreq: Make cpufreq_online() call driver->offline() on errors ocfs2: fix snprintf() checking dax: fix ENOMEM handling in grab_mapping_entry() xfrm: xfrm_state_mtu should return at least 1280 for ipv6 video: fbdev: imxfb: Fix an error message net: mvpp2: Put fwnode in error case during ->probe() net: pch_gbe: Propagate error from devm_gpio_request_one() pinctrl: renesas: r8a7796: Add missing bias for PRESET# pin pinctrl: renesas: r8a77990: JTAG pins do not have pull-down capabilities clk: meson: g12a: fix gp0 and hifi ranges net: ftgmac100: add missing error return code in ftgmac100_probe() drm/rockchip: cdn-dp-core: add missing clk_disable_unprepare() on error in cdn_dp_grf_write() drm/rockchip: dsi: move all lane config except LCDC mux to bind() ehea: fix error return code in ehea_restart_qps() net/sched: act_vlan: Fix modify to allow 0 RDMA/core: Sanitize WQ state received from the userspace RDMA/rxe: Fix failure during driver load drm: qxl: ensure surf.data is ininitialized tools/bpftool: Fix error return code in do_batch() ath10k: go to path err_unsupported when chip id is not supported ath10k: add missing error return code in ath10k_pci_probe() wireless: carl9170: fix LEDS build errors & warnings ieee802154: hwsim: Fix possible memory leak in hwsim_subscribe_all_others wcn36xx: Move hal_buf allocation to devm_kmalloc in probe ssb: Fix error return code in ssb_bus_scan() brcmfmac: fix setting of station info chains bitmask brcmfmac: correctly report average RSSI in station info brcmsmac: mac80211_if: Fix a resource leak in an error handling path ath10k: Fix an error code in ath10k_add_interface() netlabel: Fix memory leak in netlbl_mgmt_add_common RDMA/mlx5: Don't add slave port to unaffiliated list netfilter: nft_exthdr: check for IPv6 packet before further processing netfilter: nft_osf: check for TCP packet before further processing netfilter: nft_tproxy: restrict support to TCP and UDP transport protocols RDMA/rxe: Fix qp reference counting for atomic ops samples/bpf: Fix the error return code of xdp_redirect's main() net: ethernet: aeroflex: fix UAF in greth_of_remove net: ethernet: ezchip: fix UAF in nps_enet_remove net: ethernet: ezchip: fix error handling vrf: do not push non-ND strict packets with a source LLA through packet taps again net: sched: add barrier to ensure correct ordering for lockless qdisc tls: prevent oversized sendfile() hangs by ignoring MSG_MORE pkt_sched: sch_qfq: fix qfq_change_class() error path vxlan: add missing rcu_read_lock() in neigh_reduce() net/ipv4: swap flow ports when validating source tc-testing: fix list handling ieee802154: hwsim: Fix memory leak in hwsim_add_one ieee802154: hwsim: avoid possible crash in hwsim_del_edge_nl() mac80211: remove iwlwifi specific workaround NDPs of null_response net: bcmgenet: Fix attaching to PYH failed on RPi 4B ipv6: exthdrs: do not blindly use init_net bpf: Do not change gso_size during bpf_skb_change_proto() i40e: Fix error handling in i40e_vsi_open i40e: Fix autoneg disabling for non-10GBaseT links Revert "ibmvnic: remove duplicate napi_schedule call in open function" ibmvnic: free tx_pool if tso_pool alloc fails ipv6: fix out-of-bound access in ip6_parse_tlv() e1000e: Check the PCIm state bpfilter: Specify the log level for the kmsg message gve: Fix swapped vars when fetching max queues Revert "be2net: disable bh with spin_lock in be_process_mcc" Bluetooth: mgmt: Fix slab-out-of-bounds in tlv_data_is_valid Bluetooth: Fix handling of HCI_LE_Advertising_Set_Terminated event clk: actions: Fix UART clock dividers on Owl S500 SoC clk: actions: Fix SD clocks factor table on Owl S500 SoC clk: actions: Fix bisp_factor_table based clocks on Owl S500 SoC clk: si5341: Avoid divide errors due to bogus register contents clk: si5341: Update initialization magic writeback: fix obtain a reference to a freeing memcg css net: lwtunnel: handle MTU calculation in forwading net: sched: fix warning in tcindex_alloc_perfect_hash RDMA/mlx5: Don't access NULL-cleared mpi pointer MIPS: Fix PKMAP with 32-bit MIPS huge page support staging: fbtft: Rectify GPIO handling rcu: Invoke rcu_spawn_core_kthreads() from rcu_spawn_gp_kthread() tty: nozomi: Fix a resource leak in an error handling function mwifiex: re-fix for unaligned accesses iio: adis_buffer: do not return ints in irq handlers iio: adis16400: do not return ints in irq handlers iio: accel: bma180: Fix buffer alignment in iio_push_to_buffers_with_timestamp() iio: accel: bma220: Fix buffer alignment in iio_push_to_buffers_with_timestamp() iio: accel: hid: Fix buffer alignment in iio_push_to_buffers_with_timestamp() iio: accel: kxcjk-1013: Fix buffer alignment in iio_push_to_buffers_with_timestamp() iio:accel:mxc4005: Drop unnecessary explicit casts in regmap_bulk_read calls iio: accel: mxc4005: Fix overread of data and alignment issue. iio: accel: stk8312: Fix buffer alignment in iio_push_to_buffers_with_timestamp() iio: accel: stk8ba50: Fix buffer alignment in iio_push_to_buffers_with_timestamp() iio: adc: ti-ads1015: Fix buffer alignment in iio_push_to_buffers_with_timestamp() iio: adc: vf610: Fix buffer alignment in iio_push_to_buffers_with_timestamp() iio: gyro: bmg160: Fix buffer alignment in iio_push_to_buffers_with_timestamp() iio: humidity: am2315: Fix buffer alignment in iio_push_to_buffers_with_timestamp() iio: prox: srf08: Fix buffer alignment in iio_push_to_buffers_with_timestamp() iio: prox: pulsed-light: Fix buffer alignment in iio_push_to_buffers_with_timestamp() iio: prox: as3935: Fix buffer alignment in iio_push_to_buffers_with_timestamp() iio: magn: hmc5843: Fix buffer alignment in iio_push_to_buffers_with_timestamp() iio: magn: bmc150: Fix buffer alignment in iio_push_to_buffers_with_timestamp() iio: light: isl29125: Fix buffer alignment in iio_push_to_buffers_with_timestamp() iio: light: tcs3414: Fix buffer alignment in iio_push_to_buffers_with_timestamp() iio: light: tcs3472: Fix buffer alignment in iio_push_to_buffers_with_timestamp() iio: cros_ec_sensors: Fix alignment of buffer in iio_push_to_buffers_with_timestamp() iio: potentiostat: lmp91000: Fix alignment of buffer in iio_push_to_buffers_with_timestamp() ASoC: rk3328: fix missing clk_disable_unprepare() on error in rk3328_platform_probe() ASoC: hisilicon: fix missing clk_disable_unprepare() on error in hi6210_i2s_startup() backlight: lm3630a_bl: Put fwnode in error case during ->probe() ASoC: rsnd: tidyup loop on rsnd_adg_clk_query() Input: hil_kbd - fix error return code in hil_dev_connect() mtd: partitions: redboot: seek fis-index-block in the right node char: pcmcia: error out if 'num_bytes_read' is greater than 4 in set_protocol() firmware: stratix10-svc: Fix a resource leak in an error handling path tty: nozomi: Fix the error handling path of 'nozomi_card_init()' leds: lm3532: select regmap I2C API leds: lm36274: cosmetic: rename lm36274_data to chip leds: lm3692x: Put fwnode in any case during ->probe() scsi: FlashPoint: Rename si_flags field fsi: core: Fix return of error values on failures fsi: scom: Reset the FSI2PIB engine for any error fsi: occ: Don't accept response from un-initialized OCC fsi/sbefifo: Clean up correct FIFO when receiving reset request from SBE fsi/sbefifo: Fix reset timeout visorbus: fix error return code in visorchipset_init() s390: appldata depends on PROC_SYSCTL iommu/dma: Fix IOVA reserve dma ranges ASoC: mediatek: mtk-btcvsd: Fix an error handling path in 'mtk_btcvsd_snd_probe()' usb: gadget: f_fs: Fix setting of device and driver data cross-references usb: dwc2: Don't reset the core after setting turnaround time eeprom: idt_89hpesx: Put fwnode in matching case during ->probe() eeprom: idt_89hpesx: Restore printing the unsupported fwnode name iio: at91-sama5d2_adc: remove usage of iio_priv_to_dev() helper iio: adc: at91-sama5d2: Fix buffer alignment in iio_push_to_buffers_with_timestamp() iio: adc: hx711: Fix buffer alignment in iio_push_to_buffers_with_timestamp() iio: adc: mxs-lradc: Fix buffer alignment in iio_push_to_buffers_with_timestamp() iio: adc: ti-ads8688: Fix alignment of buffer in iio_push_to_buffers_with_timestamp() iio: magn: rm3100: Fix alignment of buffer in iio_push_to_buffers_with_timestamp() staging: gdm724x: check for buffer overflow in gdm_lte_multi_sdu_pkt() staging: gdm724x: check for overflow in gdm_lte_netif_rx() staging: rtl8712: remove redundant check in r871xu_drv_init staging: rtl8712: fix memory leak in rtl871x_load_fw_cb staging: mt7621-dts: fix pci address for PCI memory range serial: 8250: Actually allow UPF_MAGIC_MULTIPLIER baud rates iio: light: vcnl4035: Fix buffer alignment in iio_push_to_buffers_with_timestamp() iio: prox: isl29501: Fix buffer alignment in iio_push_to_buffers_with_timestamp() ASoC: cs42l42: Correct definition of CS42L42_ADC_PDN_MASK of: Fix truncation of memory sizes on 32-bit platforms mtd: rawnand: marvell: add missing clk_disable_unprepare() on error in marvell_nfc_resume() scsi: mpt3sas: Fix error return value in _scsih_expander_add() soundwire: stream: Fix test for DP prepare complete phy: uniphier-pcie: Fix updating phy parameters phy: ti: dm816x: Fix the error handling path in 'dm816x_usb_phy_probe() extcon: sm5502: Drop invalid register write in sm5502_reg_data extcon: max8997: Add missing modalias string ASoC: atmel-i2s: Fix usage of capture and playback at the same time configfs: fix memleak in configfs_release_bin_file leds: as3645a: Fix error return code in as3645a_parse_node() leds: ktd2692: Fix an error handling path powerpc: Offline CPU in stop_this_cpu() serial: mvebu-uart: do not allow changing baudrate when uartclk is not available serial: mvebu-uart: correctly calculate minimal possible baudrate arm64: dts: marvell: armada-37xx: Fix reg for standard variant of UART vfio/pci: Handle concurrent vma faults mm/huge_memory.c: don't discard hugepage if other processes are mapping it mm/z3fold: fix potential memory leak in z3fold_destroy_pool() selftests/vm/pkeys: fix alloc_random_pkey() to make it really, really random perf llvm: Return -ENOMEM when asprintf() fails scsi: target: cxgbit: Unmap DMA buffer before calling target_execute_cmd() block: return the correct bvec when checking for gaps mmc: block: Disable CMDQ on the ioctl path mmc: vub3000: fix control-request direction scsi: core: Retry I/O for Notify (Enable Spinup) Required error iommu/dma: Fix compile warning in 32-bit builds Linux 5.4.132 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: I36eef11d7d5fed3388f0c90904a4e9c495327826 |
||
Zhang Yi
|
7b33b04f85 |
blk-wbt: make sure throttle is enabled properly
[ Upstream commit 76a8040817b4b9c69b53f9b326987fa891b4082a ] After commit |
||
Zhang Yi
|
bcf3f42bda |
blk-wbt: introduce a new disable state to prevent false positive by rwb_enabled()
[ Upstream commit 1d0903d61e9645c6330b94247b96dd873dfc11c8 ]
Now that we disable wbt by simply zero out rwb->wb_normal in
wbt_disable_default() when switch elevator to bfq, but it's not safe
because it will become false positive if we change queue depth. If it
become false positive between wbt_wait() and wbt_track() when submit
write request, it will lead to drop rqw->inflight to -1 in wbt_done(),
which will end up trigger IO hung. Fix this issue by introduce a new
state which mean the wbt was disabled.
Fixes:
|
||
Ming Lei
|
05bc319027 |
block: fix discard request merge
[ Upstream commit 2705dfb2094777e405e065105e307074af8965c1 ] ll_new_hw_segment() is reached only in case of single range discard merge, and we don't have max discard segment size limit actually, so it is wrong to run the following check: if (req->nr_phys_segments + nr_phys_segs > blk_rq_get_max_segments(req)) it may be always false since req->nr_phys_segments is initialized as one, and bio's segment count is still 1, blk_rq_get_max_segments(reg) is 1 too. Fix the issue by not doing the check and bypassing the calculation of discard request's nr_phys_segments. Based on analysis from Wang Shanker. Cc: Christoph Hellwig <hch@lst.de> Reported-by: Wang Shanker <shankerwangmiao@gmail.com> Signed-off-by: Ming Lei <ming.lei@redhat.com> Link: https://lore.kernel.org/r/20210628023312.1903255-1-ming.lei@redhat.com Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Sasha Levin <sashal@kernel.org> |
||
Ming Lei
|
506a2001b7 |
block: fix race between adding/removing rq qos and normal IO
[ Upstream commit 2cafe29a8d03f02a3d16193bdaae2f3e82a423f9 ] Yi reported several kernel panics on: [16687.001777] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000008 ... [16687.163549] pc : __rq_qos_track+0x38/0x60 or [ 997.690455] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000020 ... [ 997.850347] pc : __rq_qos_done+0x2c/0x50 Turns out it is caused by race between adding rq qos(wbt) and normal IO because rq_qos_add can be run when IO is being submitted, fix this issue by freezing queue before adding/deleting rq qos to queue. rq_qos_exit() needn't to freeze queue because it is called after queue has been frozen. iolatency calls rq_qos_add() during allocating queue, so freezing won't add delay because queue usage refcount works at atomic mode at that time. iocost calls rq_qos_add() when writing cgroup attribute file, that is fine to freeze queue at that time since we usually freeze queue when storing to queue sysfs attribute, meantime iocost only exists on the root cgroup. wbt_init calls it in blk_register_queue() and queue sysfs attribute store(queue_wb_lat_store() when write it 1st time in case of !BLK_WBT_MQ), the following patch will speedup the queue freezing in wbt_init. Reported-by: Yi Zhang <yi.zhang@redhat.com> Cc: Bart Van Assche <bvanassche@acm.org> Signed-off-by: Ming Lei <ming.lei@redhat.com> Reviewed-by: Bart Van Assche <bvanassche@acm.org> Tested-by: Yi Zhang <yi.zhang@redhat.com> Link: https://lore.kernel.org/r/20210609015822.103433-2-ming.lei@redhat.com Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Sasha Levin <sashal@kernel.org> |
||
Pradeep P V K
|
7c784bfe48 |
Revert "block: Enable BFQ io scheduler as default"
'commit abc0fc15dcec ("block: Enable BFQ io scheduler as default")' This is to fix the Native Daemon and Zygote Preload regressions during bootup. Change-Id: I4cfb40d0622319ce84d17fa409a4fcb5ab429dbc Signed-off-by: Pradeep P V K <pragalla@codeaurora.org> |
||
Pradeep P V K
|
71edb4e799 |
block: Enable BFQ io scheduler as default
Enable BFQ IO-Scheduler as a default scheduler for systems adapting to block multiqueue design. Change-Id: I12ff8c0495a53f1fc1f1a95c39ed03d927c1821b Signed-off-by: Pradeep P V K <pragalla@codeaurora.org> |
||
Greg Kroah-Hartman
|
5317188981 |
This is the 5.4.120 stable release
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmCkyEcACgkQONu9yGCS aT70Qg//Rv09McvLQ+8E0OilJ7TdT0UthXQFP+uPTu+/HPeHQkCO168cn1hbwD9K i0YfFYB7PqPe/wccHNsmWHSUYCzA9NnwExA84/jofjswkEMMc95x/bow5/xmLe/5 ImkjODPVHuQWewgMfbSmNu7Br4wmQC5U/K4r7hp/Aa0FdTjcHMI6Zw40FGbJrWmq kiqhW9CeagKbxWrihQNLrSB4E5CdpNNkug/zVus2n9jlFT4tltNGSd7bPsxrp7LN EdTfayyPUVZeCoysTNA0WZgz47f+z47vAdIlDHzWCIOZcM1RnJXKA5kFXRf8Fnfa +hyvaHSDqYGdRgZxYMcXLL+/cS4foQ/8iQxZBCMomABM0MNUuoJ5tYR6GVetlRcR 46ZC/5OAvNoKY2Kj4Ky4ROF7aMR3NkYCY6wHUVRcw8778bmuReeLJJPsWojAI+4F pWT08+7OUJYb3hRnGxxzKot6CPztdkpQXfXMy+wyNlNbRZ/ivs9/f/GhdblXy/6T j12LKIh1IOxpB/wi7GRfeABUuC4MU8xqx6FuPDrBgCTMfVig/wcwF27AUr//a0F5 xrrzCrDFNAvuyD1WyYilaxWDHAe2o9ROT0JZ4VB3zu40w2VlTT77aqA174xfQa6b 418Eykw3O11dmsY8AQPTt1HhkDCiewEe4K58CJcmCNEf/inFbvI= =kNQc -----END PGP SIGNATURE----- Merge 5.4.120 into android11-5.4-lts Changes in 5.4.120 tpm: fix error return code in tpm2_get_cc_attrs_tbl() tpm, tpm_tis: Extend locality handling to TPM2 in tpm_tis_gen_interrupt() tpm, tpm_tis: Reserve locality in tpm_tis_resume() KVM: x86/mmu: Remove the defunct update_pte() paging hook PM: runtime: Fix unpaired parent child_count for force_resume fs: dlm: fix debugfs dump tipc: convert dest node's address to network order ASoC: Intel: bytcr_rt5640: Enable jack-detect support on Asus T100TAF net: stmmac: Set FIFO sizes for ipq806x ASoC: rsnd: core: Check convert rate in rsnd_hw_params i2c: bail out early when RDWR parameters are wrong ALSA: hdsp: don't disable if not enabled ALSA: hdspm: don't disable if not enabled ALSA: rme9652: don't disable if not enabled ALSA: bebob: enable to deliver MIDI messages for multiple ports Bluetooth: Set CONF_NOT_COMPLETE as l2cap_chan default Bluetooth: initialize skb_queue_head at l2cap_chan_create() net: bridge: when suppression is enabled exclude RARP packets Bluetooth: check for zapped sk before connecting ip6_vti: proper dev_{hold|put} in ndo_[un]init methods ASoC: Intel: bytcr_rt5640: Add quirk for the Chuwi Hi8 tablet i2c: Add I2C_AQ_NO_REP_START adapter quirk mac80211: clear the beacon's CRC after channel switch pinctrl: samsung: use 'int' for register masks in Exynos mt76: mt76x0: disable GTK offloading cuse: prevent clone ASoC: rsnd: call rsnd_ssi_master_clk_start() from rsnd_ssi_init() Revert "iommu/amd: Fix performance counter initialization" iommu/amd: Remove performance counter pre-initialization test drm/amd/display: Force vsync flip when reconfiguring MPCC selftests: Set CC to clang in lib.mk if LLVM is set kconfig: nconf: stop endless search loops ALSA: hda/hdmi: fix race in handling acomp ELD notification at resume sctp: Fix out-of-bounds warning in sctp_process_asconf_param() flow_dissector: Fix out-of-bounds warning in __skb_flow_bpf_to_target() powerpc/smp: Set numa node before updating mask ASoC: rt286: Generalize support for ALC3263 codec ethtool: ioctl: Fix out-of-bounds warning in store_link_ksettings_for_user() net: sched: tapr: prevent cycle_time == 0 in parse_taprio_schedule samples/bpf: Fix broken tracex1 due to kprobe argument change powerpc/pseries: Stop calling printk in rtas_stop_self() drm/amd/display: fixed divide by zero kernel crash during dsc enablement wl3501_cs: Fix out-of-bounds warnings in wl3501_send_pkt wl3501_cs: Fix out-of-bounds warnings in wl3501_mgmt_join qtnfmac: Fix possible buffer overflow in qtnf_event_handle_external_auth powerpc/iommu: Annotate nested lock for lockdep iavf: remove duplicate free resources calls net: ethernet: mtk_eth_soc: fix RX VLAN offload bnxt_en: Add PCI IDs for Hyper-V VF devices. ia64: module: fix symbolizer crash on fdescr ASoC: rt286: Make RT286_SET_GPIO_* readable and writable thermal: thermal_of: Fix error return code of thermal_of_populate_bind_params() f2fs: fix a redundant call to f2fs_balance_fs if an error occurs PCI: iproc: Fix return value of iproc_msi_irq_domain_alloc() PCI: Release OF node in pci_scan_device()'s error path ARM: 9064/1: hw_breakpoint: Do not directly check the event's overflow_handler hook rpmsg: qcom_glink_native: fix error return code of qcom_glink_rx_data() NFSv4.2: Always flush out writes in nfs42_proc_fallocate() NFS: Deal correctly with attribute generation counter overflow PCI: endpoint: Fix missing destroy_workqueue() pNFS/flexfiles: fix incorrect size check in decode_nfs_fh() NFSv4.2 fix handling of sr_eof in SEEK's reply rtc: fsl-ftm-alarm: add MODULE_TABLE() ceph: fix inode leak on getattr error in __fh_to_dentry rtc: ds1307: Fix wday settings for rx8130 net: hns3: fix incorrect configuration for igu_egu_hw_err net: hns3: initialize the message content in hclge_get_link_mode() net: hns3: add check for HNS3_NIC_STATE_INITED in hns3_reset_notify_up_enet() net: hns3: fix for vxlan gpe tx checksum bug net: hns3: use netif_tx_disable to stop the transmit queue net: hns3: disable phy loopback setting in hclge_mac_start_phy sctp: do asoc update earlier in sctp_sf_do_dupcook_a RISC-V: Fix error code returned by riscv_hartid_to_cpuid() sunrpc: Fix misplaced barrier in call_decode ethernet:enic: Fix a use after free bug in enic_hard_start_xmit sctp: fix a SCTP_MIB_CURRESTAB leak in sctp_sf_do_dupcook_b netfilter: xt_SECMARK: add new revision to fix structure layout drm/radeon: Fix off-by-one power_state index heap overwrite drm/radeon: Avoid power table parsing memory leaks khugepaged: fix wrong result value for trace_mm_collapse_huge_page_isolate() mm/hugeltb: handle the error case in hugetlb_fix_reserve_counts() mm/migrate.c: fix potential indeterminate pte entry in migrate_vma_insert_page() ksm: fix potential missing rmap_item for stable_node net: fix nla_strcmp to handle more then one trailing null character smc: disallow TCP_ULP in smc_setsockopt() netfilter: nfnetlink_osf: Fix a missing skb_header_pointer() NULL check can: m_can: m_can_tx_work_queue(): fix tx_skb race condition sched: Fix out-of-bound access in uclamp sched/fair: Fix unfairness caused by missing load decay kernel: kexec_file: fix error return code of kexec_calculate_store_digests() netfilter: nftables: avoid overflows in nft_hash_buckets() i40e: Fix use-after-free in i40e_client_subtask() i40e: fix the restart auto-negotiation after FEC modified i40e: Fix PHY type identifiers for 2.5G and 5G adapters ARC: entry: fix off-by-one error in syscall number validation ARC: mm: PAE: use 40-bit physical page mask powerpc/64s: Fix crashes when toggling stf barrier powerpc/64s: Fix crashes when toggling entry flush barrier hfsplus: prevent corruption in shrinking truncate squashfs: fix divide error in calculate_skip() userfaultfd: release page in error path to avoid BUG_ON mm/hugetlb: fix F_SEAL_FUTURE_WRITE drm/radeon/dpm: Disable sclk switching on Oland when two 4K 60Hz monitors are connected drm/i915: Avoid div-by-zero on gen2 iio: proximity: pulsedlight: Fix rumtime PM imbalance on error usb: fotg210-hcd: Fix an error message hwmon: (occ) Fix poll rate limiting ACPI: scan: Fix a memory leak in an error handling path kyber: fix out of bounds access when preempted nbd: Fix NULL pointer in flush_workqueue blk-mq: Swap two calls in blk_mq_exit_queue() iomap: fix sub-page uptodate handling usb: dwc3: omap: improve extcon initialization usb: dwc3: pci: Enable usb2-gadget-lpm-disable for Intel Merrifield usb: xhci: Increase timeout for HC halt usb: dwc2: Fix gadget DMA unmap direction usb: core: hub: fix race condition about TRSMRCY of resume usb: dwc3: gadget: Return success always for kick transfer in ep queue xhci: Do not use GFP_KERNEL in (potentially) atomic context xhci: Add reset resume quirk for AMD xhci controller. iio: gyro: mpu3050: Fix reported temperature value iio: tsl2583: Fix division by a zero lux_val cdc-wdm: untangle a circular dependency between callback and softint KVM: x86: Cancel pvclock_gtod_work on module removal mm: fix struct page layout on 32-bit systems FDDI: defxx: Make MMIO the configuration default except for EISA MIPS: Reinstate platform `__div64_32' handler MIPS: Avoid DIVU in `__div64_32' is result would be zero MIPS: Avoid handcoded DIVU in `__div64_32' altogether thermal/core/fair share: Lock the thermal zone while looping over instances f2fs: fix error handling in f2fs_end_enable_verity() ARM: 9011/1: centralize phys-to-virt conversion of DT/ATAGS address ARM: 9012/1: move device tree mapping out of linear region ARM: 9020/1: mm: use correct section size macro to describe the FDT virtual address ARM: 9027/1: head.S: explicitly map DT even if it lives in the first physical section usb: typec: tcpm: Fix error while calculating PPS out values kobject_uevent: remove warning in init_uevent_argv() netfilter: conntrack: Make global sysctls readonly in non-init netns clk: exynos7: Mark aclk_fsys1_200 as critical nvme: do not try to reconfigure APST when the controller is not live ASoC: rsnd: check all BUSIF status when error Linux 5.4.120 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: Iab57c5f8164542fa2a5bdc2c9a8f516ccfd67b5a |
||
Bart Van Assche
|
3c1db90ae0 |
blk-mq: Swap two calls in blk_mq_exit_queue()
[ Upstream commit 630ef623ed26c18a457cdc070cf24014e50129c2 ]
If a tag set is shared across request queues (e.g. SCSI LUNs) then the
block layer core keeps track of the number of active request queues in
tags->active_queues. blk_mq_tag_busy() and blk_mq_tag_idle() update that
atomic counter if the hctx flag BLK_MQ_F_TAG_QUEUE_SHARED is set. Make
sure that blk_mq_exit_queue() calls blk_mq_tag_idle() before that flag is
cleared by blk_mq_del_queue_tag_set().
Cc: Christoph Hellwig <hch@infradead.org>
Cc: Ming Lei <ming.lei@redhat.com>
Cc: Hannes Reinecke <hare@suse.com>
Fixes:
|
||
Omar Sandoval
|
0b6b4b90b7 |
kyber: fix out of bounds access when preempted
[ Upstream commit efed9a3337e341bd0989161b97453b52567bc59d ]
__blk_mq_sched_bio_merge() gets the ctx and hctx for the current CPU and
passes the hctx to ->bio_merge(). kyber_bio_merge() then gets the ctx
for the current CPU again and uses that to get the corresponding Kyber
context in the passed hctx. However, the thread may be preempted between
the two calls to blk_mq_get_ctx(), and the ctx returned the second time
may no longer correspond to the passed hctx. This "works" accidentally
most of the time, but it can cause us to read garbage if the second ctx
came from an hctx with more ctx's than the first one (i.e., if
ctx->index_hw[hctx->type] > hctx->nr_ctx).
This manifested as this UBSAN array index out of bounds error reported
by Jakub:
UBSAN: array-index-out-of-bounds in ../kernel/locking/qspinlock.c:130:9
index 13106 is out of range for type 'long unsigned int [128]'
Call Trace:
dump_stack+0xa4/0xe5
ubsan_epilogue+0x5/0x40
__ubsan_handle_out_of_bounds.cold.13+0x2a/0x34
queued_spin_lock_slowpath+0x476/0x480
do_raw_spin_lock+0x1c2/0x1d0
kyber_bio_merge+0x112/0x180
blk_mq_submit_bio+0x1f5/0x1100
submit_bio_noacct+0x7b0/0x870
submit_bio+0xc2/0x3a0
btrfs_map_bio+0x4f0/0x9d0
btrfs_submit_data_bio+0x24e/0x310
submit_one_bio+0x7f/0xb0
submit_extent_page+0xc4/0x440
__extent_writepage_io+0x2b8/0x5e0
__extent_writepage+0x28d/0x6e0
extent_write_cache_pages+0x4d7/0x7a0
extent_writepages+0xa2/0x110
do_writepages+0x8f/0x180
__writeback_single_inode+0x99/0x7f0
writeback_sb_inodes+0x34e/0x790
__writeback_inodes_wb+0x9e/0x120
wb_writeback+0x4d2/0x660
wb_workfn+0x64d/0xa10
process_one_work+0x53a/0xa80
worker_thread+0x69/0x5b0
kthread+0x20b/0x240
ret_from_fork+0x1f/0x30
Only Kyber uses the hctx, so fix it by passing the request_queue to
->bio_merge() instead. BFQ and mq-deadline just use that, and Kyber can
map the queues itself to avoid the mismatch.
Fixes:
|
||
Srinivasarao P
|
20eb9c4ec0 |
Merge android11-5.4.86+ (ccdcd30 ) into msm-5.4
* refs/heads/tmp-ccdcd30: ANDROID: Update the KMI for virtual platform modules ANDROID: ABI: Update symbol list for imx ANDROID: clang: update to 12.0.5 FROMGIT: virt_wifi: Return micros for BSS TSF values ANDROID: android/OWNERS: drop gki-abi-approvers@ ANDROID: Add OWNERS files referring to the respective android-mainline OWNERS Conflicts: build.config.common Change-Id: I07e85e0e1c7716ba81317daf1e3274df931dd5b3 Signed-off-by: Srinivasarao P <spathi@codeaurora.org> |
||
Srinivasarao P
|
b403cd66bd |
Merge android11-5.4.86+ (75c93eb ) into msm-5.4
* refs/heads/tmp-75c93eb: Revert one chunk from |
||
Greg Kroah-Hartman
|
926c4200b8 |
This is the 5.4.113 stable release
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmB5XRYACgkQONu9yGCS aT6tkw//cUijsvzw8t+Yn1ZF7uyqtgDpYxKwFYekQTtTA3+QoGOAg7YAvkDncUq5 F/9OBbbEwvIeKM13yw1sxU4l73/hgbpcz5FXsKZvpNei6GbZtXOMFrn6kVVII0iy 2hADzZGs3k37VTR5/2HtznRPhmncBamotqx3Anhu9B3XCvNwRsBejhCNwDJv7bgz m8xH0CmrW6s2Y3XnELCTODNRquYMh8guWeyCtIhi0evRl9UrPU39MDPWHN0GmxwX tWMQMlvo/h7vT+gNaMUpJB50yy8SuKLNdM8jBU7RMH34+NZ3jX4DYS4FGtclq0E9 O77+JJFw1VmrBLmOZPu/Dh5WGf3RE5opKIoAX+4GcLKGRqFGK8g3A/JqQtM1N7fJ 6iqKgArLdPRu0K10dPIEsEGKfWnDXLg45bfOJ2Q3Uo39Q18k94b0czVn02M0EUw3 buYv5QzDMkY4c4bLPevutLAJGbdGsh9cIF4kXb1Iv3BGmcdFcFL+R7oCi77v2irY Sh5+1imsAsZok/22yr4WObj/9CVNmS8W/nT6ez1fGupiMugJECdh7bQgIzWJ0Mh9 tNmQXVCtv9swtv8aU2nI5eSyFX4U/ecS0AauIsROgVQmnaudm60gml2PvngMTNku cOEUEnVHLLyaJUezfYMuJiXxOuAHlHPIw3Z1ZO/WDzaV1lpFZig= =SMsQ -----END PGP SIGNATURE----- Merge 5.4.113 into android11-5.4-lts Changes in 5.4.113 interconnect: core: fix error return code of icc_link_destroy() KVM: arm64: Hide system instruction access to Trace registers KVM: arm64: Disable guest access to trace filter controls drm/imx: imx-ldb: fix out of bounds array access warning gfs2: report "already frozen/thawed" errors drm/tegra: dc: Don't set PLL clock to 0Hz block: only update parent bi_status when bio fail radix tree test suite: Register the main thread with the RCU library idr test suite: Take RCU read lock in idr_find_test_1 idr test suite: Create anchor before launching throbber riscv,entry: fix misaligned base for excp_vect_table block: don't ignore REQ_NOWAIT for direct IO netfilter: x_tables: fix compat match/target pad out-of-bound write driver core: Fix locking bug in deferred_probe_timeout_work_func() perf tools: Use %define api.pure full instead of %pure-parser perf tools: Use %zd for size_t printf formats on 32-bit perf map: Tighten snprintf() string precision to pass gcc check on some 32-bit arches xen/events: fix setting irq affinity Linux 5.4.113 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: I1bd71a185bc8cb13e61f776772f813fce839d321 |
||
Yufen Yu
|
f5b60f26e3 |
block: only update parent bi_status when bio fail
[ Upstream commit 3edf5346e4f2ce2fa0c94651a90a8dda169565ee ] For multiple split bios, if one of the bio is fail, the whole should return error to application. But we found there is a race between bio_integrity_verify_fn and bio complete, which return io success to application after one of the bio fail. The race as following: split bio(READ) kworker nvme_complete_rq blk_update_request //split error=0 bio_endio bio_integrity_endio queue_work(kintegrityd_wq, &bip->bip_work); bio_integrity_verify_fn bio_endio //split bio __bio_chain_endio if (!parent->bi_status) <interrupt entry> nvme_irq blk_update_request //parent error=7 req_bio_endio bio->bi_status = 7 //parent bio <interrupt exit> parent->bi_status = 0 parent->bi_end_io() // return bi_status=0 The bio has been split as two: split and parent. When split bio completed, it depends on kworker to do endio, while bio_integrity_verify_fn have been interrupted by parent bio complete irq handler. Then, parent bio->bi_status which have been set in irq handler will overwrite by kworker. In fact, even without the above race, we also need to conside the concurrency beteen mulitple split bio complete and update the same parent bi_status. Normally, multiple split bios will be issued to the same hctx and complete from the same irq vector. But if we have updated queue map between multiple split bios, these bios may complete on different hw queue and different irq vector. Then the concurrency update parent bi_status may cause the final status error. Suggested-by: Keith Busch <kbusch@kernel.org> Signed-off-by: Yufen Yu <yuyufen@huawei.com> Reviewed-by: Ming Lei <ming.lei@redhat.com> Link: https://lore.kernel.org/r/20210331115359.1125679-1-yuyufen@huawei.com Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Sasha Levin <sashal@kernel.org> |
||
Greg Kroah-Hartman
|
4aa66e99aa |
Merge branch 'android11-5.4' into 'android11-5.4-lts'
Sync up with android11-5.4 for the following commits: |
||
Matthias Maennich
|
9b465a062d |
ANDROID: Add OWNERS files referring to the respective android-mainline OWNERS
This was generated with $ build/synchronize_owners common-mainline/ android-mainline common11-5.4/ Bug: 184248201 Signed-off-by: Matthias Maennich <maennich@google.com> Change-Id: I5e56eb34fcbb5a2a013dd03bc9dcc4f159fb90de |
||
Greg Kroah-Hartman
|
0c438f72d3 |
This is the 5.4.109 stable release
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmBjGy8ACgkQONu9yGCS aT6P4Q//RUTmWKIEvODK9Hyac0qfvd1CsIgebVR/1hkadYO8OVssIVjSZoyHvfgg B2rsjrY1+ywwPl+IYFe4V29SIEuy+YWNo7rjavAPP7W1ybYzhaUXog7KSapho8cy hqTlLyWq/TeSehdomz2Luv5vM794RgEV4NjgxnBsncfjUchx5smGQH80xbKRbWFB QNq2h1coPbABv3dj1cBb1v2jiCc58QD8rfJuguaHjAiGem2HaMat2iWYo8T2Qcre UDb1yrOxCbwltc8+aRRcXI4QuS/4edPz3ZH8H9zdqMQVoS5RX0Alse+w6+F26c1c fRZmtg6t70wsznIQ+Jn6ouMY3Ea1jtrF4oVjMCMnno+4V7BgDGW+A+CAqbCC90mt QTwaObNyJRjUYjlLmTml7t+S3GqW2YoC2jALs2P3hx/ht0wOl6TIt7YmHCh3/tnR wZjyofl+2ml/z+cPqP7/IWGJzzNCEwxreZNcvjgx+k/L/zeNri4q/+fLETe0VE0H LNU04JBl2oOOMpkyX8MJODH5Gm9sOg+GiQ3tEZWsgls0mwtxKMxRuu6zNPQvIY93 cGntM1kVTtQ8fzIUugZR0JgElnosg1xFup3nQKyoids+SEGDgDpC4O5pxYvNW8oo jThLWud1waFzhnVXGRGviI0irQPUeYh7Bfw///c7hPHbqw9+F0k= =6s9w -----END PGP SIGNATURE----- Merge 5.4.109 into android11-5.4-lts Changes in 5.4.109 hugetlbfs: hugetlb_fault_mutex_hash() cleanup net: fec: ptp: avoid register access when ipg clock is disabled powerpc/4xx: Fix build errors from mfdcr() atm: eni: dont release is never initialized atm: lanai: dont run lanai_dev_close if not open Revert "r8152: adjust the settings about MAC clock speed down for RTL8153" ALSA: hda: ignore invalid NHLT table ixgbe: Fix memleak in ixgbe_configure_clsu32 net: tehuti: fix error return code in bdx_probe() net: intel: iavf: fix error return code of iavf_init_get_resources() sun/niu: fix wrong RXMAC_BC_FRM_CNT_COUNT count gianfar: fix jumbo packets+napi+rx overrun crash cifs: ask for more credit on async read/write code paths cpufreq: blacklist Arm Vexpress platforms in cpufreq-dt-platdev gpiolib: acpi: Add missing IRQF_ONESHOT nfs: fix PNFS_FLEXFILE_LAYOUT Kconfig default NFS: Correct size calculation for create reply length net: hisilicon: hns: fix error return code of hns_nic_clear_all_rx_fetch() net: wan: fix error return code of uhdlc_init() net: davicom: Use platform_get_irq_optional() atm: uPD98402: fix incorrect allocation atm: idt77252: fix null-ptr-dereference cifs: change noisy error message to FYI irqchip/ingenic: Add support for the JZ4760 sparc64: Fix opcode filtering in handling of no fault loads habanalabs: Call put_pid() when releasing control device u64_stats,lockdep: Fix u64_stats_init() vs lockdep regulator: qcom-rpmh: Correct the pmic5_hfsmps515 buck drm/amd/display: Revert dram_clock_change_latency for DCN2.1 drm/amdgpu: fb BO should be ttm_bo_type_device drm/radeon: fix AGP dependency nvme: add NVME_REQ_CANCELLED flag in nvme_cancel_request() nvme-fc: return NVME_SC_HOST_ABORTED_CMD when a command has been aborted nvme-pci: add the DISABLE_WRITE_ZEROES quirk for a Samsung PM1725a nfs: we don't support removing system.nfs4_acl block: Suppress uevent for hidden device when removed ia64: fix ia64_syscall_get_set_arguments() for break-based syscalls ia64: fix ptrace(PTRACE_SYSCALL_INFO_EXIT) sign netsec: restore phy power state after controller reset platform/x86: intel-vbtn: Stop reporting SW_DOCK events squashfs: fix inode lookup sanity checks squashfs: fix xattr id and id lookup sanity checks kasan: fix per-page tags for non-page_alloc pages gcov: fix clang-11+ support ACPI: video: Add missing callback back for Sony VPCEH3U1E arm64: dts: ls1046a: mark crypto engine dma coherent arm64: dts: ls1012a: mark crypto engine dma coherent arm64: dts: ls1043a: mark crypto engine dma coherent ARM: dts: at91-sama5d27_som1: fix phy address to 7 integrity: double check iint_cache was initialized dm verity: fix DM_VERITY_OPTS_MAX value dm ioctl: fix out of bounds array access when no devices bus: omap_l3_noc: mark l3 irqs as IRQF_NO_THREAD veth: Store queue_mapping independently of XDP prog presence libbpf: Fix INSTALL flag order net/mlx5e: Don't match on Geneve options in case option masks are all zero ipv6: fix suspecious RCU usage warning macvlan: macvlan_count_rx() needs to be aware of preemption net: sched: validate stab values net: dsa: bcm_sf2: Qualify phydev->dev_flags based on port igc: Fix Pause Frame Advertising igc: Fix Supported Pause Frame Link Setting e1000e: add rtnl_lock() to e1000_reset_task e1000e: Fix error handling in e1000_set_d0_lplu_state_82571 net/qlcnic: Fix a use after free in qlcnic_83xx_get_minidump_template ftgmac100: Restart MAC HW once selftests/bpf: Set gopt opt_class to 0 if get tunnel opt failed netfilter: ctnetlink: fix dump of the expect mask attribute tcp: relookup sock for RST+ACK packets handled by obsolete req sock can: peak_usb: add forgotten supported devices can: flexcan: flexcan_chip_freeze(): fix chip freeze for missing bitrate can: kvaser_pciefd: Always disable bus load reporting can: c_can_pci: c_can_pci_remove(): fix use-after-free can: c_can: move runtime PM enable/disable to c_can_platform can: m_can: m_can_do_rx_poll(): fix extraneous msg loss warning can: m_can: m_can_rx_peripheral(): fix RX being blocked by errors mac80211: fix rate mask reset nfp: flower: fix pre_tun mask id allocation libbpf: Use SOCK_CLOEXEC when opening the netlink socket octeontx2-af: Fix irq free in rvu teardown octeontx2-af: fix infinite loop in unmapping NPC counter net: cdc-phonet: fix data-interface release on probe failure r8152: limit the RX buffer size of RTL8153A for USB 2.0 net: stmmac: dwmac-sun8i: Provide TX and RX fifo sizes selftests: forwarding: vxlan_bridge_1d: Fix vxlan ecn decapsulate value libbpf: Fix BTF dump of pointer-to-array-of-struct drm/msm: fix shutdown hook in case GPU components failed to bind arm64: kdump: update ppos when reading elfcorehdr PM: runtime: Defer suspending suppliers net/mlx5e: Fix error path for ethtool set-priv-flag PM: EM: postpone creating the debugfs dir till fs_initcall RDMA/cxgb4: Fix adapter LE hash errors while destroying ipv6 listening server bpf: Don't do bpf_cgroup_storage_set() for kuprobe/tp programs Revert "netfilter: x_tables: Switch synchronization to RCU" netfilter: x_tables: Use correct memory barriers. Revert "netfilter: x_tables: Update remaining dereference to RCU" ACPI: scan: Rearrange memory allocation in acpi_device_add() ACPI: scan: Use unique number for instance_no perf auxtrace: Fix auxtrace queue conflict block: recalculate segment count for multi-segment discards correctly scsi: Revert "qla2xxx: Make sure that aborted commands are freed" scsi: qedi: Fix error return code of qedi_alloc_global_queues() scsi: mpt3sas: Fix error return code of mpt3sas_base_attach() locking/mutex: Fix non debug version of mutex_lock_io_nested() x86/mem_encrypt: Correct physical address calculation in __set_clr_pte_enc() can: dev: Move device back to init netns on owning netns delete net: dsa: b53: VLAN filtering is global to all users net: qrtr: fix a kernel-infoleak in qrtr_recvmsg() mac80211: fix double free in ibss_leave ext4: add reclaim checks to xattr code can: peak_usb: Revert "can: peak_usb: add forgotten supported devices" xen-blkback: don't leak persistent grants from xen_blkbk_map() Linux 5.4.109 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: Iccbd7139d673f2def3675ef3f3d973ace2eb6e4d |
||
David Jeffery
|
fdc61af371 |
block: recalculate segment count for multi-segment discards correctly
[ Upstream commit a958937ff166fc60d1c3a721036f6ff41bfa2821 ]
When a stacked block device inserts a request into another block device
using blk_insert_cloned_request, the request's nr_phys_segments field gets
recalculated by a call to blk_recalc_rq_segments in
blk_cloned_rq_check_limits. But blk_recalc_rq_segments does not know how to
handle multi-segment discards. For disk types which can handle
multi-segment discards like nvme, this results in discard requests which
claim a single segment when it should report several, triggering a warning
in nvme and causing nvme to fail the discard from the invalid state.
WARNING: CPU: 5 PID: 191 at drivers/nvme/host/core.c:700 nvme_setup_discard+0x170/0x1e0 [nvme_core]
...
nvme_setup_cmd+0x217/0x270 [nvme_core]
nvme_loop_queue_rq+0x51/0x1b0 [nvme_loop]
__blk_mq_try_issue_directly+0xe7/0x1b0
blk_mq_request_issue_directly+0x41/0x70
? blk_account_io_start+0x40/0x50
dm_mq_queue_rq+0x200/0x3e0
blk_mq_dispatch_rq_list+0x10a/0x7d0
? __sbitmap_queue_get+0x25/0x90
? elv_rb_del+0x1f/0x30
? deadline_remove_request+0x55/0xb0
? dd_dispatch_request+0x181/0x210
__blk_mq_do_dispatch_sched+0x144/0x290
? bio_attempt_discard_merge+0x134/0x1f0
__blk_mq_sched_dispatch_requests+0x129/0x180
blk_mq_sched_dispatch_requests+0x30/0x60
__blk_mq_run_hw_queue+0x47/0xe0
__blk_mq_delay_run_hw_queue+0x15b/0x170
blk_mq_sched_insert_requests+0x68/0xe0
blk_mq_flush_plug_list+0xf0/0x170
blk_finish_plug+0x36/0x50
xlog_cil_committed+0x19f/0x290 [xfs]
xlog_cil_process_committed+0x57/0x80 [xfs]
xlog_state_do_callback+0x1e0/0x2a0 [xfs]
xlog_ioend_work+0x2f/0x80 [xfs]
process_one_work+0x1b6/0x350
worker_thread+0x53/0x3e0
? process_one_work+0x350/0x350
kthread+0x11b/0x140
? __kthread_bind_mask+0x60/0x60
ret_from_fork+0x22/0x30
This patch fixes blk_recalc_rq_segments to be aware of devices which can
have multi-segment discards. It calculates the correct discard segment
count by counting the number of bio as each discard bio is considered its
own segment.
Fixes:
|
||
Daniel Wagner
|
37732ea82e |
block: Suppress uevent for hidden device when removed
[ Upstream commit 9ec491447b90ad6a4056a9656b13f0b3a1e83043 ] register_disk() suppress uevents for devices with the GENHD_FL_HIDDEN but enables uevents at the end again in order to announce disk after possible partitions are created. When the device is removed the uevents are still on and user land sees 'remove' messages for devices which were never 'add'ed to the system. KERNEL[95481.571887] remove /devices/virtual/nvme-fabrics/ctl/nvme5/nvme0c5n1 (block) Let's suppress the uevents for GENHD_FL_HIDDEN by not enabling the uevents at all. Signed-off-by: Daniel Wagner <dwagner@suse.de> Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Martin Wilck <mwilck@suse.com> Link: https://lore.kernel.org/r/20210311151917.136091-1-dwagner@suse.de Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Sasha Levin <sashal@kernel.org> |
||
Greg Kroah-Hartman
|
172cf44d0d |
This is the 5.4.102 stable release
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmBAqDoACgkQONu9yGCS aT7R4A//RC4/R+Uc+cX8I2al+B017epRXRtfMDz7cd/dO1SAAhgDi4zrebAxs1XP 6g/t37NuDZ0rjKxMBRzATSwizDLP9gKpeWCVQTtvlHGf+tm/5sn2bt7pckoPvXvo GqXPT4YgUgZQSHE+YG5Rhjtv0xMcOEu9yNTsPNZJU6BDdYJylQX/D97MPVjJjbXJ Sz+U98wHt0zIbwkg13/2FZvPMdEKL0z8Ub/SIKDaXfFSPJMDYb/5UcEfdnDctSbI B3i2i1/IXa97EmNG/MNDi1zPI2l9+PtRrtIzpfLASRNx3ySceiC25EyDk0mp5JnZ czxXJ0NxG9z9Pk9X6Isvaz6X5Nqv70LORTFeZRBEp0ohYbsxH/yBuPZ0T8bukjgU MA/uZDQryfeNgBN1aEJlTRCAmGyyD6NIICsNPnetmmowgqYxhHXt0tVafMvWpH9F vbM3eHcOfOfNejoQiPqTj5vX7NF0BZGQYa5LywKHeGe5q2nwaMj++Kffj9ERCo49 OZFylFPiQVdEjse07JJb5vGWQkvvTv1FDB+zb7GVgHwJNnb9Lswv2VQbjdZBS++h YUuDSxkhEYR+vdKKLcFBbjAYkJXrpiSeXzywjR5N0c90OJdaBX1kpAbBHHXYiwo1 P39l5/hsxWljQ1ZJqbeFWr2ef27xDiEz7aPojLUlyjBRgBC4eYc= =JSQX -----END PGP SIGNATURE----- Merge 5.4.102 into android11-5.4-lts Changes in 5.4.102 vmlinux.lds.h: add DWARF v5 sections kvm: x86: replace kvm_spec_ctrl_test_value with runtime test on the host debugfs: be more robust at handling improper input in debugfs_lookup() debugfs: do not attempt to create a new file before the filesystem is initalized kdb: Make memory allocations more robust PCI: qcom: Use PHY_REFCLK_USE_PAD only for ipq8064 PCI: Decline to resize resources if boot config must be preserved virt: vbox: Do not use wait_event_interruptible when called from kernel context bfq: Avoid false bfq queue merging ALSA: usb-audio: Fix PCM buffer allocation in non-vmalloc mode MIPS: vmlinux.lds.S: add missing PAGE_ALIGNED_DATA() section random: fix the RNDRESEEDCRNG ioctl ath10k: Fix error handling in case of CE pipe init failure Bluetooth: btqcomsmd: Fix a resource leak in error handling paths in the probe function Bluetooth: hci_uart: Fix a race for write_work scheduling Bluetooth: Fix initializing response id after clearing struct ARM: dts: exynos: correct PMIC interrupt trigger level on Artik 5 ARM: dts: exynos: correct PMIC interrupt trigger level on Monk ARM: dts: exynos: correct PMIC interrupt trigger level on Rinato ARM: dts: exynos: correct PMIC interrupt trigger level on Spring ARM: dts: exynos: correct PMIC interrupt trigger level on Arndale Octa ARM: dts: exynos: correct PMIC interrupt trigger level on Odroid XU3 family arm64: dts: exynos: correct PMIC interrupt trigger level on TM2 arm64: dts: exynos: correct PMIC interrupt trigger level on Espresso memory: mtk-smi: Fix PM usage counter unbalance in mtk_smi ops bpf: Add bpf_patch_call_args prototype to include/linux/bpf.h bpf: Avoid warning when re-casting __bpf_call_base into __bpf_call_base_args arm64: dts: allwinner: A64: properly connect USB PHY to port 0 arm64: dts: allwinner: H6: properly connect USB PHY to port 0 arm64: dts: allwinner: Drop non-removable from SoPine/LTS SD card arm64: dts: allwinner: H6: Allow up to 150 MHz MMC bus frequency arm64: dts: allwinner: A64: Limit MMC2 bus frequency to 150 MHz cpufreq: brcmstb-avs-cpufreq: Free resources in error path cpufreq: brcmstb-avs-cpufreq: Fix resource leaks in ->remove() ACPICA: Fix exception code class checks usb: gadget: u_audio: Free requests only after callback Bluetooth: drop HCI device reference before return Bluetooth: Put HCI device if inquiry procedure interrupts memory: ti-aemif: Drop child node when jumping out loop ARM: dts: Configure missing thermal interrupt for 4430 usb: dwc2: Do not update data length if it is 0 on inbound transfers usb: dwc2: Abort transaction after errors with unknown reason usb: dwc2: Make "trimming xfer length" a debug message staging: rtl8723bs: wifi_regd.c: Fix incorrect number of regulatory rules ARM: dts: armada388-helios4: assign pinctrl to LEDs ARM: dts: armada388-helios4: assign pinctrl to each fan arm64: dts: armada-3720-turris-mox: rename u-boot mtd partition to a53-firmware Bluetooth: btusb: Fix memory leak in btusb_mtk_wmt_recv arm64: dts: msm8916: Fix reserved and rfsa nodes unit address ARM: s3c: fix fiq for clang IAS soc: aspeed: snoop: Add clock control logic bpf_lru_list: Read double-checked variable once without lock ath9k: fix data bus crash when setting nf_override via debugfs ibmvnic: Set to CLOSED state even on error bnxt_en: reverse order of TX disable and carrier off xen/netback: fix spurious event detection for common event case mac80211: fix potential overflow when multiplying to u32 integers bpf: Fix bpf_fib_lookup helper MTU check for SKB ctx tcp: fix SO_RCVLOWAT related hangs under mem pressure net: axienet: Handle deferred probe on clock properly cxgb4/chtls/cxgbit: Keeping the max ofld immediate data size same in cxgb4 and ulds b43: N-PHY: Fix the update of coef for the PHY revision >= 3case ibmvnic: add memory barrier to protect long term buffer ibmvnic: skip send_request_unmap for timeout reset net: amd-xgbe: Reset the PHY rx data path when mailbox command timeout net: amd-xgbe: Fix NETDEV WATCHDOG transmit queue timeout warning net: amd-xgbe: Reset link when the link never comes back net: amd-xgbe: Fix network fluctuations when using 1G BELFUSE SFP net: mvneta: Remove per-cpu queue mapping for Armada 3700 fbdev: aty: SPARC64 requires FB_ATY_CT drm/gma500: Fix error return code in psb_driver_load() gma500: clean up error handling in init drm/fb-helper: Add missed unlocks in setcmap_legacy() crypto: sun4i-ss - linearize buffers content must be kept crypto: sun4i-ss - fix kmap usage crypto: arm64/aes-ce - really hide slower algos when faster ones are enabled drm/amdgpu: Fix macro name _AMDGPU_TRACE_H_ in preprocessor if condition MIPS: c-r4k: Fix section mismatch for loongson2_sc_init MIPS: lantiq: Explicitly compare LTQ_EBU_PCC_ISTAT against 0 media: i2c: ov5670: Fix PIXEL_RATE minimum value media: imx: Unregister csc/scaler only if registered media: imx: Fix csc/scaler unregister media: camss: missing error code in msm_video_register() media: vsp1: Fix an error handling path in the probe function media: em28xx: Fix use-after-free in em28xx_alloc_urbs media: media/pci: Fix memleak in empress_init media: tm6000: Fix memleak in tm6000_start_stream media: aspeed: fix error return code in aspeed_video_setup_video() ASoC: cs42l56: fix up error handling in probe evm: Fix memleak in init_desc crypto: bcm - Rename struct device_private to bcm_device_private drm/sun4i: tcon: fix inverted DCLK polarity MIPS: properly stop .eh_frame generation bsg: free the request before return error code drm/amd/display: Fix 10/12 bpc setup in DCE output bit depth reduction. drm/amd/display: Fix HDMI deep color output for DCE 6-11. media: software_node: Fix refcounts in software_node_get_next_child() media: lmedm04: Fix misuse of comma media: qm1d1c0042: fix error return code in qm1d1c0042_init() media: cx25821: Fix a bug when reallocating some dma memory media: pxa_camera: declare variable when DEBUG is defined media: uvcvideo: Accept invalid bFormatIndex and bFrameIndex values sched/eas: Don't update misfit status if the task is pinned mtd: parser: imagetag: fix error codes in bcm963xx_parse_imagetag_partitions() crypto: talitos - Work around SEC6 ERRATA (AES-CTR mode data size error) drm/nouveau: bail out of nouveau_channel_new if channel init fails ata: ahci_brcm: Add back regulators management ASoC: cpcap: fix microphone timeslot mask mtd: parsers: afs: Fix freeing the part name memory in failure f2fs: fix to avoid inconsistent quota data drm/amdgpu: Prevent shift wrapping in amdgpu_read_mask() f2fs: fix a wrong condition in __submit_bio Drivers: hv: vmbus: Avoid use-after-free in vmbus_onoffer_rescind() ASoC: SOF: debug: Fix a potential issue on string buffer termination btrfs: clarify error returns values in __load_free_space_cache hwrng: timeriomem - Fix cooldown period calculation crypto: ecdh_helper - Ensure 'len >= secret.len' in decode_key() ima: Free IMA measurement buffer on error ima: Free IMA measurement buffer after kexec syscall ASoC: simple-card-utils: Fix device module clock fs/jfs: fix potential integer overflow on shift of a int jffs2: fix use after free in jffs2_sum_write_data() ubifs: Fix memleak in ubifs_init_authentication ubifs: Fix error return code in alloc_wbufs() capabilities: Don't allow writing ambiguous v3 file capabilities HSI: Fix PM usage counter unbalance in ssi_hw_init clk: meson: clk-pll: fix initializing the old rate (fallback) for a PLL clk: meson: clk-pll: make "ret" a signed integer clk: meson: clk-pll: propagate the error from meson_clk_pll_set_rate() selftests/powerpc: Make the test check in eeh-basic.sh posix compliant quota: Fix memory leak when handling corrupted quota file i2c: iproc: handle only slave interrupts which are enabled i2c: iproc: update slave isr mask (ISR_MASK_SLAVE) i2c: iproc: handle master read request spi: cadence-quadspi: Abort read if dummy cycles required are too many clk: sunxi-ng: h6: Fix CEC clock HID: core: detect and skip invalid inputs to snto32() RDMA/siw: Fix handling of zero-sized Read and Receive Queues. dmaengine: fsldma: Fix a resource leak in the remove function dmaengine: fsldma: Fix a resource leak in an error handling path of the probe function dmaengine: owl-dma: Fix a resource leak in the remove function dmaengine: hsu: disable spurious interrupt mfd: bd9571mwv: Use devm_mfd_add_devices() fdt: Properly handle "no-map" field in the memory region of/fdt: Make sure no-map does not remove already reserved regions power: reset: at91-sama5d2_shdwc: fix wkupdbc mask rtc: s5m: select REGMAP_I2C clocksource/drivers/ixp4xx: Select TIMER_OF when needed clocksource/drivers/mxs_timer: Add missing semicolon when DEBUG is defined RDMA/mlx5: Use the correct obj_id upon DEVX TIR creation clk: sunxi-ng: h6: Fix clock divider range on some clocks regulator: axp20x: Fix reference cout leak certs: Fix blacklist flag type confusion regulator: s5m8767: Fix reference count leak spi: atmel: Put allocated master before return regulator: s5m8767: Drop regulators OF node reference regulator: core: Avoid debugfs: Directory ... already present! error isofs: release buffer head before return auxdisplay: ht16k33: Fix refresh rate handling objtool: Fix error handling for STD/CLD warnings objtool: Fix ".cold" section suffix check for newer versions of GCC IB/umad: Return EIO in case of when device disassociated IB/umad: Return EPOLLERR in case of when device disassociated KVM: PPC: Make the VMX instruction emulation routines static powerpc/47x: Disable 256k page size mmc: sdhci-sprd: Fix some resource leaks in the remove function mmc: usdhi6rol0: Fix a resource leak in the error handling path of the probe mmc: renesas_sdhi_internal_dmac: Fix DMA buffer alignment from 8 to 128-bytes ARM: 9046/1: decompressor: Do not clear SCTLR.nTLSMD for ARMv7+ cores i2c: qcom-geni: Store DMA mapping data in geni_i2c_dev struct amba: Fix resource leak for drivers without .remove IB/mlx5: Return appropriate error code instead of ENOMEM IB/cm: Avoid a loop when device has 255 ports tracepoint: Do not fail unregistering a probe due to memory failure perf tools: Fix DSO filtering when not finding a map for a sampled address perf vendor events arm64: Fix Ampere eMag event typo RDMA/rxe: Fix coding error in rxe_recv.c RDMA/rxe: Fix coding error in rxe_rcv_mcast_pkt RDMA/rxe: Correct skb on loopback path spi: stm32: properly handle 0 byte transfer mfd: wm831x-auxadc: Prevent use after free in wm831x_auxadc_read_irq() powerpc/pseries/dlpar: handle ibm, configure-connector delay status powerpc/8xx: Fix software emulation interrupt clk: qcom: gcc-msm8998: Fix Alpha PLL type for all GPLLs RDMA/hns: Fixed wrong judgments in the goto branch RDMA/siw: Fix calculation of tx_valid_cpus size RDMA/hns: Fix type of sq_signal_bits spi: pxa2xx: Fix the controller numbering for Wildcat Point regulator: qcom-rpmh: fix pm8009 ldo7 clk: aspeed: Fix APLL calculate formula from ast2600-A2 nfsd: register pernet ops last, unregister first RDMA/hns: Fixes missing error code of CMDQ Input: sur40 - fix an error code in sur40_probe() perf intel-pt: Fix missing CYC processing in PSB perf intel-pt: Fix premature IPC perf test: Fix unaligned access in sample parsing test Input: elo - fix an error code in elo_connect() sparc64: only select COMPAT_BINFMT_ELF if BINFMT_ELF is set misc: eeprom_93xx46: Fix module alias to enable module autoprobe phy: rockchip-emmc: emmc_phy_init() always return 0 misc: eeprom_93xx46: Add module alias to avoid breaking support for non device tree users soundwire: cadence: fix ACK/NAK handling pwm: rockchip: rockchip_pwm_probe(): Remove superfluous clk_unprepare() VMCI: Use set_page_dirty_lock() when unregistering guest memory PCI: Align checking of syscall user config accessors mei: hbm: call mei_set_devstate() on hbm stop response drm/msm/dsi: Correct io_start for MSM8994 (20nm PHY) drm/msm/mdp5: Fix wait-for-commit for cmd panels vfio/iommu_type1: Fix some sanity checks in detach group ext4: fix potential htree index checksum corruption nvmem: core: Fix a resource leak on error in nvmem_add_cells_from_of() nvmem: core: skip child nodes not matching binding regmap: sdw: use _no_pm functions in regmap_read/write i40e: Fix flow for IPv6 next header (extension header) i40e: Add zero-initialization of AQ command structures i40e: Fix overwriting flow control settings during driver loading i40e: Fix addition of RX filters after enabling FW LLDP agent i40e: Fix VFs not created i40e: Fix add TC filter for IPv6 vfio/type1: Use follow_pte() net/mlx4_core: Add missed mlx4_free_cmd_mailbox() vxlan: move debug check after netdev unregister ocfs2: fix a use after free on error mm/memory.c: fix potential pte_unmap_unlock pte error mm/hugetlb: fix potential double free in hugetlb_register_node() error path mm/compaction: fix misbehaviors of fast_find_migrateblock() r8169: fix jumbo packet handling on RTL8168e arm64: Add missing ISB after invalidating TLB in __primary_switch i2c: brcmstb: Fix brcmstd_send_i2c_cmd condition mm/rmap: fix potential pte_unmap on an not mapped pte scsi: bnx2fc: Fix Kconfig warning & CNIC build errors blk-settings: align max_sectors on "logical_block_size" boundary ACPI: property: Fix fwnode string properties matching ACPI: configfs: add missing check after configfs_register_default_group() HID: logitech-dj: add support for keyboard events in eQUAD step 4 Gaming HID: wacom: Ignore attempts to overwrite the touch_max value from HID Input: raydium_ts_i2c - do not send zero length Input: xpad - add support for PowerA Enhanced Wired Controller for Xbox Series X|S Input: joydev - prevent potential read overflow in ioctl Input: i8042 - add ASUS Zenbook Flip to noselftest list media: mceusb: Fix potential out-of-bounds shift USB: serial: option: update interface mapping for ZTE P685M usb: musb: Fix runtime PM race in musb_queue_resume_work usb: dwc3: gadget: Fix setting of DEPCFG.bInterval_m1 usb: dwc3: gadget: Fix dep->interval for fullspeed interrupt USB: serial: ftdi_sio: fix FTX sub-integer prescaler USB: serial: mos7840: fix error code in mos7840_write() USB: serial: mos7720: fix error code in mos7720_write() ALSA: hda: Add another CometLake-H PCI ID ALSA: hda/realtek: modify EAPD in the ALC886 Revert "bcache: Kill btree_io_wq" bcache: Give btree_io_wq correct semantics again bcache: Move journal work to new flush wq drm/amd/display: Add vupdate_no_lock interrupts for DCN2.1 drm/amdgpu: Set reference clock to 100Mhz on Renoir (v2) drm/nouveau/kms: handle mDP connectors drm/sched: Cancel and flush all outstanding jobs before finish. erofs: initialized fields can only be observed after bit is set tpm_tis: Fix check_locality for correct locality acquisition tpm_tis: Clean up locality release KEYS: trusted: Fix migratable=1 failing btrfs: abort the transaction if we fail to inc ref in btrfs_copy_root btrfs: fix reloc root leak with 0 ref reloc roots on recovery btrfs: splice remaining dirty_bg's onto the transaction dirty bg list btrfs: fix extent buffer leak on failure to copy root crypto: arm64/sha - add missing module aliases crypto: aesni - prevent misaligned buffers on the stack crypto: sun4i-ss - checking sg length is not sufficient crypto: sun4i-ss - handle BigEndian for cipher crypto: sun4i-ss - initialize need_fallback seccomp: Add missing return in non-void function misc: rtsx: init of rts522a add OCP power off when no card is present drivers/misc/vmw_vmci: restrict too big queue size in qp_host_alloc_queue pstore: Fix typo in compression option name dts64: mt7622: fix slow sd card access staging/mt7621-dma: mtk-hsdma.c->hsdma-mt7621.c staging: gdm724x: Fix DMA from stack staging: rtl8188eu: Add Edimax EW-7811UN V2 to device table media: ipu3-cio2: Fix mbus_code processing in cio2_subdev_set_fmt() x86/virt: Eat faults on VMXOFF in reboot flows x86/reboot: Force all cpus to exit VMX root if VMX is supported powerpc/prom: Fix "ibm,arch-vec-5-platform-support" scan rcu: Pull deferred rcuog wake up to rcu_eqs_enter() callers rcu/nocb: Perform deferred wake up before last idle's need_resched() check floppy: reintroduce O_NDELAY fix arm64: kexec_file: fix memory leakage in create_dtb() when fdt_open_into() fails arm64: uprobe: Return EOPNOTSUPP for AARCH32 instruction probing watchdog: qcom: Remove incorrect usage of QCOM_WDT_ENABLE_IRQ watchdog: mei_wdt: request stop on unregister mtd: spi-nor: sfdp: Fix last erase region marking mtd: spi-nor: sfdp: Fix wrong erase type bitmask for overlaid region mtd: spi-nor: core: Fix erase type discovery for overlaid region mtd: spi-nor: core: Add erase size check for erase command initialization mtd: spi-nor: hisi-sfc: Put child node np on error path fs/affs: release old buffer head on error path seq_file: document how per-entry resources are managed. x86: fix seq_file iteration for pat/memtype.c hugetlb: fix update_and_free_page contig page struct assumption hugetlb: fix copy_huge_page_from_user contig page struct assumption arm64: Extend workaround for erratum 1024718 to all versions of Cortex-A55 media: smipcie: fix interrupt handling and IR timeout module: Ignore _GLOBAL_OFFSET_TABLE_ when warning for undefined symbols mmc: sdhci-esdhc-imx: fix kernel panic when remove module powerpc/32s: Add missing call to kuep_lock on syscall entry spmi: spmi-pmic-arb: Fix hw_irq overflow gpio: pcf857x: Fix missing first interrupt printk: fix deadlock when kernel panic cpufreq: intel_pstate: Get per-CPU max freq via MSR_HWP_CAPABILITIES if available s390/vtime: fix inline assembly clobber list virtio/s390: implement virtio-ccw revision 2 correctly um: mm: check more comprehensively for stub changes f2fs: fix out-of-repair __setattr_copy() sparc32: fix a user-triggerable oops in clear_user() spi: spi-synquacer: fix set_cs handling gfs2: Don't skip dlm unlock if glock has an lvb gfs2: Recursive gfs2_quota_hold in gfs2_iomap_end dm: fix deadlock when swapping to encrypted device dm writecache: fix writing beyond end of underlying device when shrinking dm era: Recover committed writeset after crash dm era: Verify the data block size hasn't changed dm era: Fix bitset memory leaks dm era: Use correct value size in equality function of writeset tree dm era: Reinitialize bitset cache before digesting a new writeset dm era: only resize metadata in preresume drm/i915: Reject 446-480MHz HDMI clock on GLK icmp: introduce helper for nat'd source address in network device context icmp: allow icmpv6_ndo_send to work with CONFIG_IPV6=n gtp: use icmp_ndo_send helper sunvnet: use icmp_ndo_send helper xfrm: interface: use icmp_ndo_send helper ipv6: icmp6: avoid indirect call for icmpv6_send() ipv6: silence compilation warning for non-IPV6 builds net: icmp: pass zeroed opts from icmp{,v6}_ndo_send before sending net: sched: fix police ext initialization dm era: Update in-core bitset after committing the metadata net: qrtr: Fix memory leak in qrtr_tun_open ARM: dts: aspeed: Add LCLK to lpc-snoop Linux 5.4.102 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: Ie4d4b39755277412c370c011e32092624d593765 |
||
Mikulas Patocka
|
371a2218ed |
blk-settings: align max_sectors on "logical_block_size" boundary
commit 97f433c3601a24d3513d06f575a389a2ca4e11e4 upstream. We get I/O errors when we run md-raid1 on the top of dm-integrity on the top of ramdisk. device-mapper: integrity: Bio not aligned on 8 sectors: 0xff00, 0xff device-mapper: integrity: Bio not aligned on 8 sectors: 0xff00, 0xff device-mapper: integrity: Bio not aligned on 8 sectors: 0xffff, 0x1 device-mapper: integrity: Bio not aligned on 8 sectors: 0xffff, 0x1 device-mapper: integrity: Bio not aligned on 8 sectors: 0x8048, 0xff device-mapper: integrity: Bio not aligned on 8 sectors: 0x8147, 0xff device-mapper: integrity: Bio not aligned on 8 sectors: 0x8246, 0xff device-mapper: integrity: Bio not aligned on 8 sectors: 0x8345, 0xbb The ramdisk device has logical_block_size 512 and max_sectors 255. The dm-integrity device uses logical_block_size 4096 and it doesn't affect the "max_sectors" value - thus, it inherits 255 from the ramdisk. So, we have a device with max_sectors not aligned on logical_block_size. The md-raid device sees that the underlying leg has max_sectors 255 and it will split the bios on 255-sector boundary, making the bios unaligned on logical_block_size. In order to fix the bug, we round down max_sectors to logical_block_size. Cc: stable@vger.kernel.org Reviewed-by: Ming Lei <ming.lei@redhat.com> Signed-off-by: Mikulas Patocka <mpatocka@redhat.com> Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
||
Pan Bian
|
ed0b50cd44 |
bsg: free the request before return error code
[ Upstream commit 0f7b4bc6bb1e57c48ef14f1818df947c1612b206 ]
Free the request rq before returning error code.
Fixes:
|
||
Jan Kara
|
166f9bc8ca |
bfq: Avoid false bfq queue merging
commit 41e76c85660c022c6bf5713bfb6c21e64a487cec upstream.
bfq_setup_cooperator() uses bfqd->in_serv_last_pos so detect whether it
makes sense to merge current bfq queue with the in-service queue.
However if the in-service queue is freshly scheduled and didn't dispatch
any requests yet, bfqd->in_serv_last_pos is stale and contains value
from the previously scheduled bfq queue which can thus result in a bogus
decision that the two queues should be merged. This bug can be observed
for example with the following fio jobfile:
[global]
direct=0
ioengine=sync
invalidate=1
size=1g
rw=read
[reader]
numjobs=4
directory=/mnt
where the 4 processes will end up in the one shared bfq queue although
they do IO to physically very distant files (for some reason I was able to
observe this only with slice_idle=1ms setting).
Fix the problem by invalidating bfqd->in_serv_last_pos when switching
in-service queue.
Fixes:
|
||
Greg Kroah-Hartman
|
7834d8fef1 |
This is the 5.4.99 stable release
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmAs43QACgkQONu9yGCS aT4omw/+JPBAZB5ClIOSDuf3/yJkbigVRFNVmQJy4/cluG32cxlcpudoau7AXq3N 0Sn/rfSdldl5eI98OTA+Y0yPIsVnQJdei228A5gmULkkc+rEFugorSJKRmmA7tH0 VdZ1C4NlhhmjoIT/W8mMNzv14dtyGQvRbT+zzfxqwqL6tF9+alcdBYTP/Z691K6x 8Csfe05MZ8VkvBizStaTXC+dtMhU917Ikd5i5v4ZzaesZJcUTLS7J82FhtKeoz7q tDoA/Bl+pN1KjyIIE61/zJ8DKzBtOeuo1PWJFpO+EBVhKVosr3oWJfTAiM7Fsnu5 dbKHYPsbe3mB79JdQibr7TpU7vSjDr5a/HTuYtp7WM1R5IssiFeVOdpXTGim/s/E Flao5LYSUcj0X/Io6TyUnxQWw8sJz3PGKYiLUn8/9DBpzNFzynQ+vuapXCoGxJzh W108q32PIx2ZTJsD5RUUqZbytG/zKzI1+SxXo2uOhs9/k5qT+35Yp9epsE2Cp8v1 Oiw3P/ZUDNk6zPj0dsHcTsqTofRK07l71HnM8iIbCWSPw834IoGBuB8c3H7HaHn4 v5M4tMTDAaKi/e09K92fR6SZDgZz8D0N+sLLneA4NEASXIJanCUwcgVCUbja+BO1 H1hiYTTZQa7kOkSxBa/wGsWkdfvOpOvCSFr+c6LPmB9sHMe4K8o= =3BI0 -----END PGP SIGNATURE----- Merge 5.4.99 into android11-5.4-lts Changes in 5.4.99 gpio: ep93xx: fix BUG_ON port F usage gpio: ep93xx: Fix single irqchip with multi gpiochips tracing: Do not count ftrace events in top level enable output tracing: Check length before giving out the filter buffer arm/xen: Don't probe xenbus as part of an early initcall cgroup: fix psi monitor for root cgroup arm64: dts: rockchip: Fix PCIe DT properties on rk3399 arm64: dts: qcom: sdm845: Reserve LPASS clocks in gcc ARM: OMAP2+: Fix suspcious RCU usage splats for omap_enter_idle_coupled platform/x86: hp-wmi: Disable tablet-mode reporting by default ovl: perform vfs_getxattr() with mounter creds cap: fix conversions on getxattr ovl: skip getxattr of security labels nvme-pci: ignore the subsysem NQN on Phison E16 drm/amd/display: Add more Clock Sources to DCN2.1 drm/amd/display: Fix dc_sink kref count in emulated_link_detect drm/amd/display: Free atomic state after drm_atomic_commit drm/amd/display: Decrement refcount of dc_sink before reassignment riscv: virt_addr_valid must check the address belongs to linear mapping bfq-iosched: Revert "bfq: Fix computation of shallow depth" ARM: dts: lpc32xx: Revert set default clock rate of HCLK PLL ARM: ensure the signal page contains defined contents ARM: kexec: fix oops after TLB are invalidated vmlinux.lds.h: Create section for protection against instrumentation lkdtm: don't move ctors to .rodata mt76: dma: fix a possible memory leak in mt76_add_fragment() drm/vc4: hvs: Fix buffer overflow with the dlist handling bpf: Check for integer overflow when using roundup_pow_of_two() netfilter: xt_recent: Fix attempt to update deleted entry netfilter: nftables: fix possible UAF over chains from packet path in netns netfilter: flowtable: fix tcp and udp header checksum update xen/netback: avoid race in xenvif_rx_ring_slots_available() net: enetc: initialize the RFS and RSS memories selftests: txtimestamp: fix compilation issue net: stmmac: set TxQ mode back to DCB after disabling CBS ibmvnic: Clear failover_pending if unable to schedule netfilter: conntrack: skip identical origin tuple in same zone only x86/build: Disable CET instrumentation in the kernel for 32-bit too net: hns3: add a check for queue_id in hclge_reset_vf_queue() firmware_loader: align .builtin_fw to 8 drm/sun4i: tcon: set sync polarity for tcon1 channel drm/sun4i: Fix H6 HDMI PHY configuration drm/sun4i: dw-hdmi: Fix max. frequency for H6 clk: sunxi-ng: mp: fix parent rate change flag check i2c: stm32f7: fix configuration of the digital filter h8300: fix PREEMPTION build, TI_PRE_COUNT undefined usb: dwc3: ulpi: fix checkpatch warning usb: dwc3: ulpi: Replace CPU-based busyloop with Protocol-based one rxrpc: Fix clearance of Tx/Rx ring when releasing a call udp: fix skb_copy_and_csum_datagram with odd segment sizes net: dsa: call teardown method on probe failure net: gro: do not keep too many GRO packets in napi->rx_list net: fix iteration for sctp transport seq_files net/vmw_vsock: improve locking in vsock_connect_timeout() net: watchdog: hold device global xmit lock during tx disable vsock/virtio: update credit only if socket is not closed vsock: fix locking in vsock_shutdown() net/rds: restrict iovecs length for RDS_CMSG_RDMA_ARGS net/qrtr: restrict user-controlled length in qrtr_tun_write_iter() ovl: expand warning in ovl_d_real() Linux 5.4.99 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: I28713d7ddd79d24b3007872877e51063df21a01e |
||
Lin Feng
|
e60577e29d |
bfq-iosched: Revert "bfq: Fix computation of shallow depth"
[ Upstream commit 388c705b95f23f317fa43e6abf9ff07b583b721a ] This reverts commit 6d4d273588378c65915acaf7b2ee74e9dd9c130a. bfq.limit_depth passes word_depths[] as shallow_depth down to sbitmap core sbitmap_get_shallow, which uses just the number to limit the scan depth of each bitmap word, formula: scan_percentage_for_each_word = shallow_depth / (1 << sbimap->shift) * 100% That means the comments's percentiles 50%, 75%, 18%, 37% of bfq are correct. But after commit patch 'bfq: Fix computation of shallow depth', we use sbitmap.depth instead, as a example in following case: sbitmap.depth = 256, map_nr = 4, shift = 6; sbitmap_word.depth = 64. The resulsts of computed bfqd->word_depths[] are {128, 192, 48, 96}, and three of the numbers exceed core dirver's 'sbitmap_word.depth=64' limit nothing. Signed-off-by: Lin Feng <linf@wangsu.com> Reviewed-by: Jan Kara <jack@suse.cz> Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Sasha Levin <sashal@kernel.org> |
||
Greg Kroah-Hartman
|
d1ae7156f3 |
This is the 5.4.98 stable release
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmAny8wACgkQONu9yGCS aT5XuRAAjzsVxZkZ6byH8lp14okwQnkb+hX4K0nZ85EM2YwVlC74CbIK/qjhfzGQ dfNk/j1nZKUzbLFkUK+/2iA7Bc5Mr4frU1dXMYQyGmkcAXqTOw4pe6CFLM+N0Iuf c0503XY/K+A6Yb2cRCs0HrIIxG+GbGWk0R2H/R4k7lsnqWRogLYvoyzxY49Hqbov 0hG6yGIjxP2H1/pYNDGuQ7lU+2w1JDcDi/OrNqoTwLcxefNSDm9cQQAZEUbfVhpz jQBA/rW+UUg6bv7jG/ixARXS6HytLRScKCuhiCkogj8SC4h9n1NhU++S3lZGq3PM rTeO4T8zPeJcChngUrp34pIskVqWQgXraMvhqKmyviCjc2H+6UgR4DINY65xNhpf nqLFVkbL2V8Fg2D2kZWMAV/LKMWe/1L69WQ2z8vqxk3ro9jxVEHLaVoPCVHzslm2 IeUIat5t/sT6QAwnGxk7bxAaEvfGXE+y5Xv/gLbUBCsM7zYTWlXPy24isB0dTpkd PlLMtNyABlUynE6pczs8O5hDB9y9kllcEWTDJO07M5rYS4+e2Xb4ruXKgsvdsQJx ZMvrzr9JmtwqI5Rt5aub4qFPyGbknPP6uQlQUhtn3wkYfPNbLyR1TtC4I0FhtwNg CTa8E5xbPGNTfZ0WqWQZ17GtN+INk2iYGC4bZIurYEmGVn6hcJs= =EcIY -----END PGP SIGNATURE----- Merge 5.4.98 into android11-5.4-lts Changes in 5.4.98 tracing/kprobe: Fix to support kretprobe events on unloaded modules af_key: relax availability checks for skb size calculation regulator: core: avoid regulator_resolve_supply() race condition mac80211: 160MHz with extended NSS BW in CSA ASoC: Intel: Skylake: Zero snd_ctl_elem_value chtls: Fix potential resource leak pNFS/NFSv4: Try to return invalid layout in pnfs_layout_process() ASoC: ak4458: correct reset polarity iwlwifi: mvm: skip power command when unbinding vif during CSA iwlwifi: mvm: take mutex for calling iwl_mvm_get_sync_time() iwlwifi: pcie: add a NULL check in iwl_pcie_txq_unmap iwlwifi: pcie: fix context info memory leak iwlwifi: mvm: invalidate IDs of internal stations at mvm start iwlwifi: mvm: guard against device removal in reprobe SUNRPC: Move simple_get_bytes and simple_get_netobj into private header SUNRPC: Handle 0 length opaque XDR object data properly i2c: mediatek: Move suspend and resume handling to NOIRQ phase blk-cgroup: Use cond_resched() when destroy blkgs regulator: Fix lockdep warning resolving supplies bpf: Fix 32 bit src register truncation on div/mod Fix unsynchronized access to sev members through svm_register_enc_region squashfs: add more sanity checks in id lookup squashfs: add more sanity checks in inode lookup squashfs: add more sanity checks in xattr id lookup Linux 5.4.98 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: I5ea716ca61085f3d27a257db817e5f0a221fde19 |
||
Baolin Wang
|
513fee2aee |
blk-cgroup: Use cond_resched() when destroy blkgs
[ Upstream commit 6c635caef410aa757befbd8857c1eadde5cc22ed ] On !PREEMPT kernel, we can get below softlockup when doing stress testing with creating and destroying block cgroup repeatly. The reason is it may take a long time to acquire the queue's lock in the loop of blkcg_destroy_blkgs(), or the system can accumulate a huge number of blkgs in pathological cases. We can add a need_resched() check on each loop and release locks and do cond_resched() if true to avoid this issue, since the blkcg_destroy_blkgs() is not called from atomic contexts. [ 4757.010308] watchdog: BUG: soft lockup - CPU#11 stuck for 94s! [ 4757.010698] Call trace: [ 4757.010700] blkcg_destroy_blkgs+0x68/0x150 [ 4757.010701] cgwb_release_workfn+0x104/0x158 [ 4757.010702] process_one_work+0x1bc/0x3f0 [ 4757.010704] worker_thread+0x164/0x468 [ 4757.010705] kthread+0x108/0x138 Suggested-by: Tejun Heo <tj@kernel.org> Signed-off-by: Baolin Wang <baolin.wang@linux.alibaba.com> Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Sasha Levin <sashal@kernel.org> |
||
Greg Kroah-Hartman
|
077672fc7f |
This is the 5.4.96 stable release
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmAf+uoACgkQONu9yGCS aT5ppQ/9FJYw4yqV6ct2tU7N4J17wErrTbE0ysEGiLEoYODQ1K4QtAmwQUC2jrT1 VauR+83tPvSXCEK8OxmTS7jMOTyATy5xcodNwnV67O3mOC3Xk3h7VLeRClvGV/XB ijgTN84wlJnyDsVc/3BYtFUbFqzTyOc2nj/NRzOD5mxkpmlKkNTHV2kk7Afna876 akrSBMb9Np8Ty8NVwz/83TzAbtP0eBq14lZq1WusD1DrVbD1MrAdi8YMbMBSra7c KdQTXVGPQq9YmKXJcw6gu7LLh6ykfVu/M9JT/86dlzaXedKBtP301vIc5AcV9Io8 bqDPVlT792U9r5W9Vfq7kNk/wSpED5MGBgvRE+/RnAfNI1NzBUTTm5mFhn4HUBzl OXpXcK01hm2apM8+z3cGoRQYo5462tZR5QxT8RbMYnX0q3xwsDIjfXYMGZWgxTsY Ah8OVFd9XnMbnmqtoCPBABMsnKyARgs5NTTbtGwUyoSYYxxMEuU80M1G+F18MG0G 4DOqg77f197VeCapd41Dzac08hq1VLUtQJAHH/bTRgVceDi5hJ5qBO5FKYmWr0G7 pvp5zm1i8rmXXZS0E+CIXKtW2td8jbBKZ6GWrzWXlT10GB6zLlB0yElgcpNSc6F1 8FszN0Df4hmYelAl6ZZJ/vOD+DnHdxkYJ/QD/IqH0QOOaMclLxY= =2WAV -----END PGP SIGNATURE----- Merge 5.4.96 into android11-5.4-lts Changes in 5.4.96 net: dsa: bcm_sf2: put device node before return net: switchdev: don't set port_obj_info->handled true when -EOPNOTSUPP ibmvnic: Ensure that CRQ entry read are correctly ordered Revert "Revert "block: end bio with BLK_STS_AGAIN in case of non-mq devs and REQ_NOWAIT"" ACPI: thermal: Do not call acpi_thermal_check() directly arm64: Fix kernel address detection of __is_lm_address() arm64: Do not pass tagged addresses to __is_lm_address() tcp: make TCP_USER_TIMEOUT accurate for zero window probes btrfs: backref, only collect file extent items matching backref offset btrfs: backref, don't add refs from shared block when resolving normal backref btrfs: backref, only search backref entries from leaves of the same root btrfs: backref, use correct count to resolve normal data refs net_sched: gen_estimator: support large ewma log phy: cpcap-usb: Fix warning for missing regulator_disable platform/x86: touchscreen_dmi: Add swap-x-y quirk for Goodix touchscreen on Estar Beauty HD tablet platform/x86: intel-vbtn: Support for tablet mode on Dell Inspiron 7352 x86: __always_inline __{rd,wr}msr() scsi: scsi_transport_srp: Don't block target in failfast state scsi: libfc: Avoid invoking response handler twice if ep is already completed scsi: fnic: Fix memleak in vnic_dev_init_devcmd2 ASoC: SOF: Intel: hda: Resume codec to do jack detection mac80211: fix fast-rx encryption check scsi: ibmvfc: Set default timeout to avoid crash during migration ALSA: hda: Add Cometlake-R PCI ID udf: fix the problem that the disc content is not displayed nvme: check the PRINFO bit before deciding the host buffer length selftests/powerpc: Only test lwm/stmw on big endian drm/amd/display: Update dram_clock_change_latency for DCN2.1 drm/amd/display: Change function decide_dp_link_settings to avoid infinite looping objtool: Don't fail on missing symbol table kthread: Extract KTHREAD_IS_PER_CPU workqueue: Restrict affinity change to rescuer Linux 5.4.96 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: Ib235d179dcd1050a5268dd9a3b61db62a6cb9889 |
||
Greg Kroah-Hartman
|
1410d2b682 |
Revert "Revert "block: end bio with BLK_STS_AGAIN in case of non-mq devs and REQ_NOWAIT""
This reverts commit
|
||
Greg Kroah-Hartman
|
1b01e2e342 |
This is the 5.4.91 stable release
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmAHFkkACgkQONu9yGCS aT5DMg//TWHV1loe76Jy6mT7SavddKkO+C6YXdGMYN4vVKJqYzASSqqmkIGYZVOj G5GnILybNjA9aJIqX4vXTXs3YslWZN+rd//GYRyBTE7SwlNI8Lho1ZJq8VqtWo+x jxm+2QNX8wBb9QuCqsnLOVidWVOQ9dcz0GC6/N8gKcAWJ71B2RpwKQxnEXjlJp3f m5cX+Vnm3XnJkdT4mmycV3h4gnOrwhIUGbu8iLbPTmfZf5aZ14eD2Su8gpcunWat 7JY2z1u4jSpkKspG5eVn8wmL1aB5+WhkqU5+rOtHZ+KJZvRY0wTnmIQEBCw0bAW+ 49tIthuJF8wC7oa3hXoXMNG8K112ffeeF2Hm29WFbpFYRinIjGt/MPmg2A1sM+C1 jVQewVOArNLA0lo5m1jun2/c56EEGFKKODzJR7Epphdi+bsY7DSttIfIIzwUqTc5 9wgZG81+l9uP/ohTm7vG8hQcANt0DN+X8wet+HqpuO5Mj5T6150dKW4zQhdOljBH GL/O/31DfIUmLJL50+X6kn47c0noZlwEmZc+buVxdO5bC27cK6awEE3gQeCTgsWj Ok1Sa+3FwwEPnKs8zInYP69U/obvNxBhdxrccrUOViGBxsXKHMPEnXG2bUuiV/7v KnuO9z1Pj3+YAdZTwWygdJcZNdCAwGL4ekQV9N/Pxeg6ejq2E3Q= =TOgX -----END PGP SIGNATURE----- Merge 5.4.91 into android11-5.4-lts Changes in 5.4.91 kbuild: enforce -Werror=return-type btrfs: prevent NULL pointer dereference in extent_io_tree_panic ASoC: dapm: remove widget from dirty list on free x86/hyperv: check cpu mask after interrupt has been disabled tracing/kprobes: Do the notrace functions check without kprobes on ftrace mips: fix Section mismatch in reference mips: lib: uncached: fix non-standard usage of variable 'sp' MIPS: boot: Fix unaligned access with CONFIG_MIPS_RAW_APPENDED_DTB MIPS: relocatable: fix possible boot hangup with KASLR enabled RDMA/ocrdma: Fix use after free in ocrdma_dealloc_ucontext_pd() ACPI: scan: Harden acpi_device_add() against device ID overflows mm/hugetlb: fix potential missing huge page size info dm raid: fix discard limits for raid1 dm snapshot: flush merged data before committing metadata dm integrity: fix the maximum number of arguments r8152: Add Lenovo Powered USB-C Travel Hub btrfs: tree-checker: check if chunk item end overflows drm/i915/backlight: fix CPU mode backlight takeover on LPT ext4: fix bug for rename with RENAME_WHITEOUT ext4: don't leak old mountpoint samples smb3: remove unused flag passed into close functions cifs: fix interrupted close commands dm integrity: fix flush with external metadata device ARC: build: remove non-existing bootpImage from KBUILD_IMAGE ARC: build: add uImage.lzma to the top-level target ARC: build: add boot_targets to PHONY ARC: build: move symlink creation to arch/arc/Makefile to avoid race netfilter: ipset: fixes possible oops in mtype_resize btrfs: fix transaction leak and crash after RO remount caused by qgroup rescan regulator: bd718x7: Add enable times ethernet: ucc_geth: fix definition and size of ucc_geth_tx_global_pram habanalabs: register to pci shutdown callback habanalabs: Fix memleak in hl_device_reset hwmon: (pwm-fan) Ensure that calculation doesn't discard big period values lib/raid6: Let $(UNROLL) rules work with macOS userland bfq: Fix computation of shallow depth arch/arc: add copy_user_page() to <asm/page.h> to fix build error on ARC misdn: dsp: select CONFIG_BITREVERSE net: ethernet: fs_enet: Add missing MODULE_LICENSE selftests: fix the return value for UDP GRO test nvme-pci: mark Samsung PM1725a as IGNORE_DEV_SUBNQN nvmet-rdma: Fix list_del corruption on queue establishment failure drm/amdgpu: fix a GPU hang issue when remove device usb: typec: Fix copy paste error for NVIDIA alt-mode description ACPI: scan: add stub acpi_create_platform_device() for !CONFIG_ACPI drm/msm: Call msm_init_vram before binding the gpu ARM: picoxcell: fix missing interrupt-parent properties perf intel-pt: Fix 'CPU too large' error dump_common_audit_data(): fix racy accesses to ->d_name ASoC: meson: axg-tdm-interface: fix loopback ASoC: meson: axg-tdmin: fix axg skew offset ASoC: Intel: fix error code cnl_set_dsp_D0() nvme-tcp: fix possible data corruption with bio merges NFS4: Fix use-after-free in trace_event_raw_event_nfs4_set_lock pNFS: We want return-on-close to complete when evicting the inode pNFS: Mark layout for return if return-on-close was not sent pNFS: Stricter ordering of layoutget and layoutreturn NFS/pNFS: Fix a leak of the layout 'plh_outstanding' counter NFS: nfs_igrab_and_active must first reference the superblock ext4: fix superblock checksum failure when setting password salt RDMA/restrack: Don't treat as an error allocation ID wrapping RDMA/usnic: Fix memleak in find_free_vf_and_create_qp_grp bnxt_en: Improve stats context resource accounting with RDMA driver loaded. RDMA/mlx5: Fix wrong free of blue flame register on error IB/mlx5: Fix error unwinding when set_has_smi_cap fails drm/i915/dsi: Use unconditional msleep for the panel_on_delay when there is no reset-deassert MIPI-sequence mm, slub: consider rest of partial list if acquire_slab() fails iommu/vt-d: Fix unaligned addresses for intel_flush_svm_range_dev() net: sunrpc: interpret the return value of kstrtou32 correctly dm: eliminate potential source of excessive kernel log noise ALSA: fireface: Fix integer overflow in transmit_midi_msg() ALSA: firewire-tascam: Fix integer overflow in midi_port_work() netfilter: conntrack: fix reading nf_conntrack_buckets netfilter: nf_nat: Fix memleak in nf_nat_init netfilter: nft_compat: remove flush counter optimization Linux 5.4.91 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: I855c7cfa591772da34ca62ad0e5519af7dfbcaaa |
||
Jan Kara
|
bc68af1fdc |
bfq: Fix computation of shallow depth
[ Upstream commit 6d4d273588378c65915acaf7b2ee74e9dd9c130a ] BFQ computes number of tags it allows to be allocated for each request type based on tag bitmap. However it uses 1 << bitmap.shift as number of available tags which is wrong. 'shift' is just an internal bitmap value containing logarithm of how many bits bitmap uses in each bitmap word. Thus number of tags allowed for some request types can be far to low. Use proper bitmap.depth which has the number of tags instead. Signed-off-by: Jan Kara <jack@suse.cz> Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Sasha Levin <sashal@kernel.org> |
||
Greg Kroah-Hartman
|
b19ff965a7 |
This is the 5.4.90 stable release
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmAENzgACgkQONu9yGCS aT7khA//eTBSPP1vAJIqph0YgQbgCCzvzQTj5enM6F1cCZqVha8s0ZjY4fl9Mkky MTVmQdGEem4MoqypzFgAQPQn8KpoM//sQue+b9evny3wU/cmgry5Hs7H3F1/Y7Yv q27Q5jzRTmvcy4Up21FhpFE58FXCXiO5H58FrtKEuJtoCxk+akyGuF8Z0UH3Rvp/ FTKjAKnfzQ9b3MjBJY16W3EqZnpLB+sFMhimS+QyHAr4biTXgIhM/ZebyKxYOGDw fq9MX5XCSM5Aka9RfWIGl8FF5y1IICkBQ0Il+xI7zsQwONFD9UIMhAcTE2LxybQT YsV/GJ7r/nZWSTcup+vD+tTNceXQoBY2EDGIKeX3rNme8cLWWJeDbTc7KbIkIi35 ctRFeEcUiFMoQEhIXyi7c8DcOU4xjmTUXtigjhcLLzAODuOBriWbIsM81RuLwNGC i/jLYEWhQ+tXozLsmb1/7fL8mvAlZfD3Vwkm4aTSSPul1i52tqBnRZBSut0+KRMa +SOpxytl+H5tFV6Z3bI0lrtJ0xnKdr0oJj367JsxIG1yeOpkqe8CEFWW+14TsjqV R1ETqDTtqi8YTGfIgp4Q3EUe9LdoJwUQFKh1lv0SMKYac6vtz/C+MxziJXHPValE dNK3MocE1zpfMgnZpHP/IwbLOeiWfNl+ZL/wpD73EUr1PvUiRvQ= =4Noe -----END PGP SIGNATURE----- Merge 5.4.90 into android11-5.4-lts Changes in 5.4.90 x86/asm/32: Add ENDs to some functions and relabel with SYM_CODE_* vfio iommu: Add dma available capability net: cdc_ncm: correct overhead in delayed_ndp_size net: hns3: fix the number of queues actually used by ARQ net: hns3: fix a phy loopback fail issue net: stmmac: dwmac-sun8i: Balance internal PHY resource references net: stmmac: dwmac-sun8i: Balance internal PHY power net: vlan: avoid leaks on register_vlan_dev() failures net/sonic: Fix some resource leaks in error handling paths net: ipv6: fib: flush exceptions when purging route tools: selftests: add test for changing routes with PTMU exceptions net: fix pmtu check in nopmtudisc mode net: ip: always refragment ip defragmented packets octeontx2-af: fix memory leak of lmac and lmac->name nexthop: Fix off-by-one error in error path nexthop: Unlink nexthop group entry in error path s390/qeth: fix L2 header access in qeth_l3_osa_features_check() net: dsa: lantiq_gswip: Exclude RMII from modes that report 1 GbE net/mlx5: Use port_num 1 instead of 0 when delete a RoCE address net/mlx5e: ethtool, Fix restriction of autoneg with 56G chtls: Fix hardware tid leak chtls: Remove invalid set_tcb call chtls: Fix panic when route to peer not configured chtls: Replace skb_dequeue with skb_peek chtls: Added a check to avoid NULL pointer dereference chtls: Fix chtls resources release sequence x86/resctrl: Use an IPI instead of task_work_add() to update PQR_ASSOC MSR x86/resctrl: Don't move a task to the same resource group exfat: Month timestamp metadata accidentally incremented vmlinux.lds.h: Add PGO and AutoFDO input sections iio: imu: st_lsm6dsx: fix edge-trigger interrupts HID: wacom: Fix memory leakage caused by kfifo_alloc ARM: OMAP2+: omap_device: fix idling of devices during probe i2c: sprd: use a specific timeout to avoid system hang up issue dmaengine: dw-edma: Fix use after free in dw_edma_alloc_chunk() can: tcan4x5x: fix bittiming const, use common bittiming from m_can driver can: m_can: m_can_class_unregister(): remove erroneous m_can_clk_stop() can: kvaser_pciefd: select CONFIG_CRC32 cpufreq: powernow-k8: pass policy rather than use cpufreq_cpu_get() spi: stm32: FIFO threshold level - fix align packet size i2c: i801: Fix the i2c-mux gpiod_lookup_table not being properly terminated dmaengine: mediatek: mtk-hsdma: Fix a resource leak in the error handling path of the probe function dmaengine: xilinx_dma: check dma_async_device_register return value dmaengine: xilinx_dma: fix incompatible param warning in _child_probe() dmaengine: xilinx_dma: fix mixed_enum_type coverity warning qed: select CONFIG_CRC32 wil6210: select CONFIG_CRC32 block: rsxx: select CONFIG_CRC32 lightnvm: select CONFIG_CRC32 iommu/intel: Fix memleak in intel_irq_remapping_alloc bpftool: Fix compilation failure for net.o with older glibc net/mlx5e: Fix memleak in mlx5e_create_l2_table_groups net/mlx5e: Fix two double free cases regmap: debugfs: Fix a memory leak when calling regmap_attach_dev wan: ds26522: select CONFIG_BITREVERSE regulator: qcom-rpmh-regulator: correct hfsmps515 definition net: mvpp2: disable force link UP during port init procedure KVM: arm64: Don't access PMCR_EL0 when no PMU is available block: fix use-after-free in disk_part_iter_next net: drop bogus skb with CHECKSUM_PARTIAL and offset beyond end of trimmed packet regmap: debugfs: Fix a reversed if statement in regmap_debugfs_init() Linux 5.4.90 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: I36d497eb94180397ab6ef2e370842e1ff6daefaf |
||
Ming Lei
|
bd0051a5cb |
block: fix use-after-free in disk_part_iter_next
commit aebf5db917055b38f4945ed6d621d9f07a44ff30 upstream. Make sure that bdgrab() is done on the 'block_device' instance before referring to it for avoiding use-after-free. Cc: <stable@vger.kernel.org> Reported-by: syzbot+825f0f9657d4e528046e@syzkaller.appspotmail.com Signed-off-by: Ming Lei <ming.lei@redhat.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
||
Greg Kroah-Hartman
|
b3b3b35a82 |
This is the 5.4.87 stable release
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAl/1wNYACgkQONu9yGCS aT64cxAAwwt2H911zFagJCVDfLKXJ4da062n0YcJe3saGSg+mdEkSGYEDxjV6jjM jTzK1W5C49sQ9kzIF43YnYgdULwcXJ76G/uqFjFOlmbRzAKAYgs/3KXesa7S4cp+ LT0fiR7uyViOw1zn4yBIeSnax8uRwT4vR1vV++ILC/7vL6hcnOBOPLxGzUKYlvJQ TD8ZQjeTXe5E7IhE+ztuhJQT+hZr1VERTjoktcfmlUps94uITeKdKYoCCZQ/zYIL IS7OgnAw5RNERHa1JUZruaGFvJORTu8wAfVtgD1VgRUZAe2ziWH6aCeDPaWaLzS5 3U7Rc3Fyf0CRYrhe7mI1J864GIEUAe9V34sGQzaU/ap4SWpLvHbu12ePlb+nLNKF MZmGEd0eZuKKDSx9dlcx8hbfVg99YpI5oOeDvfCJpYx/uxNzzJhO5wkkZxweiN9s XTMUhhkTNkhgYdzn4Y8G9++LLAZpwOImSh3NkntoH+mSVlC+jVBbskz6PdywDjQR ROVpW26t5Ee6uDTrjci5cffbfje2y0r9km5/sbRWUz2YGsqYfAI3FtbH5isNUPOm Q6ucTd+xvmApfp9bn+XYLnbTQEGAD6mAgSmO11CIDsUJUvOTD/2cv861kATJqhXm 01rHgohIG604vERppYC3WWFjh0cdevBvwSOpDi1LIdlgbEF6QY0= =q0Fm -----END PGP SIGNATURE----- Merge 5.4.87 into android11-5.4-lts Changes in 5.4.87 net/sched: sch_taprio: reset child qdiscs before freeing them md/raid10: initialize r10_bio->read_slot before use. thermal/drivers/cpufreq_cooling: Update cpufreq_state only if state has changed ext4: prevent creating duplicate encrypted filenames ubifs: prevent creating duplicate encrypted filenames f2fs: prevent creating duplicate encrypted filenames fscrypt: add fscrypt_is_nokey_name() fscrypt: remove kernel-internal constants from UAPI header vfio/pci: Move dummy_resources_list init in vfio_pci_probe() btrfs: fix race when defragmenting leads to unnecessary IO ext4: don't remount read-only with errors=continue on reboot KVM: x86: avoid incorrect writes to host MSR_IA32_SPEC_CTRL KVM: SVM: relax conditions for allowing MSR_IA32_SPEC_CTRL accesses KVM: x86: reinstate vendor-agnostic check on SPEC_CTRL cpuid bits powerpc/bitops: Fix possible undefined behaviour with fls() and fls64() jffs2: Allow setting rp_size to zero during remounting jffs2: Fix NULL pointer dereference in rp_size fs option parsing scsi: block: Fix a race in the runtime power management code uapi: move constants from <linux/kernel.h> to <linux/const.h> tools headers UAPI: Sync linux/const.h with the kernel headers null_blk: Fix zone size initialization of: fix linker-section match-table corruption cgroup: Fix memory leak when parsing multiple source parameters scsi: cxgb4i: Fix TLS dependency Bluetooth: hci_h5: close serdev device and free hu in h5_close reiserfs: add check for an invalid ih_entry_count misc: vmw_vmci: fix kernel info-leak by initializing dbells in vmci_ctx_get_chkpt_doorbells() media: gp8psk: initialize stats at power control logic f2fs: fix shift-out-of-bounds in sanity_check_raw_super() ALSA: seq: Use bool for snd_seq_queue internal flags ALSA: rawmidi: Access runtime->avail always in spinlock bfs: don't use WARNING: string when it's just info. fcntl: Fix potential deadlock in send_sig{io, urg}() rtc: sun6i: Fix memleak in sun6i_rtc_clk_init module: set MODULE_STATE_GOING state when a module fails to load quota: Don't overflow quota file offsets rtc: pl031: fix resource leak in pl031_probe powerpc: sysdev: add missing iounmap() on error in mpic_msgr_probe() i3c master: fix missing destroy_workqueue() on error in i3c_master_register NFSv4: Fix a pNFS layout related use-after-free race when freeing the inode f2fs: avoid race condition for shrinker count module: delay kobject uevent until after module init call fs/namespace.c: WARN if mnt_count has become negative um: ubd: Submit all data segments atomically tick/sched: Remove bogus boot "safety" check ALSA: pcm: Clear the full allocated memory at hw_params dm verity: skip verity work if I/O error when system is shutting down Linux 5.4.87 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> [EB: fixed fs/crypto/ merge resolution] Signed-off-by: Eric Biggers <ebiggers@google.com> Change-Id: I383fa03a6d3c025d167ab57faebf0d3a59919a00 |
||
Bart Van Assche
|
af07e4dd07 |
scsi: block: Fix a race in the runtime power management code
commit fa4d0f1992a96f6d7c988ef423e3127e613f6ac9 upstream.
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.
Link: https://lore.kernel.org/r/20201209052951.16136-2-bvanassche@acm.org
Fixes:
|
||
Greg Kroah-Hartman
|
d45416b62b |
This is the 5.4.86 stable release
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAl/sW9MACgkQONu9yGCS aT5SwBAAo6dgHqwmPfuf98/8oVeVqTxcmE7GpzpVRH2+yI7Zwk2ez29tAflcM7lT LKtR2WFGAxoCL4DUKXeO7Ubwpue5NoBIsJ8/dAYBesojps3WDaFGL55PvJLWwFJ7 5gPtPzynITaqIC1JCFcrJ7OTp7REiCUZRc1CJXJINWAYL1VbEbH8pH904xfFcivy XnNyL9UiWp1lSB8oF3CRJOaK5M5gY1+wdCFaLVqQn306XDEM8PvZK4G3at/jXWgH jQjArdtC8M8NwjyTwtqW9JAMV+6CD0/HXk0QboTZg6yiaRrtUsfzMqJ1cvhKcQgO kLE3rwdnr3/MxuzSnGWbswflG2WCutoah58g0uN8H0nCiui5mKN6x5K+emgDZIoO ndDnh+/5OE247EK+3CGn/0N8i/fOymrLAnLL4wCXVdlQLMCalnL37ibdfGbAptXi N3GOGZ2iEglvTsEr5w0r86+AzNskm5EqA7mFGFiAyf9viR2xwYk3RrWf2ZyMRos2 2S7mKcZmw7voDu2TIDIhqydToBKxmYI/mUn3mFFme1h3lwzM3zYG1aovVLfd5NkY Gx5E/CA/ut/3n0u/dXJ8SxEitBWkqImp5UdYcElQNxQoXnVU4yKmjf6dDL9Wqh+1 ujCiaCUJd3PY0uXXIb6RWWGs2VaL4xiEnk+ZBm0VI9WEUWksSx0= =jnmv -----END PGP SIGNATURE----- Merge 5.4.86 into android11-5.4-lts Changes in 5.4.86 ARM: dts: sun7i: bananapi: Enable RGMII RX/TX delay on Ethernet PHY ARM: dts: sun8i: r40: bananapi-m2-berry: Fix dcdc1 regulator ARM: dts: sun8i: v40: bananapi-m2-berry: Fix ethernet node pinctrl: merrifield: Set default bias in case no particular value given pinctrl: baytrail: Avoid clearing debounce value when turning it off ARM: dts: sun8i: v3s: fix GIC node memory range ARM: dts: sun7i: pcduino3-nano: enable RGMII RX/TX delay on PHY ARM: dts: imx6qdl-wandboard-revd1: Remove PAD_GPIO_6 from enetgrp ARM: dts: imx6qdl-kontron-samx6i: fix I2C_PM scl pin PM: runtime: Add pm_runtime_resume_and_get to deal with usage counter gpio: zynq: fix reference leak in zynq_gpio functions gpio: mvebu: fix potential user-after-free on probe scsi: bnx2i: Requires MMU xsk: Fix xsk_poll()'s return type xsk: Replace datagram_poll by sock_poll_wait can: softing: softing_netdev_open(): fix error handling clk: renesas: r9a06g032: Drop __packed for portability block: Simplify REQ_OP_ZONE_RESET_ALL handling block: factor out requeue handling from dispatch code blk-mq: In blk_mq_dispatch_rq_list() "no budget" is a reason to kick pinctrl: aspeed: Fix GPIO requests on pass-through banks netfilter: x_tables: Switch synchronization to RCU netfilter: nft_compat: make sure xtables destructors have run netfilter: nft_dynset: fix timeouts later than 23 days afs: Fix memory leak when mounting with multiple source parameters Revert "gpio: eic-sprd: Use devm_platform_ioremap_resource()" gpio: eic-sprd: break loop when getting NULL device resource netfilter: nft_ct: Remove confirmation check for NFT_CT_ID selftests/bpf/test_offload.py: Reset ethtool features after failed setting RDMA/cm: Fix an attempt to use non-valid pointer when cleaning timewait i40e: Refactor rx_bi accesses i40e: optimise prefetch page refcount i40e: avoid premature Rx buffer reuse ixgbe: avoid premature Rx buffer reuse selftests: fix poll error in udpgro.sh net: mvpp2: add mvpp2_phylink_to_port() helper drm/tegra: replace idr_init() by idr_init_base() kernel/cpu: add arch override for clear_tasks_mm_cpumask() mm handling drm/tegra: sor: Disable clocks on error in tegra_sor_init() habanalabs: put devices before driver removal arm64: syscall: exit userspace before unmasking exceptions vxlan: Add needed_headroom for lower device vxlan: Copy needed_tailroom from lowerdev scsi: mpt3sas: Increase IOCInit request timeout to 30s dm table: Remove BUG_ON(in_interrupt()) iwlwifi: pcie: add one missing entry for AX210 drm/amd/display: Init clock value by current vbios CLKs perf/x86/intel: Check PEBS status correctly kbuild: avoid split lines in .mod files soc/tegra: fuse: Fix index bug in get_process_id usb: mtu3: fix memory corruption in mtu3_debugfs_regset() USB: serial: option: add interface-number sanity check to flag handling USB: gadget: f_acm: add support for SuperSpeed Plus USB: gadget: f_midi: setup SuperSpeed Plus descriptors usb: gadget: f_fs: Re-use SS descriptors for SuperSpeedPlus USB: gadget: f_rndis: fix bitrate for SuperSpeed and above usb: chipidea: ci_hdrc_imx: Pass DISABLE_DEVICE_STREAMING flag to imx6ul ARM: dts: exynos: fix roles of USB 3.0 ports on Odroid XU ARM: dts: exynos: fix USB 3.0 VBUS control and over-current pins on Exynos5410 ARM: dts: exynos: fix USB 3.0 pins supply being turned off on Odroid XU coresight: tmc-etf: Fix NULL ptr dereference in tmc_enable_etf_sink_perf() coresight: tmc-etr: Check if page is valid before dma_map_page() coresight: tmc-etr: Fix barrier packet insertion for perf buffer coresight: etb10: Fix possible NULL ptr dereference in etb_enable_perf() scsi: megaraid_sas: Check user-provided offsets HID: i2c-hid: add Vero K147 to descriptor override serial_core: Check for port state when tty is in error state Bluetooth: Fix slab-out-of-bounds read in hci_le_direct_adv_report_evt() quota: Sanity-check quota file headers on load media: msi2500: assign SPI bus number dynamically crypto: af_alg - avoid undefined behavior accessing salg_name md: fix a warning caused by a race between concurrent md_ioctl()s drm/gma500: fix double free of gma_connector drm/aspeed: Fix Kconfig warning & subsequent build errors drm/mcde: Fix handling of platform_get_irq() error drm/tve200: Fix handling of platform_get_irq() error arm64: dts: renesas: hihope-rzg2-ex: Drop rxc-skew-ps from ethernet-phy node arm64: dts: renesas: cat875: Remove rxc-skew-ps from ethernet-phy node soc: renesas: rmobile-sysc: Fix some leaks in rmobile_init_pm_domains() soc: mediatek: Check if power domains can be powered on at boot time soc: qcom: geni: More properly switch to DMA mode Revert "i2c: i2c-qcom-geni: Fix DMA transfer race" RDMA/bnxt_re: Set queue pair state when being queried rtc: pcf2127: fix pcf2127_nvmem_read/write() returns selinux: fix error initialization in inode_doinit_with_dentry() ARM: dts: aspeed: s2600wf: Fix VGA memory region location RDMA/rxe: Compute PSN windows correctly x86/mm/ident_map: Check for errors from ident_pud_init() ARM: p2v: fix handling of LPAE translation in BE mode x86/apic: Fix x2apic enablement without interrupt remapping sched/deadline: Fix sched_dl_global_validate() sched: Reenable interrupts in do_sched_yield() drm/amdgpu: fix incorrect enum type crypto: talitos - Endianess in current_desc_hdr() crypto: talitos - Fix return type of current_desc_hdr() crypto: inside-secure - Fix sizeof() mismatch ASoC: sun4i-i2s: Fix lrck_period computation for I2S justified mode ARM: dts: aspeed: tiogapass: Remove vuart drm/amdgpu: fix build_coefficients() argument powerpc/64: Set up a kernel stack for secondaries before cpu_restore() spi: img-spfi: fix reference leak in img_spfi_resume f2fs: call f2fs_get_meta_page_retry for nat page drm/msm/dsi_pll_10nm: restore VCO rate during restore_state spi: spi-mem: fix reference leak in spi_mem_access_start ASoC: pcm: DRAIN support reactivation selinux: fix inode_doinit_with_dentry() LABEL_INVALID error handling spi: stm32: fix reference leak in stm32_spi_resume brcmfmac: Fix memory leak for unpaired brcmf_{alloc/free} arm64: dts: exynos: Include common syscon restart/poweroff for Exynos7 arm64: dts: exynos: Correct psci compatible used on Exynos7 Bluetooth: Fix null pointer dereference in hci_event_packet() Bluetooth: hci_h5: fix memory leak in h5_close spi: spi-ti-qspi: fix reference leak in ti_qspi_setup spi: mt7621: fix missing clk_disable_unprepare() on error in mt7621_spi_probe spi: tegra20-slink: fix reference leak in slink ops of tegra20 spi: tegra20-sflash: fix reference leak in tegra_sflash_resume spi: tegra114: fix reference leak in tegra spi ops spi: bcm63xx-hsspi: fix missing clk_disable_unprepare() on error in bcm63xx_hsspi_resume mwifiex: fix mwifiex_shutdown_sw() causing sw reset failure selftest/bpf: Add missed ip6ip6 test back ASoC: wm8998: Fix PM disable depth imbalance on error spi: sprd: fix reference leak in sprd_spi_remove ASoC: arizona: Fix a wrong free in wm8997_probe RDMa/mthca: Work around -Wenum-conversion warning MIPS: BCM47XX: fix kconfig dependency bug for BCM47XX_BCMA crypto: qat - fix status check in qat_hal_put_rel_rd_xfer() staging: greybus: codecs: Fix reference counter leak in error handling staging: gasket: interrupt: fix the missed eventfd_ctx_put() in gasket_interrupt.c media: tm6000: Fix sizeof() mismatches media: mtk-vcodec: add missing put_device() call in mtk_vcodec_init_dec_pm() media: mtk-vcodec: add missing put_device() call in mtk_vcodec_release_dec_pm() media: mtk-vcodec: add missing put_device() call in mtk_vcodec_init_enc_pm() media: v4l2-fwnode: Return -EINVAL for invalid bus-type ASoC: meson: fix COMPILE_TEST error scsi: core: Fix VPD LUN ID designator priorities media: solo6x10: fix missing snd_card_free in error handling case video: fbdev: atmel_lcdfb: fix return error code in atmel_lcdfb_of_init() drm/omap: dmm_tiler: fix return error code in omap_dmm_probe() Input: ads7846 - fix race that causes missing releases Input: ads7846 - fix integer overflow on Rt calculation Input: ads7846 - fix unaligned access on 7845 usb/max3421: fix return error code in max3421_probe() spi: mxs: fix reference leak in mxs_spi_probe selftests/bpf: Fix broken riscv build powerpc: Avoid broken GCC __attribute__((optimize)) powerpc/feature: Fix CPU_FTRS_ALWAYS by removing CPU_FTRS_GENERIC_32 EDAC/mce_amd: Use struct cpuinfo_x86.cpu_die_id for AMD NodeId crypto: crypto4xx - Replace bitwise OR with logical OR in crypto4xx_build_pd crypto: omap-aes - Fix PM disable depth imbalance in omap_aes_probe spi: fix resource leak for drivers without .remove callback soc: ti: knav_qmss: fix reference leak in knav_queue_probe soc: ti: Fix reference imbalance in knav_dma_probe drivers: soc: ti: knav_qmss_queue: Fix error return code in knav_queue_probe Input: omap4-keypad - fix runtime PM error handling clk: meson: Kconfig: fix dependency for G12A RDMA/cxgb4: Validate the number of CQEs memstick: fix a double-free bug in memstick_check ARM: dts: at91: sama5d4_xplained: add pincontrol for USB Host ARM: dts: at91: sama5d3_xplained: add pincontrol for USB Host mmc: pxamci: Fix error return code in pxamci_probe orinoco: Move context allocation after processing the skb qtnfmac: fix error return code in qtnf_pcie_probe() rsi: fix error return code in rsi_reset_card() cw1200: fix missing destroy_workqueue() on error in cw1200_init_common dmaengine: mv_xor_v2: Fix error return code in mv_xor_v2_probe() arm64: tegra: Fix DT binding for IO High Voltage entry media: siano: fix memory leak of debugfs members in smsdvb_hotplug platform/x86: mlx-platform: Remove PSU EEPROM from default platform configuration platform/x86: mlx-platform: Remove PSU EEPROM from MSN274x platform configuration samples: bpf: Fix lwt_len_hist reusing previous BPF map media: imx214: Fix stop streaming mips: cdmm: fix use-after-free in mips_cdmm_bus_discover media: max2175: fix max2175_set_csm_mode() error code slimbus: qcom-ngd-ctrl: Avoid sending power requests without QMI HSI: omap_ssi: Don't jump to free ID in ssi_add_controller() ARM: dts: Remove non-existent i2c1 from 98dx3236 arm64: dts: armada-3720-turris-mox: update ethernet-phy handle name arm64: dts: rockchip: Set dr_mode to "host" for OTG on rk3328-roc-cc power: supply: axp288_charger: Fix HP Pavilion x2 10 DMI matching power: supply: bq24190_charger: fix reference leak genirq/irqdomain: Don't try to free an interrupt that has no mapping arm64: dts: ls1028a: fix ENETC PTP clock input arm64: dts: qcom: c630: Polish i2c-hid devices PCI: Bounds-check command-line resource alignment requests PCI: Fix overflow in command-line resource alignment requests PCI: iproc: Fix out-of-bound array accesses arm64: dts: meson: fix spi-max-frequency on Khadas VIM2 arm64: dts: meson-sm1: fix typo in opp table soc: amlogic: canvas: add missing put_device() call in meson_canvas_get() ARM: dts: at91: at91sam9rl: fix ADC triggers platform/x86: dell-smbios-base: Fix error return code in dell_smbios_init ath10k: Fix the parsing error in service available event ath10k: Fix an error handling path ath10k: Release some resources in an error handling path SUNRPC: rpc_wake_up() should wake up tasks in the correct order NFSv4.2: condition READDIR's mask for security label based on LSM state SUNRPC: xprt_load_transport() needs to support the netid "rdma6" NFSv4: Fix the alignment of page data in the getdeviceinfo reply net: sunrpc: Fix 'snprintf' return value check in 'do_xprt_debugfs' lockd: don't use interval-based rebinding over TCP NFS: switch nfsiod to be an UNBOUND workqueue. selftests/seccomp: Update kernel config vfio-pci: Use io_remap_pfn_range() for PCI IO memory hwmon: (ina3221) Fix PM usage counter unbalance in ina3221_write_enable media: saa7146: fix array overflow in vidioc_s_audio() powerpc/perf: Fix crash with is_sier_available when pmu is not set powerpc/64: Fix an EMIT_BUG_ENTRY in head_64.S clocksource/drivers/orion: Add missing clk_disable_unprepare() on error path clocksource/drivers/cadence_ttc: Fix memory leak in ttc_setup_clockevent() iio: hrtimer-trigger: Mark hrtimer to expire in hard interrupt context ARM: dts: at91: sama5d2: map securam as device bpf: Fix bpf_put_raw_tracepoint()'s use of __module_address() pinctrl: falcon: add missing put_device() call in pinctrl_falcon_probe() arm64: dts: rockchip: Fix UART pull-ups on rk3328 memstick: r592: Fix error return in r592_probe() MIPS: Don't round up kernel sections size for memblock_add() net/mlx5: Properly convey driver version to firmware ASoC: jz4740-i2s: add missed checks for clk_get() dm ioctl: fix error return code in target_message phy: renesas: rcar-gen3-usb2: disable runtime pm in case of failure clocksource/drivers/arm_arch_timer: Use stable count reader in erratum sne clocksource/drivers/arm_arch_timer: Correct fault programming of CNTKCTL_EL1.EVNTI cpufreq: ap806: Add missing MODULE_DEVICE_TABLE cpufreq: highbank: Add missing MODULE_DEVICE_TABLE cpufreq: mediatek: Add missing MODULE_DEVICE_TABLE cpufreq: qcom: Add missing MODULE_DEVICE_TABLE cpufreq: st: Add missing MODULE_DEVICE_TABLE cpufreq: sun50i: Add missing MODULE_DEVICE_TABLE cpufreq: loongson1: Add missing MODULE_ALIAS cpufreq: scpi: Add missing MODULE_ALIAS Bluetooth: btusb: Add the missed release_firmware() in btusb_mtk_setup_firmware() Bluetooth: btmtksdio: Add the missed release_firmware() in mtk_setup_firmware() arm64: dts: meson: fix PHY deassert timing requirements ARM: dts: meson: fix PHY deassert timing requirements arm64: dts: meson: g12a: x96-max: fix PHY deassert timing requirements scsi: qedi: Fix missing destroy_workqueue() on error in __qedi_probe scsi: pm80xx: Fix error return in pm8001_pci_probe() seq_buf: Avoid type mismatch for seq_buf_init scsi: fnic: Fix error return code in fnic_probe() platform/x86: mlx-platform: Fix item counter assignment for MSN2700, MSN24xx systems powerpc/pseries/hibernation: drop pseries_suspend_begin() from suspend ops powerpc/pseries/hibernation: remove redundant cacheinfo update drm/mediatek: avoid dereferencing a null hdmi_phy on an error message ASoC: amd: change clk_get() to devm_clk_get() and add missed checks powerpc/mm: sanity_check_fault() should work for all, not only BOOK3S usb: ehci-omap: Fix PM disable depth umbalance in ehci_hcd_omap_probe usb: oxu210hp-hcd: Fix memory leak in oxu_create speakup: fix uninitialized flush_lock nfsd: Fix message level for normal termination nfs_common: need lock during iterate through the list x86/kprobes: Restore BTF if the single-stepping is cancelled platform/chrome: cros_ec_spi: Don't overwrite spi::mode bus: fsl-mc: fix error return code in fsl_mc_object_allocate() s390/cio: fix use-after-free in ccw_device_destroy_console iwlwifi: mvm: hook up missing RX handlers erofs: avoid using generic_block_bmap can: m_can: m_can_config_endisable(): remove double clearing of clock stop request bit RDMA/core: Do not indicate device ready when device enablement fails remoteproc: q6v5-mss: fix error handling in q6v5_pds_enable remoteproc: qcom: fix reference leak in adsp_start remoteproc: qcom: Fix potential NULL dereference in adsp_init_mmio() clk: tegra: Fix duplicated SE clock entry mtd: rawnand: gpmi: fix reference count leak in gpmi ops mtd: rawnand: meson: Fix a resource leak in init mtd: rawnand: gpmi: Fix the random DMA timeout issue extcon: max77693: Fix modalias string crypto: atmel-i2c - select CONFIG_BITREVERSE mac80211: don't set set TDLS STA bandwidth wider than possible ASoC: wm_adsp: remove "ctl" from list on error in wm_adsp_create_control() irqchip/alpine-msi: Fix freeing of interrupts on allocation error path watchdog: armada_37xx: Add missing dependency on HAS_IOMEM watchdog: sirfsoc: Add missing dependency on HAS_IOMEM watchdog: sprd: remove watchdog disable from resume fail path watchdog: sprd: check busy bit before new loading rather than after that watchdog: Fix potential dereferencing of null pointer ubifs: Fix error return code in ubifs_init_authentication() um: Monitor error events in IRQ controller um: tty: Fix handling of close in tty lines um: chan_xterm: Fix fd leak sunrpc: fix xs_read_xdr_buf for partial pages receive RDMA/cma: Don't overwrite sgid_attr after device is released nfc: s3fwrn5: Release the nfc firmware powerpc/ps3: use dma_mapping_error() sparc: fix handling of page table constructor failure mm: don't wake kswapd prematurely when watermark boosting is disabled checkpatch: fix unescaped left brace lan743x: fix rx_napi_poll/interrupt ping-pong net: bcmgenet: Fix a resource leak in an error handling path in the probe functin net: allwinner: Fix some resources leak in the error handling path of the probe and in the remove function net: korina: fix return value libnvdimm/label: Return -ENXIO for no slot in __blk_label_update watchdog: qcom: Avoid context switch in restart handler watchdog: coh901327: add COMMON_CLK dependency clk: ti: Fix memleak in ti_fapll_synth_setup pwm: zx: Add missing cleanup in error path pwm: lp3943: Dynamically allocate PWM chip base perf record: Fix memory leak when using '--user-regs=?' to list registers qlcnic: Fix error code in probe virtio_ring: Cut and paste bugs in vring_create_virtqueue_packed() virtio_net: Fix error code in probe() virtio_ring: Fix two use after free bugs clk: at91: sam9x60: remove atmel,osc-bypass support clk: s2mps11: Fix a resource leak in error handling paths in the probe function clk: sunxi-ng: Make sure divider tables have sentinel kconfig: fix return value of do_error_if() perf probe: Fix memory leak when synthesizing SDT probes ARM: sunxi: Add machine match for the Allwinner V3 SoC cfg80211: initialize rekey_data fix namespaced fscaps when !CONFIG_SECURITY lwt: Disable BH too in run_lwt_bpf() drm/amd/display: Prevent bandwidth overflow drm/amdkfd: Fix leak in dmabuf import Input: cros_ec_keyb - send 'scancodes' in addition to key events initramfs: fix clang build failure Input: goodix - add upside-down quirk for Teclast X98 Pro tablet vfio/pci/nvlink2: Do not attempt NPU2 setup on POWER8NVL NPU media: gspca: Fix memory leak in probe media: sunxi-cir: ensure IR is handled when it is continuous media: netup_unidvb: Don't leak SPI master in probe error path media: ipu3-cio2: Remove traces of returned buffers media: ipu3-cio2: Return actual subdev format media: ipu3-cio2: Serialise access to pad format media: ipu3-cio2: Validate mbus format in setting subdev format media: ipu3-cio2: Make the field on subdev format V4L2_FIELD_NONE Input: cyapa_gen6 - fix out-of-bounds stack access ALSA: hda/ca0132 - Change Input Source enum strings. PM: ACPI: PCI: Drop acpi_pm_set_bridge_wakeup() Revert "ACPI / resources: Use AE_CTRL_TERMINATE to terminate resources walks" ACPI: PNP: compare the string length in the matching_id() ALSA: hda: Fix regressions on clear and reconfig sysfs ALSA: hda/ca0132 - Fix AE-5 rear headphone pincfg. ALSA: hda/realtek: make bass spk volume adjustable on a yoga laptop ALSA: hda/realtek - Enable headset mic of ASUS X430UN with ALC256 ALSA: hda/realtek - Enable headset mic of ASUS Q524UQK with ALC255 ALSA: hda/realtek - Add supported for more Lenovo ALC285 Headset Button ALSA: pcm: oss: Fix a few more UBSAN fixes ALSA/hda: apply jack fixup for the Acer Veriton N4640G/N6640G/N2510G ALSA: hda/realtek: Add quirk for MSI-GP73 ALSA: hda/realtek: Apply jack fixup for Quanta NL3 ALSA: usb-audio: Add VID to support native DSD reproduction on FiiO devices ALSA: usb-audio: Disable sample read check if firmware doesn't give back ALSA: core: memalloc: add page alignment for iram s390/smp: perform initial CPU reset also for SMT siblings s390/kexec_file: fix diag308 subcode when loading crash kernel s390/dasd: fix hanging device offline processing s390/dasd: prevent inconsistent LCU device data s390/dasd: fix list corruption of pavgroup group list s390/dasd: fix list corruption of lcu list binder: add flag to clear buffer on txn complete ASoC: cx2072x: Fix doubly definitions of Playback and Capture streams staging: comedi: mf6x4: Fix AI end-of-conversion detection perf/x86/intel: Add event constraint for CYCLE_ACTIVITY.STALLS_MEM_ANY perf/x86/intel: Fix rtm_abort_event encoding on Ice Lake powerpc/perf: Exclude kernel samples while counting events in user space. crypto: ecdh - avoid unaligned accesses in ecdh_set_secret() crypto: arm/aes-ce - work around Cortex-A57/A72 silion errata EDAC/i10nm: Use readl() to access MMIO registers EDAC/amd64: Fix PCI component registration cpuset: fix race between hotplug work and later CPU offline USB: serial: mos7720: fix parallel-port state restore USB: serial: digi_acceleport: fix write-wakeup deadlocks USB: serial: keyspan_pda: fix dropped unthrottle interrupts USB: serial: keyspan_pda: fix write deadlock USB: serial: keyspan_pda: fix stalled writes USB: serial: keyspan_pda: fix write-wakeup use-after-free USB: serial: keyspan_pda: fix tx-unthrottle use-after-free USB: serial: keyspan_pda: fix write unthrottling btrfs: do not shorten unpin len for caching block groups btrfs: trim: fix underflow in trim length to prevent access beyond device boundary ext4: fix a memory leak of ext4_free_data ext4: fix deadlock with fs freezing and EA inodes KVM: arm64: Introduce handling of AArch32 TTBCR2 traps ARM: dts: pandaboard: fix pinmux for gpio user button of Pandaboard ES ARM: dts: at91: sama5d2: fix CAN message ram offset and size xprtrdma: Fix XDRBUF_SPARSE_PAGES support powerpc: Fix incorrect stw{, ux, u, x} instructions in __set_pte_at powerpc/rtas: Fix typo of ibm,open-errinjct in RTAS filter powerpc/feature: Add CPU_FTR_NOEXECUTE to G2_LE powerpc/xmon: Change printk() to pr_cont() powerpc/8xx: Fix early debug when SMC1 is relocated powerpc/mm: Fix verification of MMU_FTR_TYPE_44x powerpc/powernv/npu: Do not attempt NPU2 setup on POWER8NVL NPU powerpc/powernv/memtrace: Don't leak kernel memory to user space powerpc/powernv/memtrace: Fix crashing the kernel when enabling concurrently ima: Don't modify file descriptor mode on the fly um: Remove use of asprinf in umid.c ceph: fix race in concurrent __ceph_remove_cap invocations SMB3: avoid confusing warning message on mount to Azure ubifs: wbuf: Don't leak kernel memory to flash jffs2: Fix GC exit abnormally jffs2: Fix ignoring mounting options problem during remounting jfs: Fix array index bounds check in dbAdjTree platform/x86: mlx-platform: remove an unused variable drm/amd/display: Fix memory leaks in S3 resume drm/dp_aux_dev: check aux_dev before use in drm_dp_aux_dev_get_by_minor() drm/i915: Fix mismatch between misplaced vma check and vma insert spi: pxa2xx: Fix use-after-free on unbind spi: spi-sh: Fix use-after-free on unbind spi: atmel-quadspi: Fix use-after-free on unbind spi: davinci: Fix use-after-free on unbind spi: fsl: fix use of spisel_boot signal on MPC8309 spi: gpio: Don't leak SPI master in probe error path spi: mxic: Don't leak SPI master in probe error path spi: pic32: Don't leak DMA channels in probe error path spi: rb4xx: Don't leak SPI master in probe error path spi: sc18is602: Don't leak SPI master in probe error path spi: st-ssc4: Fix unbalanced pm_runtime_disable() in probe error path spi: synquacer: Disable clock in probe error path spi: mt7621: Disable clock in probe error path spi: mt7621: Don't leak SPI master in probe error path spi: atmel-quadspi: Disable clock in probe error path spi: atmel-quadspi: Fix AHB memory accesses soc: qcom: smp2p: Safely acquire spinlock without IRQs mtd: spinand: Fix OOB read mtd: parser: cmdline: Fix parsing of part-names with colons mtd: rawnand: qcom: Fix DMA sync on FLASH_STATUS register read mtd: rawnand: meson: fix meson_nfc_dma_buffer_release() arguments scsi: qla2xxx: Fix crash during driver load on big endian machines scsi: lpfc: Fix invalid sleeping context in lpfc_sli4_nvmet_alloc() scsi: lpfc: Re-fix use after free in lpfc_rq_buf_free() iio: buffer: Fix demux update iio: adc: rockchip_saradc: fix missing clk_disable_unprepare() on error in rockchip_saradc_resume iio:light:rpr0521: Fix timestamp alignment and prevent data leak. iio:light:st_uvis25: Fix timestamp alignment and prevent data leak. iio:magnetometer:mag3110: Fix alignment and data leak issues. iio:pressure:mpl3115: Force alignment of buffer iio:imu:bmi160: Fix too large a buffer. iio:adc:ti-ads124s08: Fix buffer being too long. iio:adc:ti-ads124s08: Fix alignment and data leak issues. md/cluster: block reshape with remote resync job md/cluster: fix deadlock when node is doing resync job pinctrl: sunxi: Always call chained_irq_{enter, exit} in sunxi_pinctrl_irq_handler clk: ingenic: Fix divider calculation with div tables clk: mvebu: a3700: fix the XTAL MODE pin to MPP1_9 clk: tegra: Do not return 0 on failure device-dax/core: Fix memory leak when rmmod dax.ko dma-buf/dma-resv: Respect num_fences when initializing the shared fence list. xen-blkback: set ring->xenblkd to NULL after kthread_stop() xen/xenbus: Allow watches discard events before queueing xen/xenbus: Add 'will_handle' callback support in xenbus_watch_path() xen/xenbus/xen_bus_type: Support will_handle watch callback xen/xenbus: Count pending messages for each watch xenbus/xenbus_backend: Disallow pending watch messages libnvdimm/namespace: Fix reaping of invalidated block-window-namespace labels platform/x86: intel-vbtn: Allow switch events on Acer Switch Alpha 12 PCI: Fix pci_slot_release() NULL pointer dereference regulator: axp20x: Fix DLDO2 voltage control register mask for AXP22x rtc: ep93xx: Fix NULL pointer dereference in ep93xx_rtc_read_time Revert: "ring-buffer: Remove HAVE_64BIT_ALIGNED_ACCESS" x86/CPU/AMD: Save AMD NodeId as cpu_die_id Linux 5.4.86 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: If271639b9a7c833718f8cfdfbacce5affe7f4189 |
||
Douglas Anderson
|
f7e6636831 |
blk-mq: In blk_mq_dispatch_rq_list() "no budget" is a reason to kick
[ Upstream commit ab3cee3762e5e69f27c302c43691289fdfc12316 ] In blk_mq_dispatch_rq_list(), if blk_mq_sched_needs_restart() returns true and the driver returns BLK_STS_RESOURCE then we'll kick the queue. However, there's another case where we might need to kick it. If we were unable to get budget we can be in much the same state as when the driver returns BLK_STS_RESOURCE, so we should treat it the same. It should be noted that even if we add a whole bunch of extra kicking to the queue in other patches this patch is still important. Specifically any kicking that happened before we re-spliced leftover requests into 'hctx->dispatch' wouldn't have found any work, so we really need to make sure we kick ourselves after we've done the splicing. Signed-off-by: Douglas Anderson <dianders@chromium.org> Reviewed-by: Ming Lei <ming.lei@redhat.com> Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Sasha Levin <sashal@kernel.org> |
||
Johannes Thumshirn
|
4f3e3fa623 |
block: factor out requeue handling from dispatch code
[ Upstream commit c92a41031a6d57395889b5c87cea359220a24d2a ] Factor out the requeue handling from the dispatch code, this will make subsequent addition of different requeueing schemes easier. Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Sasha Levin <sashal@kernel.org> |
||
Damien Le Moal
|
9e54ca3d4f |
block: Simplify REQ_OP_ZONE_RESET_ALL handling
[ Upstream commit c7a1d926dc4076aadad187614500afcd8de78818 ] There is no need for the function __blkdev_reset_all_zones() as REQ_OP_ZONE_RESET_ALL can be handled directly in blkdev_reset_zones() bio loop with an early break from the loop. This patch removes this function and modifies blkdev_reset_zones(), simplifying the code. Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com> Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Sasha Levin <sashal@kernel.org> |
||
qctecmdr
|
41dc53c83f | Merge "Revert "block: Fix use-after-free while iterating over requests"" | ||
Pradeep P V K
|
30ed308e3c |
Revert "block: Fix use-after-free while iterating over requests"
commit
|
||
Sahitya Tummala
|
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:
|
||
qctecmdr
|
c6bb501a23 | Merge "block: Fix use-after-free while iterating over requests" | ||
Sahitya Tummala
|
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> |
||
Pradeep P V K
|
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> |
||
Greg Kroah-Hartman
|
0e161a13b1 |
This is the 5.4.76 stable release
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAl+qe5YACgkQONu9yGCS aT6bAw//VGKqKOUOva6147u3U98FFBuYMJnZwZIxqvX4PFJnSwqKmsLUoCI8bhJV UJ+lbbBvyNbe2DS1+YkhlHTC15U7dHIWtSM4/FC7rvgTuvjAj4epqDDu5IkOoK4W Pil+zV1fwnwHrcuBbb5Ydk+mS3I/sVjObAQygluQPt1D2xESkyITq/uT9Lal0hRy fbyfUNYrhf4Bdeyfgzr7sEDrorgzQJ+7NBDR5NTzn0j0gph4hhe1z5FWmy8jEPXM kKy39nTrCu5hQhEL7L0G29ZLb0s8mhMM9B7OyKHCALtdc6VqwC3WFZqkwrr/cInQ bDuuBMngRe+n/A5xVMmsnjFyR+znXg82HYQuqrBJ1w3S4pbV+j0dcVJ9PiusyYdR n81HCakatyIq9Oe64yHKIlbxslkfgUjJX+uR4LfNS7iC4ad5fV/BwdCs0z0v2oOH o38e5V/qQFiI442+BR6fPagYEpHxJAlteZTpdUteYUBTpQ97v76K/10fqLdGc07s vevP4T2t3Z1qtswY5VbU2jOkNilgnOlqIw+VSzSXp4N8jcF+TEgtSB/X18eX69oy wQ8+aJzNjWCOFfqbYpS+1X2X/eVzBdBrQ8rk/FMKJ0Edxwm3YpoAqHb6copODzaZ cBwCyhbJbHeYpbzgJkkAJEZKffy6XWmwVqtYoi52HZNB1A5ipIA= =Cjfz -----END PGP SIGNATURE----- Merge 5.4.76 into android11-5.4-lts Changes in 5.4.76 drm/i915: Break up error capture compression loops with cond_resched() drm/i915/gt: Delay execlist processing for tgl drm/i915: Drop runtime-pm assert from vgpu io accessors ASoC: Intel: Skylake: Add alternative topology binary name linkage: Introduce new macros for assembler symbols arm64: asm: Add new-style position independent function annotations arm64: lib: Use modern annotations for assembly functions arm64: Change .weak to SYM_FUNC_START_WEAK_PI for arch/arm64/lib/mem*.S tipc: fix use-after-free in tipc_bcast_get_mode ptrace: fix task_join_group_stop() for the case when current is traced cadence: force nonlinear buffers to be cloned chelsio/chtls: fix memory leaks caused by a race chelsio/chtls: fix always leaking ctrl_skb gianfar: Replace skb_realloc_headroom with skb_cow_head for PTP gianfar: Account for Tx PTP timestamp in the skb headroom ionic: check port ptr before use ip_tunnel: fix over-mtu packet send fail without TUNNEL_DONT_FRAGMENT flags net: usb: qmi_wwan: add Telit LE910Cx 0x1230 composition powerpc/vnic: Extend "failover pending" window sctp: Fix COMM_LOST/CANT_STR_ASSOC err reporting on big-endian platforms sfp: Fix error handing in sfp_probe() Fonts: Replace discarded const qualifier ALSA: hda/realtek - Fixed HP headset Mic can't be detected ALSA: hda/realtek - Enable headphone for ASUS TM420 ALSA: usb-audio: Add implicit feedback quirk for Zoom UAC-2 ALSA: usb-audio: add usb vendor id as DSD-capable for Khadas devices ALSA: usb-audio: Add implicit feedback quirk for Qu-16 ALSA: usb-audio: Add implicit feedback quirk for MODX mm: mempolicy: fix potential pte_unmap_unlock pte error lib/crc32test: remove extra local_irq_disable/enable kthread_worker: prevent queuing delayed work from timer_fn when it is being canceled mm: always have io_remap_pfn_range() set pgprot_decrypted() gfs2: Wake up when sd_glock_disposal becomes zero ring-buffer: Fix recursion protection transitions between interrupt context mtd: spi-nor: Don't copy self-pointing struct around ftrace: Fix recursion check for NMI test ftrace: Handle tracing when switching between context regulator: defer probe when trying to get voltage from unresolved supply spi: bcm2835: fix gpio cs level inversion tracing: Fix out of bounds write in get_trace_buf futex: Handle transient "ownerless" rtmutex state correctly ARM: dts: sun4i-a10: fix cpu_alert temperature arm64: dts: meson: add missing g12 rng clock x86/kexec: Use up-to-dated screen_info copy to fill boot params of: Fix reserved-memory overlap detection drm/sun4i: frontend: Rework a bit the phase data drm/sun4i: frontend: Reuse the ch0 phase for RGB formats drm/sun4i: frontend: Fix the scaler phase on A33 blk-cgroup: Fix memleak on error path blk-cgroup: Pre-allocate tree node on blkg_conf_prep scsi: core: Don't start concurrent async scan on same host drm/amdgpu: add DID for navi10 blockchain SKU scsi: ibmvscsi: Fix potential race after loss of transport vsock: use ns_capable_noaudit() on socket create nvme-rdma: handle unexpected nvme completion data length nvmet: fix a NULL pointer dereference when tracing the flush command drm/vc4: drv: Add error handding for bind ACPI: NFIT: Fix comparison to '-ENXIO' usb: cdns3: gadget: suspicious implicit sign extension drm/nouveau/nouveau: fix the start/end range for migration drm/nouveau/gem: fix "refcount_t: underflow; use-after-free" arm64/smp: Move rcu_cpu_starting() earlier Revert "coresight: Make sysfs functional on topologies with per core sink" vt: Disable KD_FONT_OP_COPY fork: fix copy_process(CLONE_PARENT) race with the exiting ->real_parent s390/pkey: fix paes selftest failure with paes and pkey static build serial: 8250_mtk: Fix uart_get_baud_rate warning serial: txx9: add missing platform_driver_unregister() on error in serial_txx9_init USB: serial: cyberjack: fix write-URB completion race USB: serial: option: add Quectel EC200T module support USB: serial: option: add LE910Cx compositions 0x1203, 0x1230, 0x1231 USB: serial: option: add Telit FN980 composition 0x1055 tty: serial: fsl_lpuart: add LS1028A support tty: serial: fsl_lpuart: LS1021A has a FIFO size of 16 words, like LS1028A usb: dwc3: ep0: Fix delay status handling USB: Add NO_LPM quirk for Kingston flash drive usb: mtu3: fix panic in mtu3_gadget_stop() drm/panfrost: Fix a deadlock between the shrinker and madvise path ARC: stack unwinding: avoid indefinite looping PM: runtime: Drop runtime PM references to supplier on link removal PM: runtime: Drop pm_runtime_clean_up_links() PM: runtime: Resume the device earlier in __device_release_driver() xfs: flush for older, xfs specific ioctls perf/core: Fix a memory leak in perf_event_parse_addr_filter() arm64: dts: marvell: espressobin: Add ethernet switch aliases Linux 5.4.76 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: I9e122c9984f0a80613577d71e59101a97e92c1a4 |
||
Gabriel Krisman Bertazi
|
3c52715cea |
blk-cgroup: Pre-allocate tree node on blkg_conf_prep
[ Upstream commit f255c19b3ab46d3cad3b1b2e1036f4c926cb1d0c ]
Similarly to commit
|
||
Gabriel Krisman Bertazi
|
f77756ea66 |
blk-cgroup: Fix memleak on error path
[ Upstream commit 52abfcbd57eefdd54737fc8c2dc79d8f46d4a3e5 ] If new_blkg allocation raced with blk_policy change and blkg_lookup_check fails, new_blkg is leaked. Acked-by: Tejun Heo <tj@kernel.org> Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.com> Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Sasha Levin <sashal@kernel.org> |
||
Greg Kroah-Hartman
|
7ee5d73d3e |
This is the 5.4.73 stable release
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAl+ahE8ACgkQONu9yGCS aT4j1A/9HzkKKoqZ2vXYQ1/uEnUqZech9ly1KxpNTBrSZYAtx3MaWY7tGDEx2BqD y6iw9x4MymhHEbpwLg6YmmdWuMQLNNYJGoyLiPJgWhkE4c7zHadhNz1DcPEI8F7z bSlUJ3Oebr8gzv0FvUmeVXw7Z2EuOqM1zGgTAZfnKY3DkYHbLnrzUJ4AiI8TNeba pPIhjfIJ1TvhF+s5ggf2m8OtSWLZ0doCWCPmCFe2WyERX2WYCzPgsm0yL7L7oXME ZqWpOcClBsiYekBNcZ4kxozhJtArCnv24n9VoXJ/YJIlWKvCA6uC8r527nGN/z08 dfFelj1nDs7/VrCSP4+109EjxLQnSYGgIWP0g0OsC+9wOmrQsYJ1azP1eNjm+NuC hPa8uYVEZxwVyJuEfu4ZB4NMZBlD2qnHoskvBKbyZ8yaVnbvlMp552XMwsmJBpCs 8wArzabrJEz396LUUIYG829D7NBDuRav1Miu+FTzlbn+xZ/Y/S8OmhoG2stWa4wV y5x0M0DWgrqiZ9rMkz9A03UNnCInQVTfIBoMl63xFitW4/0vLsln3+CjzlKm7H46 rD/tKACUoCDjR5DN+JwQzmTdL9zBb4p1cXwWjWb6rON3BkXmO0JVAxzurxI9PfX0 ZWDydZ3HNmrm0d3J12zf3kTX56PfPFAGWUsEc4Ntb5zdWXSQJsE= =fZ3T -----END PGP SIGNATURE----- Merge 5.4.73 into android11-5.4-lts Changes in 5.4.73 ibmveth: Switch order of ibmveth_helper calls. ibmveth: Identify ingress large send packets. ipv4: Restore flowi4_oif update before call to xfrm_lookup_route mlx4: handle non-napi callers to napi_poll net: fec: Fix phy_device lookup for phy_reset_after_clk_enable() net: fec: Fix PHY init after phy_reset_after_clk_enable() net: fix pos incrementment in ipv6_route_seq_next net/smc: fix valid DMBE buffer sizes net/tls: sendfile fails with ktls offload net: usb: qmi_wwan: add Cellient MPL200 card tipc: fix the skb_unshare() in tipc_buf_append() socket: fix option SO_TIMESTAMPING_NEW can: m_can_platform: don't call m_can_class_suspend in runtime suspend can: j1935: j1939_tp_tx_dat_new(): fix missing initialization of skbcnt net: j1939: j1939_session_fresh_new(): fix missing initialization of skbcnt net/ipv4: always honour route mtu during forwarding net_sched: remove a redundant goto chain check r8169: fix data corruption issue on RTL8402 cxgb4: handle 4-tuple PEDIT to NAT mode translation binder: fix UAF when releasing todo list ALSA: bebob: potential info leak in hwdep_read() ALSA: hda: fix jack detection with Realtek codecs when in D3 ALSA: hda/hdmi: fix incorrect locking in hdmi_pcm_close nvme-pci: disable the write zeros command for Intel 600P/P3100 chelsio/chtls: fix socket lock chelsio/chtls: correct netdevice for vlan interface chelsio/chtls: correct function return and return type ibmvnic: save changed mac address to adapter->mac_addr net: ftgmac100: Fix Aspeed ast2600 TX hang issue net: hdlc: In hdlc_rcv, check to make sure dev is an HDLC device net: hdlc_raw_eth: Clear the IFF_TX_SKB_SHARING flag after calling ether_setup net: Properly typecast int values to set sk_max_pacing_rate net/sched: act_tunnel_key: fix OOB write in case of IPv6 ERSPAN tunnels nexthop: Fix performance regression in nexthop deletion nfc: Ensure presence of NFC_ATTR_FIRMWARE_NAME attribute in nfc_genl_fw_download() r8169: fix operation under forced interrupt threading selftests: forwarding: Add missing 'rp_filter' configuration selftests: rtnetlink: load fou module for kci_test_encap_fou() test tcp: fix to update snd_wl1 in bulk receiver fast path icmp: randomize the global rate limiter ALSA: hda/realtek - The front Mic on a HP machine doesn't work ALSA: hda/realtek - set mic to auto detect on a HP AIO machine ALSA: hda/realtek - Add mute Led support for HP Elitebook 845 G7 ALSA: hda/realtek: Enable audio jacks of ASUS D700SA with ALC887 cifs: remove bogus debug code cifs: Return the error from crypt_message when enc/dec key not found. SMB3: Resolve data corruption of TCP server info fields KVM: nVMX: Reset the segment cache when stuffing guest segs KVM: nVMX: Reload vmcs01 if getting vmcs12's pages fails KVM: x86/mmu: Commit zap of remaining invalid pages when recovering lpages KVM: SVM: Initialize prev_ga_tag before use ima: Don't ignore errors from crypto_shash_update() crypto: algif_aead - Do not set MAY_BACKLOG on the async path crypto: caam/qi - add fallback for XTS with more than 8B IV EDAC/i5100: Fix error handling order in i5100_init_one() EDAC/aspeed: Fix handling of platform_get_irq() error EDAC/ti: Fix handling of platform_get_irq() error perf/x86/intel/ds: Fix x86_pmu_stop warning for large PEBS x86/fpu: Allow multiple bits in clearcpuid= parameter drivers/perf: xgene_pmu: Fix uninitialized resource struct drivers/perf: thunderx2_pmu: Fix memory resource error handling sched/fair: Fix wrong cpu selecting from isolated domain perf/x86/intel/uncore: Update Ice Lake uncore units perf/x86/intel/uncore: Reduce the number of CBOX counters x86/nmi: Fix nmi_handle() duration miscalculation x86/events/amd/iommu: Fix sizeof mismatch crypto: algif_skcipher - EBUSY on aio should be an error crypto: mediatek - Fix wrong return value in mtk_desc_ring_alloc() crypto: ixp4xx - Fix the size used in a 'dma_free_coherent()' call crypto: picoxcell - Fix potential race condition bug media: tuner-simple: fix regression in simple_set_radio_freq media: Revert "media: exynos4-is: Add missed check for pinctrl_lookup_state()" media: ov5640: Correct Bit Div register in clock tree diagram media: m5mols: Check function pointer in m5mols_sensor_power media: uvcvideo: Set media controller entity functions media: uvcvideo: Silence shift-out-of-bounds warning media: staging/intel-ipu3: css: Correctly reset some memory media: omap3isp: Fix memleak in isp_probe media: i2c: ov5640: Remain in power down for DVP mode unless streaming media: i2c: ov5640: Separate out mipi configuration from s_power media: i2c: ov5640: Enable data pins on poweron for DVP mode media: rcar_drif: Fix fwnode reference leak when parsing DT media: rcar_drif: Allocate v4l2_async_subdev dynamically media: rcar-csi2: Allocate v4l2_async_subdev dynamically crypto: omap-sham - fix digcnt register handling with export/import hwmon: (pmbus/max34440) Fix status register reads for MAX344{51,60,61} cypto: mediatek - fix leaks in mtk_desc_ring_alloc media: mx2_emmaprp: Fix memleak in emmaprp_probe media: tc358743: initialize variable media: tc358743: cleanup tc358743_cec_isr media: rcar-vin: Fix a reference count leak. media: rockchip/rga: Fix a reference count leak. media: platform: fcp: Fix a reference count leak. media: camss: Fix a reference count leak. media: s5p-mfc: Fix a reference count leak media: stm32-dcmi: Fix a reference count leak media: ti-vpe: Fix a missing check and reference count leak regulator: resolve supply after creating regulator pinctrl: bcm: fix kconfig dependency warning when !GPIOLIB spi: spi-s3c64xx: swap s3c64xx_spi_set_cs() and s3c64xx_enable_datapath() spi: spi-s3c64xx: Check return values blk-mq: move cancel of hctx->run_work to the front of blk_exit_queue ath10k: provide survey info as accumulated data drm/vkms: fix xrgb on compute crc Bluetooth: hci_uart: Cancel init work before unregistering drm/amd/display: Fix wrong return value in dm_update_plane_state() drm: panel: Fix bus format for OrtusTech COM43H4M85ULC panel ath6kl: prevent potential array overflow in ath6kl_add_new_sta() ath9k: Fix potential out of bounds in ath9k_htc_txcompletion_cb() ath10k: Fix the size used in a 'dma_free_coherent()' call in an error handling path wcn36xx: Fix reported 802.11n rx_highest rate wcn3660/wcn3680 ASoC: qcom: lpass-platform: fix memory leak ASoC: qcom: lpass-cpu: fix concurrency issue brcmfmac: check ndev pointer mwifiex: Do not use GFP_KERNEL in atomic context staging: rtl8192u: Do not use GFP_KERNEL in atomic context drm/gma500: fix error check scsi: qla4xxx: Fix an error handling path in 'qla4xxx_get_host_stats()' scsi: qla2xxx: Fix wrong return value in qlt_chk_unresolv_exchg() scsi: qla2xxx: Fix wrong return value in qla_nvme_register_hba() scsi: csiostor: Fix wrong return value in csio_hw_prep_fw() backlight: sky81452-backlight: Fix refcount imbalance on error staging: emxx_udc: Fix passing of NULL to dma_alloc_coherent() VMCI: check return value of get_user_pages_fast() for errors mm/error_inject: Fix allow_error_inject function signatures. drm: panel: Fix bpc for OrtusTech COM43H4M85ULC panel drm/crc-debugfs: Fix memleak in crc_control_write binder: Remove bogus warning on failed same-process transaction tty: serial: earlycon dependency tty: hvcs: Don't NULL tty->driver_data until hvcs_cleanup() pty: do tty_flip_buffer_push without port->lock in pty_write pwm: lpss: Fix off by one error in base_unit math in pwm_lpss_prepare() pwm: lpss: Add range limit check for the base_unit register value drivers/virt/fsl_hypervisor: Fix error handling path video: fbdev: vga16fb: fix setting of pixclock because a pass-by-value error video: fbdev: sis: fix null ptr dereference video: fbdev: radeon: Fix memleak in radeonfb_pci_register ASoC: fsl: imx-es8328: add missing put_device() call in imx_es8328_probe() HID: roccat: add bounds checking in kone_sysfs_write_settings() drm/msm: Avoid div-by-zero in dpu_crtc_atomic_check() drm/panfrost: Ensure GPU quirks are always initialised iomap: Clear page error before beginning a write pinctrl: mcp23s08: Fix mcp23x17_regmap initialiser pinctrl: mcp23s08: Fix mcp23x17 precious range net/mlx5: Don't call timecounter cyc2time directly from 1PPS flow scsi: mpt3sas: Fix sync irqs net: stmmac: use netif_tx_start|stop_all_queues() function cpufreq: armada-37xx: Add missing MODULE_DEVICE_TABLE drm: mxsfb: check framebuffer pitch coresight: etm4x: Handle unreachable sink in perf mode xhci: don't create endpoint debugfs entry before ring buffer is set. net: dsa: rtl8366: Check validity of passed VLANs net: dsa: rtl8366: Refactor VLAN/PVID init net: dsa: rtl8366: Skip PVID setting if not requested net: wilc1000: clean up resource in error path of init mon interface ASoC: tlv320aic32x4: Fix bdiv clock rate derivation net: dsa: rtl8366rb: Support all 4096 VLANs spi: omap2-mcspi: Improve performance waiting for CHSTAT ath6kl: wmi: prevent a shift wrapping bug in ath6kl_wmi_delete_pstream_cmd() dmaengine: dmatest: Check list for emptiness before access its last entry misc: mic: scif: Fix error handling path ALSA: seq: oss: Avoid mutex lock for a long-time ioctl usb: dwc2: Fix parameter type in function pointer prototype quota: clear padding in v2r1_mem2diskdqb() slimbus: core: check get_addr before removing laddr ida slimbus: core: do not enter to clock pause mode in core slimbus: qcom-ngd-ctrl: disable ngd in qmi server down callback ASoC: fsl_sai: Instantiate snd_soc_dai_driver HID: hid-input: fix stylus battery reporting nvmem: core: fix possibly memleak when use nvmem_cell_info_to_nvmem_cell() nl80211: fix OBSS PD min and max offset validation coresight: etm: perf: Fix warning caused by etm_setup_aux failure ibmvnic: set up 200GBPS speed qtnfmac: fix resource leaks on unsupported iftype error return path iio: adc: stm32-adc: fix runtime autosuspend delay when slow polling net: enic: Cure the enic api locking trainwreck mfd: sm501: Fix leaks in probe() iwlwifi: mvm: split a print to avoid a WARNING in ROC usb: gadget: f_ncm: fix ncm_bitrate for SuperSpeed and above. usb: gadget: u_ether: enable qmult on SuperSpeed Plus as well nl80211: fix non-split wiphy information usb: dwc2: Fix INTR OUT transfers in DDMA mode. scsi: target: tcmu: Fix warning: 'page' may be used uninitialized scsi: be2iscsi: Fix a theoretical leak in beiscsi_create_eqs() ipmi_si: Fix wrong return value in try_smi_init() platform/x86: mlx-platform: Remove PSU EEPROM configuration mwifiex: fix double free ipvs: clear skb->tstamp in forwarding path net: korina: fix kfree of rx/tx descriptor array netfilter: nf_log: missing vlan offload tag and proto mm/swapfile.c: fix potential memory leak in sys_swapon mm/memcg: fix device private memcg accounting mm, oom_adj: don't loop through tasks in __set_oom_adj when not necessary fs: fix NULL dereference due to data race in prepend_path() selftests/ftrace: Change synthetic event name for inter-event-combined test i3c: master add i3c_master_attach_boardinfo to preserve boardinfo IB/mlx4: Fix starvation in paravirt mux/demux IB/mlx4: Adjust delayed work when a dup is observed powerpc/pseries: Fix missing of_node_put() in rng_init() powerpc/icp-hv: Fix missing of_node_put() in success path RDMA/ucma: Fix locking for ctx->events_reported RDMA/ucma: Add missing locking around rdma_leave_multicast() mtd: lpddr: fix excessive stack usage with clang RDMA/hns: Add a check for current state before modifying QP RDMA/umem: Fix signature of stub ib_umem_find_best_pgsz() powerpc/pseries: explicitly reschedule during drmem_lmb list traversal pseries/drmem: don't cache node id in drmem_lmb struct RDMA/mlx5: Fix potential race between destroy and CQE poll mtd: mtdoops: Don't write panic data twice ARM: 9007/1: l2c: fix prefetch bits init in L2X0_AUX_CTRL using DT values arc: plat-hsdk: fix kconfig dependency warning when !RESET_CONTROLLER ida: Free allocated bitmap in error path xfs: limit entries returned when counting fsmap records xfs: fix deadlock and streamline xfs_getfsmap performance xfs: fix high key handling in the rt allocator's query_range function RDMA/umem: Fix ib_umem_find_best_pgsz() for mappings that cross a page boundary RDMA/umem: Prevent small pages from being returned by ib_umem_find_best_pgsz() RDMA/qedr: Fix qp structure memory leak RDMA/qedr: Fix use of uninitialized field RDMA/qedr: Fix return code if accept is called on a destroyed qp RDMA/qedr: Fix inline size returned for iWARP powerpc/book3s64/hash/4k: Support large linear mapping range with 4K powerpc/tau: Use appropriate temperature sample interval powerpc/tau: Convert from timer to workqueue powerpc/tau: Remove duplicated set_thresholds() call powerpc/tau: Check processor type before enabling TAU interrupt powerpc/tau: Disable TAU between measurements powerpc/64s/radix: Fix mm_cpumask trimming race vs kthread_use_mm RDMA/cma: Remove dead code for kernel rdmacm multicast RDMA/cma: Consolidate the destruction of a cma_multicast in one place perf intel-pt: Fix "context_switch event has no tid" error RDMA/hns: Set the unsupported wr opcode RDMA/mlx5: Disable IB_DEVICE_MEM_MGT_EXTENSIONS if IB_WR_REG_MR can't work i40iw: Add support to make destroy QP synchronous perf stat: Skip duration_time in setup_system_wide RDMA/hns: Fix the wrong value of rnr_retry when querying qp RDMA/hns: Fix missing sq_sig_type when querying QP mtd: rawnand: vf610: disable clk on error handling path in probe mtd: spinand: gigadevice: Only one dummy byte in QUADIO mtd: spinand: gigadevice: Add QE Bit kdb: Fix pager search for multi-line strings overflow: Include header file with SIZE_MAX declaration RDMA/ipoib: Set rtnl_link_ops for ipoib interfaces powerpc/perf: Exclude pmc5/6 from the irrelevant PMU group constraints powerpc/perf/hv-gpci: Fix starting index value i3c: master: Fix error return in cdns_i3c_master_probe() cpufreq: powernv: Fix frame-size-overflow in powernv_cpufreq_reboot_notifier IB/rdmavt: Fix sizeof mismatch RDMA/rxe: Fix skb lifetime in rxe_rcv_mcast_pkt() maiblox: mediatek: Fix handling of platform_get_irq() error selftests/powerpc: Fix eeh-basic.sh exit codes f2fs: wait for sysfs kobject removal before freeing f2fs_sb_info RDMA/rxe: Handle skb_clone() failure in rxe_recv.c mm/page_owner: change split_page_owner to take a count lib/crc32.c: fix trivial typo in preprocessor condition ramfs: fix nommu mmap with gaps in the page cache rapidio: fix error handling path rapidio: fix the missed put_device() for rio_mport_add_riodev mailbox: avoid timer start from callback i2c: rcar: Auto select RESET_CONTROLLER clk: meson: g12a: mark fclk_div2 as critical PCI: aardvark: Check for errors from pci_bridge_emul_init() call PCI: iproc: Set affinity mask on MSI interrupts rpmsg: smd: Fix a kobj leak in in qcom_smd_parse_edge() PCI/IOV: Mark VFs as not implementing PCI_COMMAND_MEMORY vfio/pci: Decouple PCI_COMMAND_MEMORY bit checks from is_virtfn clk: qcom: gcc-sdm660: Fix wrong parent_map clk: keystone: sci-clk: fix parsing assigned-clock data during probe pwm: img: Fix null pointer access in probe clk: rockchip: Initialize hw to error to avoid undefined behavior clk: mediatek: add UART0 clock support module: statically initialize init section freeing data clk: at91: clk-main: update key before writing AT91_CKGR_MOR clk: bcm2835: add missing release if devm_clk_hw_register fails watchdog: Fix memleak in watchdog_cdev_register watchdog: Use put_device on error watchdog: sp5100: Fix definition of EFCH_PM_DECODEEN3 svcrdma: fix bounce buffers for unaligned offsets and multiple pages ext4: limit entries returned when counting fsmap records vfio/pci: Clear token on bypass registration failure vfio iommu type1: Fix memory leak in vfio_iommu_type1_pin_pages clk: imx8mq: Fix usdhc parents order SUNRPC: fix copying of multiple pages in gss_read_proxy_verf() Input: imx6ul_tsc - clean up some errors in imx6ul_tsc_resume() Input: stmfts - fix a & vs && typo Input: ep93xx_keypad - fix handling of platform_get_irq() error Input: omap4-keypad - fix handling of platform_get_irq() error Input: twl4030_keypad - fix handling of platform_get_irq() error Input: sun4i-ps2 - fix handling of platform_get_irq() error KVM: x86: emulating RDPID failure shall return #UD rather than #GP scsi: bfa: Fix error return in bfad_pci_init() netfilter: conntrack: connection timeout after re-register netfilter: ebtables: Fixes dropping of small packets in bridge nat netfilter: nf_fwd_netdev: clear timestamp in forwarding path arm64: dts: meson: vim3: correct led polarity ARM: dts: imx6sl: fix rng node ARM: at91: pm: of_node_put() after its usage ARM: s3c24xx: fix mmc gpio lookup tables ARM: dts: sun8i: r40: bananapi-m2-ultra: Fix dcdc1 regulator arm64: dts: allwinner: h5: remove Mali GPU PMU module memory: omap-gpmc: Fix a couple off by ones memory: omap-gpmc: Fix build error without CONFIG_OF memory: fsl-corenet-cf: Fix handling of platform_get_irq() error arm64: dts: imx8mq: Add missing interrupts to GPC arm64: dts: qcom: msm8916: Remove one more thermal trip point unit name arm64: dts: qcom: pm8916: Remove invalid reg size from wcd_codec arm64: dts: qcom: msm8916: Fix MDP/DSI interrupts arm64: dts: renesas: r8a77990: Fix MSIOF1 DMA channels arm64: dts: renesas: r8a774c0: Fix MSIOF1 DMA channels arm64: dts: actions: limit address range for pinctrl node ARM: dts: owl-s500: Fix incorrect PPI interrupt specifiers soc: fsl: qbman: Fix return value on success ARM: OMAP2+: Restore MPU power domain if cpu_cluster_pm_enter() fails arm64: dts: zynqmp: Remove additional compatible string for i2c IPs ARM: dts: meson8: remove two invalid interrupt lines from the GPU node lightnvm: fix out-of-bounds write to array devices->info[] powerpc/powernv/dump: Fix race while processing OPAL dump powerpc/pseries: Avoid using addr_to_pfn in real mode nvmet: fix uninitialized work for zero kato NTB: hw: amd: fix an issue about leak system resources sched/features: Fix !CONFIG_JUMP_LABEL case perf: correct SNOOPX field offset i2c: core: Restore acpi_walk_dep_device_list() getting called after registering the ACPI i2c devs md/bitmap: fix memory leak of temporary bitmap block: ratelimit handle_bad_sector() message crypto: ccp - fix error handling x86/asm: Replace __force_order with a memory clobber x86/mce: Add Skylake quirk for patrol scrub reported errors media: firewire: fix memory leak media: ati_remote: sanity check for both endpoints media: st-delta: Fix reference count leak in delta_run_work media: sti: Fix reference count leaks media: exynos4-is: Fix several reference count leaks due to pm_runtime_get_sync media: exynos4-is: Fix a reference count leak due to pm_runtime_get_sync media: exynos4-is: Fix a reference count leak media: vsp1: Fix runtime PM imbalance on error media: platform: s3c-camif: Fix runtime PM imbalance on error media: platform: sti: hva: Fix runtime PM imbalance on error media: bdisp: Fix runtime PM imbalance on error media: media/pci: prevent memory leak in bttv_probe x86/mce: Make mce_rdmsrl() panic on an inaccessible MSR media: uvcvideo: Ensure all probed info is returned to v4l2 mmc: sdio: Check for CISTPL_VERS_1 buffer size media: saa7134: avoid a shift overflow media: venus: fixes for list corruption fs: dlm: fix configfs memory leak media: venus: core: Fix runtime PM imbalance in venus_probe ntfs: add check for mft record size in superblock ip_gre: set dev->hard_header_len and dev->needed_headroom properly mac80211: handle lack of sband->bitrates in rates PM: hibernate: remove the bogus call to get_gendisk() in software_resume() scsi: mvumi: Fix error return in mvumi_io_attach() scsi: target: core: Add CONTROL field for trace events mic: vop: copy data to kernel space then write to io memory misc: vop: add round_up(x,4) for vring_size to avoid kernel panic usb: dwc3: Add splitdisable quirk for Hisilicon Kirin Soc usb: gadget: function: printer: fix use-after-free in __lock_acquire udf: Limit sparing table size udf: Avoid accessing uninitialized data on failed inode read rtw88: increse the size of rx buffer size USB: cdc-acm: handle broken union descriptors usb: dwc3: simple: add support for Hikey 970 can: flexcan: flexcan_chip_stop(): add error handling and propagate error value ath9k: hif_usb: fix race condition between usb_get_urb() and usb_kill_anchored_urbs() drm/panfrost: add amlogic reset quirk callback bpf: Limit caller's stack depth 256 for subprogs with tailcalls misc: rtsx: Fix memory leak in rtsx_pci_probe reiserfs: only call unlock_new_inode() if I_NEW opp: Prevent memory leak in dev_pm_opp_attach_genpd() xfs: make sure the rt allocator doesn't run off the end usb: ohci: Default to per-port over-current protection Bluetooth: Only mark socket zapped after unlocking drm/msm/a6xx: fix a potential overflow issue iomap: fix WARN_ON_ONCE() from unprivileged users scsi: ibmvfc: Fix error return in ibmvfc_probe() scsi: qla2xxx: Warn if done() or free() are called on an already freed srb selftests/bpf: Fix test_sysctl_loop{1, 2} failure due to clang change brcmsmac: fix memory leak in wlc_phy_attach_lcnphy rtl8xxxu: prevent potential memory leak Fix use after free in get_capset_info callback. HID: ite: Add USB id match for Acer One S1003 keyboard dock scsi: qedf: Return SUCCESS if stale rport is encountered scsi: qedi: Protect active command list to avoid list corruption scsi: qedi: Fix list_del corruption while removing active I/O fbmem: add margin check to fb_check_caps() tty: ipwireless: fix error handling Bluetooth: btusb: Fix memleak in btusb_mtk_submit_wmt_recv_urb ipvs: Fix uninit-value in do_ip_vs_set_ctl() reiserfs: Fix memory leak in reiserfs_parse_options() mwifiex: don't call del_timer_sync() on uninitialized timer ALSA: hda/ca0132 - Add AE-7 microphone selection commands. ALSA: hda/ca0132 - Add new quirk ID for SoundBlaster AE-7. scsi: smartpqi: Avoid crashing kernel for controller issues brcm80211: fix possible memleak in brcmf_proto_msgbuf_attach usb: core: Solve race condition in anchor cleanup functions scsi: ufs: ufs-qcom: Fix race conditions caused by ufs_qcom_testbus_config() dmaengine: dw: Add DMA-channels mask cell support dmaengine: dw: Activate FIFO-mode for memory peripherals only ath10k: check idx validity in __ath10k_htt_rx_ring_fill_n() net: korina: cast KSEG0 address to pointer in kfree s390/qeth: don't let HW override the configured port role tty: serial: lpuart: fix lpuart32_write usage tty: serial: fsl_lpuart: fix lpuart32_poll_get_char usb: cdc-acm: add quirk to blacklist ETAS ES58X devices USB: cdc-wdm: Make wdm_flush() interruptible and add wdm_fsync(). usb: cdns3: gadget: free interrupt after gadget has deleted eeprom: at25: set minimum read/write access stride to 1 usb: gadget: f_ncm: allow using NCM in SuperSpeed Plus gadgets. Linux 5.4.73 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: I3245a6f313462f8b4ea408c7657a1027ab95b78c |
||
Tetsuo Handa
|
b3a0ed4110 |
block: ratelimit handle_bad_sector() message
[ Upstream commit f4ac712e4fe009635344b9af5d890fe25fcc8c0d ] syzbot is reporting unkillable task [1], for the caller is failing to handle a corrupted filesystem image which attempts to access beyond the end of the device. While we need to fix the caller, flooding the console with handle_bad_sector() message is unlikely useful. [1] https://syzkaller.appspot.com/bug?id=f1f49fb971d7a3e01bd8ab8cff2ff4572ccf3092 Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Sasha Levin <sashal@kernel.org> |
||
Yang Yang
|
450d03435c |
blk-mq: move cancel of hctx->run_work to the front of blk_exit_queue
[ Upstream commit 47ce030b7ac5a5259a9a5919f230b52497afc31a ]
blk_exit_queue will free elevator_data, while blk_mq_run_work_fn
will access it. Move cancel of hctx->run_work to the front of
blk_exit_queue to avoid use-after-free.
Fixes:
|
||
Greg Kroah-Hartman
|
53b9968c9b |
This is the 5.4.70 stable release
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAl99WdwACgkQONu9yGCS aT4X0hAAiyB6vsAHKTdVF+lDc2phpblY7ryi/Pe56X3ie+aqZqd/SjVQ4MhZ4lO1 p4JjUjHPByHon2DrMlvE4cVf45LF1qpu2qrGkes/WaLX4OgeAsWPq/i31aks4S7h JebCkX9UeVTLZMZ1beeqfRgsWUX75P8vhafyl5eLC5dJXzzL3G4V9Kz+LUKBuuHU FoEmJHab2olfk1G2wgb9xOlmkeKt1xLBbfW8grv5c4zWQexiXJc+6M8CsQVdErLe eK0XDbBcUMNpcCKFRyJ1NO/Y94Yui0YPQQziSHuSR+E+1PDd9roI+DbgInC82R9t aO0XTnt+9mqxpuYZNHhwa/KHOg/rv/t2Y4GFySOUwaOBGtGRWVRgJfH1AoZu+rdk OWamt8c5Uej8CpPtoXVLNblmnpPKavUd6dox8CyDGN/PPEsk0VoXvENZMjXaAA9Q L0AaKdHnk+JK5HCou5vuw1AhoItB/jbldU7qy7cprZXDS7tEuGXVldRJkU5yVWyI Z4/+ldQOAGSrgvEZz6DxxpQ/RJO1+ai/pJJXXcRu5JghlgnZHrrg1i2/EEMnCNy+ Kd/aXReVwiVX6wozrkOyeyymQaLe8wYeFWrc6vx0Z0L5cw7LVV7Oc0WflRXO0rq8 WN4qmmmL6URFwcVhHlaG8AHlaMfD/yawyb7bRIbxXwt2lHe5G1k= =JxXq -----END PGP SIGNATURE----- Merge 5.4.70 into android11-5.4-lts Changes in 5.4.70 btrfs: fix filesystem corruption after a device replace mmc: sdhci: Workaround broken command queuing on Intel GLK based IRBIS models USB: gadget: f_ncm: Fix NDP16 datagram validation gpio: siox: explicitly support only threaded irqs gpio: mockup: fix resource leak in error path gpio: tc35894: fix up tc35894 interrupt configuration clk: socfpga: stratix10: fix the divider for the emac_ptp_free_clk vsock/virtio: add transport parameter to the virtio_transport_reset_no_sock() net: virtio_vsock: Enhance connection semantics xfs: trim IO to found COW extent limit Input: i8042 - add nopnp quirk for Acer Aspire 5 A515 iio: adc: qcom-spmi-adc5: fix driver name ftrace: Move RCU is watching check after recursion check memstick: Skip allocating card when removing host drm/amdgpu: restore proper ref count in amdgpu_display_crtc_set_config clocksource/drivers/timer-gx6605s: Fixup counter reload libbpf: Remove arch-specific include path in Makefile drivers/net/wan/hdlc_fr: Add needed_headroom for PVC devices drm/sun4i: mixer: Extend regmap max_register net: dec: de2104x: Increase receive ring size for Tulip rndis_host: increase sleep time in the query-response loop nvme-core: get/put ctrl and transport module in nvme_dev_open/release() fuse: fix the ->direct_IO() treatment of iov_iter drivers/net/wan/lapbether: Make skb->protocol consistent with the header drivers/net/wan/hdlc: Set skb->protocol before transmitting mac80211: Fix radiotap header channel flag for 6GHz band mac80211: do not allow bigger VHT MPDUs than the hardware supports tracing: Make the space reserved for the pid wider tools/io_uring: fix compile breakage spi: fsl-espi: Only process interrupts for expected events nvme-pci: fix NULL req in completion handler nvme-fc: fail new connections to a deleted host or remote port gpio: sprd: Clear interrupt when setting the type as edge phy: ti: am654: Fix a leak in serdes_am654_probe() pinctrl: mvebu: Fix i2c sda definition for 98DX3236 nfs: Fix security label length not being reset clk: tegra: Always program PLL_E when enabled clk: samsung: exynos4: mark 'chipid' clock as CLK_IGNORE_UNUSED iommu/exynos: add missing put_device() call in exynos_iommu_of_xlate() gpio/aspeed-sgpio: enable access to all 80 input & output sgpios gpio/aspeed-sgpio: don't enable all interrupts by default gpio: aspeed: fix ast2600 bank properties i2c: cpm: Fix i2c_ram structure Input: trackpoint - enable Synaptics trackpoints scripts/dtc: only append to HOST_EXTRACFLAGS instead of overwriting random32: Restore __latent_entropy attribute on net_rand_state block/diskstats: more accurate approximation of io_ticks for slow disks mm: replace memmap_context by meminit_context mm: don't rely on system state to detect hot-plug operations nvme: Cleanup and rename nvme_block_nr() nvme: Introduce nvme_lba_to_sect() nvme: consolidate chunk_sectors settings epoll: do not insert into poll queues until all sanity checks are done epoll: replace ->visited/visited_list with generation count epoll: EPOLL_CTL_ADD: close the race in decision to take fast path ep_create_wakeup_source(): dentry name can change under you... netfilter: ctnetlink: add a range check for l3/l4 protonum Linux 5.4.70 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: Ic4aba5748f2156f83a29e1d0b637c31bbdc12370 |
||
Konstantin Khlebnikov
|
2334b2d5a2 |
block/diskstats: more accurate approximation of io_ticks for slow disks
commit 2b8bd423614c595540eaadcfbc702afe8e155e50 upstream.
Currently io_ticks is approximated by adding one at each start and end of
requests if jiffies counter has changed. This works perfectly for requests
shorter than a jiffy or if one of requests starts/ends at each jiffy.
If disk executes just one request at a time and they are longer than two
jiffies then only first and last jiffies will be accounted.
Fix is simple: at the end of request add up into io_ticks jiffies passed
since last update rather than just one jiffy.
Example: common HDD executes random read 4k requests around 12ms.
fio --name=test --filename=/dev/sdb --rw=randread --direct=1 --runtime=30 &
iostat -x 10 sdb
Note changes of iostat's "%util" 8,43% -> 99,99% before/after patch:
Before:
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sdb 0,00 0,00 82,60 0,00 330,40 0,00 8,00 0,96 12,09 12,09 0,00 1,02 8,43
After:
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sdb 0,00 0,00 82,50 0,00 330,00 0,00 8,00 1,00 12,10 12,10 0,00 12,12 99,99
Now io_ticks does not loose time between start and end of requests, but
for queue-depth > 1 some I/O time between adjacent starts might be lost.
For load estimation "%util" is not as useful as average queue length,
but it clearly shows how often disk queue is completely empty.
Fixes:
|
||
Keith Busch
|
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: |
||
Greg Kroah-Hartman
|
fbeb808e66 |
This is the 5.4.67 stable release
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAl9rJlYACgkQONu9yGCS
aT6WbRAAga6QVKrO6R4NeKk0fPqKQQoQeTK+phBOFA7jAoX/rIRKyob2Si9BwhBA
F77vZ6HIZ7+e/o35JJQYQbffbHYs0ANuS1oHGqe0vgbh+72Viaan6g7lFOhpx8qf
y0YS7q+hw4WLZB0gGlBM7nkPXRiis32IrEVabQW+t8hmT2lWyutY8E2yFAU60tvI
Tvjm2c2pvHEcHz9MrjEd/jIVxMFnIl42FBTx9bGsbDUCDzBwEvPArS4bNioP7EFJ
O+rrGCNvwtiv0DuKzX1UIZzQ88IROmU3ZjsIlgOwla7xJWv4QDgmPfyAyRI48QhH
PAZQmSntz+y+MP6B3z3ZBrxc2Fx0kCDtugn2P9+2RVUEpheANJ293vUgYTKN9Roy
dHdWHFWNTO9IYpIN0cZjc25db4ULdjerWQrKcCr6ZO8+Ep/0mSzx3lkWjfuUP8Hr
L2RD6rAm259OpPq8xhAcJpJvoQLwGxaBHyr4QYUmRgmNVURoqe9Q0MTZuiyGsXhm
rtcNky9WvmyyI1lJgXi4A+vmsIThCHEstEMycgTejfJ4itIVA9e1ctJVVomWULCn
9oNStBJpmHw0myDCohbKNjeO1UX/erdF9NaoGto5bnfIhcSae1YQEjRB8zKmzbg1
DpgC1f7IZ7q53vfrDGsAjInOcuEwAn/Y5JMLJOL4mdA9j3XlX2o=
=Ot99
-----END PGP SIGNATURE-----
Merge 5.4.67 into android11-5.4-lts
Changes in 5.4.67
gfs2: initialize transaction tr_ailX_lists earlier
RDMA/bnxt_re: Restrict the max_gids to 256
e1000e: Add support for Comet Lake
dsa: Allow forwarding of redirected IGMP traffic
net: handle the return value of pskb_carve_frag_list() correctly
hv_netvsc: Remove "unlikely" from netvsc_select_queue
firmware_loader: fix memory leak for paged buffer
NFSv4.1 handle ERR_DELAY error reclaiming locking state on delegation recall
scsi: pm8001: Fix memleak in pm8001_exec_internal_task_abort
scsi: libfc: Fix for double free()
scsi: lpfc: Fix FLOGI/PLOGI receive race condition in pt2pt discovery
regulator: pwm: Fix machine constraints application
spi: spi-loopback-test: Fix out-of-bounds read
NFS: Zero-stateid SETATTR should first return delegation
SUNRPC: stop printk reading past end of string
rapidio: Replace 'select' DMAENGINES 'with depends on'
cifs: fix DFS mount with cifsacl/modefromsid
openrisc: Fix cache API compile issue when not inlining
nvme-fc: cancel async events before freeing event struct
nvme-rdma: cancel async events before freeing event struct
nvme-tcp: cancel async events before freeing event struct
block: only call sched requeue_request() for scheduled requests
f2fs: fix indefinite loop scanning for free nid
f2fs: Return EOF on unaligned end of file DIO read
i2c: algo: pca: Reapply i2c bus settings after reset
spi: Fix memory leak on splited transfers
KVM: MIPS: Change the definition of kvm type
clk: davinci: Use the correct size when allocating memory
clk: rockchip: Fix initialization of mux_pll_src_4plls_p
ASoC: qcom: Set card->owner to avoid warnings
ASoC: qcom: common: Fix refcount imbalance on error
powerpc/book3s64/radix: Fix boot failure with large amount of guest memory
ASoC: meson: axg-toddr: fix channel order on g12 platforms
Drivers: hv: vmbus: hibernation: do not hang forever in vmbus_bus_resume()
scsi: libsas: Fix error path in sas_notify_lldd_dev_found()
arm64: Allow CPUs unffected by ARM erratum
|
||
Omar Sandoval
|
7f07bbf9bc |
block: only call sched requeue_request() for scheduled requests
[ Upstream commit e8a8a185051a460e3eb0617dca33f996f4e31516 ] Yang Yang reported the following crash caused by requeueing a flush request in Kyber: [ 2.517297] Unable to handle kernel paging request at virtual address ffffffd8071c0b00 ... [ 2.517468] pc : clear_bit+0x18/0x2c [ 2.517502] lr : sbitmap_queue_clear+0x40/0x228 [ 2.517503] sp : ffffff800832bc60 pstate : 00c00145 ... [ 2.517599] Process ksoftirqd/5 (pid: 51, stack limit = 0xffffff8008328000) [ 2.517602] Call trace: [ 2.517606] clear_bit+0x18/0x2c [ 2.517619] kyber_finish_request+0x74/0x80 [ 2.517627] blk_mq_requeue_request+0x3c/0xc0 [ 2.517637] __scsi_queue_insert+0x11c/0x148 [ 2.517640] scsi_softirq_done+0x114/0x130 [ 2.517643] blk_done_softirq+0x7c/0xb0 [ 2.517651] __do_softirq+0x208/0x3bc [ 2.517657] run_ksoftirqd+0x34/0x60 [ 2.517663] smpboot_thread_fn+0x1c4/0x2c0 [ 2.517667] kthread+0x110/0x120 [ 2.517669] ret_from_fork+0x10/0x18 This happens because Kyber doesn't track flush requests, so kyber_finish_request() reads a garbage domain token. Only call the scheduler's requeue_request() hook if RQF_ELVPRIV is set (like we do for the finish_request() hook in blk_mq_free_request()). Now that we're handling it in blk-mq, also remove the check from BFQ. Reported-by: Yang Yang <yang.yang@vivo.com> Signed-off-by: Omar Sandoval <osandov@fb.com> Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Sasha Levin <sashal@kernel.org> |
||
Greg Kroah-Hartman
|
22cb1b9ceb |
This is the 5.4.66 stable release
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAl9jToQACgkQONu9yGCS aT7abRAAieOxiSqzUwek0llfhVPbTJTvbGLqbIUREOz9wyoAKhOSoz6kgqYdFKtB RlgmpuUcuZ/tsUXD8SUtjxdhEpJWBT9Gqj56yTG5ncScd+aAV9DJn8MzUAoGi47t x33TUZ+7Xab018dt111IAD9SkYLJfe8rtJLVobeQTtKdggoEG6mvEwhoquur5CHd 2NdF+sW8f5eY+oa8qGJ9hywVlH9szqSnJjF5PdzG5A2fRtmjlwn+ZWuifNAH1wNy /KOgzxNuWnpU5apSWTkTEAv2uqePlHNlnj9XeUNKYoMhXUW2dOD9GCj8YdZSK7fv 6KvX5Ke3NEG+zo78ue8OaxWhzoZXh0cjfzq4krOhZGF0w8+AF3GDG3Z6EunLhxQa lXn/VNcZkHy0nOQ5qQE0LZUw7bZdYMIEdnI/N2cpRuGbtMfHFROJ53hqC/IpCcFE q6YB/zB2BhV/OinM1wgOTmAiI5s+7HBdwoautrpbCG0hSLm/NqpQY2o175ffgYhJ UDHx8L6khNe1D3b6i6ePKWibA3JWdatUUqIdJ/WAgHbYs6HFq0rpCCAYNf4lY4kn zI7qIck6Jd9Y0xWwTdxV215pWwLhGpNWhG96JqocRixtoDNbbB8PEs/qvqWuLYLl S2/zZ29fD3bwBbeUxZKdZGn7dVYxs5nqnOARkqNdR6dgrN1DSo4= =+jhc -----END PGP SIGNATURE----- Merge 5.4.66 into android11-5.4-lts Changes in 5.4.66 ARM: dts: logicpd-torpedo-baseboard: Fix broken audio ARM: dts: logicpd-som-lv-baseboard: Fix broken audio ARM: dts: logicpd-som-lv-baseboard: Fix missing video regulator: push allocation in regulator_ena_gpio_request() out of lock regulator: remove superfluous lock in regulator_resolve_coupling() ARM: dts: socfpga: fix register entry for timer3 on Arria10 selftests/timers: Turn off timeout setting ARM: dts: ls1021a: fix QuadSPI-memory reg range ARM: dts: imx7ulp: Correct gpio ranges RDMA/rxe: Fix memleak in rxe_mem_init_user RDMA/rxe: Drop pointless checks in rxe_init_ports RDMA/rxe: Fix panic when calling kmem_cache_create() RDMA/bnxt_re: Do not report transparent vlan from QP1 drm/sun4i: add missing put_device() call in sun8i_r40_tcon_tv_set_mux() arm64: dts: imx8mq: Fix TMU interrupt property drm/sun4i: Fix dsi dcs long write function iio: adc: mcp3422: fix locking on error path iio: adc: mcp3422: fix locking scope scsi: libsas: Set data_dir as DMA_NONE if libata marks qc as NODATA RDMA/core: Fix reported speed and width scsi: megaraid_sas: Don't call disable_irq from process IRQ poll scsi: mpt3sas: Don't call disable_irq from IRQ poll handler soundwire: fix double free of dangling pointer drm/sun4i: backend: Support alpha property on lowest plane drm/sun4i: backend: Disable alpha on the lowest plane on the A20 mmc: sdhci-acpi: Clear amd_sdhci_host on reset mmc: sdhci-msm: Add retries when all tuning phases are found valid spi: stm32: Rate-limit the 'Communication suspended' message nvme-fabrics: allow to queue requests for live queues spi: stm32: fix pm_runtime_get_sync() error checking block: Set same_page to false in __bio_try_merge_page if ret is false IB/isert: Fix unaligned immediate-data handling ARM: dts: bcm: HR2: Fixed QSPI compatible string ARM: dts: NSP: Fixed QSPI compatible string ARM: dts: BCM5301X: Fixed QSPI compatible string arm64: dts: ns2: Fixed QSPI compatible string ARC: HSDK: wireup perf irq dmaengine: acpi: Put the CSRT table after using it netfilter: conntrack: allow sctp hearbeat after connection re-use drivers/net/wan/lapbether: Added needed_tailroom NFC: st95hf: Fix memleak in st95hf_in_send_cmd firestream: Fix memleak in fs_open ALSA: hda: Fix 2 channel swapping for Tegra ALSA: hda/tegra: Program WAKEEN register for Tegra drivers/dma/dma-jz4780: Fix race condition between probe and irq handler net: hns3: Fix for geneve tx checksum bug xfs: fix off-by-one in inode alloc block reservation calculation drivers/net/wan/lapbether: Set network_header before transmitting cfg80211: Adjust 6 GHz frequency to channel conversion xfs: initialize the shortform attr header padding entry irqchip/eznps: Fix build error for !ARC700 builds nvmet-tcp: Fix NULL dereference when a connect data comes in h2cdata pdu nvme-fabrics: don't check state NVME_CTRL_NEW for request acceptance nvme: have nvme_wait_freeze_timeout return if it timed out nvme-tcp: serialize controller teardown sequences nvme-tcp: fix timeout handler nvme-tcp: fix reset hang if controller died in the middle of a reset nvme-rdma: serialize controller teardown sequences nvme-rdma: fix timeout handler nvme-rdma: fix reset hang if controller died in the middle of a reset nvme-pci: cancel nvme device request before disabling HID: quirks: Set INCREMENT_USAGE_ON_DUPLICATE for all Saitek X52 devices HID: microsoft: Add rumble support for the 8bitdo SN30 Pro+ controller drivers/net/wan/hdlc_cisco: Add hard_header_len HID: elan: Fix memleak in elan_input_configured ARC: [plat-hsdk]: Switch ethernet phy-mode to rgmii-id cpufreq: intel_pstate: Refuse to turn off with HWP enabled cpufreq: intel_pstate: Fix intel_pstate_get_hwp_max() for turbo disabled arm64/module: set trampoline section flags regardless of CONFIG_DYNAMIC_FTRACE ALSA: hda: hdmi - add Rocketlake support ALSA: hda: fix a runtime pm issue in SOF when integrated GPU is disabled drm/amdgpu: Fix bug in reporting voltage for CIK iommu/amd: Do not use IOMMUv2 functionality when SME is active gcov: Disable gcov build with GCC 10 iio: adc: ti-ads1015: fix conversion when CONFIG_PM is not set iio: cros_ec: Set Gyroscope default frequency to 25Hz iio:light:ltr501 Fix timestamp alignment issue. iio:proximity:mb1232: Fix timestamp alignment and prevent data leak. iio:accel:bmc150-accel: Fix timestamp alignment and prevent data leak. iio:adc:ti-adc084s021 Fix alignment and data leak issues. iio:adc:ina2xx Fix timestamp alignment issue. iio:adc:max1118 Fix alignment of timestamp and data leak issues iio:adc:ti-adc081c Fix alignment and data leak issues iio:magnetometer:ak8975 Fix alignment and data leak issues. iio:light:max44000 Fix timestamp alignment and prevent data leak. iio:chemical:ccs811: Fix timestamp alignment and prevent data leak. iio: accel: kxsd9: Fix alignment of local buffer. iio:accel:mma7455: Fix timestamp alignment and prevent data leak. iio:accel:mma8452: Fix timestamp alignment and prevent data leak. staging: wlan-ng: fix out of bounds read in prism2sta_probe_usb() btrfs: require only sector size alignment for parent eb bytenr btrfs: fix lockdep splat in add_missing_dev btrfs: fix wrong address when faulting in pages in the search ioctl kobject: Restore old behaviour of kobject_del(NULL) regulator: push allocation in regulator_init_coupling() outside of lock regulator: push allocations in create_regulator() outside of lock regulator: push allocation in set_consumer_device_supply() out of lock regulator: plug of_node leak in regulator_register()'s error path regulator: core: Fix slab-out-of-bounds in regulator_unlock_recursive() scsi: target: iscsi: Fix data digest calculation scsi: target: iscsi: Fix hang in iscsit_access_np() when getting tpg->np_login_sem drm/i915/gvt: do not check len & max_len for lri drm/tve200: Stabilize enable/disable drm/msm: Disable preemption on all 5xx targets mmc: sdio: Use mmc_pre_req() / mmc_post_req() mmc: sdhci-of-esdhc: Don't walk device-tree on every interrupt rbd: require global CAP_SYS_ADMIN for mapping and unmapping RDMA/rxe: Fix the parent sysfs read when the interface has 15 chars RDMA/mlx4: Read pkey table length instead of hardcoded value fbcon: remove soft scrollback code fbcon: remove now unusued 'softback_lines' cursor() argument vgacon: remove software scrollback support KVM: VMX: Don't freeze guest when event delivery causes an APIC-access exit KVM: arm64: Do not try to map PUDs when they are folded into PMD KVM: fix memory leak in kvm_io_bus_unregister_dev() debugfs: Fix module state check condition ARM: dts: vfxxx: Add syscon compatible with OCOTP video: fbdev: fix OOB read in vga_8planes_imageblit() staging: greybus: audio: fix uninitialized value issue phy: qcom-qmp: Use correct values for ipq8074 PCIe Gen2 PHY init usb: core: fix slab-out-of-bounds Read in read_descriptors USB: serial: ftdi_sio: add IDs for Xsens Mti USB converter USB: serial: option: support dynamic Quectel USB compositions USB: serial: option: add support for SIM7070/SIM7080/SIM7090 modules usb: Fix out of sync data toggle if a configured device is reconfigured usb: typec: ucsi: acpi: Check the _DEP dependencies drm/msm/gpu: make ringbuffer readonly drm/msm: Disable the RPTR shadow gcov: add support for GCC 10.1 Linux 5.4.66 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: Ifa7bfefdcc41ca96db46022f997367d5cc2039d1 |
||
Ritesh Harjani
|
6736317f35 |
block: Set same_page to false in __bio_try_merge_page if ret is false
[ Upstream commit 2cd896a5e86fc326bda8614b96c0401dcc145868 ] If we hit the UINT_MAX limit of bio->bi_iter.bi_size and so we are anyway not merging this page in this bio, then it make sense to make same_page also as false before returning. Without this patch, we hit below WARNING in iomap. This mostly happens with very large memory system and / or after tweaking vm dirty threshold params to delay writeback of dirty data. WARNING: CPU: 18 PID: 5130 at fs/iomap/buffered-io.c:74 iomap_page_release+0x120/0x150 CPU: 18 PID: 5130 Comm: fio Kdump: loaded Tainted: G W 5.8.0-rc3 #6 Call Trace: __remove_mapping+0x154/0x320 (unreliable) iomap_releasepage+0x80/0x180 try_to_release_page+0x94/0xe0 invalidate_inode_page+0xc8/0x110 invalidate_mapping_pages+0x1dc/0x540 generic_fadvise+0x3c8/0x450 xfs_file_fadvise+0x2c/0xe0 [xfs] vfs_fadvise+0x3c/0x60 ksys_fadvise64_64+0x68/0xe0 sys_fadvise64+0x28/0x40 system_call_exception+0xf8/0x1c0 system_call_common+0xf0/0x278 Fixes: cc90bc68422 ("block: fix "check bi_size overflow before merge"") Reported-by: Shivaprasad G Bhat <sbhat@linux.ibm.com> Suggested-by: Christoph Hellwig <hch@infradead.org> Signed-off-by: Anju T Sudhakar <anju@linux.vnet.ibm.com> Signed-off-by: Ritesh Harjani <riteshh@linux.ibm.com> Reviewed-by: Ming Lei <ming.lei@redhat.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Sasha Levin <sashal@kernel.org> |
||
Pradeep P V K
|
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> |
||
Greg Kroah-Hartman
|
a3775e2a89 |
This is the 5.4.64 stable release
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAl9ZDSIACgkQONu9yGCS aT5GkA/+I3VF/vpyQXLEY3lCOxUPWsbsU+NTx5x6g4ujFLPzzXISvxaQT3FdyTez 73nRDbEUwGX8b1Ruylg6PoRjNAilwvYB8gS/4TVxJQ/VtIyG7uFqjDK7vuGJT5xW +Pf+PSoJjJLfQfu6TzSZwMit5K8wfTk4egESeZ7KUH3IsLvlNs4Xegkpm1pkl8nZ jb3FT5vTPd425Qld6odkfVTj0QJ8JniL8U54YTBXjw6uEMRGsjMGsy91gXNQbgjf fhhhRrpFhnDE9rJFtLEVaXUbQ2j3+mjS5lSH/2erpXO+U19yeNLElwpltnHPFrJF vDjkvlWdoQKs1+JXNzVQZF9H+omQbTcU8gcRB+s8EbSV2+bcpIdNeas00GaumJW1 l6660A74mKPN4Vii5YioD9GcsJHgKRkbgJkoxu7QnegiHGoHTfToNVgwz2bQgT34 JXbZXyhfLOTR5zpczJ3gyBHX+Va3dyHJypyRMgvgyvDW+TZS9By8iAaqXs14eGjG 8nm5dlaiZyAeburIUyi8vFZZT/5BA42b1xyUZcduKmqlMjRu9fxCHlBCwj5rjcy5 Psin0EYZcwOtA4mKzIH+w1ZB0qsPLYtLYQZaJzPUsUfzoNvYtU7pbQZEVLtUPMf4 5MbOPLjT+aki4TGQOR+et29kusapeLEfrc3SgfLwYODmDXmR3cE= =N3oJ -----END PGP SIGNATURE----- Merge 5.4.64 into android11-5.4-lts Changes in 5.4.64 HID: quirks: Always poll three more Lenovo PixArt mice drm/msm/dpu: Fix scale params in plane validation tty: serial: qcom_geni_serial: Drop __init from qcom_geni_console_setup drm/msm: add shutdown support for display platform_driver hwmon: (applesmc) check status earlier. nvmet: Disable keep-alive timer when kato is cleared to 0h drm/msm: enable vblank during atomic commits habanalabs: validate FW file size habanalabs: check correct vmalloc return code drm/msm/a6xx: fix gmu start on newer firmware ceph: don't allow setlease on cephfs drm/omap: fix incorrect lock state cpuidle: Fixup IRQ state nbd: restore default timeout when setting it to zero s390: don't trace preemption in percpu macros drm/amd/display: Reject overlay plane configurations in multi-display scenarios drivers: gpu: amd: Initialize amdgpu_dm_backlight_caps object to 0 in amdgpu_dm_update_backlight_caps drm/amd/display: Retry AUX write when fail occurs drm/amd/display: Fix memleak in amdgpu_dm_mode_config_init xen/xenbus: Fix granting of vmalloc'd memory fsldma: fix very broken 32-bit ppc ioread64 functionality dmaengine: of-dma: Fix of_dma_router_xlate's of_dma_xlate handling batman-adv: Avoid uninitialized chaddr when handling DHCP batman-adv: Fix own OGM check in aggregated OGMs batman-adv: bla: use netif_rx_ni when not in interrupt context dmaengine: at_hdmac: check return value of of_find_device_by_node() in at_dma_xlate() rxrpc: Keep the ACK serial in a var in rxrpc_input_ack() rxrpc: Make rxrpc_kernel_get_srtt() indicate validity MIPS: mm: BMIPS5000 has inclusive physical caches MIPS: BMIPS: Also call bmips_cpu_setup() for secondary cores mmc: sdhci-acpi: Fix HS400 tuning for AMDI0040 netfilter: nf_tables: add NFTA_SET_USERDATA if not null netfilter: nf_tables: incorrect enum nft_list_attributes definition netfilter: nf_tables: fix destination register zeroing net: hns: Fix memleak in hns_nic_dev_probe net: systemport: Fix memleak in bcm_sysport_probe ravb: Fixed to be able to unload modules net: arc_emac: Fix memleak in arc_mdio_probe dmaengine: pl330: Fix burst length if burst size is smaller than bus width gtp: add GTPA_LINK info to msg sent to userspace net: ethernet: ti: cpsw: fix clean up of vlan mc entries for host port bnxt_en: Don't query FW when netif_running() is false. bnxt_en: Check for zero dir entries in NVRAM. bnxt_en: Fix PCI AER error recovery flow bnxt_en: Fix possible crash in bnxt_fw_reset_task(). bnxt_en: fix HWRM error when querying VF temperature xfs: fix boundary test in xfs_attr_shortform_verify bnxt: don't enable NAPI until rings are ready media: vicodec: add missing v4l2_ctrl_request_hdl_put() media: cedrus: Add missing v4l2_ctrl_request_hdl_put() selftests/bpf: Fix massive output from test_maps net: dsa: mt7530: fix advertising unsupported 1000baseT_Half netfilter: nfnetlink: nfnetlink_unicast() reports EAGAIN instead of ENOBUFS nvmet-fc: Fix a missed _irqsave version of spin_lock in 'nvmet_fc_fod_op_done()' nvme: fix controller instance leak cxgb4: fix thermal zone device registration perf tools: Correct SNOOPX field offset net: ethernet: mlx4: Fix memory allocation in mlx4_buddy_init() fix regression in "epoll: Keep a reference on files added to the check list" net: gemini: Fix another missing clk_disable_unprepare() in probe MIPS: add missing MSACSR and upper MSA initialization xfs: fix xfs_bmap_validate_extent_raw when checking attr fork of rt files perf jevents: Fix suspicious code in fixregex() tg3: Fix soft lockup when tg3_reset_task() fails. x86, fakenuma: Fix invalid starting node ID iommu/vt-d: Serialize IOMMU GCMD register modifications thermal: ti-soc-thermal: Fix bogus thermal shutdowns for omap4430 thermal: qcom-spmi-temp-alarm: Don't suppress negative temp iommu/amd: Restore IRTE.RemapEn bit after programming IRTE net/packet: fix overflow in tpacket_rcv include/linux/log2.h: add missing () around n in roundup_pow_of_two() vfio/type1: Support faulting PFNMAP vmas vfio-pci: Fault mmaps to enable vma tracking vfio-pci: Invalidate mmaps and block MMIO access on disabled memory iommu/vt-d: Handle 36bit addressing for x86-32 tracing/kprobes, x86/ptrace: Fix regs argument order for i386 ext2: don't update mtime on COW faults xfs: don't update mtime on COW faults ARC: perf: don't bail setup if pct irq missing in device-tree btrfs: drop path before adding new uuid tree entry btrfs: allocate scrub workqueues outside of locks btrfs: set the correct lockdep class for new nodes btrfs: set the lockdep class for log tree extent buffers btrfs: tree-checker: fix the error message for transid error net: core: use listified Rx for GRO_NORMAL in napi_gro_receive() btrfs: fix potential deadlock in the search ioctl Revert "net: dsa: microchip: set the correct number of ports" Revert "ALSA: hda: Add support for Loongson 7A1000 controller" ALSA: ca0106: fix error code handling ALSA: usb-audio: Add implicit feedback quirk for UR22C ALSA: pcm: oss: Remove superfluous WARN_ON() for mulaw sanity check ALSA: hda/hdmi: always check pin power status in i915 pin fixup ALSA: firewire-digi00x: exclude Avid Adrenaline from detection ALSA: hda - Fix silent audio output and corrupted input on MSI X570-A PRO ALSA; firewire-tascam: exclude Tascam FE-8 from detection ALSA: hda/realtek: Add quirk for Samsung Galaxy Book Ion NT950XCJ-X716A ALSA: hda/realtek - Improved routing for Thinkpad X1 7th/8th Gen arm64: dts: mt7622: add reset node for mmc device mmc: mediatek: add optional module reset property mmc: dt-bindings: Add resets/reset-names for Mediatek MMC bindings mmc: cqhci: Add cqhci_deactivate() mmc: sdhci-pci: Fix SDHCI_RESET_ALL for CQHCI for Intel GLK-based controllers media: rc: do not access device via sysfs after rc_unregister_device() media: rc: uevent sysfs file races with rc_unregister_device() affs: fix basic permission bits to actually work block: allow for_each_bvec to support zero len bvec block: ensure bdi->io_pages is always initialized libata: implement ATA_HORKAGE_MAX_TRIM_128M and apply to Sandisks blk-iocost: ioc_pd_free() shouldn't assume irq disabled dmaengine: dw-edma: Fix scatter-gather address calculation drm/amd/pm: avoid false alarm due to confusing softwareshutdowntemp setting dm writecache: handle DAX to partitions on persistent memory correctly dm mpath: fix racey management of PG initialization dm integrity: fix error reporting in bitmap mode after creation dm crypt: Initialize crypto wait structures dm cache metadata: Avoid returning cmd->bm wild pointer on error dm thin metadata: Avoid returning cmd->bm wild pointer on error dm thin metadata: Fix use-after-free in dm_bm_set_read_only mm: slub: fix conversion of freelist_corrupted() mm: madvise: fix vma user-after-free vfio/pci: Fix SR-IOV VF handling with MMIO blocking perf record: Correct the help info of option "--no-bpf-event" sdhci: tegra: Add missing TMCLK for data timeout checkpatch: fix the usage of capture group ( ... ) mm/hugetlb: fix a race between hugetlb sysctl handlers mm/khugepaged.c: fix khugepaged's request size in collapse_file cfg80211: regulatory: reject invalid hints net: usb: Fix uninit-was-stored issue in asix_read_phy_addr() Linux 5.4.64 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: I34f83b15e9f9a59529f8d67a434577becf25d1a6 |
||
Greg Kroah-Hartman
|
7ea7cc9f8b |
This is the 5.4.62 stable release
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAl9Qtz8ACgkQONu9yGCS aT7xMw/9H2aAnbYRKpq4NX95OcfujmE1S4zv99TGOus2SPO+C6JiAo4WE40OYfWj H4q2XKa2jAKAvxLwf5zfUKdWNTqTpz+9NiCeF7QUEbGZ+fj7d39s1Quo6KNhCfUX pyQX7oa9nsaIbwzCz5RB0AqRGVzTMwh4lGdhtxTQfl/LMYWtub9UOkUvWimxlO5i bWqiqIOZWOzIoPj9KHEOg4KsE6L5D69PjfT2M/qfuOd4TWUw5i1Dv2ckRG1A5r3H q8oGrNwgMcco1mpC7lG0IZteNfNZHZqVeOGVdF54HsY+tpLBE9G6HbvfDQknyOPy BP3zBcPovWz3S2wRwHyZHjJdQdIprWW+zwikVoqMbTXt8VkNh0qXDgrfScEn6Fah hi6oOYvKOCb9YlD6IH7zfvZJzwRdmhIV26dztk1vI51dyvWUh+lmeWuFeGWCYUy6 PYc9O1RjpzZqNezdHz4ZoueX+4G63fXJ1pTwYhReS4Wj7AYTqUgwIV+ZYKcTmmuD bXiWzQXt+4sbR2Mhah5E9wdJlIOc46i+ui6VEUxqZBq8UH0t5C8xxTjO61EAtd4F vlfs57jI8/VwWMxUPI4Qni933h1B4zBUlhvTqK7W0QQgEUsO6mIQQB5bDy0A0HOT 3lImaFt4f+HI7vEltqE1qds1IXK7c0HvFbGC1fRI1ZdS0VdUiY8= =F1JD -----END PGP SIGNATURE----- Merge 5.4.62 into android11-5.4-lts Changes in 5.4.62 powerpc/64s: Don't init FSCR_DSCR in __init_FSCR() binfmt_flat: revert "binfmt_flat: don't offset the data start" gre6: Fix reception with IP6_TNL_F_RCV_DSCP_COPY net: Fix potential wrong skb->protocol in skb_vlan_untag() net: nexthop: don't allow empty NHA_GROUP net: qrtr: fix usage of idr in port assignment to socket net: sctp: Fix negotiation of the number of data streams. net/smc: Prevent kernel-infoleak in __smc_diag_dump() tipc: fix uninit skb->data in tipc_nl_compat_dumpit() net: ena: Make missed_tx stat incremental net/sched: act_ct: Fix skb double-free in tcf_ct_handle_fragments() error flow ipvlan: fix device features ALSA: hda/hdmi: Add quirk to force connectivity ALSA: pci: delete repeated words in comments ALSA: hda/realtek: Fix pin default on Intel NUC 8 Rugged ALSA: hda/hdmi: Use force connectivity quirk on another HP desktop ASoC: img: Fix a reference count leak in img_i2s_in_set_fmt ASoC: img-parallel-out: Fix a reference count leak ASoC: tegra: Fix reference count leaks. mfd: intel-lpss: Add Intel Emmitsburg PCH PCI IDs arm64: dts: qcom: msm8916: Pull down PDM GPIOs during sleep powerpc/xive: Ignore kmemleak false positives media: pci: ttpci: av7110: fix possible buffer overflow caused by bad DMA value in debiirq() blktrace: ensure our debugfs dir exists scsi: target: tcmu: Fix crash on ARM during cmd completion mfd: intel-lpss: Add Intel Tiger Lake PCH-H PCI IDs iommu/iova: Don't BUG on invalid PFNs drm/amdkfd: Fix reference count leaks. drm/radeon: fix multiple reference count leak drm/amdgpu: fix ref count leak in amdgpu_driver_open_kms drm/amd/display: fix ref count leak in amdgpu_drm_ioctl drm/amdgpu: fix ref count leak in amdgpu_display_crtc_set_config drm/amdgpu/display: fix ref count leak when pm_runtime_get_sync fails scsi: lpfc: Fix shost refcount mismatch when deleting vport xfs: Don't allow logging of XFS_ISTALE inodes scsi: target: Fix xcopy sess release leak selftests/powerpc: Purge extra count_pmc() calls of ebb selftests f2fs: fix error path in do_recover_data() omapfb: fix multiple reference count leaks due to pm_runtime_get_sync PCI: Fix pci_create_slot() reference count leak ARM: dts: ls1021a: output PPS signal on FIPER2 rtlwifi: rtl8192cu: Prevent leaking urb mips/vdso: Fix resource leaks in genvdso.c ALSA: hda: Add support for Loongson 7A1000 controller cec-api: prevent leaking memory through hole in structure HID: quirks: add NOGET quirk for Logitech GROUP f2fs: fix use-after-free issue drm/nouveau/drm/noveau: fix reference count leak in nouveau_fbcon_open drm/nouveau: fix reference count leak in nv50_disp_atomic_commit drm/nouveau: Fix reference count leak in nouveau_connector_detect locking/lockdep: Fix overflow in presentation of average lock-time btrfs: file: reserve qgroup space after the hole punch range is locked btrfs: make btrfs_qgroup_check_reserved_leak take btrfs_inode scsi: iscsi: Do not put host in iscsi_set_flashnode_param() ceph: fix potential mdsc use-after-free crash ceph: do not access the kiocb after aio requests scsi: fcoe: Memory leak fix in fcoe_sysfs_fcf_del() EDAC/ie31200: Fallback if host bridge device is already initialized hugetlbfs: prevent filesystem stacking of hugetlbfs media: davinci: vpif_capture: fix potential double free KVM: arm64: Fix symbol dependency in __hyp_call_panic_nvhe powerpc/spufs: add CONFIG_COREDUMP dependency USB: sisusbvga: Fix a potential UB casued by left shifting a negative value brcmfmac: Set timeout value when configuring power save efi: provide empty efi_enter_virtual_mode implementation arm64: Fix __cpu_logical_map undefined issue Revert "ath10k: fix DMA related firmware crashes on multiple devices" sched/uclamp: Protect uclamp fast path code with static key sched/uclamp: Fix a deadlock when enabling uclamp static key usb: cdns3: gadget: always zeroed TRB buffer when enable endpoint PM / devfreq: rk3399_dmc: Add missing of_node_put() PM / devfreq: rk3399_dmc: Disable devfreq-event device when fails PM / devfreq: rk3399_dmc: Fix kernel oops when rockchip,pmu is absent drm/xen: fix passing zero to 'PTR_ERR' warning drm/xen-front: Fix misused IS_ERR_OR_NULL checks s390/numa: set node distance to LOCAL_DISTANCE btrfs: factor out inode items copy loop from btrfs_log_inode() btrfs: only commit the delayed inode when doing a full fsync btrfs: only commit delayed items at fsync if we are logging a directory mm/shuffle: don't move pages between zones and don't read garbage memmaps mm: fix kthread_use_mm() vs TLB invalidate mm/cma.c: switch to bitmap_zalloc() for cma bitmap allocation cma: don't quit at first error when activating reserved areas gpu/drm: ingenic: Use the plane's src_[x,y] to configure DMA length drm/ingenic: Fix incorrect assumption about plane->index drm/amd/display: Trigger modesets on MST DSC connectors drm/amd/display: Add additional config guards for DCN drm/amd/display: Fix dmesg warning from setting abm level mm/vunmap: add cond_resched() in vunmap_pmd_range EDAC: sb_edac: get rid of unused vars EDAC: skx_common: get rid of unused type var EDAC/{i7core,sb,pnd2,skx}: Fix error event severity PCI: qcom: Add missing ipq806x clocks in PCIe driver PCI: qcom: Change duplicate PCI reset to phy reset PCI: qcom: Add missing reset for ipq806x cpufreq: intel_pstate: Fix EPP setting via sysfs in active mode ALSA: usb-audio: Add capture support for Saffire 6 (USB 1.1) media: gpio-ir-tx: improve precision of transmitted signal due to scheduling block: respect queue limit of max discard segment block: virtio_blk: fix handling single range discard request drm/msm/adreno: fix updating ring fence block: Fix page_is_mergeable() for compound pages bfq: fix blkio cgroup leakage v4 hwmon: (nct7904) Correct divide by 0 blk-mq: insert request not through ->queue_rq into sw/scheduler queue blkcg: fix memleak for iolatency nvme-fc: Fix wrong return value in __nvme_fc_init_request() nvme: multipath: round-robin: fix single non-optimized path case null_blk: fix passing of REQ_FUA flag in null_handle_rq i2c: core: Don't fail PRP0001 enumeration when no ID table exist i2c: rcar: in slave mode, clear NACK earlier usb: gadget: f_tcm: Fix some resource leaks in some error paths spi: stm32: clear only asserted irq flags on interrupt jbd2: make sure jh have b_transaction set in refile/unfile_buffer ext4: don't BUG on inconsistent journal feature ext4: handle read only external journal device jbd2: abort journal if free a async write error metadata buffer ext4: handle option set by mount flags correctly ext4: handle error of ext4_setup_system_zone() on remount ext4: correctly restore system zone info when remount fails fs: prevent BUG_ON in submit_bh_wbc() spi: stm32h7: fix race condition at end of transfer spi: stm32: fix fifo threshold level in case of short transfer spi: stm32: fix stm32_spi_prepare_mbr in case of odd clk_rate spi: stm32: always perform registers configuration prior to transfer drm/amd/powerplay: correct Vega20 cached smu feature state drm/amd/powerplay: correct UVD/VCE PG state on custom pptable uploading drm/amd/display: Switch to immediate mode for updating infopackets netfilter: avoid ipv6 -> nf_defrag_ipv6 module dependency can: j1939: transport: j1939_xtp_rx_dat_one(): compare own packets to detect corruptions ALSA: hda/realtek: Add model alc298-samsung-headphone s390/cio: add cond_resched() in the slow_eval_known_fn() loop ASoC: wm8994: Avoid attempts to read unreadable registers selftests: disable rp_filter for icmp_redirect.sh scsi: fcoe: Fix I/O path allocation scsi: ufs: Fix possible infinite loop in ufshcd_hold scsi: ufs: Improve interrupt handling for shared interrupts scsi: ufs: Clean up completed request without interrupt notification scsi: qla2xxx: Fix login timeout scsi: qla2xxx: Check if FW supports MQ before enabling scsi: qla2xxx: Fix null pointer access during disconnect from subsystem Revert "scsi: qla2xxx: Fix crash on qla2x00_mailbox_command" macvlan: validate setting of multiple remote source MAC addresses net: gianfar: Add of_node_put() before goto statement powerpc/perf: Fix soft lockups due to missed interrupt accounting arm64: Move handling of erratum |
||
Tejun Heo
|
9f4ab0172e |
blk-iocost: ioc_pd_free() shouldn't assume irq disabled
commit 5aeac7c4b16069aae49005f0a8d4526baa83341b upstream.
ioc_pd_free() grabs irq-safe ioc->lock without ensuring that irq is disabled
when it can be called with irq disabled or enabled. This has a small chance
of causing A-A deadlocks and triggers lockdep splats. Use irqsave operations
instead.
Signed-off-by: Tejun Heo <tj@kernel.org>
Fixes:
|
||
Jens Axboe
|
5f5f272281 |
block: ensure bdi->io_pages is always initialized
commit de1b0ee490eafdf65fac9eef9925391a8369f2dc upstream.
If a driver leaves the limit settings as the defaults, then we don't
initialize bdi->io_pages. This means that file systems may need to
work around bdi->io_pages == 0, which is somewhat messy.
Initialize the default value just like we do for ->ra_pages.
Cc: stable@vger.kernel.org
Fixes:
|
||
Ming Lei
|
b1a83ee0cb |
blk-mq: order adding requests to hctx->dispatch and checking SCHED_RESTART
commit d7d8535f377e9ba87edbf7fbbd634ac942f3f54f upstream.
SCHED_RESTART code path is relied to re-run queue for dispatch requests
in hctx->dispatch. Meantime the SCHED_RSTART flag is checked when adding
requests to hctx->dispatch.
memory barriers have to be used for ordering the following two pair of OPs:
1) adding requests to hctx->dispatch and checking SCHED_RESTART in
blk_mq_dispatch_rq_list()
2) clearing SCHED_RESTART and checking if there is request in hctx->dispatch
in blk_mq_sched_restart().
Without the added memory barrier, either:
1) blk_mq_sched_restart() may miss requests added to hctx->dispatch meantime
blk_mq_dispatch_rq_list() observes SCHED_RESTART, and not run queue in
dispatch side
or
2) blk_mq_dispatch_rq_list still sees SCHED_RESTART, and not run queue
in dispatch side, meantime checking if there is request in
hctx->dispatch from blk_mq_sched_restart() is missed.
IO hang in ltp/fs_fill test is reported by kernel test robot:
https://lkml.org/lkml/2020/7/26/77
Turns out it is caused by the above out-of-order OPs. And the IO hang
can't be observed any more after applying this patch.
Fixes:
|
||
Keith Busch
|
f09dbec9c0 |
block: fix get_max_io_size()
commit e4b469c66f3cbb81c2e94d31123d7bcdf3c1dabd upstream.
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 BUG in bio_split(). Restore the previous working behavior.
Fixes:
|
||
Yufen Yu
|
05c608f630 |
blkcg: fix memleak for iolatency
[ Upstream commit 27029b4b18aa5d3b060f0bf2c26dae254132cfce ]
Normally, blkcg_iolatency_exit() will free related memory in iolatency
when cleanup queue. But if blk_throtl_init() return error and queue init
fail, blkcg_iolatency_exit() will not do that for us. Then it cause
memory leak.
Fixes:
|
||
Ming Lei
|
872a2b3182 |
blk-mq: insert request not through ->queue_rq into sw/scheduler queue
[ Upstream commit db03f88fae8a2c8007caafa70287798817df2875 ] |
||
Dmitry Monakhov
|
1475314530 |
bfq: fix blkio cgroup leakage v4
[ Upstream commit 2de791ab4918969d8108f15238a701968375f235 ] Changes from v1: - update commit description with proper ref-accounting justification commit db37a34c563b ("block, bfq: get a ref to a group when adding it to a service tree") introduce leak forbfq_group and blkcg_gq objects because of get/put imbalance. In fact whole idea of original commit is wrong because bfq_group entity can not dissapear under us because it is referenced by child bfq_queue's entities from here: -> bfq_init_entity() ->bfqg_and_blkg_get(bfqg); ->entity->parent = bfqg->my_entity -> bfq_put_queue(bfqq) FINAL_PUT ->bfqg_and_blkg_put(bfqq_group(bfqq)) ->kmem_cache_free(bfq_pool, bfqq); So parent entity can not disappear while child entity is in tree, and child entities already has proper protection. This patch revert commit db37a34c563b ("block, bfq: get a ref to a group when adding it to a service tree") bfq_group leak trace caused by bad commit: -> blkg_alloc -> bfq_pq_alloc -> bfqg_get (+1) ->bfq_activate_bfqq ->bfq_activate_requeue_entity -> __bfq_activate_entity ->bfq_get_entity ->bfqg_and_blkg_get (+1) <==== : Note1 ->bfq_del_bfqq_busy ->bfq_deactivate_entity+0x53/0xc0 [bfq] ->__bfq_deactivate_entity+0x1b8/0x210 [bfq] -> bfq_forget_entity(is_in_service = true) entity->on_st_or_in_serv = false <=== :Note2 if (is_in_service) return; ==> do not touch reference -> blkcg_css_offline -> blkcg_destroy_blkgs -> blkg_destroy -> bfq_pd_offline -> __bfq_deactivate_entity if (!entity->on_st_or_in_serv) /* true, because (Note2) return false; -> bfq_pd_free -> bfqg_put() (-1, byt bfqg->ref == 2) because of (Note2) So bfq_group and blkcg_gq will leak forever, see test-case below. ##TESTCASE_BEGIN: #!/bin/bash max_iters=${1:-100} #prep cgroup mounts mount -t tmpfs cgroup_root /sys/fs/cgroup mkdir /sys/fs/cgroup/blkio mount -t cgroup -o blkio none /sys/fs/cgroup/blkio # Prepare blkdev grep blkio /proc/cgroups truncate -s 1M img losetup /dev/loop0 img echo bfq > /sys/block/loop0/queue/scheduler grep blkio /proc/cgroups for ((i=0;i<max_iters;i++)) do mkdir -p /sys/fs/cgroup/blkio/a echo 0 > /sys/fs/cgroup/blkio/a/cgroup.procs dd if=/dev/loop0 bs=4k count=1 of=/dev/null iflag=direct 2> /dev/null echo 0 > /sys/fs/cgroup/blkio/cgroup.procs rmdir /sys/fs/cgroup/blkio/a grep blkio /proc/cgroups done ##TESTCASE_END: Fixes: db37a34c563b ("block, bfq: get a ref to a group when adding it to a service tree") Tested-by: Oleksandr Natalenko <oleksandr@natalenko.name> Signed-off-by: Dmitry Monakhov <dmtrmonakhov@yandex-team.ru> Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Sasha Levin <sashal@kernel.org> |
||
Matthew Wilcox (Oracle)
|
2295664518 |
block: Fix page_is_mergeable() for compound pages
[ Upstream commit d81665198b83e55a28339d1f3e4890ed8a434556 ]
If we pass in an offset which is larger than PAGE_SIZE, then
page_is_mergeable() thinks it's not mergeable with the previous bio_vec,
leading to a large number of bio_vecs being used. Use a slightly more
obvious test that the two pages are compatible with each other.
Fixes:
|
||
Ming Lei
|
cc3a73f245 |
block: respect queue limit of max discard segment
[ Upstream commit 943b40c832beb71115e38a1c4d99b640b5342738 ]
When queue_max_discard_segments(q) is 1, blk_discard_mergable() will
return false for discard request, then normal request merge is applied.
However, only queue_max_segments() is checked, so max discard segment
limit isn't respected.
Check max discard segment limit in the request merge code for fixing
the issue.
Discard request failure of virtio_blk is fixed.
Fixes:
|
||
Ivaylo Georgiev
|
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> |
||
Can Guo
|
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> |
||
Greg Kroah-Hartman
|
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 |
||
Chengming Zhou
|
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> |
||
Alan Stern
|
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> |
||
Greg Kroah-Hartman
|
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 |
||
Ming Lei
|
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> |
||
Ming Lei
|
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:
|
||
Hou Tao
|
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> |
||
Greg Kroah-Hartman
|
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 |
||
Ming Lei
|
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:
|
||
Chengguang Xu
|
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> |
||
Greg Kroah-Hartman
|
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 |
||
Weiping Zhang
|
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> |
||
yu kuai
|
b90ca32531 |
block/bio-integrity: don't free 'buf' if bio_integrity_add_page() failed
commit a75ca9303175d36af93c0937dd9b1a6422908b8d upstream. commit |
||
Greg Kroah-Hartman
|
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 |
||
Tejun Heo
|
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 |
||
Weiping Zhang
|
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> |
||
Ming Lei
|
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> |
||
Greg Kroah-Hartman
|
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 |
||
Jens Axboe
|
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> |
||
Eric Biggers
|
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> |
||
Greg Kroah-Hartman
|
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 |
||
Tejun Heo
|
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:
|
||
Greg Kroah-Hartman
|
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 |
||
John Garry
|
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> |
||
Waiman Long
|
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:
|
||
Greg Kroah-Hartman
|
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 |
||
Paolo Valente
|
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> |
||
Paolo Valente
|
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> |
||
Paolo Valente
|
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> |
||
Greg Kroah-Hartman
|
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 |
||
Zhiqiang Liu
|
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:
|
||
Sahitya Tummala
|
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> |
||
Paolo Valente
|
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> |
||
Konstantin Khlebnikov
|
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 |
||
Greg Kroah-Hartman
|
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 |
||
Bart Van Assche
|
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:
|
||
Eric Biggers
|
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> |
||
Eric Biggers
|
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> |
||
Greg Kroah-Hartman
|
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 |
||
Carlo Nonato
|
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> |
||
Greg Kroah-Hartman
|
16ada3b38e |
This is the 5.4.27 stable release
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAl51vt0ACgkQONu9yGCS aT7TGxAArvOqk911pxz4lhFG2MXnZMSvP/9/y92zJFlSGc3mX4ZdpCMLONNPkXmY 8CpnXAP6q1Od4zatNSM+wTmbpszevyeIQusCqcEWhE9IkMKLUfkRrq4logaEE5lB 8+Dw3FG8lB6SRJGoR42+8+HLo5fJtG33FyouBBB/jmeVbLyhkL36zyY0o29EcPVC YwVFEzwl8/DZWuWe99IXVsL3iA1Z4zDnr2zOxHmXp4tF+jOZ7Kc4JF8O4q7/x546 721NPuuzBMqDIiL6u5idH2weE6e5V4KEGVxOlIr5fVB1CPQKOswHWArKvMaq2+u8 iUoXI9Vng7Qb30+CBW2LXJ1Irt3IkUFJkCKSHj/2xD85xHeWPYBQ5VdcbiFkHsGT WMYupYn28fEi3pBVbWTAm+E8YDPR/gr/FzqopSeR0cuzWvupuuRDRtjEJyDc+VZx Vu2SvyMx9MEbwoFa7zEjc8unqeYD78a/m9ULh97NN//3FHnT479c4Tq6oA4+WGgr 9zF8u5B9L5bwgTqBGk3OCNd82wsaGjFzzhsg/vPGj+CW4HIratOvISVEg5Harm2Y q5c3+V017n5+gVH4DcJ/fiSL11Vuwk537ZZzK6WjVkRmxN3+Ba7d1AWikwwFVtdm eaHbMbCtstwSE0wgsFLnw7ovA1650GMIk9kuwFuAUwEFM+Qnws0= =xHmK -----END PGP SIGNATURE----- Merge 5.4.27 into android-5.4 Changes in 5.4.27 netfilter: hashlimit: do not use indirect calls during gc netfilter: xt_hashlimit: unregister proc file before releasing mutex drm/amdgpu: Fix TLB invalidation request when using semaphore ACPI: watchdog: Allow disabling WDAT at boot HID: apple: Add support for recent firmware on Magic Keyboards ACPI: watchdog: Set default timeout in probe HID: i2c-hid: add Trekstor Surfbook E11B to descriptor override HID: hid-bigbenff: fix general protection fault caused by double kfree HID: hid-bigbenff: call hid_hw_stop() in case of error HID: hid-bigbenff: fix race condition for scheduled work during removal selftests/rseq: Fix out-of-tree compilation tracing: Fix number printing bug in print_synth_event() cfg80211: check reg_rule for NULL in handle_channel_custom() scsi: libfc: free response frame from GPN_ID net: usb: qmi_wwan: restore mtu min/max values after raw_ip switch net: ks8851-ml: Fix IRQ handling and locking mac80211: rx: avoid RCU list traversal under mutex net: ll_temac: Fix race condition causing TX hang net: ll_temac: Add more error handling of dma_map_single() calls net: ll_temac: Fix RX buffer descriptor handling on GFP_ATOMIC pressure net: ll_temac: Handle DMA halt condition caused by buffer underrun blk-mq: insert passthrough request into hctx->dispatch directly drm/amdgpu: fix memory leak during TDR test(v2) kbuild: add dtbs_check to PHONY kbuild: add dt_binding_check to PHONY in a correct place signal: avoid double atomic counter increments for user accounting slip: not call free_netdev before rtnl_unlock in slip_open net: phy: mscc: fix firmware paths hinic: fix a irq affinity bug hinic: fix a bug of setting hw_ioctxt hinic: fix a bug of rss configuration net: rmnet: fix NULL pointer dereference in rmnet_newlink() net: rmnet: fix NULL pointer dereference in rmnet_changelink() net: rmnet: fix suspicious RCU usage net: rmnet: remove rcu_read_lock in rmnet_force_unassociate_device() net: rmnet: do not allow to change mux id if mux id is duplicated net: rmnet: use upper/lower device infrastructure net: rmnet: fix bridge mode bugs net: rmnet: fix packet forwarding in rmnet bridge mode sfc: fix timestamp reconstruction at 16-bit rollover points jbd2: fix data races at struct journal_head blk-mq: insert flush request to the front of dispatch queue net: qrtr: fix len of skb_put_padto in qrtr_node_enqueue ARM: 8957/1: VDSO: Match ARMv8 timer in cntvct_functional() ARM: 8958/1: rename missed uaccess .fixup section mm: slub: add missing TID bump in kmem_cache_alloc_bulk() HID: google: add moonball USB id HID: add ALWAYS_POLL quirk to lenovo pixart mouse ARM: 8961/2: Fix Kbuild issue caused by per-task stack protector GCC plugin ipv4: ensure rcu_read_lock() in cipso_v4_error() Linux 5.4.27 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: Ie4b2a2b56d2e6e6b1a657d8b8e3ed7ed0c8a2d6c |
||
Ming Lei
|
235fb892d8 |
blk-mq: insert flush request to the front of dispatch queue
[ Upstream commit cc3200eac4c5eb11c3f34848a014d1f286316310 ] commit 01e99aeca397 ("blk-mq: insert passthrough request into hctx->dispatch directly") may change to add flush request to the tail of dispatch by applying the 'add_head' parameter of blk_mq_sched_insert_request. Turns out this way causes performance regression on NCQ controller because flush is non-NCQ command, which can't be queued when there is any in-flight NCQ command. When adding flush rq to the front of hctx->dispatch, it is easier to introduce extra time to flush rq's latency compared with adding to the tail of dispatch queue because of S_SCHED_RESTART, then chance of flush merge is increased, and less flush requests may be issued to controller. So always insert flush request to the front of dispatch queue just like before applying commit 01e99aeca397 ("blk-mq: insert passthrough request into hctx->dispatch directly"). Cc: Damien Le Moal <Damien.LeMoal@wdc.com> Cc: Shinichiro Kawasaki <shinichiro.kawasaki@wdc.com> Reported-by: Shinichiro Kawasaki <shinichiro.kawasaki@wdc.com> Fixes: 01e99aeca397 ("blk-mq: insert passthrough request into hctx->dispatch directly") Signed-off-by: Ming Lei <ming.lei@redhat.com> Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Sasha Levin <sashal@kernel.org> |
||
Ming Lei
|
74c77d6a4e |
blk-mq: insert passthrough request into hctx->dispatch directly
[ Upstream commit 01e99aeca3979600302913cef3f89076786f32c8 ] For some reason, device may be in one situation which can't handle FS request, so STS_RESOURCE is always returned and the FS request will be added to hctx->dispatch. However passthrough request may be required at that time for fixing the problem. If passthrough request is added to scheduler queue, there isn't any chance for blk-mq to dispatch it given we prioritize requests in hctx->dispatch. Then the FS IO request may never be completed, and IO hang is caused. So passthrough request has to be added to hctx->dispatch directly for fixing the IO hang. Fix this issue by inserting passthrough request into hctx->dispatch directly together withing adding FS request to the tail of hctx->dispatch in blk_mq_dispatch_rq_list(). Actually we add FS request to tail of hctx->dispatch at default, see blk_mq_request_bypass_insert(). Then it becomes consistent with original legacy IO request path, in which passthrough request is always added to q->queue_head. Cc: Dongli Zhang <dongli.zhang@oracle.com> Cc: Christoph Hellwig <hch@infradead.org> Cc: Ewan D. Milne <emilne@redhat.com> Signed-off-by: Ming Lei <ming.lei@redhat.com> Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Sasha Levin <sashal@kernel.org> |
||
Greg Kroah-Hartman
|
0d3cca0c7d |
This is the 5.4.26 stable release
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAl5xvRcACgkQONu9yGCS aT5GJhAAlahoiTrrDWQH5njl2uNVxOqZl2r6jiaX7+CrcPUg5tIznqUo9qht2s+V zCqUcuq9e1Q6WFeqHPx0qwaROaLppcKLuTqg4hrH2KPhuZ4yYjTfjFa8++Q7poPL 7tQVYxC6r04IdoZnbAOrRduAoMFMgTq9WZCdOpY3860LJrelOPPUh6+N8YnzXTIs q0+6nBNtlMYAlQLbQI9nggOtxf6yBor4Y9mfgk1Spe8vbNyZBFCvtRTntlhJI5ME u+xictLY3dbvUNFeuJSlQZd22tqTvw2Gxc5Efy2GHjokNb7SKMEswnWy1K6BKP5b NZwLtn85mgCWbq7Eo4Bf5idA2EpsyeoJTr9bRmx5mWJ3hFcUaMj6bNEUrfybsZKg 8/lbP5zM459NyLF+arCy5lNkNBridQt/vDciGiYDzHEVi88PJRNwL6nN01XK+ByU aCcQghNAzjMYdxDwotWGKKyTelC+Ck8FlJkIoIgEPYvvTRdaDk+BP/mHaH7KQNax AXbSND0MmtloxHgecvmJASU/628uhv8hxzjcCW+Gnzwk55nH2rwZ+VC4ciJgI/hj u5x1zaumj67WPqAZ7dZIBrJxpKfDMMFxTQFXLMgP+C+UjJviG4dUw1IVk0v5jTqx XG+Gk13ovv62QtKW7wTsuZVrjHXo1zB8OsQrDdKG+GXTkf53bP4= =1Qwi -----END PGP SIGNATURE----- Merge 5.4.26 into android-5.4 Changes in 5.4.26 virtio_balloon: Adjust label in virtballoon_probe ALSA: hda/realtek - More constifications ALSA: hda/realtek - Add Headset Mic supported for HP cPC ALSA: hda/realtek - Fixed one of HP ALC671 platform Headset Mic supported cgroup, netclassid: periodically release file_lock on classid updating gre: fix uninit-value in __iptunnel_pull_header inet_diag: return classid for all socket types ipv6/addrconf: call ipv6_mc_up() for non-Ethernet interface ipvlan: add cond_resched_rcu() while processing muticast backlog ipvlan: do not add hardware address of master to its unicast filter list ipvlan: do not use cond_resched_rcu() in ipvlan_process_multicast() ipvlan: don't deref eth hdr before checking it's set macvlan: add cond_resched() during multicast processing net: dsa: fix phylink_start()/phylink_stop() calls net: dsa: mv88e6xxx: fix lockup on warm boot net: fec: validate the new settings in fec_enet_set_coalesce() net: hns3: fix a not link up issue when fibre port supports autoneg net/ipv6: use configured metric when add peer route netlink: Use netlink header as base to calculate bad attribute offset net: macsec: update SCI upon MAC address change. net: nfc: fix bounds checking bugs on "pipe" net/packet: tpacket_rcv: do not increment ring index on drop net: phy: bcm63xx: fix OOPS due to missing driver name net: stmmac: dwmac1000: Disable ACS if enhanced descs are not used net: systemport: fix index check to avoid an array out of bounds access r8152: check disconnect status after long sleep sfc: detach from cb_page in efx_copy_channel() slip: make slhc_compress() more robust against malicious packets taprio: Fix sending packets without dequeueing them bonding/alb: make sure arp header is pulled before accessing it bnxt_en: reinitialize IRQs when MTU is modified bnxt_en: fix error handling when flashing from file cgroup: memcg: net: do not associate sock with unrelated cgroup net: memcg: late association of sock to memcg net: memcg: fix lockdep splat in inet_csk_accept() devlink: validate length of param values devlink: validate length of region addr/len fib: add missing attribute validation for tun_id nl802154: add missing attribute validation nl802154: add missing attribute validation for dev_type can: add missing attribute validation for termination macsec: add missing attribute validation for port net: fq: add missing attribute validation for orphan mask net: taprio: add missing attribute validation for txtime delay team: add missing attribute validation for port ifindex team: add missing attribute validation for array index tipc: add missing attribute validation for MTU property nfc: add missing attribute validation for SE API nfc: add missing attribute validation for deactivate target nfc: add missing attribute validation for vendor subcommand net: phy: avoid clearing PHY interrupts twice in irq handler net: phy: fix MDIO bus PM PHY resuming net/ipv6: need update peer route when modify metric net/ipv6: remove the old peer route if change it to a new one selftests/net/fib_tests: update addr_metric_test for peer route testing net: dsa: Don't instantiate phylink for CPU/DSA ports unless needed net: phy: Avoid multiple suspends cgroup: cgroup_procs_next should increase position index cgroup: Iterate tasks that did not finish do_exit() netfilter: nf_tables: fix infinite loop when expr is not available iwlwifi: mvm: Do not require PHY_SKU NVM section for 3168 devices virtio-blk: fix hw_queue stopped on arbitrary error iommu/vt-d: quirk_ioat_snb_local_iommu: replace WARN_TAINT with pr_warn + add_taint netfilter: nf_conntrack: ct_cpu_seq_next should increase position index netfilter: synproxy: synproxy_cpu_seq_next should increase position index netfilter: xt_recent: recent_seq_next should increase position index netfilter: x_tables: xt_mttg_seq_next should increase position index workqueue: don't use wq_select_unbound_cpu() for bound works drm/amd/display: remove duplicated assignment to grph_obj_type drm/i915: be more solid in checking the alignment drm/i915: Defer semaphore priority bumping to a workqueue mmc: sdhci-pci-gli: Enable MSI interrupt for GL975x pinctrl: falcon: fix syntax error ktest: Add timeout for ssh sync testing cifs_atomic_open(): fix double-put on late allocation failure gfs2_atomic_open(): fix O_EXCL|O_CREAT handling on cold dcache KVM: x86: clear stale x86_emulate_ctxt->intercept value KVM: nVMX: avoid NULL pointer dereference with incorrect EVMCS GPAs ARC: define __ALIGN_STR and __ALIGN symbols for ARC fuse: fix stack use after return s390/dasd: fix data corruption for thin provisioned devices ipmi_si: Avoid spurious errors for optional IRQs blk-iocost: fix incorrect vtime comparison in iocg_is_idle() fscrypt: don't evict dirty inodes after removing key macintosh: windfarm: fix MODINFO regression x86/ioremap: Map EFI runtime services data as encrypted for SEV efi: Fix a race and a buffer overflow while reading efivars via sysfs efi: Add a sanity check to efivar_store_raw() i2c: designware-pci: Fix BUG_ON during device removal mt76: fix array overflow on receiving too many fragments for a packet perf/amd/uncore: Replace manual sampling check with CAP_NO_INTERRUPT flag x86/mce: Fix logic and comments around MSR_PPIN_CTL iommu/dma: Fix MSI reservation allocation iommu/vt-d: dmar: replace WARN_TAINT with pr_warn + add_taint iommu/vt-d: Fix RCU list debugging warnings iommu/vt-d: Fix a bug in intel_iommu_iova_to_phys() for huge page batman-adv: Don't schedule OGM for disabled interface clk: imx8mn: Fix incorrect clock defines pinctrl: meson-gxl: fix GPIOX sdio pins pinctrl: imx: scu: Align imx sc msg structs to 4 virtio_ring: Fix mem leak with vring_new_virtqueue() drm/i915/gvt: Fix dma-buf display blur issue on CFL pinctrl: core: Remove extra kref_get which blocks hogs being freed drm/i915/gvt: Fix unnecessary schedule timer when no vGPU exits driver code: clarify and fix platform device DMA mask allocation iommu/vt-d: Fix RCU-list bugs in intel_iommu_init() i2c: gpio: suppress error on probe defer nl80211: add missing attribute validation for critical protocol indication nl80211: add missing attribute validation for beacon report scanning nl80211: add missing attribute validation for channel switch perf bench futex-wake: Restore thread count default to online CPU count netfilter: cthelper: add missing attribute validation for cthelper netfilter: nft_payload: add missing attribute validation for payload csum flags netfilter: nft_tunnel: add missing attribute validation for tunnels netfilter: nf_tables: dump NFTA_CHAIN_FLAGS attribute netfilter: nft_chain_nat: inet family is missing module ownership iommu/vt-d: Fix the wrong printing in RHSA parsing iommu/vt-d: Ignore devices with out-of-spec domain number i2c: acpi: put device when verifying client fails iommu/amd: Fix IOMMU AVIC not properly update the is_run bit in IRTE ipv6: restrict IPV6_ADDRFORM operation net/smc: check for valid ib_client_data net/smc: cancel event worker during device removal Linux 5.4.26 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: Ifacde9164f8ded01031a9e6a9c313d4fbcead25b |
||
Tejun Heo
|
b7e54dd751 |
blk-iocost: fix incorrect vtime comparison in iocg_is_idle()
commit dcd6589b11d3b1e71f516a87a7b9646ed356b4c0 upstream.
vtimes may wrap and time_before/after64() should be used to determine
whether a given vtime is before or after another. iocg_is_idle() was
incorrectly using plain "<" comparison do determine whether done_vtime
is before vtime. Here, the only thing we're interested in is whether
done_vtime matches vtime which indicates that there's nothing in
flight. Let's test for inequality instead.
Signed-off-by: Tejun Heo <tj@kernel.org>
Fixes:
|
||
Greg Kroah-Hartman
|
6d52041543 |
This is the 5.4.25 stable release
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAl5qJSMACgkQONu9yGCS aT6/Dw//Usg9m0cBB4Ip4fYxI0EVz8BgnVe9KSdt+71gM63QCOi1ZeTS0NDMUtO0 MTsQSudUpfntrT8QHCmBwCZ5LlAAZvxDS9UOqnhkWbqNY5jGmUhH5u28RJL28dp2 8wJY6zZKg+pfOWXd81slW86uN27QZvURNEthT81sN2ucxe5DXV1gs87FILSdMpXm I0Z3LpUoZDjpONeA6WTZqkDNA0J7Z9QjULx9/4LFi/gc0q1ApWC7FV1A9gpQHaBa w4kDWJCGqq3mNx8Hi9BHau50VUHX5tuKvpn9RcmSl9BBba25pE5h0EVIGo8Dlq+9 T9hkVR5iXeMbFERnLm5iR0DjFHog/mOgAgUHSTTXB3BcdgIKWwUcc2gCcr2Y7KIK CD7l+kX1nWUk4yYre7zXiG/vO9ilYgeboc8C5Qdq3XR6zaO90+8NUbCOpa2+6yEF H7kugstb6l+iCJ1k8YJd0ORGOobl68+P79TLxAOFnkNGJRzuAoXmBH+xkqAugz1H YKKAbE+MzW75sre7PxU1g1uPOHxfMfd5e3uRtUU5OETJv0A2kTte8ay5rqLNbe7H QYqdfwTr2oFssnWKW5d/KdSopD5A/31/Kjkmzl6ED2xaLMEpA7zyed5p+G/Beu5s dkPlteya8wCQ1W/KtDJRhbCauoG/NyCKIeoQitHBJwMapcEo8ZU= =rDP8 -----END PGP SIGNATURE----- Merge 5.4.25 into android-5.4 Changes in 5.4.25 block, bfq: get extra ref to prevent a queue from being freed during a group move block, bfq: do not insert oom queue into position tree ALSA: hda/realtek - Fix a regression for mute led on Lenovo Carbon X1 net: dsa: bcm_sf2: Forcibly configure IMP port for 1Gb/sec net: stmmac: fix notifier registration dm thin metadata: fix lockdep complaint RDMA/core: Fix pkey and port assignment in get_new_pps RDMA/core: Fix use of logical OR in get_new_pps kbuild: fix 'No such file or directory' warning when cleaning kprobes: Fix optimize_kprobe()/unoptimize_kprobe() cancellation logic blktrace: fix dereference after null check ALSA: hda: do not override bus codec_mask in link_get() serial: ar933x_uart: set UART_CS_{RX,TX}_READY_ORIDE selftests: fix too long argument usb: gadget: composite: Support more than 500mA MaxPower usb: gadget: ffs: ffs_aio_cancel(): Save/restore IRQ flags usb: gadget: serial: fix Tx stall after buffer overflow habanalabs: halt the engines before hard-reset habanalabs: do not halt CoreSight during hard reset habanalabs: patched cb equals user cb in device memset drm/msm/mdp5: rate limit pp done timeout warnings drm: msm: Fix return type of dsi_mgr_connector_mode_valid for kCFI drm/modes: Make sure to parse valid rotation value from cmdline drm/modes: Allow DRM_MODE_ROTATE_0 when applying video mode parameters scsi: megaraid_sas: silence a warning drm/msm/dsi: save pll state before dsi host is powered off drm/msm/dsi/pll: call vco set rate explicitly selftests: forwarding: use proto icmp for {gretap, ip6gretap}_mac testing selftests: forwarding: vxlan_bridge_1d: fix tos value net: atlantic: check rpc result and wait for rpc address net: ks8851-ml: Remove 8-bit bus accessors net: ks8851-ml: Fix 16-bit data access net: ks8851-ml: Fix 16-bit IO operation net: ethernet: dm9000: Handle -EPROBE_DEFER in dm9000_parse_dt() watchdog: da9062: do not ping the hw during stop() s390/cio: cio_ignore_proc_seq_next should increase position index s390: make 'install' not depend on vmlinux efi: Only print errors about failing to get certs if EFI vars are found net/mlx5: DR, Fix matching on vport gvmi iommu/amd: Disable IOMMU on Stoney Ridge systems nvme/pci: Add sleep quirk for Samsung and Toshiba drives nvme-pci: Use single IRQ vector for old Apple models x86/boot/compressed: Don't declare __force_order in kaslr_64.c s390/qdio: fill SL with absolute addresses nvme: Fix uninitialized-variable warning ice: Don't tell the OS that link is going down x86/xen: Distribute switch variables for initialization net: thunderx: workaround BGX TX Underflow issue csky/mm: Fixup export invalid_pte_table symbol csky: Set regs->usp to kernel sp, when the exception is from kernel csky/smp: Fixup boot failed when CONFIG_SMP csky: Fixup ftrace modify panic csky: Fixup compile warning for three unimplemented syscalls arch/csky: fix some Kconfig typos selftests: forwarding: vxlan_bridge_1d: use more proper tos value firmware: imx: scu: Ensure sequential TX binder: prevent UAF for binderfs devices binder: prevent UAF for binderfs devices II ALSA: hda/realtek - Add Headset Mic supported ALSA: hda/realtek - Add Headset Button supported for ThinkPad X1 ALSA: hda/realtek - Fix silent output on Gigabyte X570 Aorus Master ALSA: hda/realtek - Enable the headset of ASUS B9450FA with ALC294 cifs: don't leak -EAGAIN for stat() during reconnect cifs: fix rename() by ensuring source handle opened with DELETE bit usb: storage: Add quirk for Samsung Fit flash usb: quirks: add NO_LPM quirk for Logitech Screen Share usb: dwc3: gadget: Update chain bit correctly when using sg list usb: cdns3: gadget: link trb should point to next request usb: cdns3: gadget: toggle cycle bit before reset endpoint usb: core: hub: fix unhandled return by employing a void function usb: core: hub: do error out if usb_autopm_get_interface() fails usb: core: port: do error out if usb_autopm_get_interface() fails vgacon: Fix a UAF in vgacon_invert_region mm, numa: fix bad pmd by atomically check for pmd_trans_huge when marking page tables prot_numa mm: fix possible PMD dirty bit lost in set_pmd_migration_entry() mm, hotplug: fix page online with DEBUG_PAGEALLOC compiled but not enabled fat: fix uninit-memory access for partial initialized inode btrfs: fix RAID direct I/O reads with alternate csums arm64: dts: socfpga: agilex: Fix gmac compatible arm: dts: dra76x: Fix mmc3 max-frequency tty:serial:mvebu-uart:fix a wrong return tty: serial: fsl_lpuart: free IDs allocated by IDA serial: 8250_exar: add support for ACCES cards vt: selection, close sel_buffer race vt: selection, push console lock down vt: selection, push sel_lock up media: hantro: Fix broken media controller links media: mc-entity.c: use & to check pad flags, not == media: vicodec: process all 4 components for RGB32 formats media: v4l2-mem2mem.c: fix broken links perf intel-pt: Fix endless record after being terminated perf intel-bts: Fix endless record after being terminated perf cs-etm: Fix endless record after being terminated perf arm-spe: Fix endless record after being terminated spi: spidev: Fix CS polarity if GPIO descriptors are used x86/pkeys: Manually set X86_FEATURE_OSPKE to preserve existing changes s390/pci: Fix unexpected write combine on resource s390/mm: fix panic in gup_fast on large pud dmaengine: imx-sdma: fix context cache dmaengine: imx-sdma: Fix the event id check to include RX event for UART6 dmaengine: tegra-apb: Fix use-after-free dmaengine: tegra-apb: Prevent race conditions of tasklet vs free list dm integrity: fix recalculation when moving from journal mode to bitmap mode dm integrity: fix a deadlock due to offloading to an incorrect workqueue dm integrity: fix invalid table returned due to argument count mismatch dm cache: fix a crash due to incorrect work item cancelling dm: report suspended device during destroy dm writecache: verify watermark during resume dm zoned: Fix reference counter initial value of chunk works dm: fix congested_fn for request-based device arm64: dts: meson-sm1-sei610: add missing interrupt-names ARM: dts: ls1021a: Restore MDIO compatible to gianfar spi: bcm63xx-hsspi: Really keep pll clk enabled drm/virtio: make resource id workaround runtime switchable. drm/virtio: fix resource id creation race ASoC: topology: Fix memleak in soc_tplg_link_elems_load() ASoC: topology: Fix memleak in soc_tplg_manifest_load() ASoC: SOF: Fix snd_sof_ipc_stream_posn() ASoC: intel: skl: Fix pin debug prints ASoC: intel: skl: Fix possible buffer overflow in debug outputs powerpc: define helpers to get L1 icache sizes powerpc: Convert flush_icache_range & friends to C powerpc/mm: Fix missing KUAP disable in flush_coherent_icache() ASoC: pcm: Fix possible buffer overflow in dpcm state sysfs output ASoC: pcm512x: Fix unbalanced regulator enable call in probe error path ASoC: Intel: Skylake: Fix available clock counter incrementation ASoC: dapm: Correct DAPM handling of active widgets during shutdown spi: atmel-quadspi: fix possible MMIO window size overrun drm/panfrost: Don't try to map on error faults drm: kirin: Revert "Fix for hikey620 display offset problem" drm/sun4i: Add separate DE3 VI layer formats drm/sun4i: Fix DE2 VI layer format support drm/sun4i: de2/de3: Remove unsupported VI layer formats drm/i915: Program MBUS with rmw during initialization drm/i915/selftests: Fix return in assert_mmap_offset() phy: mapphone-mdm6600: Fix timeouts by adding wake-up handling phy: mapphone-mdm6600: Fix write timeouts with shorter GPIO toggle interval ARM: dts: imx6: phycore-som: fix emmc supply arm64: dts: imx8qxp-mek: Remove unexisting Ethernet PHY firmware: imx: misc: Align imx sc msg structs to 4 firmware: imx: scu-pd: Align imx sc msg structs to 4 firmware: imx: Align imx_sc_msg_req_cpu_start to 4 soc: imx-scu: Align imx sc msg structs to 4 Revert "RDMA/cma: Simplify rdma_resolve_addr() error flow" RDMA/rw: Fix error flow during RDMA context initialization RDMA/nldev: Fix crash when set a QP to a new counter but QPN is missing RDMA/siw: Fix failure handling during device creation RDMA/iwcm: Fix iwcm work deallocation RDMA/core: Fix protection fault in ib_mr_pool_destroy regulator: stm32-vrefbuf: fix a possible overshoot when re-enabling RMDA/cm: Fix missing ib_cm_destroy_id() in ib_cm_insert_listen() IB/hfi1, qib: Ensure RCU is locked when accessing list ARM: imx: build v7_cpu_resume() unconditionally ARM: dts: am437x-idk-evm: Fix incorrect OPP node names ARM: dts: dra7xx-clocks: Fixup IPU1 mux clock parent source ARM: dts: imx7-colibri: Fix frequency for sd/mmc hwmon: (adt7462) Fix an error return in ADT7462_REG_VOLT() dma-buf: free dmabuf->name in dma_buf_release() dmaengine: coh901318: Fix a double lock bug in dma_tc_handle() arm64: dts: meson: fix gxm-khadas-vim2 wifi bus: ti-sysc: Fix 1-wire reset quirk EDAC/synopsys: Do not print an error with back-to-back snprintf() calls powerpc: fix hardware PMU exception bug on PowerVM compatibility mode systems efi/x86: Align GUIDs to their size in the mixed mode runtime wrapper efi/x86: Handle by-ref arguments covering multiple pages in mixed mode efi: READ_ONCE rng seed size before munmap block, bfq: get a ref to a group when adding it to a service tree block, bfq: remove ifdefs from around gets/puts of bfq groups csky: Implement copy_thread_tls drm/virtio: module_param_named() requires linux/moduleparam.h Linux 5.4.25 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: I8ba29f273c7a2b02bfa54593f7a9087c34607cd5 |
||
Paolo Valente
|
e28c9b3caf |
block, bfq: remove ifdefs from around gets/puts of bfq groups
commit 4d8340d0d4d90e7ca367d18ec16c2fefa89a339c upstream. ifdefs around gets and puts of bfq groups reduce readability, remove them. Tested-by: Oleksandr Natalenko <oleksandr@natalenko.name> Reported-by: Jens Axboe <axboe@kernel.dk> 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> |
||
Paolo Valente
|
92ed51e651 |
block, bfq: get a ref to a group when adding it to a service tree
commit db37a34c563bf4692b36990ae89005c031385e52 upstream. BFQ schedules generic entities, which may represent either bfq_queues or groups of bfq_queues. When an entity is inserted into a service tree, a reference must be taken, to make sure that the entity does not disappear while still referred in the tree. Unfortunately, such a reference is mistakenly taken only if the entity represents a bfq_queue. This commit takes a reference also in case the entity represents a group. Tested-by: Oleksandr Natalenko <oleksandr@natalenko.name> Tested-by: Chris Evich <cevich@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> |
||
Paolo Valente
|
63f42809f0 |
block, bfq: do not insert oom queue into position tree
[ Upstream commit 32c59e3a9a5a0b180dd015755d6d18ca31e55935 ] BFQ maintains an ordered list, implemented with an RB tree, of head-request positions of non-empty bfq_queues. This position tree, inherited from CFQ, is used to find bfq_queues that contain I/O close to each other. BFQ merges these bfq_queues into a single shared queue, if this boosts throughput on the device at hand. There is however a special-purpose bfq_queue that does not participate in queue merging, the oom bfq_queue. Yet, also this bfq_queue could be wrongly added to the position tree. So bfqq_find_close() could return the oom bfq_queue, which is a source of further troubles in an out-of-memory situation. This commit prevents the oom bfq_queue from being inserted into the position tree. Tested-by: Patrick Dung <patdung100@gmail.com> Tested-by: Oleksandr Natalenko <oleksandr@natalenko.name> 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> |
||
Paolo Valente
|
594fca1d04 |
block, bfq: get extra ref to prevent a queue from being freed during a group move
[ Upstream commit ecedd3d7e19911ab8fe42f17b77c0a30fe7f4db3 ] In bfq_bfqq_move(), the bfq_queue, say Q, to be moved to a new group may happen to be deactivated in the scheduling data structures of the source group (and then activated in the destination group). If Q is referred only by the data structures in the source group when the deactivation happens, then Q is freed upon the deactivation. This commit addresses this issue by getting an extra reference before the possible deactivation, and releasing this extra reference after Q has been moved. Tested-by: Chris Evich <cevich@redhat.com> Tested-by: Oleksandr Natalenko <oleksandr@natalenko.name> 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> |
||
Barani Muthukumaran
|
3ab1972984 |
ANDROID: block: Prevent crypto fallback for wrapped keys
blk-crypto-fallback does not support wrapped keys, hence prevent falling back when program_key fails. Add 'is_hw_wrapped' flag to blk-crypto-key to mention if the key is wrapped when the key is initialized. Bug: 147209885 Test: Validate FBE, simulate a failure in the underlying blk device and ensure the call fails without falling back to blk-crypto-fallback. Change-Id: I8bc301ca1ac9e55ba6ab622e8325486916b45c56 Signed-off-by: Barani Muthukumaran <bmuthuku@codeaurora.org> |
||
Greg Kroah-Hartman
|
835bd1de9c |
This is the 5.4.22 stable release
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAl5TfSAACgkQONu9yGCS aT4I8w//SU+w9Tj8Crpt1BI7Lk2AiTGvyZtX0wGd53vzFKGy+Wi1Oba1ybB+xyYw UgMJJpoOgp9gTatRgjDl0vO/7U7vZckigPpog3pSW+xq2JW0kTWGS2z04hUjWKkG W4l3sAGwHRv7MTBbpjECDSHv+6x6ZqlWcVodpkHqLNmGxR0mYuiB6Zu8QuCu1bl0 K0SAlt+yd0laUt2bU3wpEqBwGXHepz+IqsqcYp78sAeytT8ds9ZfPxKv98CvLlXs VLVr87UqZy3Hkl6IWKGrmdhWbTZE+3AyjKnxlA8PovA0ET5xO/IFPLHVhVX+or+5 UFp/1qvacr+EIu8CKvftc2n1CflaRXIn/QNpwdemh94mi/2TqiXiqAUu1EiW56vg /PUH8G72Q26AiWSmD3WRr09ohTu4hfz6fIDKV60qmdVe4AUffLw0SnBEE0VFA3/S lVKZeXKkePeMlHcTyRDQ6+/y49yjfq2exdrjetypOwRa1emHxj/YsfdnEWYfwT53 sikMLjP4XA7v5rsDr9LJTwQL/V/7euu1Hr3lSGpRv8vmePprvfmivTLcY5tgvOTC GZ51Em+CxJ+W4vCJKHuM7i0nUvf2Knn5lBidq4KsvLRUuZ31mSXSfSn4bW6Gl/Jm RZPDC71MqT/FMtfuQLlVNqIw2umC1buNa5SwZ8GhJG6za4gU4FU= =L+e0 -----END PGP SIGNATURE----- Merge 5.4.22 into android-5.4 Changes in 5.4.22 core: Don't skip generic XDP program execution for cloned SKBs enic: prevent waking up stopped tx queues over watchdog reset net/smc: fix leak of kernel memory to user space net: dsa: tag_qca: Make sure there is headroom for tag net/sched: matchall: add missing validation of TCA_MATCHALL_FLAGS net/sched: flower: add missing validation of TCA_FLOWER_FLAGS drm/gma500: Fixup fbdev stolen size usage evaluation ath10k: Fix qmi init error handling wil6210: fix break that is never reached because of zero'ing of a retry counter drm/qxl: Complete exception handling in qxl_device_init() rcu/nocb: Fix dump_tree hierarchy print always active rcu: Fix missed wakeup of exp_wq waiters rcu: Fix data-race due to atomic_t copy-by-value f2fs: preallocate DIO blocks when forcing buffered_io f2fs: call f2fs_balance_fs outside of locked page media: meson: add missing allocation failure check on new_buf clk: meson: pll: Fix by 0 division in __pll_params_to_rate() cpu/hotplug, stop_machine: Fix stop_machine vs hotplug order brcmfmac: Fix memory leak in brcmf_p2p_create_p2pdev() brcmfmac: Fix use after free in brcmf_sdio_readframes() PCI: Fix pci_add_dma_alias() bitmask size drm/amd/display: Map ODM memory correctly when doing ODM combine leds: pca963x: Fix open-drain initialization ext4: fix ext4_dax_read/write inode locking sequence for IOCB_NOWAIT ALSA: ctl: allow TLV read operation for callback type of element in locked case gianfar: Fix TX timestamping with a stacked DSA driver pinctrl: sh-pfc: sh7264: Fix CAN function GPIOs printk: fix exclusive_console replaying drm/mipi_dbi: Fix off-by-one bugs in mipi_dbi_blank() drm/msm/adreno: fix zap vs no-zap handling pxa168fb: Fix the function used to release some memory in an error handling path media: ov5640: Fix check for PLL1 exceeding max allowed rate media: i2c: mt9v032: fix enum mbus codes and frame sizes media: sun4i-csi: Deal with DRAM offset media: sun4i-csi: Fix data sampling polarity handling media: sun4i-csi: Fix [HV]sync polarity handling clk: at91: sam9x60: fix programmable clock prescaler powerpc/powernv/iov: Ensure the pdn for VFs always contains a valid PE number clk: meson: meson8b: make the CCF use the glitch-free mali mux gpio: gpio-grgpio: fix possible sleep-in-atomic-context bugs in grgpio_irq_map/unmap() iommu/vt-d: Fix off-by-one in PASID allocation x86/fpu: Deactivate FPU state after failure during state load char/random: silence a lockdep splat with printk() media: sti: bdisp: fix a possible sleep-in-atomic-context bug in bdisp_device_run() kernel/module: Fix memleak in module_add_modinfo_attrs() IB/core: Let IB core distribute cache update events pinctrl: baytrail: Do not clear IRQ flags on direct-irq enabled pins efi/x86: Map the entire EFI vendor string before copying it MIPS: Loongson: Fix potential NULL dereference in loongson3_platform_init() sparc: Add .exit.data section. net: ethernet: ixp4xx: Standard module init raid6/test: fix a compilation error uio: fix a sleep-in-atomic-context bug in uio_dmem_genirq_irqcontrol() drm/amdgpu/sriov: workaround on rev_id for Navi12 under sriov spi: fsl-lpspi: fix only one cs-gpio working drm/nouveau/nouveau: fix incorrect sizeof on args.src an args.dst usb: gadget: udc: fix possible sleep-in-atomic-context bugs in gr_probe() usb: dwc2: Fix IN FIFO allocation clocksource/drivers/bcm2835_timer: Fix memory leak of timer drm/amd/display: Clear state after exiting fixed active VRR state kselftest: Minimise dependency of get_size on C library interfaces jbd2: clear JBD2_ABORT flag before journal_reset to update log tail info when load journal ext4: fix deadlock allocating bio_post_read_ctx from mempool clk: ti: dra7: fix parent for gmac_clkctrl x86/sysfb: Fix check for bad VRAM size pwm: omap-dmtimer: Simplify error handling udf: Allow writing to 'Rewritable' partitions dmaengine: fsl-qdma: fix duplicated argument to && wan/hdlc_x25: fix skb handling s390/pci: Fix possible deadlock in recover_store() powerpc/iov: Move VF pdev fixup into pcibios_fixup_iov() tracing: Fix tracing_stat return values in error handling paths tracing: Fix very unlikely race of registering two stat tracers ARM: 8952/1: Disable kmemleak on XIP kernels ext4, jbd2: ensure panic when aborting with zero errno ath10k: Correct the DMA direction for management tx buffers rtw88: fix rate mask for 1SS chip brcmfmac: sdio: Fix OOB interrupt initialization on brcm43362 selftests: settings: tests can be in subsubdirs rtc: i2c/spi: Avoid inclusion of REGMAP support when not needed drm/amd/display: Retrain dongles when SINK_COUNT becomes non-zero tracing: Simplify assignment parsing for hist triggers nbd: add a flush_workqueue in nbd_start_device KVM: s390: ENOTSUPP -> EOPNOTSUPP fixups Btrfs: keep pages dirty when using btrfs_writepage_fixup_worker drivers/block/zram/zram_drv.c: fix error return codes not being returned in writeback_store block, bfq: do not plug I/O for bfq_queues with no proc refs kconfig: fix broken dependency in randconfig-generated .config clk: qcom: Don't overwrite 'cfg' in clk_rcg2_dfs_populate_freq() clk: qcom: rcg2: Don't crash if our parent can't be found; return an error drm/amdkfd: Fix a bug in SDMA RLC queue counting under HWS mode bpf, sockhash: Synchronize_rcu before free'ing map drm/amdgpu: remove 4 set but not used variable in amdgpu_atombios_get_connector_info_from_object_table ath10k: correct the tlv len of ath10k_wmi_tlv_op_gen_config_pno_start drm/amdgpu: Ensure ret is always initialized when using SOC15_WAIT_ON_RREG drm/panel: simple: Add Logic PD Type 28 display support arm64: dts: rockchip: Fix NanoPC-T4 cooling maps modules: lockdep: Suppress suspicious RCU usage warning ASoC: intel: sof_rt5682: Add quirk for number of HDMI DAI's ASoC: intel: sof_rt5682: Add support for tgl-max98357a-rt5682 regulator: rk808: Lower log level on optional GPIOs being not available net/wan/fsl_ucc_hdlc: reject muram offsets above 64K NFC: port100: Convert cpu_to_le16(le16_to_cpu(E1) + E2) to use le16_add_cpu(). arm64: dts: allwinner: H6: Add PMU mode arm64: dts: allwinner: H5: Add PMU node arm: dts: allwinner: H3: Add PMU node opp: Free static OPPs on errors while adding them selinux: ensure we cleanup the internal AVC counters on error in avc_insert() arm64: dts: qcom: msm8996: Disable USB2 PHY suspend by core padata: validate cpumask without removed CPU during offline clk: imx: Add correct failure handling for clk based helpers ARM: exynos_defconfig: Bring back explicitly wanted options ARM: dts: imx6: rdu2: Disable WP for USDHC2 and USDHC3 ARM: dts: imx6: rdu2: Limit USBH1 to Full Speed bus: ti-sysc: Implement quirk handling for CLKDM_NOAUTO PCI: iproc: Apply quirk_paxc_bridge() for module as well as built-in media: cx23885: Add support for AVerMedia CE310B PCI: Add generic quirk for increasing D3hot delay PCI: Increase D3 delay for AMD Ryzen5/7 XHCI controllers Revert "nfp: abm: fix memory leak in nfp_abm_u32_knode_replace" gpu/drm: ingenic: Avoid null pointer deference in plane atomic update selftests/net: make so_txtime more robust to timer variance media: v4l2-device.h: Explicitly compare grp{id,mask} to zero in v4l2_device macros reiserfs: Fix spurious unlock in reiserfs_fill_super() error handling samples/bpf: Set -fno-stack-protector when building BPF programs r8169: check that Realtek PHY driver module is loaded fore200e: Fix incorrect checks of NULL pointer dereference netfilter: nft_tunnel: add the missing ERSPAN_VERSION nla_policy ALSA: usx2y: Adjust indentation in snd_usX2Y_hwdep_dsp_status PCI: Add nr_devfns parameter to pci_add_dma_alias() PCI: Add DMA alias quirk for PLX PEX NTB b43legacy: Fix -Wcast-function-type ipw2x00: Fix -Wcast-function-type iwlegacy: Fix -Wcast-function-type rtlwifi: rtl_pci: Fix -Wcast-function-type orinoco: avoid assertion in case of NULL pointer drm/amdgpu: fix KIQ ring test fail in TDR of SRIOV clk: qcom: smd: Add missing bimc clock ACPICA: Disassembler: create buffer fields in ACPI_PARSE_LOAD_PASS1 nfsd: Clone should commit src file metadata too scsi: ufs: Complete pending requests in host reset and restore path scsi: aic7xxx: Adjust indentation in ahc_find_syncrate crypto: inside-secure - add unspecified HAS_IOMEM dependency drm/mediatek: handle events when enabling/disabling crtc clk: renesas: rcar-gen3: Allow changing the RPC[D2] clocks ARM: dts: r8a7779: Add device node for ARM global timer selinux: ensure we cleanup the internal AVC counters on error in avc_update() scsi: lpfc: Fix: Rework setting of fdmi symbolic node name registration arm64: dts: qcom: db845c: Enable ath10k 8bit host-cap quirk iommu/amd: Check feature support bit before accessing MSI capability registers iommu/amd: Only support x2APIC with IVHD type 11h/40h iommu/iova: Silence warnings under memory pressure clk: actually call the clock init before any other callback of the clock dmaengine: Store module owner in dma_device struct dmaengine: imx-sdma: Fix memory leak bpf: Print error message for bpftool cgroup show net: phy: realtek: add logging for the RGMII TX delay configuration crypto: chtls - Fixed memory leak x86/vdso: Provide missing include file PM / devfreq: exynos-ppmu: Fix excessive stack usage PM / devfreq: rk3399_dmc: Add COMPILE_TEST and HAVE_ARM_SMCCC dependency drm/fbdev: Fallback to non tiled mode if all tiles not present pinctrl: sh-pfc: sh7269: Fix CAN function GPIOs reset: uniphier: Add SCSSI reset control for each channel ASoC: soc-topology: fix endianness issues fbdev: fix numbering of fbcon options RDMA/rxe: Fix error type of mmap_offset clk: sunxi-ng: add mux and pll notifiers for A64 CPU clock ALSA: sh: Fix unused variable warnings clk: Use parent node pointer during registration if necessary clk: uniphier: Add SCSSI clock gate for each channel ALSA: hda/realtek - Apply mic mute LED quirk for Dell E7xx laptops, too ALSA: sh: Fix compile warning wrt const net: phy: fixed_phy: fix use-after-free when checking link GPIO tools lib api fs: Fix gcc9 stringop-truncation compilation error vfio/spapr/nvlink2: Skip unpinning pages on error exit ASoC: Intel: sof_rt5682: Ignore the speaker amp when there isn't one. ACPI: button: Add DMI quirk for Razer Blade Stealth 13 late 2019 lid switch iommu/vt-d: Match CPU and IOMMU paging mode iommu/vt-d: Avoid sending invalid page response drm/amdkfd: Fix permissions of hang_hws mlx5: work around high stack usage with gcc RDMA/hns: Avoid printing address of mtt page drm: remove the newline for CRC source name. usb: dwc3: use proper initializers for property entries ARM: dts: stm32: Add power-supply for DSI panel on stm32f469-disco usbip: Fix unsafe unaligned pointer usage udf: Fix free space reporting for metadata and virtual partitions drm/mediatek: Add gamma property according to hardware capability staging: rtl8188: avoid excessive stack usage IB/hfi1: Add software counter for ctxt0 seq drop IB/hfi1: Add RcvShortLengthErrCnt to hfi1stats soc/tegra: fuse: Correct straps' address for older Tegra124 device trees efi/x86: Don't panic or BUG() on non-critical error conditions rcu: Use WRITE_ONCE() for assignments to ->pprev for hlist_nulls Input: edt-ft5x06 - work around first register access error bnxt: Detach page from page pool before sending up the stack x86/nmi: Remove irq_work from the long duration NMI handler wan: ixp4xx_hss: fix compile-testing on 64-bit clocksource: davinci: only enable clockevents once tim34 is initialized arm64: dts: rockchip: fix dwmmc clock name for px30 arm64: dts: rockchip: add reg property to brcmf sub-nodes ARM: dts: rockchip: add reg property to brcmf sub node for rk3188-bqedison2qc ALSA: usb-audio: Add boot quirk for MOTU M Series ASoC: atmel: fix build error with CONFIG_SND_ATMEL_SOC_DMA=m raid6/test: fix a compilation warning tty: synclinkmp: Adjust indentation in several functions tty: synclink_gt: Adjust indentation in several functions misc: xilinx_sdfec: fix xsdfec_poll()'s return type visorbus: fix uninitialized variable access driver core: platform: Prevent resouce overflow from causing infinite loops driver core: Print device when resources present in really_probe() ASoC: SOF: Intel: hda-dai: fix compilation warning in pcm_prepare bpf: Return -EBADRQC for invalid map type in __bpf_tx_xdp_map vme: bridges: reduce stack usage drm/nouveau/secboot/gm20b: initialize pointer in gm20b_secboot_new() drm/nouveau/gr/gk20a,gm200-: add terminators to method lists read from fw drm/nouveau: Fix copy-paste error in nouveau_fence_wait_uevent_handler drm/nouveau/drm/ttm: Remove set but not used variable 'mem' drm/nouveau/fault/gv100-: fix memory leak on module unload dm thin: don't allow changing data device during thin-pool reload gpiolib: Set lockdep class for hierarchical irq domains drm/vmwgfx: prevent memory leak in vmw_cmdbuf_res_add perf/imx_ddr: Fix cpu hotplug state cleanup usb: musb: omap2430: Get rid of musb .set_vbus for omap2430 glue kbuild: remove *.tmp file when filechk fails iommu/arm-smmu-v3: Use WRITE_ONCE() when changing validity of an STE ALSA: usb-audio: unlock on error in probe f2fs: set I_LINKABLE early to avoid wrong access by vfs f2fs: free sysfs kobject scsi: ufs: pass device information to apply_dev_quirks scsi: ufs-mediatek: add apply_dev_quirks variant operation scsi: iscsi: Don't destroy session if there are outstanding connections crypto: essiv - fix AEAD capitalization and preposition use in help text ALSA: usb-audio: add implicit fb quirk for MOTU M Series RDMA/mlx5: Don't fake udata for kernel path arm64: lse: fix LSE atomics with LLVM's integrated assembler arm64: fix alternatives with LLVM's integrated assembler drm/amd/display: fixup DML dependencies EDAC/sifive: Fix return value check in ecc_register() KVM: PPC: Remove set but not used variable 'ra', 'rs', 'rt' arm64: dts: ti: k3-j721e-main: Add missing power-domains for smmu sched/core: Fix size of rq::uclamp initialization sched/topology: Assert non-NUMA topology masks don't (partially) overlap perf/x86/amd: Constrain Large Increment per Cycle events watchdog/softlockup: Enforce that timestamp is valid on boot debugobjects: Fix various data races ASoC: SOF: Intel: hda: Fix SKL dai count regulator: vctrl-regulator: Avoid deadlock getting and setting the voltage f2fs: fix memleak of kobject x86/mm: Fix NX bit clearing issue in kernel_map_pages_in_pgd pwm: omap-dmtimer: Remove PWM chip in .remove before making it unfunctional cmd64x: potential buffer overflow in cmd64x_program_timings() ide: serverworks: potential overflow in svwks_set_pio_mode() pwm: Remove set but not set variable 'pwm' btrfs: fix possible NULL-pointer dereference in integrity checks btrfs: safely advance counter when looking up bio csums btrfs: device stats, log when stats are zeroed module: avoid setting info->name early in case we can fall back to info->mod->name remoteproc: Initialize rproc_class before use regulator: core: Fix exported symbols to the exported GPL version irqchip/mbigen: Set driver .suppress_bind_attrs to avoid remove problems ALSA: hda/hdmi - add retry logic to parse_intel_hdmi() spi: spi-fsl-qspi: Ensure width is respected in spi-mem operations kbuild: use -S instead of -E for precise cc-option test in Kconfig objtool: Fix ARCH=x86_64 build error x86/decoder: Add TEST opcode to Group3-2 s390: adjust -mpacked-stack support check for clang 10 s390/ftrace: generate traced function stack frame driver core: platform: fix u32 greater or equal to zero comparison bpf, btf: Always output invariant hit in pahole DWARF to BTF transform ALSA: hda - Add docking station support for Lenovo Thinkpad T420s sunrpc: Fix potential leaks in sunrpc_cache_unhash() drm/nouveau/mmu: fix comptag memory leak powerpc/sriov: Remove VF eeh_dev state when disabling SR-IOV media: uvcvideo: Add a quirk to force GEO GC6500 Camera bits-per-pixel value btrfs: separate definition of assertion failure handlers btrfs: Fix split-brain handling when changing FSID to metadata uuid bcache: cached_dev_free needs to put the sb page bcache: rework error unwinding in register_bcache bcache: fix use-after-free in register_bcache() iommu/vt-d: Remove unnecessary WARN_ON_ONCE() alarmtimer: Make alarmtimer platform device child of RTC device selftests: bpf: Reset global state between reuseport test runs jbd2: switch to use jbd2_journal_abort() when failed to submit the commit record jbd2: make sure ESHUTDOWN to be recorded in the journal superblock powerpc/pseries/lparcfg: Fix display of Maximum Memory selftests/eeh: Bump EEH wait time to 60s ARM: 8951/1: Fix Kexec compilation issue. ALSA: usb-audio: add quirks for Line6 Helix devices fw>=2.82 hostap: Adjust indentation in prism2_hostapd_add_sta rtw88: fix potential NULL skb access in TX ISR iwlegacy: ensure loop counter addr does not wrap and cause an infinite loop cifs: fix unitialized variable poential problem with network I/O cache lock patch cifs: Fix mount options set in automount cifs: fix NULL dereference in match_prepath bpf: map_seq_next should always increase position index powerpc/mm: Don't log user reads to 0xffffffff ceph: check availability of mds cluster on mount after wait timeout rbd: work around -Wuninitialized warning drm/amd/display: do not allocate display_mode_lib unnecessarily irqchip/gic-v3: Only provision redistributors that are enabled in ACPI drm/nouveau/disp/nv50-: prevent oops when no channel method map provided char: hpet: Fix out-of-bounds read bug ftrace: fpid_next() should increase position index trigger_next should increase position index radeon: insert 10ms sleep in dce5_crtc_load_lut powerpc: Do not consider weak unresolved symbol relocations as bad btrfs: do not do delalloc reservation under page lock ocfs2: make local header paths relative to C files ocfs2: fix a NULL pointer dereference when call ocfs2_update_inode_fsync_trans() lib/scatterlist.c: adjust indentation in __sg_alloc_table reiserfs: prevent NULL pointer dereference in reiserfs_insert_item() bcache: fix memory corruption in bch_cache_accounting_clear() bcache: explicity type cast in bset_bkey_last() bcache: fix incorrect data type usage in btree_flush_write() irqchip/gic-v3-its: Reference to its_invall_cmd descriptor when building INVALL nvmet: Pass lockdep expression to RCU lists nvme-pci: remove nvmeq->tags iwlwifi: mvm: Fix thermal zone registration iwlwifi: mvm: Check the sta is not NULL in iwl_mvm_cfg_he_sta() asm-generic/tlb: add missing CONFIG symbol microblaze: Prevent the overflow of the start brd: check and limit max_part par drm/amdgpu/smu10: fix smu10_get_clock_by_type_with_latency drm/amdgpu/smu10: fix smu10_get_clock_by_type_with_voltage NFS: Fix memory leaks help_next should increase position index i40e: Relax i40e_xsk_wakeup's return value when PF is busy cifs: log warning message (once) if out of disk space virtio_balloon: prevent pfn array overflow fuse: don't overflow LLONG_MAX with end offset mlxsw: spectrum_dpipe: Add missing error path s390/pci: Recover handle in clp_set_pci_fn() drm/amdgpu/display: handle multiple numbers of fclks in dcn_calcs.c (v2) bcache: properly initialize 'path' and 'err' in register_bcache() rtc: Kconfig: select REGMAP_I2C when necessary Linux 5.4.22 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: Iaeb3945493ecc81a0ae90ef87b19ceb2caf48164 |
||
Paolo Valente
|
39a7082195 |
block, bfq: do not plug I/O for bfq_queues with no proc refs
[ Upstream commit f718b093277df582fbf8775548a4f163e664d282 ] Commit |
||
Eric Biggers
|
e124323186 |
ANDROID: ufs, block: fix crypto power management and move into block layer
The call to pm_runtime_get_sync() in ufshcd_program_key() can deadlock because it waits for the UFS controller to be resumed, but it can itself be reached while resuming the UFS controller via: - ufshcd_runtime_resume() - ufshcd_resume() - ufshcd_reset_and_restore() - ufshcd_host_reset_and_restore() - ufshcd_hba_enable() - ufshcd_hba_execute_hce() - ufshcd_hba_start() - ufshcd_crypto_enable() - keyslot_manager_reprogram_all_keys() - ufshcd_crypto_keyslot_program() - ufshcd_program_key() But pm_runtime_get_sync() *is* needed when evicting a key. Also, on pre-4.20 kernels it's needed when programming a keyslot for a bio since the block layer used to resume the device in a different place. Thus, it's hard for drivers to know what to do in .keyslot_program() and .keyslot_evict(). In old kernels it may even be impossible unless we were to pass more information down from the keyslot_manager. There's also another possible deadlock: keyslot programming and eviction take ksm->lock for write and then resume the device, which may result in ksm->lock being taken again via the above call stack. To fix this, we should resume the device before taking ksm->lock. Fix these problems by moving to a better design where the block layer (namely, the keyslot manager) handles runtime power management instead of drivers. This is analogous to the block layer's existing runtime power management support (blk-pm), which handles resuming devices when bios are submitted to them so that drivers don't need to handle it. Test: Tested on coral with: echo 5 > /sys/bus/platform/devices/1d84000.ufshc/rpm_lvl sleep 30 touch /data && sync # hangs before this fix Also verified via kvm-xfstests that blk-crypto-fallback continues to work both with and without CONFIG_PM=y. Bug: 137270441 Bug: 149368295 Change-Id: I6bc9fb81854afe7edf490d71796ee68a61f7cbc8 Signed-off-by: Eric Biggers <ebiggers@google.com> |
||
Ram Muthiah
|
1f15efbf93 |
ANDROID: modularize BLK_MQ_VIRTIO
Bug: 139431025 Test: Treehugger Change-Id: Iba414b03a9ee1544036c4153bf52e8c8edbb9c17 Signed-off-by: Ram Muthiah <rammuthiah@google.com> (cherry picked from commit f1bdff93debe56dbafc0684fcfbfcaddd599be7b) |
||
Greg Kroah-Hartman
|
33c8a1b2d0 |
This is the 5.4.15 stable release
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAl4tVVcACgkQONu9yGCS aT6IZQ/+J/hKVxK9S0E4nfHy8IC87wRnjmIBsjnZ8jx9+KAhYyHsL5iUL5U0YQPj O1ZYO2Yly8DzzU1RLwkMgZ+eGYBnNuSGtZN/v9IQrQYrV77F7fNM0S59f/ucQJLh lAMbaAbttR05bb48YieZm1HksoRsHmFEg0LsUbQqjm74CWJ+/JA+bZcdnTi9iiJm HELavBOM5NoO/g8Iuh0Xn5Y3W1mOTv3lG7Vn51TynUtJjlyJaaO9cVxDJzDBLabO SKYqH5X2yCBmKw3rH6F4KTDXAiM+v+EzvDwM12aEvG0TkkPEwNcFrkA4hgDFXUWi QEe24R/UP4J2W/jAH46VaeEELo0cNLzt0e9sVi6BsxtkTaf/KknxE93PSOyY40TF CM/nMJAlVv5KYmhQYPa9ZTEoUBNGcAVjsI2Pi7t86oLsFtaN6Sb1BvJTdHPwLA5Z OIi64ZBLy3jWHC4We3ajXI+PD6qlbzyTrjAE6Se5Zfmy05m936XNAfMup4mFMoBv MDEAG0f5XyyAXwARugq46xTlfjI1QO6XOnufxzFCaFETbtr+yYvmdmzWE1I+qyst Xugd94gchuWVH62YPbf+r9H2FpoHZjAroQHTV3hJ+pt/tJqYCcvISG2uv2pJePvm oRt/DO9CA2N5ls0z7WC55Kk746E5NSgsLmF4nktphnshqZR5VFs= =iz+j -----END PGP SIGNATURE----- Merge 5.4.15 into android-5.4 Changes in 5.4.15 drm/i915: Fix pid leak with banned clients libbpf: Fix compatibility for kernels without need_wakeup libbpf: Fix memory leak/double free issue libbpf: Fix potential overflow issue libbpf: Fix another potential overflow issue in bpf_prog_linfo libbpf: Make btf__resolve_size logic always check size error condition bpf: Force .BTF section start to zero when dumping from vmlinux samples: bpf: update map definition to new syntax BTF-defined map samples/bpf: Fix broken xdp_rxq_info due to map order assumptions ARM: dts: logicpd-torpedo-37xx-devkit-28: Reference new DRM panel ARM: OMAP2+: Add missing put_device() call in omapdss_init_of() xfs: Sanity check flags of Q_XQUOTARM call i2c: stm32f7: rework slave_id allocation i2c: i2c-stm32f7: fix 10-bits check in slave free id search loop mfd: intel-lpss: Add default I2C device properties for Gemini Lake SUNRPC: Fix svcauth_gss_proxy_init() SUNRPC: Fix backchannel latency metrics powerpc/security: Fix debugfs data leak on 32-bit powerpc/pseries: Enable support for ibm,drc-info property powerpc/kasan: Fix boot failure with RELOCATABLE && FSL_BOOKE powerpc/archrandom: fix arch_get_random_seed_int() tipc: reduce sensitive to retransmit failures tipc: update mon's self addr when node addr generated tipc: fix potential memory leak in __tipc_sendmsg() tipc: fix wrong socket reference counter after tipc_sk_timeout() returns tipc: fix wrong timeout input for tipc_wait_for_cond() net/mlx5e: Fix free peer_flow when refcount is 0 phy: lantiq: vrx200-pcie: fix error return code in ltq_vrx200_pcie_phy_power_on() net: phy: broadcom: Fix RGMII delays configuration for BCM54210E phy: ti: gmii-sel: fix mac tx internal delay for rgmii-rxid mt76: mt76u: fix endpoint definition order mt7601u: fix bbp version check in mt7601u_wait_bbp_ready ice: fix stack leakage s390/pkey: fix memory leak within _copy_apqns_from_user() nfsd: depend on CRYPTO_MD5 for legacy client tracking crypto: amcc - restore CRYPTO_AES dependency crypto: sun4i-ss - fix big endian issues perf map: No need to adjust the long name of modules leds: tlc591xx: update the maximum brightness soc/tegra: pmc: Fix crashes for hierarchical interrupts soc: qcom: llcc: Name regmaps to avoid collisions soc: renesas: Add missing check for non-zero product register address soc: aspeed: Fix snoop_file_poll()'s return type watchdog: sprd: Fix the incorrect pointer getting from driver data ipmi: Fix memory leak in __ipmi_bmc_register sched/core: Further clarify sched_class::set_next_task() gpiolib: No need to call gpiochip_remove_pin_ranges() twice rtw88: fix beaconing mode rsvd_page memory violation issue rtw88: fix error handling when setup efuse info drm/panfrost: Add missing check for pfdev->regulator drm: panel-lvds: Potential Oops in probe error handling drm/amdgpu: remove excess function parameter description hwrng: omap3-rom - Fix missing clock by probing with device tree dpaa2-eth: Fix minor bug in ethtool stats reporting drm/rockchip: Round up _before_ giving to the clock framework software node: Get reference to parent swnode in get_parent op PCI: mobiveil: Fix csr_read()/write() build issue drm: rcar_lvds: Fix color mismatches on R-Car H2 ES2.0 and later net: netsec: Correct dma sync for XDP_TX frames ACPI: platform: Unregister stale platform devices pwm: sun4i: Fix incorrect calculation of duty_cycle/period regulator: bd70528: Add MODULE_ALIAS to allow module auto loading drm/amdgpu/vi: silence an uninitialized variable warning power: supply: bd70528: Add MODULE_ALIAS to allow module auto loading firmware: imx: Remove call to devm_of_platform_populate libbpf: Don't use kernel-side u32 type in xsk.c rcu: Fix uninitialized variable in nocb_gp_wait() dpaa_eth: perform DMA unmapping before read dpaa_eth: avoid timestamp read on error paths scsi: ufs: delete redundant function ufshcd_def_desc_sizes() net: openvswitch: don't unlock mutex when changing the user_features fails hv_netvsc: flag software created hash value rt2800: remove errornous duplicate condition net: neigh: use long type to store jiffies delta net: axienet: Fix error return code in axienet_probe() selftests: gen_kselftest_tar.sh: Do not clobber kselftest/ rtc: bd70528: fix module alias to autoload module packet: fix data-race in fanout_flow_is_huge() i2c: stm32f7: report dma error during probe kselftests: cgroup: Avoid the reuse of fd after it is deallocated firmware: arm_scmi: Fix doorbell ring logic for !CONFIG_64BIT mmc: sdio: fix wl1251 vendor id mmc: core: fix wl1251 sdio quirks tee: optee: Fix dynamic shm pool allocations tee: optee: fix device enumeration error handling workqueue: Add RCU annotation for pwq list walk SUNRPC: Fix another issue with MIC buffer space sched/cpufreq: Move the cfs_rq_util_change() call to cpufreq_update_util() mt76: mt76u: rely on usb_interface instead of usb_dev dma-direct: don't check swiotlb=force in dma_direct_map_resource afs: Remove set but not used variables 'before', 'after' dmaengine: ti: edma: fix missed failure handling drm/radeon: fix bad DMA from INTERRUPT_CNTL2 xdp: Fix cleanup on map free for devmap_hash map type platform/chrome: wilco_ec: fix use after free issue block: fix memleak of bio integrity data s390/qeth: fix dangling IO buffers after halt/clear net-sysfs: Call dev_hold always in netdev_queue_add_kobject gpio: aspeed: avoid return type warning phy/rockchip: inno-hdmi: round clock rate down to closest 1000 Hz optee: Fix multi page dynamic shm pool alloc Linux 5.4.15 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: I28b2a19657d40804406dc0e7c266296ce8768eb7 |
||
Justin Tee
|
ccbc5d03c2 |
block: fix memleak of bio integrity data
[ Upstream commit ece841abbed2da71fa10710c687c9ce9efb6bf69 ] |
||
Eric Biggers
|
5515324258 |
ANDROID: dm: add dm-default-key target for metadata encryption
Add a device-mapper target "dm-default-key" which assigns an encryption key to bios that aren't for the contents of an encrypted file. This ensures that all blocks on-disk will be encrypted with some key, without the performance hit of file contents being encrypted twice when fscrypt (File-Based Encryption) is used. It is only appropriate to use dm-default-key when key configuration is tightly controlled, like it is in Android, such that all fscrypt keys are at least as hard to compromise as the default key. Compared to the original version of dm-default-key, this has been modified to use the new vendor-independent inline encryption framework (which works even when no inline encryption hardware is present), the table syntax has been changed to match dm-crypt, and support for specifying Adiantum encryption has been added. These changes also mean that dm-default-key now always explicitly specifies the DUN (the IV). Also, to handle f2fs moving blocks of encrypted files around without the key, and to handle ext4 and f2fs filesystems mounted without '-o inlinecrypt', the mapping logic is no longer "set a key on the bio if it doesn't have one already", but rather "set a key on the bio unless the bio has the bi_skip_dm_default_key flag set". Filesystems set this flag on *all* bios for encrypted file contents, regardless of whether they are encrypting/decrypting the file using inline encryption or the traditional filesystem-layer encryption, or moving the raw data. For the bi_skip_dm_default_key flag, a new field in struct bio is used rather than a bit in bi_opf so that fscrypt_set_bio_crypt_ctx() can set the flag, minimizing the changes needed to filesystems. (bi_opf is usually overwritten after fscrypt_set_bio_crypt_ctx() is called.) Bug: 137270441 Bug: 147814592 Change-Id: I69c9cd1e968ccf990e4ad96e5115b662237f5095 Signed-off-by: Eric Biggers <ebiggers@google.com> |
||
Eric Biggers
|
695cfeb088 |
ANDROID: dm: add support for passing through inline crypto support
Update the device-mapper core to support exposing the inline crypto support of the underlying device(s) through the device-mapper device. This works by creating a "passthrough keyslot manager" for the dm device, which declares support for the set of (crypto_mode, data_unit_size) combos which all the underlying devices support. When a supported combo is used, the bio cloning code handles cloning the crypto context to the bios for all the underlying devices. When an unsupported combo is used, the blk-crypto fallback is used as usual. Crypto support on each underlying device is ignored unless the corresponding dm target opts into exposing it. This is needed because for inline crypto to semantically operate on the original bio, the data must not be transformed by the dm target. Thus, targets like dm-linear can expose crypto support of the underlying device, but targets like dm-crypt can't. (dm-crypt could use inline crypto itself, though.) When a key is evicted from the dm device, it is evicted from all underlying devices. Bug: 137270441 Bug: 147814592 Change-Id: If28b574f2e28268db5eb9f325d4cf8f96cb63e3f Signed-off-by: Eric Biggers <ebiggers@google.com> |
||
Satya Tangirala
|
1fc06baadc |
ANDROID: block: Introduce passthrough keyslot manager
The regular keyslot manager is designed for devices that have a small number of keyslots that need to be programmed with keys ahead of time, and bios that are sent to the device need to be tagged with a keyslot index. Some inline encryption hardware may not have any limitations on the number of keyslot, and may instead allow each bio to be tagged with a raw key, data unit number, etc. rather than a pre-programmed keyslot's index. These devices don't need any sort of keyslot management, and it's better for these devices not to have to allocate a regular keyslot manager with some fixed number of keyslots. These devices can instead set up a passthrough keyslot manager in their request queue, which require less resources than regular keyslot managers, as they simply do no-ops when trying to program keys into slots. Separately, the device mapper may map over devices that have inline encryption hardware, and it wants to pass the key along to the underlying hardware. While the DM layer can expose inline encryption capabilities by setting up a regular keyslot manager with some fixed number of keyslots in the dm device's request queue, this only wastes memory since the keys programmed into the dm device's request queue will never be used. Instead, it's better to set up a passthrough keyslot manager for dm devices. Bug: 137270441 Bug: 147814592 Change-Id: I6d91e83e86a73b0d6066873c8a9117cf2c089234 Signed-off-by: Satya Tangirala <satyat@google.com> Signed-off-by: Eric Biggers <ebiggers@google.com> |
||
Eric Biggers
|
9f8ee7b47c |
ANDROID: block: export symbols needed for modules to use inline crypto
Export the blk-crypto symbols needed for modules to use inline crypto. These would have already been exported, except that so far they've only been used by fs/crypto/, which is no longer modular. Bug: 137270441 Bug: 147814592 Change-Id: I64bf98aecabe891c188b30dd50124aacb1e008ca Signed-off-by: Eric Biggers <ebiggers@google.com> |
||
Eric Biggers
|
8aaaa67f9b |
ANDROID: block: fix some inline crypto bugs
While we're waiting for v7 of the inline crypto patchset, fix some bugs that made it into the v6 patchset, including one that caused bios with an encryption context to never be merged, and one that could cause non-contiguous pages to incorrectly added to a bio. Bug: 137270441 Change-Id: I3911fcd6c76b5c9063b86d6af6267ad990a46718 Signed-off-by: Eric Biggers <ebiggers@google.com> |
||
Greg Kroah-Hartman
|
ea962facf5 |
This is the 5.4.14 stable release
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAl4pSdUACgkQONu9yGCS aT7wnRAAqw7JuC+cQMI29GiTfX/+V6BHFUGp0b7EoFWg1VVqiFqEHOf4QETS2Qy1 3ZAMIBCICMgJD03WUK95tju4byNhpAVc5HDy3ir4E0ZGE6VprgbkzmVWsJhdVd0E y0whXgRj2mM0eXwCLcLz2qcruE/AxmL84rlnwZ5BwgxbOPq/xRzQQV8R3XUu2bos 1felFUzOLhfJKtZ5ig9ToJGCorc7jOU+cXrvUSvntOFGFqsEdmIfcQMoqE2cXExC WQIk/JDNGnyHlX7I55P0/OBuSv4SV5JzGZjGkkS/Orqg5/KtaOMh0dAcvp25L3jY b2bNDDnKvDEd2eb3GQNb4X7pqy8SFD5WLQH2otJjpZl6nHqOG2xCZCnrVtvf7toC kJ0ocNIeGU6OsFzAwXATh3hk6ZFlJYkQarHjvgpETkx+WBcw9yw7DFW9Pa9khkMV OWKqfGrqVyV1bTXTfZPHOHm+eBVmqTLPeoK4XeholrnBrPa50pBjexv+uN+UsQnT QQxTkDpdfFv4KIkH/qgwDh/gIJ/xtjsI9JTK+70aFbSq1HrXNeoZTYof8iLOggY8 wh/aWQGf0PVC3ffgqxd7TF6CxiVn4vaP3/FfcBQVMuTnYK03BScdAEOqBCRLvLK6 509VzsCc1N7qa3vwRTTWxr0u1aCDDgDx5iqmTXW46sYxzjfwnY4= =qNcT -----END PGP SIGNATURE----- Merge 5.4.14 into android-5.4 Changes in 5.4.14 ARM: dts: meson8: fix the size of the PMU registers clk: qcom: gcc-sdm845: Add missing flag to votable GDSCs soc: amlogic: meson-ee-pwrc: propagate PD provider registration errors soc: amlogic: meson-ee-pwrc: propagate errors from pm_genpd_init() dt-bindings: reset: meson8b: fix duplicate reset IDs ARM: dts: imx6q-dhcom: fix rtc compatible arm64: dts: ls1028a: fix endian setting for dcfg arm64: dts: imx8mm: Change SDMA1 ahb clock for imx8mm bus: ti-sysc: Fix iterating over clocks clk: Don't try to enable critical clocks if prepare failed Revert "gpio: thunderx: Switch to GPIOLIB_IRQCHIP" arm64: dts: imx8mq-librem5-devkit: use correct interrupt for the magnetometer ASoC: msm8916-wcd-digital: Reset RX interpolation path after use ASoC: stm32: sai: fix possible circular locking ASoC: stm32: dfsdm: fix 16 bits record ASoC: msm8916-wcd-analog: Fix selected events for MIC BIAS External1 ASoC: msm8916-wcd-analog: Fix MIC BIAS Internal1 ARM: OMAP2+: Fix ti_sysc_find_one_clockdomain to check for to_clk_hw_omap ARM: dts: imx7ulp: fix reg of cpu node ARM: dts: imx6q-dhcom: Fix SGTL5000 VDDIO regulator connection ASoC: Intel: bytcht_es8316: Fix Irbis NB41 netbook quirk ALSA: dice: fix fallback from protocol extension into limited functionality ALSA: seq: Fix racy access for queue timer in proc read ALSA: firewire-tascam: fix corruption due to spin lock without restoration in SoftIRQ context ALSA: usb-audio: fix sync-ep altsetting sanity check arm64: dts: allwinner: a64: olinuxino: Fix SDIO supply regulator arm64: dts: allwinner: a64: olinuxino: Fix eMMC supply regulator arm64: dts: agilex/stratix10: fix pmu interrupt numbers Fix built-in early-load Intel microcode alignment clk: sunxi-ng: r40: Allow setting parent rate for external clock outputs block: fix an integer overflow in logical block size fuse: fix fuse_send_readpages() in the syncronous read case io_uring: only allow submit from owning task cpuidle: teo: Fix intervals[] array indexing bug ARM: dts: am571x-idk: Fix gpios property to have the correct gpio number ARM: davinci: select CONFIG_RESET_CONTROLLER perf: Correctly handle failed perf_get_aux_event() iio: adc: ad7124: Fix DT channel configuration iio: imu: st_lsm6dsx: Fix selection of ST_LSM6DS3_ID iio: light: vcnl4000: Fix scale for vcnl4040 iio: chemical: pms7003: fix unmet triggered buffer dependency iio: buffer: align the size of scan bytes to size of the largest element USB: serial: simple: Add Motorola Solutions TETRA MTP3xxx and MTP85xx USB: serial: option: Add support for Quectel RM500Q USB: serial: opticon: fix control-message timeouts USB: serial: option: add support for Quectel RM500Q in QDL mode USB: serial: suppress driver bind attributes USB: serial: ch341: handle unbound port at reset_resume USB: serial: io_edgeport: handle unbound ports on URB completion USB: serial: io_edgeport: add missing active-port sanity check USB: serial: keyspan: handle unbound ports USB: serial: quatech2: handle unbound ports staging: comedi: ni_routes: fix null dereference in ni_find_route_source() staging: comedi: ni_routes: allow partial routing information scsi: fnic: fix invalid stack access scsi: mptfusion: Fix double fetch bug in ioctl ptrace: reintroduce usage of subjective credentials in ptrace_has_cap() mtd: rawnand: gpmi: Fix suspend/resume problem mtd: rawnand: gpmi: Restore nfc timing setup after suspend/resume usb: core: hub: Improved device recognition on remote wakeup cpu/SMT: Fix x86 link error without CONFIG_SYSFS x86/resctrl: Fix an imbalance in domain_remove_cpu() x86/CPU/AMD: Ensure clearing of SME/SEV features is maintained locking/rwsem: Fix kernel crash when spinning on RWSEM_OWNER_UNKNOWN perf/x86/intel/uncore: Fix missing marker for snr_uncore_imc_freerunning_events x86/efistub: Disable paging at mixed mode entry s390/zcrypt: Fix CCA cipher key gen with clear key value function scsi: storvsc: Correctly set number of hardware queues for IDE disk mtd: spi-nor: Fix selection of 4-byte addressing opcodes on Spansion drm/i915: Add missing include file <linux/math64.h> x86/resctrl: Fix potential memory leak efi/earlycon: Fix write-combine mapping on x86 s390/setup: Fix secure ipl message clk: samsung: exynos5420: Keep top G3D clocks enabled perf hists: Fix variable name's inconsistency in hists__for_each() macro locking/lockdep: Fix buffer overrun problem in stack_trace[] perf report: Fix incorrectly added dimensions as switch perf data file mm/shmem.c: thp, shmem: fix conflict of above-47bit hint address and PMD alignment mm/huge_memory.c: thp: fix conflict of above-47bit hint address and PMD alignment mm: memcg/slab: fix percpu slab vmstats flushing mm: memcg/slab: call flush_memcg_workqueue() only if memcg workqueue is valid mm, debug_pagealloc: don't rely on static keys too early btrfs: rework arguments of btrfs_unlink_subvol btrfs: fix invalid removal of root ref btrfs: do not delete mismatched root refs btrfs: relocation: fix reloc_root lifespan and access btrfs: fix memory leak in qgroup accounting btrfs: check rw_devices, not num_devices for balance Btrfs: always copy scrub arguments back to user space mm/memory_hotplug: don't free usage map when removing a re-added early section mm/page-writeback.c: avoid potential division by zero in wb_min_max_ratio() mm: khugepaged: add trace status description for SCAN_PAGE_HAS_PRIVATE ARM: dts: imx6qdl-sabresd: Remove incorrect power supply assignment ARM: dts: imx6sx-sdb: Remove incorrect power supply assignment ARM: dts: imx6sl-evk: Remove incorrect power supply assignment ARM: dts: imx6sll-evk: Remove incorrect power supply assignment ARM: dts: imx6q-icore-mipi: Use 1.5 version of i.Core MX6DL ARM: dts: imx7: Fix Toradex Colibri iMX7S 256MB NAND flash support net: stmmac: 16KB buffer must be 16 byte aligned net: stmmac: Enable 16KB buffer size reset: Fix {of,devm}_reset_control_array_get kerneldoc return types tipc: fix potential hanging after b/rcast changing tipc: fix retrans failure due to wrong destination net: fix kernel-doc warning in <linux/netdevice.h> block: Fix the type of 'sts' in bsg_queue_rq() drm/amd/display: Reorder detect_edp_sink_caps before link settings read. bpf: Fix incorrect verifier simulation of ARSH under ALU32 bpf: Sockmap/tls, during free we may call tcp_bpf_unhash() in loop bpf: Sockmap, ensure sock lock held during tear down bpf: Sockmap/tls, push write_space updates through ulp updates bpf: Sockmap, skmsg helper overestimates push, pull, and pop bounds bpf: Sockmap/tls, msg_push_data may leave end mark in place bpf: Sockmap/tls, tls_sw can create a plaintext buf > encrypt buf bpf: Sockmap/tls, skmsg can have wrapped skmsg that needs extra chaining bpf: Sockmap/tls, fix pop data with SK_DROP return code i2c: tegra: Fix suspending in active runtime PM state i2c: tegra: Properly disable runtime PM on driver's probe error cfg80211: fix deadlocks in autodisconnect work cfg80211: fix memory leak in nl80211_probe_mesh_link cfg80211: fix memory leak in cfg80211_cqm_rssi_update cfg80211: fix page refcount issue in A-MSDU decap bpf/sockmap: Read psock ingress_msg before sk_receive_queue i2c: iop3xx: Fix memory leak in probe error path netfilter: fix a use-after-free in mtype_destroy() netfilter: arp_tables: init netns pointer in xt_tgdtor_param struct netfilter: nat: fix ICMP header corruption on ICMP errors netfilter: nft_tunnel: fix null-attribute check netfilter: nft_tunnel: ERSPAN_VERSION must not be null netfilter: nf_tables: remove WARN and add NLA_STRING upper limits netfilter: nf_tables: store transaction list locally while requesting module netfilter: nf_tables: fix flowtable list del corruption NFC: pn533: fix bulk-message timeout net: bpf: Don't leak time wait and request sockets bpftool: Fix printing incorrect pointer in btf_dump_ptr batman-adv: Fix DAT candidate selection on little endian systems macvlan: use skb_reset_mac_header() in macvlan_queue_xmit() hv_netvsc: Fix memory leak when removing rndis device net: avoid updating qdisc_xmit_lock_key in netdev_update_lockdep_key() net: dsa: tag_qca: fix doubled Tx statistics net: hns3: pad the short frame before sending to the hardware net: hns: fix soft lockup when there is not enough memory net: phy: dp83867: Set FORCE_LINK_GOOD to default after reset net/sched: act_ife: initalize ife->metalist earlier net: usb: lan78xx: limit size of local TSO packets net/wan/fsl_ucc_hdlc: fix out of bounds write on array utdm_info ptp: free ptp device pin descriptors properly r8152: add missing endpoint sanity check tcp: fix marked lost packets not being retransmitted bnxt_en: Fix NTUPLE firmware command failures. bnxt_en: Fix ipv6 RFS filter matching logic. bnxt_en: Do not treat DSN (Digital Serial Number) read failure as fatal. net: ethernet: ave: Avoid lockdep warning net: systemport: Fixed queue mapping in internal ring map net: dsa: sja1105: Don't error out on disabled ports with no phy-mode net: dsa: tag_gswip: fix typo in tagger name net: sched: act_ctinfo: fix memory leak net: dsa: bcm_sf2: Configure IMP port for 2Gb/sec i40e: prevent memory leak in i40e_setup_macvlans drm/amdgpu: allow direct upload save restore list for raven2 sh_eth: check sh_eth_cpu_data::dual_port when dumping registers mlxsw: spectrum: Do not modify cloned SKBs during xmit mlxsw: spectrum: Wipe xstats.backlog of down ports mlxsw: spectrum_qdisc: Include MC TCs in Qdisc counters net: stmmac: selftests: Make it work in Synopsys AXS101 boards net: stmmac: selftests: Mark as fail when received VLAN ID != expected selftests: mlxsw: qos_mc_aware: Fix mausezahn invocation net: stmmac: selftests: Update status when disabling RSS net: stmmac: tc: Do not setup flower filtering if RSS is enabled devlink: Wait longer before warning about unset port type xen/blkfront: Adjust indentation in xlvbd_alloc_gendisk dt-bindings: Add missing 'properties' keyword enclosing 'snps,tso' tcp: refine rule to allow EPOLLOUT generation under mem pressure irqchip: Place CONFIG_SIFIVE_PLIC into the menu arm64: dts: qcom: msm8998: Disable coresight by default cw1200: Fix a signedness bug in cw1200_load_firmware() arm64: dts: meson: axg: fix audio fifo reg size arm64: dts: meson: g12: fix audio fifo reg size arm64: dts: meson-gxl-s905x-khadas-vim: fix gpio-keys-polled node arm64: dts: renesas: r8a77970: Fix PWM3 arm64: dts: marvell: Add AP806-dual missing CPU clocks cfg80211: check for set_wiphy_params tick/sched: Annotate lockless access to last_jiffies_update arm64: dts: marvell: Fix CP110 NAND controller node multi-line comment alignment arm64: dts: renesas: r8a774a1: Remove audio port node arm64: dts: imx8mm-evk: Assigned clocks for audio plls arm64: dts: qcom: sdm845-cheza: delete zap-shader ARM: dts: imx6ul-kontron-n6310-s: Disable the snvs-poweroff driver arm64: dts: allwinner: a64: Re-add PMU node ARM: dts: dra7: fix cpsw mdio fck clock arm64: dts: juno: Fix UART frequency ARM: dts: Fix sgx sysconfig register for omap4 Revert "arm64: dts: juno: add dma-ranges property" mtd: devices: fix mchp23k256 read and write mtd: cfi_cmdset_0002: only check errors when ready in cfi_check_err_status() mtd: cfi_cmdset_0002: fix delayed error detection on HyperFlash um: Don't trace irqflags during shutdown um: virtio_uml: Disallow modular build reiserfs: fix handling of -EOPNOTSUPP in reiserfs_for_each_xattr scsi: esas2r: unlock on error in esas2r_nvram_read_direct() scsi: hisi_sas: Don't create debugfs dump folder twice scsi: hisi_sas: Set the BIST init value before enabling BIST scsi: qla4xxx: fix double free bug scsi: bnx2i: fix potential use after free scsi: target: core: Fix a pr_debug() argument scsi: lpfc: fix: Coverity: lpfc_get_scsi_buf_s3(): Null pointer dereferences scsi: hisi_sas: Return directly if init hardware failed scsi: scsi_transport_sas: Fix memory leak when removing devices scsi: qla2xxx: Fix qla2x00_request_irqs() for MSI scsi: qla2xxx: fix rports not being mark as lost in sync fabric scan scsi: core: scsi_trace: Use get_unaligned_be*() scsi: lpfc: Fix list corruption detected in lpfc_put_sgl_per_hdwq scsi: lpfc: Fix hdwq sgl locks and irq handling scsi: lpfc: Fix a kernel warning triggered by lpfc_get_sgl_per_hdwq() rtw88: fix potential read outside array boundary perf probe: Fix wrong address verification perf script: Allow --time with --reltime clk: sprd: Use IS_ERR() to validate the return value of syscon_regmap_lookup_by_phandle() clk: imx7ulp: Correct system clock source option #7 clk: imx7ulp: Correct DDR clock mux options regulator: ab8500: Remove SYSCLKREQ from enum ab8505_regulator_id hwmon: (pmbus/ibm-cffps) Switch LEDs to blocking brightness call hwmon: (pmbus/ibm-cffps) Fix LED blink behavior perf script: Fix --reltime with --time scsi: lpfc: use hdwq assigned cpu for allocation Linux 5.4.14 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: I400bdf3be682df698c2477fbf869d5ad8ce300b5 |
||
Bart Van Assche
|
7ecc610a30 |
block: Fix the type of 'sts' in bsg_queue_rq()
commit c44a4edb20938c85b64a256661443039f5bffdea upstream.
This patch fixes the following sparse warnings:
block/bsg-lib.c:269:19: warning: incorrect type in initializer (different base types)
block/bsg-lib.c:269:19: expected int sts
block/bsg-lib.c:269:19: got restricted blk_status_t [usertype]
block/bsg-lib.c:286:16: warning: incorrect type in return expression (different base types)
block/bsg-lib.c:286:16: expected restricted blk_status_t
block/bsg-lib.c:286:16: got int [assigned] sts
Cc: Martin Wilck <mwilck@suse.com>
Fixes:
|
||
Mikulas Patocka
|
6eed26e35c |
block: fix an integer overflow in logical block size
commit ad6bf88a6c19a39fb3b0045d78ea880325dfcf15 upstream. Logical block size has type unsigned short. That means that it can be at most 32768. However, there are architectures that can run with 64k pages (for example arm64) and on these architectures, it may be possible to create block devices with 64k block size. For exmaple (run this on an architecture with 64k pages): Mount will fail with this error because it tries to read the superblock using 2-sector access: device-mapper: writecache: I/O is not aligned, sector 2, size 1024, block size 65536 EXT4-fs (dm-0): unable to read superblock This patch changes the logical block size from unsigned short to unsigned int to avoid the overflow. Cc: stable@vger.kernel.org Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com> Reviewed-by: Ming Lei <ming.lei@redhat.com> Signed-off-by: Mikulas Patocka <mpatocka@redhat.com> Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
||
Barani Muthukumaran
|
3e8cceb730 |
ANDROID: block: add KSM op to derive software secret from wrapped key
Some inline encryption hardware supports protecting the keys in hardware and only exposing wrapped keys to software. To use this capability, userspace must provide a hardware-wrapped key rather than a raw key. However, users of inline encryption in the kernel won't necessarily use the user-specified key directly for inline encryption. E.g. with fscrypt with IV_INO_LBLK_64 policies, each user-provided key is used to derive a file contents encryption key, filenames encryption key, and key identifier. Since inline encryption can only be used with file contents, if the user were to provide a wrapped key there would (naively) be no way to encrypt filenames or derive the key identifier. This problem is solved by designing the hardware to internally use the unwrapped key as input to a KDF from which multiple cryptographically isolated keys can be derived, including both the inline crypto key (not exposed to software) and a secret that *is* exposed to software. Add a function to the keyslot manager to allow upper layers to request this software secret from a hardware-wrapped key. Bug: 147209885 Change-Id: Iffb05b297b7ba3f3e865e798e4bb73aef4e6ba19 Co-developed-by: Gaurav Kashyap <gaurkash@codeaurora.org> Signed-off-by: Gaurav Kashyap <gaurkash@codeaurora.org> Signed-off-by: Barani Muthukumaran <bmuthuku@codeaurora.org> Signed-off-by: Eric Biggers <ebiggers@google.com> |
||
Barani Muthukumaran
|
e25d82c5a0 |
ANDROID: block: provide key size as input to inline crypto APIs
Currently, blk-crypto uses the algorithm to determine the size of keys. However, some inline encryption hardware supports protecting keys from software by wrapping the storage keys with an ephemeral key. Since these wrapped keys are not of a fixed size, add the capability to provide the key size when initializing a blk_crypto_key, and update the keyslot manager to take size into account when comparing keys. Bug: 147209885 Change-Id: Ibc2e4807e0a0ec473e72d131e0f20abb3a6033b5 Co-developed-by: Gaurav Kashyap <gaurkash@codeaurora.org> Signed-off-by: Gaurav Kashyap <gaurkash@codeaurora.org> Signed-off-by: Barani Muthukumaran <bmuthuku@codeaurora.org> Signed-off-by: Eric Biggers <ebiggers@google.com> |