2020-11-24 02:00:23

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.9 000/252] 5.9.11-rc1 review

This is the start of the stable review cycle for the 5.9.11 release.
There are 252 patches in this series, all will be posted as a response
to this one. If anyone has any issues with these being applied, please
let me know.

Responses should be made by Wed, 25 Nov 2020 12:17:50 +0000.
Anything received after that time might be too late.

The whole patch series can be found in one patch at:
https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.9.11-rc1.gz
or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.9.y
and the diffstat can be found below.

thanks,

greg k-h

-------------
Pseudo-Shortlog of commits:

Greg Kroah-Hartman <[email protected]>
Linux 5.9.11-rc1

Gerald Schaefer <[email protected]>
mm/userfaultfd: do not access vma->vm_mm after calling handle_userfault()

Muchun Song <[email protected]>
mm: memcg/slab: fix root memcg vmstats

Matthew Wilcox (Oracle) <[email protected]>
mm: fix readahead_page_batch for retry entries

Jens Axboe <[email protected]>
mm: never attempt async page lock if we've transferred data already

Chen Yu <[email protected]>
x86/microcode/intel: Check patch signature before saving microcode for early loading

Amir Goldstein <[email protected]>
fanotify: fix logic of reporting name info with watched parent

Mickaël Salaün <[email protected]>
seccomp: Set PF_SUPERPRIV when checking capability

Mickaël Salaün <[email protected]>
ptrace: Set PF_SUPERPRIV when checking capability

Christoph Hellwig <[email protected]>
blk-cgroup: fix a hd_struct leak in blkcg_fill_root_iostats

Manish Narani <[email protected]>
mmc: sdhci-of-arasan: Issue DLL reset explicitly

Manish Narani <[email protected]>
mmc: sdhci-of-arasan: Use Mask writes for Tap delays

Manish Narani <[email protected]>
mmc: sdhci-of-arasan: Allow configuring zero tap values

Adrian Hunter <[email protected]>
mmc: sdhci-pci: Prefer SDR25 timing for High Speed mode for BYT-based Intel controllers

Jens Axboe <[email protected]>
io_uring: don't double complete failed reissue request

Rodrigo Vivi <[email protected]>
drm/i915/tgl: Fix Media power gate sequence.

Ville Syrjälä <[email protected]>
drm/i915: Handle max_bpc==16

Alex Deucher <[email protected]>
drm/amd/display: Add missing pflip irq for dcn2.0

Chris Co <[email protected]>
Drivers: hv: vmbus: Allow cleanup of VMBUS_CONNECT_CPU if disconnected

Stefan Haberland <[email protected]>
s390/dasd: fix null pointer dereference for ERP requests

Thomas Richter <[email protected]>
s390/cpum_sf.c: fix file permission for cpum_sfb_size

Heiko Carstens <[email protected]>
s390: fix system call exit path

Johannes Berg <[email protected]>
mac80211: free sta in sta_info_insert_finish() on errors

Felix Fietkau <[email protected]>
mac80211: minstrel: fix tx status processing corner case

Felix Fietkau <[email protected]>
mac80211: minstrel: remove deferred sampling code

Max Filippov <[email protected]>
xtensa: disable preemption around cache alias management calls

Max Filippov <[email protected]>
xtensa: fix TLBTEMP area placement

Bob Peterson <[email protected]>
gfs2: Fix regression in freeze_go_sync

Michał Mirosław <[email protected]>
regulator: workaround self-referent regulators

Michał Mirosław <[email protected]>
regulator: avoid resolve_supply() infinite recursion

Michał Mirosław <[email protected]>
regulator: fix memory leak with repeated set_machine_constraints()

Sean Nyekjaer <[email protected]>
regulator: pfuze100: limit pfuze-support-disable-sw to pfuze{100,200}

Lukas Wunner <[email protected]>
spi: bcm2835aux: Fix use-after-free on unbind

Lukas Wunner <[email protected]>
spi: npcm-fiu: Don't leak SPI master in probe error path

Lukas Wunner <[email protected]>
spi: Introduce device-managed SPI controller allocation

Lukas Wunner <[email protected]>
spi: lpspi: Fix use-after-free on unbind

Dinh Nguyen <[email protected]>
arm64: dts: agilex/stratix10: Fix qspi node compatible

Zheng Zengkai <[email protected]>
serial: ar933x_uart: disable clk on error handling path in probe

Olivier Moysan <[email protected]>
iio: adc: stm32-adc: fix a regression when using dma and irq

Paul Cercueil <[email protected]>
iio/adc: ingenic: Fix battery VREF for JZ4770 SoC

Paul Cercueil <[email protected]>
iio/adc: ingenic: Fix AUX/VBAT readings when touchscreen is used

Lorenzo Bianconi <[email protected]>
iio: imu: st_lsm6dsx: set 10ms as min shub slave timeout

Gwendal Grignou <[email protected]>
iio: cros_ec: Use default frequencies when EC returns invalid information

Fabien Parent <[email protected]>
iio: adc: mediatek: fix unset field

Hans de Goede <[email protected]>
iio: accel: kxcjk1013: Add support for KIOX010A ACPI DSM for setting tablet-mode

Hans de Goede <[email protected]>
iio: accel: kxcjk1013: Replace is_smo8500_device with an acpi_type enum

Guenter Roeck <[email protected]>
ACPI: fan: Initialize performance state sysfs attribute

Gao Xiang <[email protected]>
xfs: fix forkoff miscalculation related to XFS_LITINO(mp)

Jan Kara <[email protected]>
ext4: fix bogus warning in ext4_update_dx_flag()

Necip Fazil Yildiran <[email protected]>
iio: light: fix kconfig dependency bug for VCNL4035

Sergio Paracuellos <[email protected]>
staging: mt7621-pci: avoid to request pci bus resources

Brian O'Keefe <[email protected]>
staging: rtl8723bs: Add 024c:0627 to the list of SDIO device-ids

Vamshi K Sthambamkadi <[email protected]>
efivarfs: fix memory leak in efivarfs_create()

Hans de Goede <[email protected]>
HID: logitech-dj: Fix an error in mse_bluetooth_descriptor

Fugang Duan <[email protected]>
tty: serial: imx: keep console clocks always on

Sam Nobs <[email protected]>
tty: serial: imx: fix potential deadlock

Kailang Yang <[email protected]>
ALSA: hda/realtek - HP Headset Mic can't detect after boot

PeiSen Hou <[email protected]>
ALSA: hda/realtek: Add some Clove SSID in the ALC293(ALC1220)

Kailang Yang <[email protected]>
ALSA: hda/realtek - Add supported mute Led for HP

Kailang Yang <[email protected]>
ALSA: hda/realtek - Add supported for Lenovo ThinkPad Headset Button

Takashi Iwai <[email protected]>
ALSA: mixart: Fix mutex deadlock

Takashi Sakamoto <[email protected]>
ALSA: ctl: fix error path at adding user-defined element set

Joakim Tjernlund <[email protected]>
ALSA: usb-audio: Add delay quirk for all Logitech USB devices

Dan Carpenter <[email protected]>
ALSA: firewire: Clean up a locking issue in copy_resp_to_buf()

Samuel Thibault <[email protected]>
speakup: Do not let the line discipline be used several times

Hans de Goede <[email protected]>
HID: logitech-dj: Fix Dinovo Mini when paired with a MX5x00 receiver

Hans de Goede <[email protected]>
HID: logitech-dj: Handle quad/bluetooth keyboards with a builtin trackpad

Lars Povlsen <[email protected]>
HID: mcp2221: Fix GPIO output handling

Harry Cutts <[email protected]>
HID: logitech-hidpp: Add PID for MX Anywhere 2

David Howells <[email protected]>
afs: Fix speculative status fetch going out of order wrt to modifications

Yicong Yang <[email protected]>
libfs: fix error cast of negative value in simple_attr_write()

Peter Zijlstra <[email protected]>
sched: Fix rq->nr_iowait ordering

Peter Zijlstra <[email protected]>
sched: Fix data-race in wakeup

Quentin Perret <[email protected]>
sched/fair: Fix overutilized update in enqueue_task_fair()

Arvind Sankar <[email protected]>
efi/x86: Free efi_pgd with free_pages()

David Lechner <[email protected]>
counter/ti-eqep: Fix regmap max_register

Ard Biesheuvel <[email protected]>
efi/arm: set HSCTLR Thumb2 bit correctly for HVC calls from HYP

John Fastabend <[email protected]>
bpf, sockmap: Avoid returning unneeded EAGAIN when redirecting to self

John Fastabend <[email protected]>
bpf, sockmap: Use truesize with sk_rmem_schedule()

John Fastabend <[email protected]>
bpf, sockmap: On receive programs try to fast track SK_PASS ingress

John Fastabend <[email protected]>
bpf, sockmap: Skb verdict SK_PASS to self already checked rmem limits

Kees Cook <[email protected]>
selftests/seccomp: sh: Fix register names

Kees Cook <[email protected]>
selftests/seccomp: powerpc: Fix typo in macro variable name

Darrick J. Wong <[email protected]>
xfs: revert "xfs: fix rmap key and record comparison functions"

Luo Meng <[email protected]>
fail_function: Remove a redundant mutex unlock

Daniel Xu <[email protected]>
lib/strncpy_from_user.c: Mask out bytes after NUL terminator.

Jiri Olsa <[email protected]>
libbpf: Fix VERSIONED_SYM_COUNT number parsing

Nishanth Menon <[email protected]>
regulator: ti-abb: Fix array out of bound read access on the first transition

Guenter Roeck <[email protected]>
ASOC: Intel: kbl_rt5663_rt5514_max98927: Do not try to disable disabled clock

Yu Kuai <[email protected]>
xfs: return corresponding errcode if xfs_initialize_perag() fail

Darrick J. Wong <[email protected]>
xfs: ensure inobt record walks always make forward progress

Darrick J. Wong <[email protected]>
xfs: directory scrub should check the null bestfree entries too

Darrick J. Wong <[email protected]>
xfs: strengthen rmap record flags checking

Darrick J. Wong <[email protected]>
xfs: fix the minrecs logic when dealing with inode root child blocks

Jarkko Nikula <[email protected]>
can: m_can: process interrupt only when not runtime suspended

Marc Kleine-Budde <[email protected]>
can: flexcan: flexcan_chip_start(): fix erroneous flexcan_transceiver_enable() during bus-off recovery

Zhenzhong Duan <[email protected]>
iommu/vt-d: Avoid panic if iommu init fails in tboot system

Andy Shevchenko <[email protected]>
iommu/vt-d: Move intel_iommu_gfx_mapped to Intel IOMMU header

Dan Carpenter <[email protected]>
dmaengine: fix error codes in channel_register()

Jimmy Assarsson <[email protected]>
can: kvaser_usb: kvaser_usb_hydra: Fix KCAN bittiming limits

Jimmy Assarsson <[email protected]>
can: kvaser_pciefd: Fix KCAN bittiming limits

John Fastabend <[email protected]>
bpf, sockmap: Ensure SO_RCVBUF memory is observed on ingress redirect

John Fastabend <[email protected]>
bpf, sockmap: Fix partial copy_page_to_iter so progress can still be made

Eli Cohen <[email protected]>
net/mlx5: E-Switch, Fail mlx5_esw_modify_vport_rate if qos disabled

Xiongfeng Wang <[email protected]>
drm/sun4i: dw-hdmi: fix error return code in sun8i_dw_hdmi_bind()

Zhang Qilong <[email protected]>
MIPS: Alchemy: Fix memleak in alchemy_clk_setup_cpu

Wang Hai <[email protected]>
selftests/bpf: Fix error return code in run_getsockopt_test()

Zhihao Cheng <[email protected]>
spi: cadence-quadspi: Fix error return code in cqspi_probe

Srinivasa Rao Mandadapu <[email protected]>
ASoC: qcom: lpass-platform: Fix memory leak

Michael Sit Wei Hong <[email protected]>
ASoC: Intel: KMB: Fix S24_LE configuration

Dave Jiang <[email protected]>
dmaengine: idxd: fix mapping of portal size

Faiz Abbas <[email protected]>
can: m_can: m_can_stop(): set device to software init mode before closing

Dan Murphy <[email protected]>
can: m_can: Fix freeing of can device from peripherials

Dan Murphy <[email protected]>
can: m_can: m_can_class_free_dev(): introduce new function

Wu Bo <[email protected]>
can: m_can: m_can_handle_state_change(): fix state change

Marc Kleine-Budde <[email protected]>
can: tcan4x5x: tcan4x5x_can_remove(): fix order of deregistration

Marc Kleine-Budde <[email protected]>
can: tcan4x5x: tcan4x5x_can_probe(): add missing error checking for devm_regmap_init()

Enric Balletbo i Serra <[email protected]>
can: tcan4x5x: replace depends on REGMAP_SPI with depends on SPI

Zhang Qilong <[email protected]>
can: flexcan: fix failure handling of pm_runtime_get_sync()

Colin Ian King <[email protected]>
can: peak_usb: fix potential integer overflow on shift of a int

Marc Kleine-Budde <[email protected]>
can: mcba_usb: mcba_usb_start_xmit(): first fill skb, then pass to can_put_echo_skb()

Zhang Qilong <[email protected]>
can: ti_hecc: Fix memleak in ti_hecc_probe

Alejandro Concepcion Rodriguez <[email protected]>
can: dev: can_restart(): post buffer from the right context

Anant Thazhemadam <[email protected]>
can: af_can: prevent potential access of uninitialized member in canfd_rcv()

Anant Thazhemadam <[email protected]>
can: af_can: prevent potential access of uninitialized member in can_rcv()

Yi-Hung Wei <[email protected]>
ip_tunnels: Set tunnel option flag when tunnel metadata is present

Zhang Changzhong <[email protected]>
IB/hfi1: Fix error return code in hfi1_init_dd()

Wang Hai <[email protected]>
tools, bpftool: Add missing close before bpftool net attach exit

Jonathan Liu <[email protected]>
drm: bridge: dw-hdmi: Avoid resetting force in the detect function

Scott Mayhew <[email protected]>
SUNRPC: Fix oops in the rpc_xdr_buf event class

Leo Yan <[email protected]>
perf lock: Don't free "lock_seq_stat" if read_count isn't zero

Leo Yan <[email protected]>
perf lock: Correct field name "flags"

Christoph Hellwig <[email protected]>
RMDA/sw: Don't allow drivers using dma_virt_ops on highmem configs

Qinglang Miao <[email protected]>
RDMA/pvrdma: Fix missing kfree() in pvrdma_register_device()

Claire Chang <[email protected]>
rfkill: Fix use-after-free in rfkill_resume()

jingle.wu <[email protected]>
Input: elan_i2c - fix firmware update on newer ICs

Necip Fazil Yildiran <[email protected]>
Input: resistive-adc-touch - fix kconfig dependency on IIO_BUFFER

Sven Van Asbroeck <[email protected]>
spi: fix client driver breakages when using GPIO descriptors

Paul E. McKenney <[email protected]>
rcu: Don't invoke try_invoke_on_locked_down_task() with irqs disabled

Brendan Higgins <[email protected]>
kunit: tool: unmark test_data as binary blobs

Tony Lindgren <[email protected]>
dmaengine: ti: omap-dma: Block PM if SDMA is busy to fix audio

Fabio Estevam <[email protected]>
ARM: dts: imx50-evk: Fix the chip select 1 IOMUX

Lucas Stach <[email protected]>
arm64: dts: imx8mm: fix voltage for 1.6GHz CPU operating point

Marek Vasut <[email protected]>
ARM: dts: stm32: Keep VDDA LDO1 always on on DHCOM

Marek Vasut <[email protected]>
ARM: dts: stm32: Enable thermal sensor support on stm32mp15xx-dhcor

Marek Vasut <[email protected]>
ARM: dts: stm32: Define VIO regulator supply on DHCOM

Marek Vasut <[email protected]>
ARM: dts: stm32: Fix LED5 on STM32MP1 DHCOM PDK2

Marek Vasut <[email protected]>
ARM: dts: stm32: Fix TA3-GPIO-C key on STM32MP1 DHCOM PDK2

Matthew Murrian <[email protected]>
dmaengine: xilinx_dma: Fix SG capability check for MCDMA

Matthew Murrian <[email protected]>
dmaengine: xilinx_dma: Fix usage of xilinx_aximcdma_tx_segment

Rijo Thomas <[email protected]>
tee: amdtee: synchronize access to shm list

Rijo Thomas <[email protected]>
tee: amdtee: fix memory leak due to reset of global shm list

Stephen Rothwell <[email protected]>
swiotlb: using SIZE_MAX needs limits.h included

Oleksij Rempel <[email protected]>
ARM: dts: imx6q-prti6q: fix PHY address

Andrew Lunn <[email protected]>
ARM: dts: vf610-zii-dev-rev-b: Fix MDIO over clocking

Sergey Matyukevich <[email protected]>
arm: dts: imx6qdl-udoo: fix rgmii phy-mode for ksz9031 phy

Adam Ford <[email protected]>
arm64: dts imx8mn: Remove non-existent USB OTG2

Adam Ford <[email protected]>
arm64: dts: imx8mm-beacon-som: Fix Choppy BT audio

Biwen Li <[email protected]>
arm64: dts: fsl: fix endianness issue of rcpm

Nenad Peric <[email protected]>
arm64: dts: allwinner: h5: OrangePi Prime: Fix ethernet node

Dave Jiang <[email protected]>
dmaengine: idxd: fix wq config registers offset programming

Randy Dunlap <[email protected]>
MIPS: export has_transparent_hugepage() for modules

Dan Carpenter <[email protected]>
Input: adxl34x - clean up a data type in adxl34x_probe()

Chen-Yu Tsai <[email protected]>
arm64: dts: allwinner: a64: bananapi-m64: Enable RGMII RX/TX delay on PHY

Chen-Yu Tsai <[email protected]>
arm64: dts: allwinner: h5: libretech-all-h5-cc: Enable RGMII RX/TX delay on PHY

Chen-Yu Tsai <[email protected]>
ARM: dts: sunxi: bananapi-m2-plus: Enable RGMII RX/TX delay on Ethernet PHY

Chen-Yu Tsai <[email protected]>
ARM: dts: sun9i: Enable both RGMII RX/TX delay on Ethernet PHY

Chen-Yu Tsai <[email protected]>
ARM: dts: sun8i: a83t: Enable both RGMII RX/TX delay on Ethernet PHY

Chen-Yu Tsai <[email protected]>
ARM: dts: sun8i: h3: orangepi-plus2e: Enable RGMII RX/TX delay on Ethernet PHY

Chen-Yu Tsai <[email protected]>
ARM: dts: sun7i: bananapi-m1-plus: Enable RGMII RX/TX delay on Ethernet PHY

Chen-Yu Tsai <[email protected]>
ARM: dts: sun7i: cubietruck: Enable RGMII RX/TX delay on Ethernet PHY

Chen-Yu Tsai <[email protected]>
ARM: dts: sun6i: a31-hummingbird: Enable RGMII RX/TX delay on Ethernet PHY

Chen-Yu Tsai <[email protected]>
Revert "arm: sun8i: orangepi-pc-plus: Set EMAC activity LEDs to active high"

Jernej Skrabec <[email protected]>
ARM: dts: sun8i: r40: bananapi-m2-ultra: Fix ethernet node

Jernej Skrabec <[email protected]>
arm64: dts: allwinner: h5: OrangePi PC2: Fix ethernet node

Jernej Skrabec <[email protected]>
arm64: dts: allwinner: a64: Pine64 Plus: Fix ethernet node

Jernej Skrabec <[email protected]>
arm64: dts: allwinner: a64: OrangePi Win: Fix ethernet node

Corentin Labbe <[email protected]>
arm64: dts: allwinner: Pine H64: Enable both RGMII RX/TX delay

Clément Péron <[email protected]>
arm64: dts: allwinner: beelink-gs1: Enable both RGMII RX/TX delay

Martin Blumenstingl <[email protected]>
usb: dwc2: Avoid leaving the error_debugfs label unused

Konrad Dybcio <[email protected]>
arm64: cpu_errata: Apply Erratum 845719 to KRYO2XX Silver

Konrad Dybcio <[email protected]>
arm64: kpti: Add KRYO2XX gold/silver CPU cores to kpti safelist

Konrad Dybcio <[email protected]>
arm64: Add MIDR value for KRYO2XX gold/silver CPU cores

Bob Peterson <[email protected]>
gfs2: Fix case in which ail writes are done to jdata holes

Paul Barker <[email protected]>
hwmon: (pwm-fan) Fix RPM calculation

Zhang Qilong <[email protected]>
gfs2: fix possible reference leak in gfs2_check_blk_type

Darrick J. Wong <[email protected]>
vfs: remove lockdep bogosity in __sb_start_write

Richard Weinberger <[email protected]>
um: Call pgtable_pmd_page_dtor() in __pmd_free_tlb()

Will Deacon <[email protected]>
arm64: smp: Tell RCU about CPUs that fail to come online

Will Deacon <[email protected]>
arm64: psci: Avoid printing in cpu_psci_cpu_die()

Will Deacon <[email protected]>
arm64: errata: Fix handling of 1418040 with late CPU onlining

Hans de Goede <[email protected]>
ACPI: button: Add DMI quirk for Medion Akoya E2228T

Aaron Lewis <[email protected]>
selftests: kvm: Fix the segment descriptor layout to match the actual layout

Andy Shevchenko <[email protected]>
pinctrl: mcp23s08: Print error message when regmap init fails

Can Guo <[email protected]>
scsi: ufs: Try to save power mode change and UIC cmd completion timeout

Can Guo <[email protected]>
scsi: ufs: Fix unbalanced scsi_block_reqs_cnt caused by ufshcd_hold()

Jianqun Xu <[email protected]>
pinctrl: rockchip: enable gpio pclk for rockchip_gpio_to_irq

Oded Gabbay <[email protected]>
habanalabs/gaudi: mask WDT error in QMAN

Ian Rogers <[email protected]>
tools, bpftool: Avoid array index warnings.

Tony Lindgren <[email protected]>
Revert "Revert "gpio: omap: Fix lost edge wake-up interrupts""

Filip Moc <[email protected]>
net: usb: qmi_wwan: Set DTR quirk for MR400

Tariq Toukan <[email protected]>
net/tls: Fix wrong record sn in async mode of device resync

Lorenzo Bianconi <[email protected]>
net: mvneta: fix possible memory leak in mvneta_swbm_add_rx_fragment

Michael Chan <[email protected]>
bnxt_en: Free port stats during firmware reset.

Michael Chan <[email protected]>
bnxt_en: Fix counter overflow logic.

Zhang Qilong <[email protected]>
net: fec: Fix reference count leak in fec series ops

Zhang Qilong <[email protected]>
PM: runtime: Add pm_runtime_resume_and_get to deal with usage counter

Vladyslav Tarasiuk <[email protected]>
net/mlx5: Disable QoS when min_rates on all VFs are zero

Vladyslav Tarasiuk <[email protected]>
net/mlx5: Clear bw_share upon VF disable

Michael Guralnik <[email protected]>
net/mlx5: Add handling of port type in rule deletion

Maor Dickman <[email protected]>
net/mlx5e: Fix check if netdev is bond slave

Stefano Garzarella <[email protected]>
vsock: forward all packets to the host when no H2G is registered

Ryan Sharpelletti <[email protected]>
tcp: only postpone PROBE_RTT if RTT is < current min_rtt estimate

Xin Long <[email protected]>
sctp: change to hold/put transport for proto_unreach_timer

Zhang Changzhong <[email protected]>
qlcnic: fix error return code in qlcnic_83xx_restart_hw()

Dmitry Bogdanov <[email protected]>
qed: fix ILT configuration of SRC block

Zhang Changzhong <[email protected]>
qed: fix error return code in qed_iwarp_ll2_start()

Dongli Zhang <[email protected]>
page_frag: Recover from memory pressure

Xie He <[email protected]>
net: x25: Increase refcnt of "struct x25_neigh" in x25_rx_call_request

Vadim Fedorenko <[email protected]>
net/tls: fix corrupted data in recvmsg

Wong Vee Khee <[email protected]>
net: stmmac: Use rtnl_lock/unlock on netif_set_real_num_rx_queues() call

Karsten Graul <[email protected]>
net/smc: fix direct access to ib_gid_addr->ndev in smc_ib_determine_gid()

Subash Abhinov Kasiviswanathan <[email protected]>
net: qualcomm: rmnet: Fix incorrect receive packet handling during cleanup

Steen Hegelund <[email protected]>
net: phy: mscc: remove non-MACSec compatible phy

Joel Stanley <[email protected]>
net/ncsi: Fix netlink registration

Maxim Mikityanskiy <[email protected]>
net/mlx5e: Fix refcount leak on kTLS RX resync

Aya Levin <[email protected]>
net/mlx4_core: Fix init_hca fields offset

Martin Blumenstingl <[email protected]>
net: lantiq: Wait for the GPHY firmware to be ready

Paul Moore <[email protected]>
netlabel: fix an uninitialized warning in netlbl_unlabel_staticlist()

Paul Moore <[email protected]>
netlabel: fix our progress tracking in netlbl_unlabel_staticlist()

Alex Elder <[email protected]>
net: ipa: lock when freeing transaction

Florian Fainelli <[email protected]>
net: Have netpoll bring-up DSA management interface

Joel Stanley <[email protected]>
net: ftgmac100: Fix crash when removing driver

Zhang Changzhong <[email protected]>
net: ethernet: ti: cpsw: fix error return code in cpsw_probe()

Grygorii Strashko <[email protected]>
net: ethernet: ti: cpsw: fix cpts irq after suspend

Wang Qing <[email protected]>
net: ethernet: ti: am65-cpts: update ret when ptp_clock is ERROR

Vincent Stehlé <[email protected]>
net: ethernet: mtk-star-emac: return ok when xmit drops

Zhang Changzhong <[email protected]>
net: ethernet: mtk-star-emac: fix error return code in mtk_star_enable()

Tobias Waldekranz <[email protected]>
net: dsa: mv88e6xxx: Avoid VTU corruption on 6097

Taehee Yoo <[email protected]>
netdevsim: set .owner to THIS_MODULE

Heiner Kallweit <[email protected]>
net: bridge: add missing counters to ndo_get_stats64 callback

Zhang Changzhong <[email protected]>
net: b44: fix error return code in b44_init_one()

Ido Schimmel <[email protected]>
mlxsw: core: Use variable timeout for EMAD retries

Sven Van Asbroeck <[email protected]>
lan743x: prevent entire kernel HANG on open, for some platforms

Sven Van Asbroeck <[email protected]>
lan743x: fix issue causing intermittent kernel log warnings

Zhang Qilong <[email protected]>
ipv6: Fix error path to cancel the meseage

Wang Hai <[email protected]>
inet_diag: Fix error path to cancel the meseage in inet_req_diag_fill()

Jeff Dike <[email protected]>
Exempt multicast addresses from five-second neighbor lifetime

Alex Marginean <[email protected]>
enetc: Workaround for MDIO register access issue

Wang Hai <[email protected]>
devlink: Add missing genlmsg_cancel() in devlink_nl_sb_port_pool_fill()

Edwin Peer <[email protected]>
bnxt_en: read EEPROM A2h address using page 0

Sebastian Andrzej Siewior <[email protected]>
atm: nicstar: Unmap DMA on send error

Zhang Changzhong <[email protected]>
ah6: fix error return code in ah6_input()


-------------

Diffstat:

Documentation/xtensa/mmu.rst | 9 +-
Makefile | 4 +-
arch/arm/boot/compressed/head.S | 3 +
arch/arm/boot/dts/imx50-evk.dts | 2 +-
arch/arm/boot/dts/imx6q-prti6q.dts | 4 +-
arch/arm/boot/dts/imx6qdl-udoo.dtsi | 2 +-
arch/arm/boot/dts/stm32mp15xx-dhcom-pdk2.dtsi | 19 ++--
arch/arm/boot/dts/stm32mp15xx-dhcom-som.dtsi | 2 +
arch/arm/boot/dts/stm32mp15xx-dhcor-som.dtsi | 4 +
arch/arm/boot/dts/sun6i-a31-hummingbird.dts | 2 +-
arch/arm/boot/dts/sun7i-a20-bananapi-m1-plus.dts | 2 +-
arch/arm/boot/dts/sun7i-a20-cubietruck.dts | 2 +-
arch/arm/boot/dts/sun8i-a83t-bananapi-m3.dts | 2 +-
arch/arm/boot/dts/sun8i-a83t-cubietruck-plus.dts | 2 +-
arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts | 5 -
arch/arm/boot/dts/sun8i-h3-orangepi-plus2e.dts | 2 +-
arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts | 2 +-
arch/arm/boot/dts/sun9i-a80-cubieboard4.dts | 2 +-
arch/arm/boot/dts/sun9i-a80-optimus.dts | 2 +-
arch/arm/boot/dts/sunxi-bananapi-m2-plus.dtsi | 2 +-
arch/arm/boot/dts/vf610-zii-dev-rev-b.dts | 3 +
.../boot/dts/allwinner/sun50i-a64-bananapi-m64.dts | 2 +-
.../boot/dts/allwinner/sun50i-a64-orangepi-win.dts | 2 +-
.../boot/dts/allwinner/sun50i-a64-pine64-plus.dts | 2 +-
.../allwinner/sun50i-h5-libretech-all-h5-cc.dts | 2 +-
.../boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts | 2 +-
.../dts/allwinner/sun50i-h5-orangepi-prime.dts | 2 +-
.../boot/dts/allwinner/sun50i-h6-beelink-gs1.dts | 2 +-
.../boot/dts/allwinner/sun50i-h6-pine-h64.dts | 2 +-
.../boot/dts/altera/socfpga_stratix10_socdk.dts | 2 +-
.../dts/altera/socfpga_stratix10_socdk_nand.dts | 2 +-
arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi | 1 +
arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi | 1 +
arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi | 1 +
.../boot/dts/freescale/imx8mm-beacon-som.dtsi | 1 +
arch/arm64/boot/dts/freescale/imx8mm.dtsi | 2 +-
arch/arm64/boot/dts/freescale/imx8mn.dtsi | 30 ------
arch/arm64/boot/dts/intel/socfpga_agilex_socdk.dts | 2 +-
arch/arm64/include/asm/cpufeature.h | 2 +
arch/arm64/include/asm/cputype.h | 4 +
arch/arm64/kernel/cpu_errata.c | 2 +
arch/arm64/kernel/cpufeature.c | 2 +
arch/arm64/kernel/process.c | 5 +-
arch/arm64/kernel/psci.c | 5 +-
arch/arm64/kernel/smp.c | 1 +
arch/mips/alchemy/common/clock.c | 9 +-
arch/mips/mm/tlb-r4k.c | 1 +
arch/s390/kernel/entry.S | 2 +
arch/s390/kernel/perf_cpum_sf.c | 2 +-
arch/um/include/asm/pgalloc.h | 8 +-
arch/x86/kernel/cpu/microcode/intel.c | 63 ++---------
arch/x86/kernel/tboot.c | 3 -
arch/x86/platform/efi/efi_64.c | 24 +++--
arch/xtensa/include/asm/pgtable.h | 2 +-
arch/xtensa/mm/cache.c | 14 +++
block/blk-cgroup.c | 1 +
drivers/accessibility/speakup/spk_ttyio.c | 12 ++-
drivers/acpi/button.c | 13 ++-
drivers/acpi/fan.c | 1 +
drivers/atm/nicstar.c | 2 +
drivers/counter/ti-eqep.c | 4 +-
drivers/dma/dmaengine.c | 17 +--
drivers/dma/idxd/device.c | 31 +++---
drivers/dma/idxd/idxd.h | 3 +-
drivers/dma/idxd/init.c | 5 +
drivers/dma/idxd/registers.h | 25 ++++-
drivers/dma/idxd/submit.c | 2 +-
drivers/dma/ti/omap-dma.c | 37 ++++---
drivers/dma/xilinx/xilinx_dma.c | 36 +++++--
drivers/gpio/gpio-omap.c | 12 ++-
.../amd/display/dc/irq/dcn20/irq_service_dcn20.c | 4 +-
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 6 --
drivers/gpu/drm/i915/display/intel_display.c | 3 +-
drivers/gpu/drm/i915/gt/intel_rc6.c | 22 +++-
drivers/gpu/drm/i915/i915_reg.h | 12 +--
drivers/gpu/drm/i915/intel_pm.c | 13 ---
drivers/gpu/drm/sun4i/sun8i_dw_hdmi.c | 1 +
drivers/hid/hid-logitech-dj.c | 22 +++-
drivers/hid/hid-logitech-hidpp.c | 26 +++++
drivers/hid/hid-mcp2221.c | 48 +++++++--
drivers/hv/hv.c | 8 +-
drivers/hwmon/pwm-fan.c | 16 +--
drivers/iio/accel/kxcjk-1013.c | 51 ++++++++-
drivers/iio/adc/ingenic-adc.c | 34 ++++--
drivers/iio/adc/mt6577_auxadc.c | 6 +-
drivers/iio/adc/stm32-adc-core.c | 41 +++-----
drivers/iio/adc/stm32-adc.c | 50 ++++++++-
.../common/cros_ec_sensors/cros_ec_sensors_core.c | 16 ++-
drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c | 6 +-
drivers/iio/light/Kconfig | 1 +
drivers/infiniband/Kconfig | 3 +
drivers/infiniband/hw/hfi1/chip.c | 3 +-
drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c | 2 +-
drivers/infiniband/sw/rdmavt/Kconfig | 3 +-
drivers/infiniband/sw/rxe/Kconfig | 2 +-
drivers/infiniband/sw/siw/Kconfig | 1 +
drivers/input/misc/adxl34x.c | 2 +-
drivers/input/mouse/elan_i2c.h | 2 +-
drivers/input/mouse/elan_i2c_core.c | 3 +-
drivers/input/mouse/elan_i2c_i2c.c | 10 +-
drivers/input/mouse/elan_i2c_smbus.c | 2 +-
drivers/input/touchscreen/Kconfig | 1 +
drivers/iommu/intel/iommu.c | 5 +-
.../misc/habanalabs/include/gaudi/gaudi_masks.h | 1 -
drivers/mmc/host/sdhci-of-arasan.c | 51 ++++-----
drivers/mmc/host/sdhci-pci-core.c | 13 ++-
drivers/net/can/dev.c | 2 +-
drivers/net/can/flexcan.c | 26 +++--
drivers/net/can/kvaser_pciefd.c | 4 +-
drivers/net/can/m_can/Kconfig | 3 +-
drivers/net/can/m_can/m_can.c | 18 +++-
drivers/net/can/m_can/m_can.h | 1 +
drivers/net/can/m_can/m_can_platform.c | 23 +++--
drivers/net/can/m_can/tcan4x5x.c | 32 ++++--
drivers/net/can/ti_hecc.c | 13 ++-
drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c | 2 +-
drivers/net/can/usb/mcba_usb.c | 4 +-
drivers/net/can/usb/peak_usb/pcan_usb_core.c | 4 +-
drivers/net/dsa/lantiq_gswip.c | 11 ++
drivers/net/dsa/mv88e6xxx/global1_vtu.c | 59 +++++++++--
drivers/net/ethernet/broadcom/b44.c | 3 +-
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 4 +-
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 2 +-
drivers/net/ethernet/faraday/ftgmac100.c | 4 +
drivers/net/ethernet/freescale/enetc/Kconfig | 1 +
drivers/net/ethernet/freescale/enetc/enetc.c | 62 ++++++++---
drivers/net/ethernet/freescale/enetc/enetc_hw.h | 115 +++++++++++++++++++--
drivers/net/ethernet/freescale/enetc/enetc_mdio.c | 8 +-
drivers/net/ethernet/freescale/fec_main.c | 12 +--
drivers/net/ethernet/marvell/mvneta.c | 5 +-
drivers/net/ethernet/mediatek/mtk_star_emac.c | 3 +-
drivers/net/ethernet/mellanox/mlx4/fw.c | 6 +-
drivers/net/ethernet/mellanox/mlx4/fw.h | 4 +-
.../net/ethernet/mellanox/mlx5/core/en/rep/bond.c | 2 +-
.../ethernet/mellanox/mlx5/core/en_accel/ktls_rx.c | 13 ++-
drivers/net/ethernet/mellanox/mlx5/core/eswitch.c | 20 ++--
drivers/net/ethernet/mellanox/mlx5/core/fs_core.c | 7 ++
drivers/net/ethernet/mellanox/mlxsw/core.c | 3 +-
drivers/net/ethernet/microchip/lan743x_main.c | 13 +--
drivers/net/ethernet/qlogic/qed/qed_cxt.c | 4 +-
drivers/net/ethernet/qlogic/qed/qed_cxt.h | 3 -
drivers/net/ethernet/qlogic/qed/qed_iwarp.c | 12 ++-
.../net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c | 3 +-
.../net/ethernet/qualcomm/rmnet/rmnet_handlers.c | 5 +
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 2 +
drivers/net/ethernet/ti/am65-cpts.c | 3 +-
drivers/net/ethernet/ti/cpsw.c | 11 +-
drivers/net/ethernet/ti/cpsw_new.c | 9 +-
drivers/net/geneve.c | 3 +-
drivers/net/ipa/gsi_trans.c | 15 ++-
drivers/net/netdevsim/dev.c | 2 +
drivers/net/netdevsim/health.c | 1 +
drivers/net/netdevsim/udp_tunnels.c | 1 +
drivers/net/phy/mscc/mscc_macsec.c | 1 -
drivers/net/usb/qmi_wwan.c | 2 +-
drivers/pinctrl/pinctrl-mcp23s08_spi.c | 2 +
drivers/pinctrl/pinctrl-rockchip.c | 2 +
drivers/regulator/core.c | 38 ++++---
drivers/regulator/pfuze100-regulator.c | 13 ++-
drivers/regulator/ti-abb-regulator.c | 12 ++-
drivers/s390/block/dasd.c | 6 ++
drivers/scsi/ufs/ufshcd.c | 32 +++++-
drivers/scsi/ufs/ufshcd.h | 2 +
drivers/spi/spi-bcm2835aux.c | 21 ++--
drivers/spi/spi-cadence-quadspi.c | 2 +
drivers/spi/spi-fsl-lpspi.c | 3 -
drivers/spi/spi-npcm-fiu.c | 2 +-
drivers/spi/spi.c | 81 +++++++++++----
drivers/staging/mt7621-pci/pci-mt7621.c | 15 +--
drivers/staging/rtl8723bs/os_dep/sdio_intf.c | 1 +
drivers/tee/amdtee/amdtee_private.h | 8 +-
drivers/tee/amdtee/core.c | 26 +++--
drivers/tty/serial/ar933x_uart.c | 6 +-
drivers/tty/serial/imx.c | 30 ++----
drivers/usb/dwc2/platform.c | 3 +
fs/afs/dir.c | 1 +
fs/afs/inode.c | 8 ++
fs/afs/internal.h | 1 +
fs/efivarfs/super.c | 1 +
fs/ext4/ext4.h | 3 +-
fs/gfs2/aops.c | 2 +-
fs/gfs2/glops.c | 13 ++-
fs/gfs2/log.c | 2 +
fs/gfs2/rgrp.c | 10 +-
fs/io_uring.c | 1 -
fs/libfs.c | 6 +-
fs/notify/fsnotify.c | 12 ++-
fs/super.c | 33 +-----
fs/xfs/libxfs/xfs_attr_leaf.c | 8 +-
fs/xfs/libxfs/xfs_rmap_btree.c | 16 +--
fs/xfs/scrub/bmap.c | 8 +-
fs/xfs/scrub/btree.c | 45 ++++----
fs/xfs/scrub/dir.c | 21 +++-
fs/xfs/xfs_iwalk.c | 27 ++++-
fs/xfs/xfs_mount.c | 11 +-
include/drm/intel-gtt.h | 5 +-
include/linux/intel-iommu.h | 2 +-
include/linux/pagemap.h | 2 +
include/linux/pm_runtime.h | 21 ++++
include/linux/sched.h | 16 ++-
include/linux/spi/spi.h | 19 ++++
include/linux/swiotlb.h | 1 +
include/net/ip_tunnels.h | 7 +-
include/net/neighbour.h | 1 +
include/net/tls.h | 16 ++-
include/trace/events/sunrpc.h | 3 +-
kernel/fail_function.c | 5 +-
kernel/ptrace.c | 16 +--
kernel/rcu/tree.c | 2 +-
kernel/rcu/tree_stall.h | 22 +++-
kernel/sched/core.c | 15 ++-
kernel/sched/fair.c | 3 +-
kernel/seccomp.c | 5 +-
kernel/trace/bpf_trace.c | 10 ++
lib/strncpy_from_user.c | 19 +++-
mm/filemap.c | 18 +++-
mm/huge_memory.c | 9 +-
mm/memcontrol.c | 9 +-
mm/page_alloc.c | 5 +
net/bridge/br_device.c | 1 +
net/can/af_can.c | 38 +++++--
net/core/devlink.c | 6 +-
net/core/neighbour.c | 2 +
net/core/netpoll.c | 22 +++-
net/core/skmsg.c | 94 +++++++++++++----
net/ipv4/arp.c | 6 ++
net/ipv4/inet_diag.c | 4 +-
net/ipv4/tcp_bbr.c | 2 +-
net/ipv4/tcp_bpf.c | 18 ++--
net/ipv6/addrconf.c | 8 +-
net/ipv6/ah6.c | 3 +-
net/ipv6/ndisc.c | 7 ++
net/mac80211/rc80211_minstrel.c | 27 +----
net/mac80211/rc80211_minstrel.h | 1 -
net/mac80211/sta_info.c | 14 +--
net/ncsi/ncsi-manage.c | 5 -
net/ncsi/ncsi-netlink.c | 22 +---
net/ncsi/ncsi-netlink.h | 3 -
net/netlabel/netlabel_unlabeled.c | 17 ++-
net/rfkill/core.c | 3 +
net/sctp/input.c | 4 +-
net/sctp/sm_sideeffect.c | 4 +-
net/sctp/transport.c | 2 +-
net/smc/smc_ib.c | 6 +-
net/tls/tls_device.c | 37 +++++--
net/tls/tls_sw.c | 2 +-
net/vmw_vsock/af_vsock.c | 2 +-
net/x25/af_x25.c | 1 +
sound/core/control.c | 2 +-
sound/firewire/fireworks/fireworks_transaction.c | 4 +-
sound/pci/hda/patch_realtek.c | 85 ++++++++++++++-
sound/pci/mixart/mixart_core.c | 5 +-
.../soc/intel/boards/kbl_rt5663_rt5514_max98927.c | 2 +
sound/soc/intel/keembay/kmb_platform.c | 6 +-
sound/soc/qcom/lpass-platform.c | 5 +-
sound/usb/quirks.c | 10 +-
tools/bpf/bpftool/feature.c | 7 +-
tools/bpf/bpftool/net.c | 18 ++--
tools/lib/bpf/Makefile | 2 +
tools/perf/builtin-lock.c | 4 +-
tools/testing/kunit/.gitattributes | 1 -
.../selftests/bpf/prog_tests/sockopt_multi.c | 3 +-
.../selftests/kvm/include/x86_64/processor.h | 2 +-
tools/testing/selftests/kvm/lib/x86_64/processor.c | 3 +-
tools/testing/selftests/seccomp/seccomp_bpf.c | 8 +-
265 files changed, 1920 insertions(+), 914 deletions(-)



2020-11-24 02:01:03

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.9 068/252] gfs2: fix possible reference leak in gfs2_check_blk_type

From: Zhang Qilong <[email protected]>

[ Upstream commit bc923818b190c8b63c91a47702969c8053574f5b ]

In the fail path of gfs2_check_blk_type, forgetting to call
gfs2_glock_dq_uninit will result in rgd_gh reference leak.

Signed-off-by: Zhang Qilong <[email protected]>
Signed-off-by: Andreas Gruenbacher <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
fs/gfs2/rgrp.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/fs/gfs2/rgrp.c b/fs/gfs2/rgrp.c
index ac306895bbbcc..d035309cedd0d 100644
--- a/fs/gfs2/rgrp.c
+++ b/fs/gfs2/rgrp.c
@@ -2533,13 +2533,13 @@ int gfs2_check_blk_type(struct gfs2_sbd *sdp, u64 no_addr, unsigned int type)

rbm.rgd = rgd;
error = gfs2_rbm_from_block(&rbm, no_addr);
- if (WARN_ON_ONCE(error))
- goto fail;
-
- if (gfs2_testbit(&rbm, false) != type)
- error = -ESTALE;
+ if (!WARN_ON_ONCE(error)) {
+ if (gfs2_testbit(&rbm, false) != type)
+ error = -ESTALE;
+ }

gfs2_glock_dq_uninit(&rgd_gh);
+
fail:
return error;
}
--
2.27.0



2020-11-24 02:01:43

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.9 071/252] arm64: Add MIDR value for KRYO2XX gold/silver CPU cores

From: Konrad Dybcio <[email protected]>

[ Upstream commit 77473cffef21611b4423f613fe32836afb26405e ]

Add MIDR value for KRYO2XX gold (big) and silver (LITTLE)
CPU cores which are used in Qualcomm Technologies, Inc.
SoCs. This will be used to identify and apply errata
which are applicable for these CPU cores.

Signed-off-by: Konrad Dybcio <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Will Deacon <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
arch/arm64/include/asm/cputype.h | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/arch/arm64/include/asm/cputype.h b/arch/arm64/include/asm/cputype.h
index 7219cddeba669..f516fe36de30a 100644
--- a/arch/arm64/include/asm/cputype.h
+++ b/arch/arm64/include/asm/cputype.h
@@ -85,6 +85,8 @@
#define QCOM_CPU_PART_FALKOR_V1 0x800
#define QCOM_CPU_PART_FALKOR 0xC00
#define QCOM_CPU_PART_KRYO 0x200
+#define QCOM_CPU_PART_KRYO_2XX_GOLD 0x800
+#define QCOM_CPU_PART_KRYO_2XX_SILVER 0x801
#define QCOM_CPU_PART_KRYO_3XX_SILVER 0x803
#define QCOM_CPU_PART_KRYO_4XX_GOLD 0x804
#define QCOM_CPU_PART_KRYO_4XX_SILVER 0x805
@@ -114,6 +116,8 @@
#define MIDR_QCOM_FALKOR_V1 MIDR_CPU_MODEL(ARM_CPU_IMP_QCOM, QCOM_CPU_PART_FALKOR_V1)
#define MIDR_QCOM_FALKOR MIDR_CPU_MODEL(ARM_CPU_IMP_QCOM, QCOM_CPU_PART_FALKOR)
#define MIDR_QCOM_KRYO MIDR_CPU_MODEL(ARM_CPU_IMP_QCOM, QCOM_CPU_PART_KRYO)
+#define MIDR_QCOM_KRYO_2XX_GOLD MIDR_CPU_MODEL(ARM_CPU_IMP_QCOM, QCOM_CPU_PART_KRYO_2XX_GOLD)
+#define MIDR_QCOM_KRYO_2XX_SILVER MIDR_CPU_MODEL(ARM_CPU_IMP_QCOM, QCOM_CPU_PART_KRYO_2XX_SILVER)
#define MIDR_QCOM_KRYO_3XX_SILVER MIDR_CPU_MODEL(ARM_CPU_IMP_QCOM, QCOM_CPU_PART_KRYO_3XX_SILVER)
#define MIDR_QCOM_KRYO_4XX_GOLD MIDR_CPU_MODEL(ARM_CPU_IMP_QCOM, QCOM_CPU_PART_KRYO_4XX_GOLD)
#define MIDR_QCOM_KRYO_4XX_SILVER MIDR_CPU_MODEL(ARM_CPU_IMP_QCOM, QCOM_CPU_PART_KRYO_4XX_SILVER)
--
2.27.0



2020-11-24 02:01:45

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.9 063/252] arm64: errata: Fix handling of 1418040 with late CPU onlining

From: Will Deacon <[email protected]>

[ Upstream commit f969f03888b9438fdb227b6460d99ede5737326d ]

In a surprising turn of events, it transpires that CPU capabilities
configured as ARM64_CPUCAP_WEAK_LOCAL_CPU_FEATURE are never set as the
result of late-onlining. Therefore our handling of erratum 1418040 does
not get activated if it is not required by any of the boot CPUs, even
though we allow late-onlining of an affected CPU.

In order to get things working again, replace the cpus_have_const_cap()
invocation with an explicit check for the current CPU using
this_cpu_has_cap().

Cc: Sai Prakash Ranjan <[email protected]>
Cc: Stephen Boyd <[email protected]>
Cc: Catalin Marinas <[email protected]>
Cc: Mark Rutland <[email protected]>
Reviewed-by: Suzuki K Poulose <[email protected]>
Acked-by: Marc Zyngier <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Will Deacon <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
arch/arm64/include/asm/cpufeature.h | 2 ++
arch/arm64/kernel/process.c | 5 ++---
2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/arch/arm64/include/asm/cpufeature.h b/arch/arm64/include/asm/cpufeature.h
index 89b4f0142c287..a986ecd0b0074 100644
--- a/arch/arm64/include/asm/cpufeature.h
+++ b/arch/arm64/include/asm/cpufeature.h
@@ -268,6 +268,8 @@ extern struct arm64_ftr_reg arm64_ftr_reg_ctrel0;
/*
* CPU feature detected at boot time based on feature of one or more CPUs.
* All possible conflicts for a late CPU are ignored.
+ * NOTE: this means that a late CPU with the feature will *not* cause the
+ * capability to be advertised by cpus_have_*cap()!
*/
#define ARM64_CPUCAP_WEAK_LOCAL_CPU_FEATURE \
(ARM64_CPUCAP_SCOPE_LOCAL_CPU | \
diff --git a/arch/arm64/kernel/process.c b/arch/arm64/kernel/process.c
index f1804496b9350..2da5f3f9d345f 100644
--- a/arch/arm64/kernel/process.c
+++ b/arch/arm64/kernel/process.c
@@ -526,14 +526,13 @@ static void erratum_1418040_thread_switch(struct task_struct *prev,
bool prev32, next32;
u64 val;

- if (!(IS_ENABLED(CONFIG_ARM64_ERRATUM_1418040) &&
- cpus_have_const_cap(ARM64_WORKAROUND_1418040)))
+ if (!IS_ENABLED(CONFIG_ARM64_ERRATUM_1418040))
return;

prev32 = is_compat_thread(task_thread_info(prev));
next32 = is_compat_thread(task_thread_info(next));

- if (prev32 == next32)
+ if (prev32 == next32 || !this_cpu_has_cap(ARM64_WORKAROUND_1418040))
return;

val = read_sysreg(cntkctl_el1);
--
2.27.0



2020-11-24 02:02:07

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.9 074/252] usb: dwc2: Avoid leaving the error_debugfs label unused

From: Martin Blumenstingl <[email protected]>

commit 190bb01b72d2d5c3654a03c42fb1ad0dc6114c79 upstream.

The error_debugfs label is only used when either
CONFIG_USB_DWC2_PERIPHERAL or CONFIG_USB_DWC2_DUAL_ROLE is enabled. Add
the same #if to the error_debugfs label itself as the code which uses
this label already has.

This avoids the following compiler warning:
warning: label ‘error_debugfs’ defined but not used [-Wunused-label]

Fixes: e1c08cf23172ed ("usb: dwc2: Add missing cleanups when usb_add_gadget_udc() fails")
Acked-by: Minas Harutyunyan <[email protected]>
Reported-by: kernel test robot <[email protected]>
Reported-by: Jens Axboe <[email protected]>
Signed-off-by: Martin Blumenstingl <[email protected]>
Signed-off-by: Felipe Balbi <[email protected]>
Cc: [email protected] # 5.9.x
Signed-off-by: Kamal Mostafa <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
drivers/usb/dwc2/platform.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/usb/dwc2/platform.c b/drivers/usb/dwc2/platform.c
index b28e90e0b685d..8a7f86e1ef73a 100644
--- a/drivers/usb/dwc2/platform.c
+++ b/drivers/usb/dwc2/platform.c
@@ -590,10 +590,13 @@ static int dwc2_driver_probe(struct platform_device *dev)
#endif /* CONFIG_USB_DWC2_PERIPHERAL || CONFIG_USB_DWC2_DUAL_ROLE */
return 0;

+#if IS_ENABLED(CONFIG_USB_DWC2_PERIPHERAL) || \
+ IS_ENABLED(CONFIG_USB_DWC2_DUAL_ROLE)
error_debugfs:
dwc2_debugfs_exit(hsotg);
if (hsotg->hcd_enabled)
dwc2_hcd_remove(hsotg);
+#endif
error_init:
if (hsotg->params.activate_stm_id_vb_detection)
regulator_disable(hsotg->usb33d);
--
2.27.0



2020-11-24 02:02:12

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.9 053/252] net: usb: qmi_wwan: Set DTR quirk for MR400

From: Filip Moc <[email protected]>

[ Upstream commit df8d85d8c69d6837817e54dcb73c84a8b5a13877 ]

LTE module MR400 embedded in TL-MR6400 v4 requires DTR to be set.

Signed-off-by: Filip Moc <[email protected]>
Acked-by: Bjørn Mork <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Jakub Kicinski <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
drivers/net/usb/qmi_wwan.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- a/drivers/net/usb/qmi_wwan.c
+++ b/drivers/net/usb/qmi_wwan.c
@@ -1092,7 +1092,7 @@ static const struct usb_device_id produc
{QMI_FIXED_INTF(0x05c6, 0x9011, 4)},
{QMI_FIXED_INTF(0x05c6, 0x9021, 1)},
{QMI_FIXED_INTF(0x05c6, 0x9022, 2)},
- {QMI_FIXED_INTF(0x05c6, 0x9025, 4)}, /* Alcatel-sbell ASB TL131 TDD LTE (China Mobile) */
+ {QMI_QUIRK_SET_DTR(0x05c6, 0x9025, 4)}, /* Alcatel-sbell ASB TL131 TDD LTE (China Mobile) */
{QMI_FIXED_INTF(0x05c6, 0x9026, 3)},
{QMI_FIXED_INTF(0x05c6, 0x902e, 5)},
{QMI_FIXED_INTF(0x05c6, 0x9031, 5)},


2020-11-24 02:02:39

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.9 040/252] sctp: change to hold/put transport for proto_unreach_timer

From: Xin Long <[email protected]>

[ Upstream commit 057a10fa1f73d745c8e69aa54ab147715f5630ae ]

A call trace was found in Hangbin's Codenomicon testing with debug kernel:

[ 2615.981988] ODEBUG: free active (active state 0) object type: timer_list hint: sctp_generate_proto_unreach_event+0x0/0x3a0 [sctp]
[ 2615.995050] WARNING: CPU: 17 PID: 0 at lib/debugobjects.c:328 debug_print_object+0x199/0x2b0
[ 2616.095934] RIP: 0010:debug_print_object+0x199/0x2b0
[ 2616.191533] Call Trace:
[ 2616.194265] <IRQ>
[ 2616.202068] debug_check_no_obj_freed+0x25e/0x3f0
[ 2616.207336] slab_free_freelist_hook+0xeb/0x140
[ 2616.220971] kfree+0xd6/0x2c0
[ 2616.224293] rcu_do_batch+0x3bd/0xc70
[ 2616.243096] rcu_core+0x8b9/0xd00
[ 2616.256065] __do_softirq+0x23d/0xacd
[ 2616.260166] irq_exit+0x236/0x2a0
[ 2616.263879] smp_apic_timer_interrupt+0x18d/0x620
[ 2616.269138] apic_timer_interrupt+0xf/0x20
[ 2616.273711] </IRQ>

This is because it holds asoc when transport->proto_unreach_timer starts
and puts asoc when the timer stops, and without holding transport the
transport could be freed when the timer is still running.

So fix it by holding/putting transport instead for proto_unreach_timer
in transport, just like other timers in transport.

v1->v2:
- Also use sctp_transport_put() for the "out_unlock:" path in
sctp_generate_proto_unreach_event(), as Marcelo noticed.

Fixes: 50b5d6ad6382 ("sctp: Fix a race between ICMP protocol unreachable and connect()")
Reported-by: Hangbin Liu <[email protected]>
Signed-off-by: Xin Long <[email protected]>
Acked-by: Marcelo Ricardo Leitner <[email protected]>
Link: https://lore.kernel.org/r/102788809b554958b13b95d33440f5448113b8d6.1605331373.git.lucien.xin@gmail.com
Signed-off-by: Jakub Kicinski <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
net/sctp/input.c | 4 ++--
net/sctp/sm_sideeffect.c | 4 ++--
net/sctp/transport.c | 2 +-
3 files changed, 5 insertions(+), 5 deletions(-)

--- a/net/sctp/input.c
+++ b/net/sctp/input.c
@@ -449,7 +449,7 @@ void sctp_icmp_proto_unreachable(struct
else {
if (!mod_timer(&t->proto_unreach_timer,
jiffies + (HZ/20)))
- sctp_association_hold(asoc);
+ sctp_transport_hold(t);
}
} else {
struct net *net = sock_net(sk);
@@ -458,7 +458,7 @@ void sctp_icmp_proto_unreachable(struct
"encountered!\n", __func__);

if (del_timer(&t->proto_unreach_timer))
- sctp_association_put(asoc);
+ sctp_transport_put(t);

sctp_do_sm(net, SCTP_EVENT_T_OTHER,
SCTP_ST_OTHER(SCTP_EVENT_ICMP_PROTO_UNREACH),
--- a/net/sctp/sm_sideeffect.c
+++ b/net/sctp/sm_sideeffect.c
@@ -419,7 +419,7 @@ void sctp_generate_proto_unreach_event(s
/* Try again later. */
if (!mod_timer(&transport->proto_unreach_timer,
jiffies + (HZ/20)))
- sctp_association_hold(asoc);
+ sctp_transport_hold(transport);
goto out_unlock;
}

@@ -435,7 +435,7 @@ void sctp_generate_proto_unreach_event(s

out_unlock:
bh_unlock_sock(sk);
- sctp_association_put(asoc);
+ sctp_transport_put(transport);
}

/* Handle the timeout of the RE-CONFIG timer. */
--- a/net/sctp/transport.c
+++ b/net/sctp/transport.c
@@ -133,7 +133,7 @@ void sctp_transport_free(struct sctp_tra

/* Delete the ICMP proto unreachable timer if it's active. */
if (del_timer(&transport->proto_unreach_timer))
- sctp_association_put(transport->asoc);
+ sctp_transport_put(transport);

sctp_transport_put(transport);
}


2020-11-24 02:03:10

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.9 097/252] arm64: dts imx8mn: Remove non-existent USB OTG2

From: Adam Ford <[email protected]>

[ Upstream commit cf5abb0132193767c07c83e06f91b777d22ba495 ]

According to the i.MX8MN TRM, there is only one OTG port. The
address for OTG2 is reserved on Nano.

This patch removes the non-existent OTG2, usbphynop2, and the usbmisc2
nodes.

Fixes: 6c3debcbae47 ("arm64: dts: freescale: Add i.MX8MN dtsi support")
Signed-off-by: Adam Ford <[email protected]>
Reviewed-by: Krzysztof Kozlowski <[email protected]>
Signed-off-by: Shawn Guo <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
arch/arm64/boot/dts/freescale/imx8mn.dtsi | 30 -----------------------
1 file changed, 30 deletions(-)

diff --git a/arch/arm64/boot/dts/freescale/imx8mn.dtsi b/arch/arm64/boot/dts/freescale/imx8mn.dtsi
index 9385dd7d1a2f7..b05f60503d45a 100644
--- a/arch/arm64/boot/dts/freescale/imx8mn.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mn.dtsi
@@ -789,28 +789,6 @@
#index-cells = <1>;
reg = <0x32e40200 0x200>;
};
-
- usbotg2: usb@32e50000 {
- compatible = "fsl,imx8mn-usb", "fsl,imx7d-usb";
- reg = <0x32e50000 0x200>;
- interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
- clocks = <&clk IMX8MN_CLK_USB1_CTRL_ROOT>;
- clock-names = "usb1_ctrl_root_clk";
- assigned-clocks = <&clk IMX8MN_CLK_USB_BUS>,
- <&clk IMX8MN_CLK_USB_CORE_REF>;
- assigned-clock-parents = <&clk IMX8MN_SYS_PLL2_500M>,
- <&clk IMX8MN_SYS_PLL1_100M>;
- fsl,usbphy = <&usbphynop2>;
- fsl,usbmisc = <&usbmisc2 0>;
- status = "disabled";
- };
-
- usbmisc2: usbmisc@32e50200 {
- compatible = "fsl,imx8mn-usbmisc", "fsl,imx7d-usbmisc";
- #index-cells = <1>;
- reg = <0x32e50200 0x200>;
- };
-
};

dma_apbh: dma-controller@33000000 {
@@ -875,12 +853,4 @@
assigned-clock-parents = <&clk IMX8MN_SYS_PLL1_100M>;
clock-names = "main_clk";
};
-
- usbphynop2: usbphynop2 {
- compatible = "usb-nop-xceiv";
- clocks = <&clk IMX8MN_CLK_USB_PHY_REF>;
- assigned-clocks = <&clk IMX8MN_CLK_USB_PHY_REF>;
- assigned-clock-parents = <&clk IMX8MN_SYS_PLL1_100M>;
- clock-names = "main_clk";
- };
};
--
2.27.0



2020-11-24 02:03:17

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.9 154/252] can: kvaser_usb: kvaser_usb_hydra: Fix KCAN bittiming limits

From: Jimmy Assarsson <[email protected]>

[ Upstream commit d003868d7f8579838ed58b6429af91844039b6f8 ]

Use correct bittiming limits for the KCAN CAN controller.

Fixes: aec5fb2268b7 ("can: kvaser_usb: Add support for Kvaser USB hydra family")
Signed-off-by: Jimmy Assarsson <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Marc Kleine-Budde <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c b/drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c
index 7ab87a7587545..218fadc911558 100644
--- a/drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c
+++ b/drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c
@@ -367,7 +367,7 @@ static const struct can_bittiming_const kvaser_usb_hydra_kcan_bittiming_c = {
.tseg2_max = 32,
.sjw_max = 16,
.brp_min = 1,
- .brp_max = 4096,
+ .brp_max = 8192,
.brp_inc = 1,
};

--
2.27.0



2020-11-24 02:03:25

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.9 177/252] efi/arm: set HSCTLR Thumb2 bit correctly for HVC calls from HYP

From: Ard Biesheuvel <[email protected]>

[ Upstream commit fbc81ec5b85d43a4b22e49ec0e643fa7dec2ea40 ]

Commit

db227c19e68db353 ("ARM: 8985/1: efi/decompressor: deal with HYP mode boot gracefully")

updated the EFI entry code to permit firmware to invoke the EFI stub
loader in HYP mode, with the MMU either enabled or disabled, neither
of which is permitted by the EFI spec, but which does happen in the
field.

In the MMU on case, we remain in HYP mode as configured by the firmware,
and rely on the fact that any HVC instruction issued in this mode will
be dispatched via the SVC slot in the HYP vector table. However, this
slot will point to a Thumb2 symbol if the kernel is built in Thumb2
mode, and so we have to configure HSCTLR to ensure that the exception
handlers are invoked in Thumb2 mode as well.

Fixes: db227c19e68db353 ("ARM: 8985/1: efi/decompressor: deal with HYP mode boot gracefully")
Signed-off-by: Ard Biesheuvel <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
arch/arm/boot/compressed/head.S | 3 +++
1 file changed, 3 insertions(+)

diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S
index 434a16982e344..19499d636bc88 100644
--- a/arch/arm/boot/compressed/head.S
+++ b/arch/arm/boot/compressed/head.S
@@ -1476,6 +1476,9 @@ ENTRY(efi_enter_kernel)
@ issued from HYP mode take us to the correct handler code. We
@ will disable the MMU before jumping to the kernel proper.
@
+ ARM( bic r1, r1, #(1 << 30) ) @ clear HSCTLR.TE
+ THUMB( orr r1, r1, #(1 << 30) ) @ set HSCTLR.TE
+ mcr p15, 4, r1, c1, c0, 0
adr r0, __hyp_reentry_vectors
mcr p15, 4, r0, c12, c0, 0 @ set HYP vector base (HVBAR)
isb
--
2.27.0



2020-11-24 02:03:58

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.9 204/252] iio: light: fix kconfig dependency bug for VCNL4035

From: Necip Fazil Yildiran <[email protected]>

commit 44a146a44f656fc03d368c1b9248d29a128cd053 upstream.

When VCNL4035 is enabled and IIO_BUFFER is disabled, it results in the
following Kbuild warning:

WARNING: unmet direct dependencies detected for IIO_TRIGGERED_BUFFER
Depends on [n]: IIO [=y] && IIO_BUFFER [=n]
Selected by [y]:
- VCNL4035 [=y] && IIO [=y] && I2C [=y]

The reason is that VCNL4035 selects IIO_TRIGGERED_BUFFER without depending
on or selecting IIO_BUFFER while IIO_TRIGGERED_BUFFER depends on
IIO_BUFFER. This can also fail building the kernel.

Honor the kconfig dependency to remove unmet direct dependency warnings
and avoid any potential build failures.

Fixes: 55707294c4eb ("iio: light: Add support for vishay vcnl4035")
Signed-off-by: Necip Fazil Yildiran <[email protected]>
Link: https://bugzilla.kernel.org/show_bug.cgi?id=209883
Link: https://lore.kernel.org/r/[email protected]
Cc: <[email protected]>
Signed-off-by: Jonathan Cameron <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
drivers/iio/light/Kconfig | 1 +
1 file changed, 1 insertion(+)

--- a/drivers/iio/light/Kconfig
+++ b/drivers/iio/light/Kconfig
@@ -529,6 +529,7 @@ config VCNL4000

config VCNL4035
tristate "VCNL4035 combined ALS and proximity sensor"
+ select IIO_BUFFER
select IIO_TRIGGERED_BUFFER
select REGMAP_I2C
depends on I2C


2020-11-24 02:03:58

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.9 140/252] can: m_can: m_can_class_free_dev(): introduce new function

From: Dan Murphy <[email protected]>

[ Upstream commit a8c22f5b0c689a29f45ef4a110d09fd391debcbc ]

This patch creates a common function that peripherials can call to free the
netdev device when failures occur.

Fixes: f524f829b75a ("can: m_can: Create a m_can platform framework")
Reported-by: Marc Kleine-Budde <[email protected]>
Signed-off-by: Dan Murphy <[email protected]>
Link: http://lore.kernel.org/r/[email protected]
Signed-off-by: Marc Kleine-Budde <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
drivers/net/can/m_can/m_can.c | 6 ++++++
drivers/net/can/m_can/m_can.h | 1 +
2 files changed, 7 insertions(+)

diff --git a/drivers/net/can/m_can/m_can.c b/drivers/net/can/m_can/m_can.c
index 63887e23d89c0..f2c87b76e5692 100644
--- a/drivers/net/can/m_can/m_can.c
+++ b/drivers/net/can/m_can/m_can.c
@@ -1812,6 +1812,12 @@ out:
}
EXPORT_SYMBOL_GPL(m_can_class_allocate_dev);

+void m_can_class_free_dev(struct net_device *net)
+{
+ free_candev(net);
+}
+EXPORT_SYMBOL_GPL(m_can_class_free_dev);
+
int m_can_class_register(struct m_can_classdev *m_can_dev)
{
int ret;
diff --git a/drivers/net/can/m_can/m_can.h b/drivers/net/can/m_can/m_can.h
index 49f42b50627a1..b2699a7c99973 100644
--- a/drivers/net/can/m_can/m_can.h
+++ b/drivers/net/can/m_can/m_can.h
@@ -99,6 +99,7 @@ struct m_can_classdev {
};

struct m_can_classdev *m_can_class_allocate_dev(struct device *dev);
+void m_can_class_free_dev(struct net_device *net);
int m_can_class_register(struct m_can_classdev *cdev);
void m_can_class_unregister(struct m_can_classdev *cdev);
int m_can_class_get_clocks(struct m_can_classdev *cdev);
--
2.27.0



2020-11-24 02:04:19

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.9 217/252] arm64: dts: agilex/stratix10: Fix qspi node compatible

From: Dinh Nguyen <[email protected]>

commit f126b6702e7354d6247a36f20b9172457af5c15a upstream.

The QSPI flash node needs to have the required "jedec,spi-nor"
in the compatible string.

Fixes: 0cb140d07fc7 ("arm64: dts: stratix10: Add QSPI support for Stratix10")
Cc: [email protected]
Suggested-by: Vignesh Raghavendra <[email protected]>
Signed-off-by: Dinh Nguyen <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
arch/arm64/boot/dts/altera/socfpga_stratix10_socdk.dts | 2 +-
arch/arm64/boot/dts/altera/socfpga_stratix10_socdk_nand.dts | 2 +-
arch/arm64/boot/dts/intel/socfpga_agilex_socdk.dts | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)

--- a/arch/arm64/boot/dts/altera/socfpga_stratix10_socdk.dts
+++ b/arch/arm64/boot/dts/altera/socfpga_stratix10_socdk.dts
@@ -159,7 +159,7 @@
flash@0 {
#address-cells = <1>;
#size-cells = <1>;
- compatible = "n25q00a";
+ compatible = "micron,mt25qu02g", "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <100000000>;

--- a/arch/arm64/boot/dts/altera/socfpga_stratix10_socdk_nand.dts
+++ b/arch/arm64/boot/dts/altera/socfpga_stratix10_socdk_nand.dts
@@ -192,7 +192,7 @@
flash@0 {
#address-cells = <1>;
#size-cells = <1>;
- compatible = "n25q00a";
+ compatible = "micron,mt25qu02g", "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <100000000>;

--- a/arch/arm64/boot/dts/intel/socfpga_agilex_socdk.dts
+++ b/arch/arm64/boot/dts/intel/socfpga_agilex_socdk.dts
@@ -110,7 +110,7 @@
flash@0 {
#address-cells = <1>;
#size-cells = <1>;
- compatible = "mt25qu02g";
+ compatible = "micron,mt25qu02g", "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <100000000>;



2020-11-24 02:05:33

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.9 193/252] ALSA: mixart: Fix mutex deadlock

From: Takashi Iwai <[email protected]>

commit d21b96c8ed2aea7e6b7bf4735e1d2503cfbf4072 upstream.

The code change for switching to non-atomic mode brought the
unexpected mutex deadlock in get_msg(). It converted the spinlock
with the existing mutex, but there were calls with the already holding
the mutex. Since the only place that needs the extra lock is the code
path from snd_mixart_send_msg(), remove the mutex lock in get_msg()
and apply in the caller side for fixing the mutex deadlock.

Fixes: 8d3a8b5cb57d ("ALSA: mixart: Use nonatomic PCM ops")
Reported-by: Dan Carpenter <[email protected]>
Cc: <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
sound/pci/mixart/mixart_core.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)

--- a/sound/pci/mixart/mixart_core.c
+++ b/sound/pci/mixart/mixart_core.c
@@ -70,7 +70,6 @@ static int get_msg(struct mixart_mgr *mg
unsigned int i;
#endif

- mutex_lock(&mgr->msg_lock);
err = 0;

/* copy message descriptor from miXart to driver */
@@ -119,8 +118,6 @@ static int get_msg(struct mixart_mgr *mg
writel_be(headptr, MIXART_MEM(mgr, MSG_OUTBOUND_FREE_HEAD));

_clean_exit:
- mutex_unlock(&mgr->msg_lock);
-
return err;
}

@@ -258,7 +255,9 @@ int snd_mixart_send_msg(struct mixart_mg
resp.data = resp_data;
resp.size = max_resp_size;

+ mutex_lock(&mgr->msg_lock);
err = get_msg(mgr, &resp, msg_frame);
+ mutex_unlock(&mgr->msg_lock);

if( request->message_id != resp.message_id )
dev_err(&mgr->pci->dev, "RESPONSE ERROR!\n");


2020-11-24 02:06:06

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.9 223/252] regulator: fix memory leak with repeated set_machine_constraints()

From: Michał Mirosław <[email protected]>

commit 57a6ad482af256b2a13de14194fb8f67c1a65f10 upstream.

Fixed commit introduced a possible second call to
set_machine_constraints() and that allocates memory for
rdev->constraints. Move the allocation to the caller so
it's easier to manage and done once.

Fixes: aea6cb99703e ("regulator: resolve supply after creating regulator")
Cc: [email protected]
Signed-off-by: Michał Mirosław <[email protected]>
Tested-by: Ahmad Fatoum <[email protected]> # stpmic1
Link: https://lore.kernel.org/r/78c3d4016cebc08d441aad18cb924b4e4d9cf9df.1605226675.git.mirq-linux@rere.qmqm.pl
Signed-off-by: Mark Brown <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
drivers/regulator/core.c | 29 +++++++++++++----------------
1 file changed, 13 insertions(+), 16 deletions(-)

--- a/drivers/regulator/core.c
+++ b/drivers/regulator/core.c
@@ -1280,7 +1280,6 @@ static int _regulator_do_enable(struct r
/**
* set_machine_constraints - sets regulator constraints
* @rdev: regulator source
- * @constraints: constraints to apply
*
* Allows platform initialisation code to define and constrain
* regulator circuits e.g. valid voltage/current ranges, etc. NOTE:
@@ -1288,21 +1287,11 @@ static int _regulator_do_enable(struct r
* regulator operations to proceed i.e. set_voltage, set_current_limit,
* set_mode.
*/
-static int set_machine_constraints(struct regulator_dev *rdev,
- const struct regulation_constraints *constraints)
+static int set_machine_constraints(struct regulator_dev *rdev)
{
int ret = 0;
const struct regulator_ops *ops = rdev->desc->ops;

- if (constraints)
- rdev->constraints = kmemdup(constraints, sizeof(*constraints),
- GFP_KERNEL);
- else
- rdev->constraints = kzalloc(sizeof(*constraints),
- GFP_KERNEL);
- if (!rdev->constraints)
- return -ENOMEM;
-
ret = machine_constraints_voltage(rdev, rdev->constraints);
if (ret != 0)
return ret;
@@ -5112,7 +5101,6 @@ struct regulator_dev *
regulator_register(const struct regulator_desc *regulator_desc,
const struct regulator_config *cfg)
{
- const struct regulation_constraints *constraints = NULL;
const struct regulator_init_data *init_data;
struct regulator_config *config = NULL;
static atomic_t regulator_no = ATOMIC_INIT(-1);
@@ -5251,14 +5239,23 @@ regulator_register(const struct regulato

/* set regulator constraints */
if (init_data)
- constraints = &init_data->constraints;
+ rdev->constraints = kmemdup(&init_data->constraints,
+ sizeof(*rdev->constraints),
+ GFP_KERNEL);
+ else
+ rdev->constraints = kzalloc(sizeof(*rdev->constraints),
+ GFP_KERNEL);
+ if (!rdev->constraints) {
+ ret = -ENOMEM;
+ goto wash;
+ }

if (init_data && init_data->supply_regulator)
rdev->supply_name = init_data->supply_regulator;
else if (regulator_desc->supply_name)
rdev->supply_name = regulator_desc->supply_name;

- ret = set_machine_constraints(rdev, constraints);
+ ret = set_machine_constraints(rdev);
if (ret == -EPROBE_DEFER) {
/* Regulator might be in bypass mode and so needs its supply
* to set the constraints */
@@ -5267,7 +5264,7 @@ regulator_register(const struct regulato
* that is just being created */
ret = regulator_resolve_supply(rdev);
if (!ret)
- ret = set_machine_constraints(rdev, constraints);
+ ret = set_machine_constraints(rdev);
else
rdev_dbg(rdev, "unable to resolve supply early: %pe\n",
ERR_PTR(ret));


2020-11-24 02:06:16

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.9 218/252] spi: lpspi: Fix use-after-free on unbind

From: Lukas Wunner <[email protected]>

commit 4def49da620c84a682d9361d6bef0a97eed46fe0 upstream.

Normally the last reference on an spi_controller is released by
spi_unregister_controller(). In the case of the i.MX lpspi driver,
the spi_controller is registered with devm_spi_register_controller(),
so spi_unregister_controller() is invoked automatically after the driver
has unbound.

However the driver already releases the last reference in
fsl_lpspi_remove() through a gratuitous call to spi_master_put(),
causing a use-after-free when spi_unregister_controller() is
subsequently invoked by the devres framework.

Fix by dropping the superfluous spi_master_put().

Fixes: 944c01a889d9 ("spi: lpspi: enable runtime pm for lpspi")
Signed-off-by: Lukas Wunner <[email protected]>
Cc: <[email protected]> # v5.2+
Cc: Han Xu <[email protected]>
Link: https://lore.kernel.org/r/ab3c0b18bd820501a12c85e440006e09ec0e275f.1604874488.git.lukas@wunner.de
Signed-off-by: Mark Brown <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
drivers/spi/spi-fsl-lpspi.c | 3 ---
1 file changed, 3 deletions(-)

--- a/drivers/spi/spi-fsl-lpspi.c
+++ b/drivers/spi/spi-fsl-lpspi.c
@@ -938,9 +938,6 @@ static int fsl_lpspi_remove(struct platf
spi_controller_get_devdata(controller);

pm_runtime_disable(fsl_lpspi->dev);
-
- spi_master_put(controller);
-
return 0;
}



2020-11-24 02:08:05

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.9 174/252] bpf, sockmap: On receive programs try to fast track SK_PASS ingress

From: John Fastabend <[email protected]>

[ Upstream commit 9ecbfb06a078c4911fb444203e8e41d93d22f886 ]

When we receive an skb and the ingress skb verdict program returns
SK_PASS we currently set the ingress flag and put it on the workqueue
so it can be turned into a sk_msg and put on the sk_msg ingress queue.
Then finally telling userspace with data_ready hook.

Here we observe that if the workqueue is empty then we can try to
convert into a sk_msg type and call data_ready directly without
bouncing through a workqueue. Its a common pattern to have a recv
verdict program for visibility that always returns SK_PASS. In this
case unless there is an ENOMEM error or we overrun the socket we
can avoid the workqueue completely only using it when we fall back
to error cases caused by memory pressure.

By doing this we eliminate another case where data may be dropped
if errors occur on memory limits in workqueue.

Fixes: 51199405f9672 ("bpf: skb_verdict, support SK_PASS on RX BPF path")
Signed-off-by: John Fastabend <[email protected]>
Signed-off-by: Alexei Starovoitov <[email protected]>
Link: https://lore.kernel.org/bpf/160226859704.5692.12929678876744977669.stgit@john-Precision-5820-Tower
Signed-off-by: Sasha Levin <[email protected]>
---
net/core/skmsg.c | 17 +++++++++++++++--
1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/net/core/skmsg.c b/net/core/skmsg.c
index aa78784292a7e..eaf9c90389517 100644
--- a/net/core/skmsg.c
+++ b/net/core/skmsg.c
@@ -764,6 +764,7 @@ static void sk_psock_verdict_apply(struct sk_psock *psock,
{
struct tcp_skb_cb *tcp;
struct sock *sk_other;
+ int err = -EIO;

switch (verdict) {
case __SK_PASS:
@@ -775,8 +776,20 @@ static void sk_psock_verdict_apply(struct sk_psock *psock,

tcp = TCP_SKB_CB(skb);
tcp->bpf.flags |= BPF_F_INGRESS;
- skb_queue_tail(&psock->ingress_skb, skb);
- schedule_work(&psock->work);
+
+ /* If the queue is empty then we can submit directly
+ * into the msg queue. If its not empty we have to
+ * queue work otherwise we may get OOO data. Otherwise,
+ * if sk_psock_skb_ingress errors will be handled by
+ * retrying later from workqueue.
+ */
+ if (skb_queue_empty(&psock->ingress_skb)) {
+ err = sk_psock_skb_ingress(psock, skb);
+ }
+ if (err < 0) {
+ skb_queue_tail(&psock->ingress_skb, skb);
+ schedule_work(&psock->work);
+ }
break;
case __SK_REDIRECT:
sk_psock_skb_redirect(skb);
--
2.27.0



2020-11-24 02:08:24

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.9 167/252] libbpf: Fix VERSIONED_SYM_COUNT number parsing

From: Jiri Olsa <[email protected]>

[ Upstream commit 1fd6cee127e2ddff36d648573d7566aafb0d0b77 ]

We remove "other info" from "readelf -s --wide" output when
parsing GLOBAL_SYM_COUNT variable, which was added in [1].
But we don't do that for VERSIONED_SYM_COUNT and it's failing
the check_abi target on powerpc Fedora 33.

The extra "other info" wasn't problem for VERSIONED_SYM_COUNT
parsing until commit [2] added awk in the pipe, which assumes
that the last column is symbol, but it can be "other info".

Adding "other info" removal for VERSIONED_SYM_COUNT the same
way as we did for GLOBAL_SYM_COUNT parsing.

[1] aa915931ac3e ("libbpf: Fix readelf output parsing for Fedora")
[2] 746f534a4809 ("tools/libbpf: Avoid counting local symbols in ABI check")

Fixes: 746f534a4809 ("tools/libbpf: Avoid counting local symbols in ABI check")
Signed-off-by: Jiri Olsa <[email protected]>
Signed-off-by: Alexei Starovoitov <[email protected]>
Acked-by: Andrii Nakryiko <[email protected]>
Link: https://lore.kernel.org/bpf/[email protected]
Signed-off-by: Sasha Levin <[email protected]>
---
tools/lib/bpf/Makefile | 2 ++
1 file changed, 2 insertions(+)

diff --git a/tools/lib/bpf/Makefile b/tools/lib/bpf/Makefile
index 9ae8f4ef0aac2..8bf2c406b0e05 100644
--- a/tools/lib/bpf/Makefile
+++ b/tools/lib/bpf/Makefile
@@ -152,6 +152,7 @@ GLOBAL_SYM_COUNT = $(shell readelf -s --wide $(BPF_IN_SHARED) | \
awk '/GLOBAL/ && /DEFAULT/ && !/UND/ {print $$NF}' | \
sort -u | wc -l)
VERSIONED_SYM_COUNT = $(shell readelf --dyn-syms --wide $(OUTPUT)libbpf.so | \
+ sed 's/\[.*\]//' | \
awk '/GLOBAL/ && /DEFAULT/ && !/UND/ {print $$NF}' | \
grep -Eo '[^ ]+@LIBBPF_' | cut -d@ -f1 | sort -u | wc -l)

@@ -220,6 +221,7 @@ check_abi: $(OUTPUT)libbpf.so
awk '/GLOBAL/ && /DEFAULT/ && !/UND/ {print $$NF}'| \
sort -u > $(OUTPUT)libbpf_global_syms.tmp; \
readelf --dyn-syms --wide $(OUTPUT)libbpf.so | \
+ sed 's/\[.*\]//' | \
awk '/GLOBAL/ && /DEFAULT/ && !/UND/ {print $$NF}'| \
grep -Eo '[^ ]+@LIBBPF_' | cut -d@ -f1 | \
sort -u > $(OUTPUT)libbpf_versioned_syms.tmp; \
--
2.27.0



2020-11-24 02:10:51

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.9 136/252] can: tcan4x5x: replace depends on REGMAP_SPI with depends on SPI

From: Enric Balletbo i Serra <[email protected]>

[ Upstream commit 3fcce133f0d9a50d3a23f8e2bc950197b4e03900 ]

regmap is a library function that gets selected by drivers that need it. No
driver modules should depend on it. Instead depends on SPI and select
REGMAP_SPI. Depending on REGMAP_SPI makes this driver only build if another
driver already selected REGMAP_SPI, as the symbol can't be selected through the
menu kernel configuration.

Signed-off-by: Enric Balletbo i Serra <[email protected]>
Link: http://lore.kernel.org/r/[email protected]
Reviewed-by: Dan Murphy <[email protected]>
Fixes: 5443c226ba91 ("can: tcan4x5x: Add tcan4x5x driver to the kernel")
Signed-off-by: Marc Kleine-Budde <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
drivers/net/can/m_can/Kconfig | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/can/m_can/Kconfig b/drivers/net/can/m_can/Kconfig
index d9216147ca93f..3acedb766c48c 100644
--- a/drivers/net/can/m_can/Kconfig
+++ b/drivers/net/can/m_can/Kconfig
@@ -16,7 +16,8 @@ config CAN_M_CAN_PLATFORM

config CAN_M_CAN_TCAN4X5X
depends on CAN_M_CAN
- depends on REGMAP_SPI
+ depends on SPI
+ select REGMAP_SPI
tristate "TCAN4X5X M_CAN device"
help
Say Y here if you want support for Texas Instruments TCAN4x5x
--
2.27.0



2020-11-24 02:30:44

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.9 025/252] netlabel: fix an uninitialized warning in netlbl_unlabel_staticlist()

From: Paul Moore <[email protected]>

[ Upstream commit 1ba86d4366e023d96df3dbe415eea7f1dc08c303 ]

Static checking revealed that a previous fix to
netlbl_unlabel_staticlist() leaves a stack variable uninitialized,
this patches fixes that.

Fixes: 866358ec331f ("netlabel: fix our progress tracking in netlbl_unlabel_staticlist()")
Reported-by: Dan Carpenter <[email protected]>
Signed-off-by: Paul Moore <[email protected]>
Reviewed-by: James Morris <[email protected]>
Link: https://lore.kernel.org/r/160530304068.15651.18355773009751195447.stgit@sifl
Signed-off-by: Jakub Kicinski <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
net/netlabel/netlabel_unlabeled.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- a/net/netlabel/netlabel_unlabeled.c
+++ b/net/netlabel/netlabel_unlabeled.c
@@ -1167,7 +1167,7 @@ static int netlbl_unlabel_staticlist(str
u32 skip_bkt = cb->args[0];
u32 skip_chain = cb->args[1];
u32 skip_addr4 = cb->args[2];
- u32 iter_bkt, iter_chain, iter_addr4 = 0, iter_addr6 = 0;
+ u32 iter_bkt, iter_chain = 0, iter_addr4 = 0, iter_addr6 = 0;
struct netlbl_unlhsh_iface *iface;
struct list_head *iter_list;
struct netlbl_af4list *addr4;


2020-11-24 02:41:01

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.9 160/252] xfs: fix the minrecs logic when dealing with inode root child blocks

From: Darrick J. Wong <[email protected]>

[ Upstream commit e95b6c3ef1311dd7b20467d932a24b6d0fd88395 ]

The comment and logic in xchk_btree_check_minrecs for dealing with
inode-rooted btrees isn't quite correct. While the direct children of
the inode root are allowed to have fewer records than what would
normally be allowed for a regular ondisk btree block, this is only true
if there is only one child block and the number of records don't fit in
the inode root.

Fixes: 08a3a692ef58 ("xfs: btree scrub should check minrecs")
Signed-off-by: Darrick J. Wong <[email protected]>
Reviewed-by: Chandan Babu R <[email protected]>
Reviewed-by: Christoph Hellwig <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
fs/xfs/scrub/btree.c | 45 ++++++++++++++++++++++++++------------------
1 file changed, 27 insertions(+), 18 deletions(-)

diff --git a/fs/xfs/scrub/btree.c b/fs/xfs/scrub/btree.c
index f52a7b8256f96..debf392e05156 100644
--- a/fs/xfs/scrub/btree.c
+++ b/fs/xfs/scrub/btree.c
@@ -452,32 +452,41 @@ xchk_btree_check_minrecs(
int level,
struct xfs_btree_block *block)
{
- unsigned int numrecs;
- int ok_level;
-
- numrecs = be16_to_cpu(block->bb_numrecs);
+ struct xfs_btree_cur *cur = bs->cur;
+ unsigned int root_level = cur->bc_nlevels - 1;
+ unsigned int numrecs = be16_to_cpu(block->bb_numrecs);

/* More records than minrecs means the block is ok. */
- if (numrecs >= bs->cur->bc_ops->get_minrecs(bs->cur, level))
+ if (numrecs >= cur->bc_ops->get_minrecs(cur, level))
return;

/*
- * Certain btree blocks /can/ have fewer than minrecs records. Any
- * level greater than or equal to the level of the highest dedicated
- * btree block are allowed to violate this constraint.
- *
- * For a btree rooted in a block, the btree root can have fewer than
- * minrecs records. If the btree is rooted in an inode and does not
- * store records in the root, the direct children of the root and the
- * root itself can have fewer than minrecs records.
+ * For btrees rooted in the inode, it's possible that the root block
+ * contents spilled into a regular ondisk block because there wasn't
+ * enough space in the inode root. The number of records in that
+ * child block might be less than the standard minrecs, but that's ok
+ * provided that there's only one direct child of the root.
*/
- ok_level = bs->cur->bc_nlevels - 1;
- if (bs->cur->bc_flags & XFS_BTREE_ROOT_IN_INODE)
- ok_level--;
- if (level >= ok_level)
+ if ((cur->bc_flags & XFS_BTREE_ROOT_IN_INODE) &&
+ level == cur->bc_nlevels - 2) {
+ struct xfs_btree_block *root_block;
+ struct xfs_buf *root_bp;
+ int root_maxrecs;
+
+ root_block = xfs_btree_get_block(cur, root_level, &root_bp);
+ root_maxrecs = cur->bc_ops->get_dmaxrecs(cur, root_level);
+ if (be16_to_cpu(root_block->bb_numrecs) != 1 ||
+ numrecs <= root_maxrecs)
+ xchk_btree_set_corrupt(bs->sc, cur, level);
return;
+ }

- xchk_btree_set_corrupt(bs->sc, bs->cur, level);
+ /*
+ * Otherwise, only the root level is allowed to have fewer than minrecs
+ * records or keyptrs.
+ */
+ if (level < root_level)
+ xchk_btree_set_corrupt(bs->sc, cur, level);
}

/*
--
2.27.0



2020-11-24 02:41:35

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.9 134/252] can: peak_usb: fix potential integer overflow on shift of a int

From: Colin Ian King <[email protected]>

[ Upstream commit 8a68cc0d690c9e5730d676b764c6f059343b842c ]

The left shift of int 32 bit integer constant 1 is evaluated using 32 bit
arithmetic and then assigned to a signed 64 bit variable. In the case where
time_ref->adapter->ts_used_bits is 32 or more this can lead to an oveflow.
Avoid this by shifting using the BIT_ULL macro instead.

Fixes: bb4785551f64 ("can: usb: PEAK-System Technik USB adapters driver core")
Signed-off-by: Colin Ian King <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Marc Kleine-Budde <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
drivers/net/can/usb/peak_usb/pcan_usb_core.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/can/usb/peak_usb/pcan_usb_core.c b/drivers/net/can/usb/peak_usb/pcan_usb_core.c
index c2764799f9efb..204ccb27d6d9a 100644
--- a/drivers/net/can/usb/peak_usb/pcan_usb_core.c
+++ b/drivers/net/can/usb/peak_usb/pcan_usb_core.c
@@ -156,7 +156,7 @@ void peak_usb_get_ts_time(struct peak_time_ref *time_ref, u32 ts, ktime_t *time)
if (time_ref->ts_dev_1 < time_ref->ts_dev_2) {
/* case when event time (tsw) wraps */
if (ts < time_ref->ts_dev_1)
- delta_ts = 1 << time_ref->adapter->ts_used_bits;
+ delta_ts = BIT_ULL(time_ref->adapter->ts_used_bits);

/* Otherwise, sync time counter (ts_dev_2) has wrapped:
* handle case when event time (tsn) hasn't.
@@ -168,7 +168,7 @@ void peak_usb_get_ts_time(struct peak_time_ref *time_ref, u32 ts, ktime_t *time)
* tsn ts
*/
} else if (time_ref->ts_dev_1 < ts) {
- delta_ts = -(1 << time_ref->adapter->ts_used_bits);
+ delta_ts = -BIT_ULL(time_ref->adapter->ts_used_bits);
}

/* add delay between last sync and event timestamps */
--
2.27.0



2020-11-24 02:41:35

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.9 159/252] can: m_can: process interrupt only when not runtime suspended

From: Jarkko Nikula <[email protected]>

[ Upstream commit a1f634463aaf2c94dfa13001dbdea011303124cc ]

Avoid processing bogus interrupt statuses when the HW is runtime suspended and
the M_CAN_IR register read may get all bits 1's. Handler can be called if the
interrupt request is shared with other peripherals or at the end of free_irq().

Therefore check the runtime suspended status before processing.

Fixes: cdf8259d6573 ("can: m_can: Add PM Support")
Signed-off-by: Jarkko Nikula <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Marc Kleine-Budde <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
drivers/net/can/m_can/m_can.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/net/can/m_can/m_can.c b/drivers/net/can/m_can/m_can.c
index e7264043f79a2..f3fc37e96b087 100644
--- a/drivers/net/can/m_can/m_can.c
+++ b/drivers/net/can/m_can/m_can.c
@@ -956,6 +956,8 @@ static irqreturn_t m_can_isr(int irq, void *dev_id)
struct net_device_stats *stats = &dev->stats;
u32 ir;

+ if (pm_runtime_suspended(cdev->dev))
+ return IRQ_NONE;
ir = m_can_read(cdev, M_CAN_IR);
if (!ir)
return IRQ_NONE;
--
2.27.0



2020-11-24 02:41:36

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.9 172/252] selftests/seccomp: sh: Fix register names

From: Kees Cook <[email protected]>

[ Upstream commit 4c222f31fb1db4d590503a181a6268ced9252379 ]

It looks like the seccomp selftests was never actually built for sh.
This fixes it, though I don't have an environment to do a runtime test
of it yet.

Fixes: 0bb605c2c7f2b4b3 ("sh: Add SECCOMP_FILTER")
Tested-by: John Paul Adrian Glaubitz <[email protected]>
Link: https://lore.kernel.org/lkml/[email protected]
Signed-off-by: Kees Cook <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
tools/testing/selftests/seccomp/seccomp_bpf.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/testing/selftests/seccomp/seccomp_bpf.c b/tools/testing/selftests/seccomp/seccomp_bpf.c
index 6a27b12e9b3c2..687ca8afe0e83 100644
--- a/tools/testing/selftests/seccomp/seccomp_bpf.c
+++ b/tools/testing/selftests/seccomp/seccomp_bpf.c
@@ -1738,8 +1738,8 @@ TEST_F(TRACE_poke, getpid_runs_normally)
#define SYSCALL_RET(_regs) (_regs).a[(_regs).windowbase * 4 + 2]
#elif defined(__sh__)
# define ARCH_REGS struct pt_regs
-# define SYSCALL_NUM(_regs) (_regs).gpr[3]
-# define SYSCALL_RET(_regs) (_regs).gpr[0]
+# define SYSCALL_NUM(_regs) (_regs).regs[3]
+# define SYSCALL_RET(_regs) (_regs).regs[0]
#else
# error "Do not know how to find your architecture's registers and syscalls"
#endif
--
2.27.0



2020-11-24 02:41:48

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.9 162/252] xfs: directory scrub should check the null bestfree entries too

From: Darrick J. Wong <[email protected]>

[ Upstream commit 6b48e5b8a20f653b7d64ccf99a498f2523bff752 ]

Teach the directory scrubber to check all the bestfree entries,
including the null ones. We want to be able to detect the case where
the entry is null but there actually /is/ a directory data block.

Found by fuzzing lbests[0] = ones in xfs/391.

Fixes: df481968f33b ("xfs: scrub directory freespace")
Signed-off-by: Darrick J. Wong <[email protected]>
Reviewed-by: Chandan Babu R <[email protected]>
Reviewed-by: Christoph Hellwig <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
fs/xfs/scrub/dir.c | 21 +++++++++++++++++----
1 file changed, 17 insertions(+), 4 deletions(-)

diff --git a/fs/xfs/scrub/dir.c b/fs/xfs/scrub/dir.c
index 7c432997edade..b045e95c2ea73 100644
--- a/fs/xfs/scrub/dir.c
+++ b/fs/xfs/scrub/dir.c
@@ -558,14 +558,27 @@ xchk_directory_leaf1_bestfree(
/* Check all the bestfree entries. */
for (i = 0; i < bestcount; i++, bestp++) {
best = be16_to_cpu(*bestp);
- if (best == NULLDATAOFF)
- continue;
error = xfs_dir3_data_read(sc->tp, sc->ip,
- i * args->geo->fsbcount, 0, &dbp);
+ xfs_dir2_db_to_da(args->geo, i),
+ XFS_DABUF_MAP_HOLE_OK,
+ &dbp);
if (!xchk_fblock_process_error(sc, XFS_DATA_FORK, lblk,
&error))
break;
- xchk_directory_check_freesp(sc, lblk, dbp, best);
+
+ if (!dbp) {
+ if (best != NULLDATAOFF) {
+ xchk_fblock_set_corrupt(sc, XFS_DATA_FORK,
+ lblk);
+ break;
+ }
+ continue;
+ }
+
+ if (best == NULLDATAOFF)
+ xchk_fblock_set_corrupt(sc, XFS_DATA_FORK, lblk);
+ else
+ xchk_directory_check_freesp(sc, lblk, dbp, best);
xfs_trans_brelse(sc->tp, dbp);
if (sc->sm->sm_flags & XFS_SCRUB_OFLAG_CORRUPT)
break;
--
2.27.0



2020-11-24 02:42:08

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.9 156/252] iommu/vt-d: Move intel_iommu_gfx_mapped to Intel IOMMU header

From: Andy Shevchenko <[email protected]>

[ Upstream commit c7eb900f5f45eeab1ea1bed997a2a12d8b5907bc ]

Static analyzer is not happy about intel_iommu_gfx_mapped declaration:

.../drivers/iommu/intel/iommu.c:364:5: warning: symbol 'intel_iommu_gfx_mapped' was not declared. Should it be static?

Move its declaration to Intel IOMMU header file.

Signed-off-by: Andy Shevchenko <[email protected]>
Reviewed-by: Lu Baolu <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Joerg Roedel <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
include/drm/intel-gtt.h | 5 +----
include/linux/intel-iommu.h | 1 +
2 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/include/drm/intel-gtt.h b/include/drm/intel-gtt.h
index 71d81923e6b06..abfefaaf897a0 100644
--- a/include/drm/intel-gtt.h
+++ b/include/drm/intel-gtt.h
@@ -5,6 +5,7 @@
#define _DRM_INTEL_GTT_H

#include <linux/agp_backend.h>
+#include <linux/intel-iommu.h>
#include <linux/kernel.h>

void intel_gtt_get(u64 *gtt_total,
@@ -33,8 +34,4 @@ void intel_gtt_clear_range(unsigned int first_entry, unsigned int num_entries);
/* flag for GFDT type */
#define AGP_USER_CACHED_MEMORY_GFDT (1 << 3)

-#ifdef CONFIG_INTEL_IOMMU
-extern int intel_iommu_gfx_mapped;
-#endif
-
#endif
diff --git a/include/linux/intel-iommu.h b/include/linux/intel-iommu.h
index b1ed2f25f7c0d..6a3ddaabf3f50 100644
--- a/include/linux/intel-iommu.h
+++ b/include/linux/intel-iommu.h
@@ -792,6 +792,7 @@ extern int iommu_calculate_max_sagaw(struct intel_iommu *iommu);
extern int dmar_disabled;
extern int intel_iommu_enabled;
extern int intel_iommu_tboot_noforce;
+extern int intel_iommu_gfx_mapped;
#else
static inline int iommu_calculate_agaw(struct intel_iommu *iommu)
{
--
2.27.0



2020-11-24 06:15:02

by Naresh Kamboju

[permalink] [raw]
Subject: Re: [PATCH 5.9 000/252] 5.9.11-rc1 review

On Mon, 23 Nov 2020 at 18:14, Greg Kroah-Hartman
<[email protected]> wrote:
>
> This is the start of the stable review cycle for the 5.9.11 release.
> There are 252 patches in this series, all will be posted as a response
> to this one. If anyone has any issues with these being applied, please
> let me know.
>
> Responses should be made by Wed, 25 Nov 2020 12:17:50 +0000.
> Anything received after that time might be too late.
>
> The whole patch series can be found in one patch at:
> https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.9.11-rc1.gz
> or in the git tree and branch at:
> git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.9.y
> and the diffstat can be found below.
>
> thanks,
>
> greg k-h

Results from Linaro’s test farm.
No regressions on arm64, arm, x86_64, and i386.

Tested-by: Linux Kernel Functional Testing <[email protected]>

Summary
------------------------------------------------------------------------

kernel: 5.9.11-rc1
git repo: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
git branch: linux-5.9.y
git commit: 7939279fca79f52c48861829cef3fe5d15529c42
git describe: v5.9.10-253-g7939279fca79
Test details: https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-5.9.y/build/v5.9.10-253-g7939279fca79

No regressions (compared to build v5.9.10)

No fixes (compared to build v5.9.10)


Ran 47415 total tests in the following environments and test suites.

Environments
--------------
- arc
- arm
- arm64
- dragonboard-410c
- hi6220-hikey
- i386
- juno-r2
- juno-r2-compat
- juno-r2-kasan
- mips
- nxp-ls2088
- powerpc
- qemu-arm-clang
- qemu-arm64-clang
- qemu-arm64-kasan
- qemu-i386-clang
- qemu-x86_64-clang
- qemu-x86_64-kasan
- qemu_arm
- qemu_arm64
- qemu_arm64-compat
- qemu_i386
- qemu_x86_64
- qemu_x86_64-compat
- riscv
- s390
- sh
- sparc
- x15
- x86
- x86-kasan

Test Suites
-----------
* build
* install-android-platform-tools-r2600
* libhugetlbfs
* linux-log-parser
* ltp-cap_bounds-tests
* ltp-commands-tests
* ltp-containers-tests
* ltp-cpuhotplug-tests
* ltp-crypto-tests
* ltp-dio-tests
* ltp-fcntl-locktests-tests
* ltp-filecaps-tests
* ltp-fs_bind-tests
* ltp-fs_perms_simple-tests
* ltp-fsx-tests
* ltp-io-tests
* ltp-ipc-tests
* ltp-math-tests
* ltp-nptl-tests
* ltp-pty-tests
* ltp-sched-tests
* ltp-securebits-tests
* ltp-tracing-tests
* perf
* v4l2-compliance
* ltp-controllers-tests
* ltp-syscalls-tests
* network-basic-tests
* ltp-cve-tests
* ltp-fs-tests
* ltp-hugetlb-tests
* ltp-mm-tests
* ltp-open-posix-tests
* kvm-unit-tests
* kunit
* kselftest

--
Linaro LKFT
https://lkft.linaro.org

2020-11-24 23:57:01

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH 5.9 000/252] 5.9.11-rc1 review

On Tue, Nov 24, 2020 at 11:41:57AM +0530, Naresh Kamboju wrote:
> On Mon, 23 Nov 2020 at 18:14, Greg Kroah-Hartman
> <[email protected]> wrote:
> >
> > This is the start of the stable review cycle for the 5.9.11 release.
> > There are 252 patches in this series, all will be posted as a response
> > to this one. If anyone has any issues with these being applied, please
> > let me know.
> >
> > Responses should be made by Wed, 25 Nov 2020 12:17:50 +0000.
> > Anything received after that time might be too late.
> >
> > The whole patch series can be found in one patch at:
> > https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.9.11-rc1.gz
> > or in the git tree and branch at:
> > git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.9.y
> > and the diffstat can be found below.
> >
> > thanks,
> >
> > greg k-h
>
> Results from Linaro’s test farm.
> No regressions on arm64, arm, x86_64, and i386.
>
> Tested-by: Linux Kernel Functional Testing <[email protected]>

Thanks for testing and letting me know.

greg k-h