Skip to contentSkip to conversation

Linux 5.4.48

DISCUSSION Greg Kroah-Hartman 1 participant 2 messages Jun 22, 2020 Stable branch

lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

I'm announcing the release of the 5.4.48 kernel.

All users of the 5.4 kernel series must upgrade.

The updated 5.4.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-5.4.y
and can be browsed at the normal kernel.org git web browser:
https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary

thanks,

greg k-h

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

 Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.txt |    6 
 Documentation/virt/kvm/api.txt                                      |    2 
 Makefile                                                            |   15 
 arch/alpha/include/asm/io.h                                         |   74 ++-
 arch/alpha/kernel/io.c                                              |   60 ++
 arch/arm/boot/dts/at91-sama5d2_ptc_ek.dts                           |    2 
 arch/arm/boot/dts/exynos4412-galaxy-s3.dtsi                         |    2 
 arch/arm/boot/dts/s5pv210-aries.dtsi                                |    1 
 arch/arm/mach-tegra/tegra.c                                         |    4 
 arch/arm/mm/proc-macros.S                                           |    3 
 arch/arm64/include/asm/cacheflush.h                                 |    6 
 arch/arm64/include/asm/pgtable.h                                    |    1 
 arch/arm64/kernel/head.S                                            |   12 
 arch/arm64/kernel/insn.c                                            |   14 
 arch/arm64/kernel/vmlinux.lds.S                                     |    1 
 arch/m68k/include/asm/mac_via.h                                     |    1 
 arch/m68k/mac/config.c                                              |   21 
 arch/m68k/mac/via.c                                                 |    6 
 arch/mips/Makefile                                                  |   13 
 arch/mips/boot/compressed/Makefile                                  |    2 
 arch/mips/configs/loongson3_defconfig                               |    2 
 arch/mips/include/asm/cpu-features.h                                |    6 
 arch/mips/include/asm/mipsregs.h                                    |    2 
 arch/mips/kernel/genex.S                                            |    6 
 arch/mips/kernel/mips-cm.c                                          |    6 
 arch/mips/kernel/setup.c                                            |   10 
 arch/mips/kernel/time.c                                             |   70 +++
 arch/mips/kernel/vmlinux.lds.S                                      |    2 
 arch/mips/tools/elf-entry.c                                         |    9 
 arch/powerpc/Kconfig                                                |    2 
 arch/powerpc/include/asm/book3s/32/kup.h                            |    3 
 arch/powerpc/include/asm/fadump-internal.h                          |    4 
 arch/powerpc/include/asm/kasan.h                                    |    6 
 arch/powerpc/kernel/dt_cpu_ftrs.c                                   |    8 
 arch/powerpc/kernel/fadump.c                                        |  155 ++++--
 arch/powerpc/kernel/prom.c                                          |   19 
 arch/powerpc/mm/init_32.c                                           |    2 
 arch/powerpc/mm/kasan/kasan_init_32.c                               |    4 
 arch/powerpc/mm/pgtable_32.c                                        |    4 
 arch/powerpc/platforms/cell/spufs/file.c                            |  113 +++-
 arch/powerpc/platforms/powernv/smp.c                                |    1 
 arch/sparc/kernel/ptrace_32.c                                       |  228 ++++------
 arch/sparc/kernel/ptrace_64.c                                       |   17 
 arch/x86/boot/compressed/head_32.S                                  |    5 
 arch/x86/boot/compressed/head_64.S                                  |    1 
 arch/x86/include/asm/smap.h                                         |   11 
 arch/x86/kernel/amd_nb.c                                            |    8 
 arch/x86/kernel/irq_64.c                                            |    2 
 arch/x86/mm/init.c                                                  |    2 
 block/blk-iocost.c                                                  |   28 +
 block/blk-mq.c                                                      |   26 -
 drivers/acpi/acpica/dsfield.c                                       |   17 
 drivers/acpi/arm64/iort.c                                           |    5 
 drivers/acpi/evged.c                                                |    2 
 drivers/bluetooth/btbcm.c                                           |    2 
 drivers/bluetooth/btmtkuart.c                                       |   14 
 drivers/bluetooth/hci_bcm.c                                         |    5 
 drivers/clk/mediatek/clk-mux.c                                      |    2 
 drivers/clocksource/dw_apb_timer.c                                  |    5 
 drivers/clocksource/dw_apb_timer_of.c                               |    6 
 drivers/cpuidle/sysfs.c                                             |    6 
 drivers/crypto/ccp/Kconfig                                          |    3 
 drivers/crypto/chelsio/chcr_algo.c                                  |    2 
 drivers/crypto/stm32/stm32-crc32.c                                  |  144 +++---
 drivers/edac/amd64_edac.c                                           |   13 
 drivers/edac/amd64_edac.h                                           |    3 
 drivers/firmware/efi/libstub/Makefile                               |    1 
 drivers/gnss/sirf.c                                                 |    8 
 drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c                             |   43 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c                              |   14 
 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c                              |   11 
 drivers/gpu/drm/bridge/adv7511/adv7511_audio.c                      |   12 
 drivers/gpu/drm/mcde/mcde_dsi.c                                     |    7 
 drivers/gpu/drm/mediatek/mtk_dpi.c                                  |   31 +
 drivers/gpu/drm/rcar-du/rcar_du_plane.c                             |   16 
 drivers/gpu/drm/rcar-du/rcar_du_vsp.c                               |   14 
 drivers/hv/connection.c                                             |   20 
 drivers/hv/hv.c                                                     |    7 
 drivers/hv/hyperv_vmbus.h                                           |   11 
 drivers/hv/vmbus_drv.c                                              |   20 
 drivers/hwmon/k10temp.c                                             |    1 
 drivers/macintosh/windfarm_pm112.c                                  |   21 
 drivers/md/bcache/super.c                                           |    7 
 drivers/md/dm-crypt.c                                               |    2 
 drivers/md/md.c                                                     |    3 
 drivers/md/raid5.c                                                  |   15 
 drivers/media/cec/cec-adap.c                                        |    8 
 drivers/media/dvb-core/dvbdev.c                                     |    5 
 drivers/media/i2c/ov5640.c                                          |    4 
 drivers/media/platform/rcar-fcp.c                                   |    5 
 drivers/media/platform/vicodec/vicodec-core.c                       |   15 
 drivers/media/tuners/si2157.c                                       |   15 
 drivers/media/usb/dvb-usb/dibusb-mb.c                               |    2 
 drivers/media/usb/go7007/snd-go7007.c                               |   35 -
 drivers/mmc/host/meson-mx-sdio.c                                    |    3 
 drivers/mmc/host/sdhci-esdhc-imx.c                                  |    2 
 drivers/mmc/host/sdhci-msm.c                                        |    4 
 drivers/mmc/host/via-sdmmc.c                                        |    7 
 drivers/mtd/nand/raw/brcmnand/brcmnand.c                            |   11 
 drivers/mtd/nand/raw/diskonchip.c                                   |    7 
 drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c                     |    2 
 drivers/mtd/nand/raw/mtk_nand.c                                     |    2 
 drivers/mtd/nand/raw/nand_base.c                                    |   10 
 drivers/mtd/nand/raw/nand_onfi.c                                    |    2 
 drivers/mtd/nand/raw/orion_nand.c                                   |    2 
 drivers/mtd/nand/raw/oxnas_nand.c                                   |    8 
 drivers/mtd/nand/raw/pasemi_nand.c                                  |    4 
 drivers/mtd/nand/raw/plat_nand.c                                    |    2 
 drivers/mtd/nand/raw/sharpsl.c                                      |    2 
 drivers/mtd/nand/raw/socrates_nand.c                                |    2 
 drivers/mtd/nand/raw/sunxi_nand.c                                   |    2 
 drivers/mtd/nand/raw/tmio_nand.c                                    |    2 
 drivers/mtd/nand/raw/xway_nand.c                                    |    2 
 drivers/net/ethernet/allwinner/sun4i-emac.c                         |    4 
 drivers/net/ethernet/amazon/ena/ena_com.c                           |    6 
 drivers/net/ethernet/aquantia/atlantic/aq_nic.c                     |    6 
 drivers/net/ethernet/broadcom/genet/bcmgenet.c                      |    4 
 drivers/net/ethernet/broadcom/genet/bcmgenet.h                      |    2 
 drivers/net/ethernet/broadcom/genet/bcmgenet_wol.c                  |   39 -
 drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c                    |    4 
 drivers/net/ethernet/intel/e1000/e1000_main.c                       |    4 
 drivers/net/ethernet/intel/e1000e/e1000.h                           |    1 
 drivers/net/ethernet/intel/e1000e/netdev.c                          |   16 
 drivers/net/ethernet/intel/ice/ice_common.c                         |    8 
 drivers/net/ethernet/intel/ice/ice_controlq.c                       |   49 +-
 drivers/net/ethernet/intel/ice/ice_main.c                           |    3 
 drivers/net/ethernet/intel/igb/igb_ethtool.c                        |    3 
 drivers/net/ethernet/intel/ixgbe/ixgbe_common.c                     |    2 
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c                       |    3 
 drivers/net/ethernet/mellanox/mlx5/core/en_rx.c                     |   15 
 drivers/net/ethernet/nxp/lpc_eth.c                                  |    3 
 drivers/net/ethernet/qlogic/qede/qede.h                             |    2 
 drivers/net/ethernet/qlogic/qede/qede_main.c                        |   11 
 drivers/net/ethernet/ti/davinci_mdio.c                              |    2 
 drivers/net/macvlan.c                                               |    4 
 drivers/net/veth.c                                                  |    8 
 drivers/net/vmxnet3/vmxnet3_ethtool.c                               |    2 
 drivers/net/wireless/ath/ath10k/htt.h                               |    7 
 drivers/net/wireless/ath/ath10k/htt_tx.c                            |    8 
 drivers/net/wireless/ath/ath10k/mac.c                               |    5 
 drivers/net/wireless/ath/ath10k/pci.c                               |    1 
 drivers/net/wireless/ath/ath10k/txrx.c                              |    2 
 drivers/net/wireless/ath/ath10k/wmi-ops.h                           |   10 
 drivers/net/wireless/ath/ath10k/wmi-tlv.c                           |   15 
 drivers/net/wireless/ath/carl9170/fw.c                              |    4 
 drivers/net/wireless/ath/carl9170/main.c                            |   21 
 drivers/net/wireless/ath/wcn36xx/main.c                             |    6 
 drivers/net/wireless/broadcom/b43/main.c                            |    2 
 drivers/net/wireless/broadcom/b43legacy/main.c                      |    1 
 drivers/net/wireless/broadcom/b43legacy/xmit.c                      |    1 
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c          |    3 
 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c                    |   11 
 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c                   |    5 
 drivers/net/wireless/intel/iwlwifi/mvm/rs-fw.c                      |   15 
 drivers/net/wireless/intel/iwlwifi/mvm/sta.c                        |   18 
 drivers/net/wireless/intel/iwlwifi/mvm/sta.h                        |    6 
 drivers/net/wireless/marvell/libertas_tf/if_usb.c                   |    6 
 drivers/net/wireless/marvell/mwifiex/cfg80211.c                     |   14 
 drivers/net/wireless/mediatek/mt76/agg-rx.c                         |    8 
 drivers/net/wireless/mediatek/mt76/mt76.h                           |    6 
 drivers/net/wireless/realtek/rtlwifi/usb.c                          |    8 
 drivers/net/wireless/realtek/rtw88/pci.c                            |    1 
 drivers/nvme/host/core.c                                            |   16 
 drivers/nvme/host/pci.c                                             |   57 +-
 drivers/nvme/host/tcp.c                                             |    4 
 drivers/pci/controller/vmd.c                                        |    2 
 drivers/pci/probe.c                                                 |   24 -
 drivers/pci/quirks.c                                                |   48 +-
 drivers/perf/arm_smmuv3_pmu.c                                       |    5 
 drivers/perf/hisilicon/hisi_uncore_hha_pmu.c                        |    2 
 drivers/pinctrl/samsung/pinctrl-exynos.c                            |   82 ++-
 drivers/platform/x86/asus-wmi.c                                     |    2 
 drivers/platform/x86/dell-laptop.c                                  |   11 
 drivers/platform/x86/hp-wmi.c                                       |   10 
 drivers/platform/x86/intel-hid.c                                    |    7 
 drivers/platform/x86/intel-vbtn.c                                   |   75 ++-
 drivers/power/reset/vexpress-poweroff.c                             |    1 
 drivers/power/supply/power_supply_hwmon.c                           |    4 
 drivers/regulator/qcom-rpmh-regulator.c                             |    8 
 drivers/soc/tegra/Kconfig                                           |    1 
 drivers/spi/spi-dw-mid.c                                            |   16 
 drivers/spi/spi-dw.c                                                |    8 
 drivers/spi/spi-mem.c                                               |   10 
 drivers/spi/spi-pxa2xx.c                                            |    1 
 drivers/spi/spi.c                                                   |    1 
 drivers/staging/android/ion/ion_heap.c                              |    4 
 drivers/staging/greybus/sdio.c                                      |   10 
 drivers/staging/media/imx/imx7-mipi-csis.c                          |   82 +--
 drivers/staging/media/ipu3/ipu3-mmu.c                               |   10 
 drivers/staging/media/ipu3/ipu3-v4l2.c                              |   10 
 drivers/staging/media/ipu3/ipu3.c                                   |    5 
 drivers/staging/media/ipu3/ipu3.h                                   |    4 
 drivers/staging/media/sunxi/cedrus/cedrus_dec.c                     |    2 
 drivers/staging/media/sunxi/cedrus/cedrus_video.c                   |    3 
 drivers/tty/serial/8250/8250_core.c                                 |   14 
 drivers/tty/serial/8250/8250_pci.c                                  |    6 
 drivers/tty/serial/kgdboc.c                                         |  126 ++++-
 drivers/w1/masters/omap_hdq.c                                       |   10 
 fs/btrfs/block-group.c                                              |    2 
 fs/btrfs/block-rsv.c                                                |    3 
 fs/btrfs/ctree.h                                                    |    1 
 fs/btrfs/file-item.c                                                |    6 
 fs/btrfs/inode.c                                                    |   81 +++
 fs/btrfs/qgroup.c                                                   |   14 
 fs/btrfs/send.c                                                     |   67 ++
 fs/btrfs/space-info.c                                               |   43 +
 fs/btrfs/space-info.h                                               |    1 
 fs/btrfs/transaction.c                                              |   60 +-
 fs/btrfs/transaction.h                                              |    3 
 fs/btrfs/volumes.c                                                  |   14 
 fs/ext4/ext4_extents.h                                              |    9 
 fs/ext4/fsync.c                                                     |   28 -
 fs/ext4/xattr.c                                                     |    7 
 fs/f2fs/f2fs.h                                                      |    1 
 fs/f2fs/super.c                                                     |   25 -
 fs/xfs/xfs_bmap_util.c                                              |    2 
 fs/xfs/xfs_buf.c                                                    |    8 
 fs/xfs/xfs_dquot.c                                                  |    9 
 include/linux/kgdb.h                                                |    2 
 include/linux/mmzone.h                                              |    2 
 include/linux/pci_ids.h                                             |   11 
 include/linux/sched/mm.h                                            |    2 
 include/linux/skmsg.h                                               |    8 
 include/linux/string.h                                              |   60 ++
 include/linux/sunrpc/gss_api.h                                      |    1 
 include/linux/sunrpc/svcauth_gss.h                                  |    3 
 include/net/tls.h                                                   |    9 
 include/uapi/linux/kvm.h                                            |    2 
 kernel/audit.c                                                      |   52 +-
 kernel/audit.h                                                      |    2 
 kernel/auditfilter.c                                                |   16 
 kernel/bpf/syscall.c                                                |    3 
 kernel/cpu.c                                                        |   18 
 kernel/cpu_pm.c                                                     |    4 
 kernel/debug/debug_core.c                                           |    5 
 kernel/exit.c                                                       |   25 -
 kernel/sched/core.c                                                 |   13 
 kernel/sched/fair.c                                                 |    4 
 kernel/sched/rt.c                                                   |   12 
 kernel/sched/sched.h                                                |    2 
 lib/mpi/longlong.h                                                  |    2 
 lib/test_kasan.c                                                    |   29 -
 mm/huge_memory.c                                                    |   31 +
 mm/page_alloc.c                                                     |   27 -
 net/batman-adv/bat_v_elp.c                                          |   15 
 net/bluetooth/hci_event.c                                           |    1 
 net/core/skmsg.c                                                    |   98 +++-
 net/netfilter/nft_nat.c                                             |    4 
 net/sunrpc/auth_gss/gss_mech_switch.c                               |   12 
 net/sunrpc/auth_gss/svcauth_gss.c                                   |   18 
 net/tls/tls_sw.c                                                    |   20 
 security/integrity/evm/evm_crypto.c                                 |    2 
 security/integrity/ima/ima.h                                        |   10 
 security/integrity/ima/ima_crypto.c                                 |   53 +-
 security/integrity/ima/ima_init.c                                   |   24 -
 security/integrity/ima/ima_main.c                                   |    3 
 security/integrity/ima/ima_policy.c                                 |   12 
 security/integrity/ima/ima_template_lib.c                           |   18 
 security/lockdown/lockdown.c                                        |    2 
 security/selinux/ss/policydb.c                                      |    1 
 tools/cgroup/iocost_monitor.py                                      |   42 -
 tools/lib/api/fs/fs.c                                               |   17 
 tools/lib/api/fs/fs.h                                               |   12 
 tools/lib/bpf/hashmap.c                                             |    7 
 tools/lib/bpf/libbpf.c                                              |    5 
 tools/objtool/check.c                                               |    6 
 tools/perf/builtin-probe.c                                          |    3 
 tools/perf/util/dso.c                                               |   16 
 tools/perf/util/dso.h                                               |    1 
 tools/perf/util/probe-event.c                                       |   46 +-
 tools/perf/util/probe-finder.c                                      |    1 
 tools/perf/util/symbol.c                                            |    4 
 tools/testing/selftests/bpf/config                                  |    1 
 tools/testing/selftests/bpf/prog_tests/flow_dissector.c             |    1 
 tools/testing/selftests/bpf/test_progs.c                            |    1 
 275 files changed, 2677 insertions(+), 1240 deletions(-)

Adrian Hunter (2):
perf symbols: Fix debuginfo search for Ubuntu perf symbols: Fix kernel maps for kcore and eBPF

Al Viro (2):
sparc32: fix register window handling in genregs32_[gs]et()
sparc64: fix misuses of access_process_vm() in genregs32_[sg]et()

Alan Maguire (1):
selftests/bpf: CONFIG_IPV6_SEG6_BPF required for test_seg6_loop.o

Alexander Monakov (3):
x86/amd_nb: Add AMD family 17h model 60h PCI IDs
hwmon: (k10temp) Add AMD family 17h model 60h PCI match EDAC/amd64: Add AMD family 17h model 60h PCI IDs

Alexander Sverdlin (1):
macvlan: Skip loopback packets in RX handler

Anand Jain (2):
btrfs: free alien device after device add
btrfs: include non-missing as a qualifier for the latest_bdev

Anders Roxell (1):
power: vexpress: add suppress_bind_attrs to true

Andrea Arcangeli (1):
mm: thp: make the THP mapcount atomic against __split_huge_pmd_locked()

Andrea Parri (Microsoft) (1):
Drivers: hv: vmbus: Always handle the VMBus messages on CPU0

Andrii Nakryiko (2):
libbpf: Fix memory leak and possible double-free in hashmap__clear selftests/bpf: Fix memory leak in extract_build_id()

Andy Shevchenko (3):
spi: dw: Zero DMA Tx and Rx configurations on stack
spi: Respect DataBitLength field of SpiSerialBusV2() ACPI resource platform/x86: hp-wmi: Convert simple_strtoul() to kstrtou32()

Anton Protopopov (1):
bpf: Fix map permissions check

Ard Biesheuvel (2):
ACPI: GED: use correct trigger type field in _Exx / _Lxx handling efi/libstub/x86: Work around LLVM ELF quirk build regression

Arnd Bergmann (1):
crypto: ccp -- don't "select" CONFIG_DMADEVICES

Arthur Kiyanovski (1):
net: ena: fix error returning in ena_com_get_hash_function()

Arvind Sankar (2):
x86/boot: Correct relocation destination on old linkers x86/mm: Stop printing BRK addresses

Ashok Raj (2):
PCI: Add ACS quirk for Intel Root Complex Integrated Endpoints
PCI: Program MPS for RCiEP devices

Bhupesh Sharma (1):
net: qed*: Reduce RX and TX default ring count when running inside kdump kernel

Bingbu Cao (2):
media: staging: imgu: do not hold spinlock during freeing mmu page table
media: staging/intel-ipu3: Implement lock for stream on/off operations

Bjorn Andersson (1):
regulator: qcom-rpmh: Fix typos in pm8150 and pm8150l

Bogdan Togorean (1):
drm: bridge: adv7511: Extend list of audio sample rates

Boris Brezillon (1):
mtd: rawnand: Fix nand_gpio_waitrdy()

Brad Love (2):
media: si2157: Better check for running tuner in init
media: dvbdev: Fix tuner->demod media controller link

Brian Foster (2):
xfs: reset buffer write failure state on successful completion
xfs: fix duplicate verification from xfs_qm_dqflush()

Chris Chiu (1):
platform/x86: asus_wmi: Reserve more space for struct bias_args

Christian König (1):
drm/amdgpu: fix and cleanup amdgpu_gem_object_close v4

Christian Lamparter (1):
carl9170: remove P2P_GO support

Christoph Hellwig (3):
x86: fix vmap arguments in map_irq_stack
staging: android: ion: use vmap instead of vm_map_ram
nvme: refine the Qemu Identify CNS quirk

Christophe JAILLET (1):
wcn36xx: Fix error handling path in 'wcn36xx_probe()'

Christophe Leroy (5):
powerpc/mm: Fix conditions to perform MMU specific management by blocks on PPC32. 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

Chuhong Yuan (2):
Bluetooth: btmtkuart: Improve exception handling in btmtuart_probe()
media: go7007: fix a miss of snd_card_free

Colin Ian King (2):
media: dvb: return -EREMOTEIO on i2c transfer failure.
libertas_tf: avoid a null dereference in pointer priv

Coly Li (2):
raid5: remove gfp flags from scribble_alloc()
bcache: fix refcount underflow in bcache_device_free()

Corentin Labbe (1):
soc/tegra: pmc: Select GENERIC_PINCONF

Dan Carpenter (3):
media: vicodec: Fix error codes in probe function
media: cec: silence shift wrapping warning in __cec_s_log_addrs()
rtlwifi: Fix a double free in _rtl_usb_tx_urb_setup()

Daniel Axtens (2):
kasan: stop tests being eliminated as dead code with FORTIFY_SOURCE string.h: fix incompatibility between FORTIFY_SOURCE and KASAN

Daniel Jordan (1):
mm/pagealloc.c: call touch_nmi_watchdog() on max order boundaries in deferred init

Daniel Thompson (2):
arm64: cacheflush: Fix KGDB trap detection
kgdb: Fix spurious true from in_dbg_master()

Darrick J. Wong (1):
xfs: clean up the error handling in xfs_swap_extents

Dejin Zheng (1):
rtw88: fix an issue about leak system resources

Devulapally Shiva Krishna (1):
Crypto/chcr: fix for ccm(aes) failed test

Dmitry Osipenko (1):
ARM: tegra: Correct PL310 Auxiliary Control Register initialization

Doug Berger (2):
net: bcmgenet: set Rx mode before starting netif
net: bcmgenet: Fix WoL with password after deep sleep

Douglas Anderson (4):
kgdb: Disable WARN_CONSOLE_UNLOCKED for all kgdb
kgdb: Prevent infinite recursive entries to the debugger
kgdboc: Use a platform device to handle tty drivers showing up late kernel/cpu_pm: Fix uninitted local in cpu_pm

Eelco Chaudron (1):
libbpf: Fix perf_buffer__free() API for sparse allocs

Erez Shitrit (1):
net/mlx5e: IPoIB, Drop multicast packets that this interface sent

Eric Biggers (2):
ext4: fix race between ext4_sync_parent() and rename() dm crypt: avoid truncating the logical block size

Erik Kaneda (1):
ACPICA: Dispatcher: add status checks

Evan Green (1):
spi: pxa2xx: Apply CS clk quirk to BXT

Felix Kuehling (1):
drm/amdgpu: Sync with VM root BO when switching VM to CPU update mode

Filipe Manana (4):
btrfs: do not ignore error from btrfs_next_leaf() when inserting checksums
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

Finn Thain (1):
m68k: mac: Don't call via_flush_cache() on Mac IIfx

Gavin Shan (1):
arm64/kernel: Fix range on invalidating dcache for boot page tables

Geert Uytterhoeven (1):
spi: spi-mem: Fix Dual/Quad modes on Octal-capable devices

Greg Kroah-Hartman (1):

      Linux 5.4.48

Guoqing Jiang (1):
md: don't flush workqueue unconditionally in md_open

H. Nikolaus Schaller (1):
w1: omap-hdq: cleanup to add missing newline for some dev_dbg

Haibo Chen (1):
mmc: sdhci-esdhc-imx: fix the mask for tuning start point

Hans de Goede (6):
Bluetooth: btbcm: Add 2 missing models to subver tables
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 platform/x86: intel-vbtn: Only blacklist SW_TABLET_MODE on the 9 / "Laptop" chasis-type

Hari Bathini (3):
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

Harshad Shirwadkar (1):
ext4: fix EXT_MAX_EXTENT/INDEX to check for zeroed eh_max

Hsin-Yu Chao (1):
Bluetooth: Add SCO fallback for invalid LMP parameters error

Huaixin Chang (2):
sched/fair: Refill bandwidth before scaling
sched: Defend cfs and rt bandwidth quota against overflow

Jacob Keller (1):
ice: fix potential double free in probe unrolling

Jaegeuk Kim (1):
f2fs: fix checkpoint=disable:%u%%

Jaehoon Chung (1):
brcmfmac: fix wrong location to get firmware feature

Jakub Sitnicki (1):
selftests/bpf, flow_dissector: Close TAP device FD after the test

Jann Horn (1):
exit: Move preemption fixup up, move blocking operations down

Jean-Philippe Brucker (1):
pmu/smmuv3: Clear IRQ affinity hint on device removal

Jeffle Xu (1):
ext4: fix error pointer dereference

Jeremy Cline (1):
lockdown: Allow unprivileged users to see lockdown status

Jeremy Kerr (1):
powerpc/spufs: fix copy_to_user while atomic

Jesper Dangaard Brouer (3):
ixgbe: Fix XDP redirect on archs with PAGE_SIZE above 4K
dpaa2-eth: fix return codes used in ndo_setup_tc
veth: Adjust hard_start offset on redirect XDP frames

Jia-Ju Bai (1):
net: vmxnet3: fix possible buffer overflow caused by bad DMA value in vmxnet3_get_rss()

Jiaxun Yang (2):
MIPS: Truncate link address into 32bit for 32bit kernel
PCI: Don't disable decoding when mmio_always_on is set

Jitao Shi (2):
dt-bindings: display: mediatek: control dpi pins mode to avoid leakage drm/mediatek: set dpi pin mode to gpio low to avoid leakage current

John Fastabend (2):
bpf: Refactor sockmap redirect code so its easy to reuse
bpf: Fix running sk_skb program types with ktls

Jon Derrick (1):
PCI: vmd: Add device id for VMD device 8086:9A0B

Jon Doron (1):
x86/kvm/hyper-v: Explicitly align hcall param for kvm_hyperv_exit

Jonathan Bakker (3):
pinctrl: samsung: Correct setting of eint wakeup mask on s5pv210
pinctrl: samsung: Save/restore eint_mask over suspend for EINT_TYPE GPIOs
ARM: dts: s5pv210: Set keep-power-in-suspend for SDHCI1 on Aries

Josef Bacik (3):
btrfs: account for trans_block_rsv in may_commit_transaction
btrfs: improve global reserve stealing logic
btrfs: force chunk allocation if our global rsv is larger than metadata

Julien Thierry (1):
objtool: Ignore empty alternatives

Kai-Heng Feng (4):
PCI: Avoid Pericom USB controller OHCI/EHCI PME# defect
serial: 8250_pci: Move Pericom IDs to pci_ids.h
e1000e: Disable TSO for buffer overrun workaround
igb: Report speed and duplex as unknown when device is runtime suspended

Kaige Li (1):
MIPS: tools: Fix resource leak in elf-entry.c

Kees Cook (1):
e1000: Distribute switch variables for initialization

Kevin Buettner (1):
PCI: Avoid FLR for AMD Starship USB 3.0

Kieran Bingham (1):
media: platform: fcp: Set appropriate DMA parameters

Koba Ko (1):
platform/x86: dell-laptop: don't register micmute LED if there is no token

Krzysztof Struczynski (3):
ima: Fix ima digest hash table key calculation
ima: Remove redundant policy rule set in add_rules()
ima: Set again build_ima_appraise variable

Larry Finger (3):
b43legacy: Fix case where channel status is corrupted
b43: Fix connection problem with WPA3
b43_legacy: Fix connection problem with WPA3

Laurent Pinchart (1):
media: imx: imx7-mipi-csis: Cleanup and fix subdev pad format handling

Linus Walleij (1):

      ARM: 8978/1: mm: make act_mm() respect THREAD_SIZE

Ludovic Desroches (1):
ARM: dts: at91: sama5d2_ptc_ek: fix vbus pin

Lukas Wunner (1):
serial: 8250: Avoid error message on reprobe

Luke Nelson (1):
arm64: insn: Fix two bugs in encoding 32-bit logical immediates

Maharaja Kennadyrajan (1):
ath10k: Fix the race condition in firmware dump work queue

Marcos Paulo de Souza (1):
btrfs: send: emit file capabilities after chown

Marcos Scriven (1):
PCI: Avoid FLR for AMD Matisse HD Audio & USB 3.0

Marek Szyprowski (1):
ARM: dts: exynos: Fix GPIO polarity for thr GalaxyS3 CM36651 sensor's bus

Mark Starovoytov (1):
net: atlantic: make hw_get_regs optional

Martin Blumenstingl (1):
mmc: meson-mx-sdio: trigger a soft reset after a timeout or CRC error

Masahiro Yamada (1):
kbuild: force to build vmlinux if CONFIG_MODVERSION=y

Masami Hiramatsu (3):
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

Michael Ellerman (3):
drivers/macintosh: Fix memleak in windfarm_pm112 driver powerpc/64s: Don't let DT CPU features set FSCR_DSCR powerpc/64s: Save FSCR to init_task.thread.fscr after feature init

Michał Mirosław (2):
Bluetooth: hci_bcm: fix freeing not-requested IRQ
power: supply: core: fix HWMON temperature labels

Mikulas Patocka (1):
alpha: fix memory barriers so that they conform to the specification

Ming Lei (1):
block: alloc map and request for new hardware queue

Miquel Raynal (13):
mtd: rawnand: onfi: Fix redundancy detection check
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

Mordechay Goodstein (1):
iwlwifi: avoid debug max amsdu config overwriting itself

Nathan Chancellor (1):
lib/mpi: Fix 64-bit MIPS build with Clang

NeilBrown (2):
sunrpc: svcauth_gss_register_pseudoflavor must reject duplicate registrations.
sunrpc: clean up properly in gss_mech_unregister()

Nickolai Kozachenko (1):
platform/x86: intel-hid: Add a quirk to support HP Spectre X2 (2015)

Nicolas Toromanoff (3):
crypto: stm32/crc32 - fix ext4 chksum BUG_ON()
crypto: stm32/crc32 - fix run-time self test issue.
crypto: stm32/crc32 - fix multi-instance

Omar Sandoval (1):
btrfs: fix error handling when submitting direct I/O bio

Pablo Neira Ayuso (1):
netfilter: nft_nat: return EOPNOTSUPP if type or flags are not supported

Pali Rohár (1):
mwifiex: Fix memory corruption in dump_station

Paul Moore (2):
audit: fix a net reference leak in audit_send_reply()
audit: fix a net reference leak in audit_list_rules_send()

Pavel Tatashin (2):
mm: initialize deferred pages with interrupts enabled
mm: call cond_resched() from deferred_init_memmap()

Peter Zijlstra (2):
x86,smap: Fix smap_{save,restore}() alternatives sched/core: Fix illegal RCU from offline CPUs

Punit Agrawal (1):
e1000e: Relax condition to trigger reset for ME workaround

Qiushi Wu (2):
cpuidle: Fix three reference count leaks
power: supply: core: fix memory leak in HWMON error path

Qu Wenruo (1):
btrfs: qgroup: mark qgroup inconsistent if we're inherting snapshot to a new qgroup

Rakesh Pillai (1):
ath10k: Remove msdu from idr when management pkt send fails

Roberto Sassu (6):
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()

Ryder Lee (1):
mt76: avoid rx reorder buffer overflow

Sagi Grimberg (1):
nvme-tcp: use bh_lock in data_ready

Samuel Holland (1):
media: cedrus: Program output format during each run

Serge Semin (9):
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
spi: dw: Fix Rx-only DMA transfers
mips: cm: Fix an invalid error code of INTVN_*_ERR
mips: MAAR: Use more precise address mask
mips: Add udelay lpj numbers adjustment
spi: dw: Return any value retrieved from the dma_transfer callback

Shaokun Zhang (1):
drivers/perf: hisi: Fix typo in events attribute array

Sharon (1):
iwlwifi: mvm: fix aux station leak

Stephane Eranian (1):
tools api fs: Make xxx__mountpoint() more scalable

Surabhi Boob (2):
ice: Fix memory leak
ice: Fix for memory leaks and modify ICE_FREE_CQ_BUFS

Sven Eckelmann (1):
batman-adv: Revert "disable ethtool link speed detection when auto negotiation off"

Tejun Heo (2):
iocost_monitor: drop string wrap around numbers when outputting json
iocost: don't let vrate run wild while there's no saturation signal

Tiezhu Yang (3):
MIPS: Loongson: Build ATI Radeon GPU driver as module
MIPS: Make sparse_init() using top-down allocation
PCI: Add Loongson vendor ID

Tomasz Figa (1):
media: staging: ipu3: Fix stale list entries on parameter queue failure

Tomi Valkeinen (1):
media: ov5640: fix use of destroyed mutex

Tomohito Esaki (1):
drm: rcar-du: Set primary plane zpos immutably at initializing

Tuan Phan (1):
ACPI/IORT: Fix PMCG node single ID mapping handling

Ulf Hansson (2):

      staging: greybus: sdio: Respect the cmd->busy_timeout from the mmc core
      mmc: via-sdmmc: Respect the cmd->busy_timeout from the mmc core

Veerabhadrarao Badiganti (1):
mmc: sdhci-msm: Set SDHCI_QUIRK_MULTIBLOCK_READ_ACMD12 quirk

Venkateswara Naralasetty (1):
ath10k: fix kernel null pointer dereference

Wei Yongjun (5):
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() drm/mcde: dsi: Fix return value check in mcde_dsi_bind()
gnss: sirf: fix error return code in sirf_probe()

Weiping Zhang (2):
block: reset mapping if failed to update hardware queue count
nvme-pci: align io queue count with allocted nvme_queue in nvme_probe

Weiyi Lu (1):
clk: mediatek: assign the initial value to clk_init_data of mtk_mux

Wen Gong (2):
ath10k: remove the max_sched_scan_reqs value
ath10k: add flush tx packets for SDIO chip

Xie XiuQi (1):
ixgbe: fix signed-integer-overflow warning

Yazen Ghannam (1):
x86/amd_nb: Add Family 19h PCI IDs

YuanJunQing (1):
MIPS: Fix IRQ tracing when call handle_fpe() and handle_msa_fpe()

Yunjian Wang (1):
net: allwinner: Fix use correct return type for ndo_start_xmit()

chen gong (1):
drm/amd/powerpay: Disable gfxoff when setting manual mode on picasso and raven

limingyu (1):
drm/amdgpu: Init data to avoid oops while reading pp_num_states.

Álvaro Fernández Rojas (1):
mtd: rawnand: brcmnand: fix hamming oob layout

author maintainer
#1 lore raw
Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.txt +6 -0
index b6a7e7397b8b..b944fe067188 100644
@@ -16,6 +16,9 @@ Required properties:
   Documentation/devicetree/bindings/graph.txt. This port should be connected
   to the input port of an attached HDMI or LVDS encoder chip.
 
+Optional properties:
+- pinctrl-names: Contain "default" and "sleep".
+
 Example:
 
 dpi0: dpi@1401d000 {
@@ -26,6 +29,9 @@ dpi0: dpi@1401d000 {
 		 <&mmsys CLK_MM_DPI_ENGINE>,
 		 <&apmixedsys CLK_APMIXED_TVDPLL>;
 	clock-names = "pixel", "engine", "pll";
+	pinctrl-names = "default", "sleep";
+	pinctrl-0 = <&dpi_pin_func>;
+	pinctrl-1 = <&dpi_pin_idle>;
 
 	port {
 		dpi0_out: endpoint {
Documentation/virt/kvm/api.txt +2 -0
index 4833904d32a5..a18e996fa54b 100644
@@ -4444,9 +4444,11 @@ EOI was received.
 #define KVM_EXIT_HYPERV_SYNIC          1
 #define KVM_EXIT_HYPERV_HCALL          2
 			__u32 type;
+			__u32 pad1;
 			union {
 				struct {
 					__u32 msr;
+					__u32 pad2;
 					__u64 control;
 					__u64 evt_page;
 					__u64 msg_page;
Makefile +9 -6
index 1da2944b842e..fee4101b5d22 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 5
 PATCHLEVEL = 4
-SUBLEVEL = 47
+SUBLEVEL = 48
 EXTRAVERSION =
 NAME = Kleptomaniac Octopus
 
@@ -587,12 +587,8 @@ KBUILD_MODULES :=
 KBUILD_BUILTIN := 1
 
 # If we have only "make modules", don't compile built-in objects.
-# When we're building modules with modversions, we need to consider
-# the built-in objects during the descend as well, in order to
-# make sure the checksums are up to date before we record them.
-
 ifeq ($(MAKECMDGOALS),modules)
-  KBUILD_BUILTIN := $(if $(CONFIG_MODVERSIONS),1)
+  KBUILD_BUILTIN :=
 endif
 
 # If we have "make <whatever> modules", compile modules
@@ -1282,6 +1278,13 @@ ifdef CONFIG_MODULES
 
 all: modules
 
+# When we're building modules with modversions, we need to consider
+# the built-in objects during the descend as well, in order to
+# make sure the checksums are up to date before we record them.
+ifdef CONFIG_MODVERSIONS
+  KBUILD_BUILTIN := 1
+endif
+
 # Build modules
 #
 # A module can be listed more than once in obj-m resulting in
arch/alpha/include/asm/io.h +59 -15

122 lines not on this page · raw message

arch/alpha/kernel/io.c +53 -7

108 lines not on this page · raw message

arch/arm/boot/dts/at91-sama5d2_ptc_ek.dts +1 -1
index 1333a68b9373..b8db77b7f5d8 100644
@@ -40,7 +40,7 @@
 
 	ahb {
 		usb0: gadget@300000 {
-			atmel,vbus-gpio = <&pioA PIN_PA27 GPIO_ACTIVE_HIGH>;
+			atmel,vbus-gpio = <&pioA PIN_PB11 GPIO_ACTIVE_HIGH>;
 			pinctrl-names = "default";
 			pinctrl-0 = <&pinctrl_usba_vbus>;
 			status = "okay";
arch/arm/boot/dts/exynos4412-galaxy-s3.dtsi +1 -1
index ce87d2ff27aa..4b9c4cab0314 100644
@@ -68,7 +68,7 @@
 
 	i2c_cm36651: i2c-gpio-2 {
 		compatible = "i2c-gpio";
-		gpios = <&gpf0 0 GPIO_ACTIVE_LOW>, <&gpf0 1 GPIO_ACTIVE_LOW>;
+		gpios = <&gpf0 0 GPIO_ACTIVE_HIGH>, <&gpf0 1 GPIO_ACTIVE_HIGH>;
 		i2c-gpio,delay-us = <2>;
 		#address-cells = <1>;
 		#size-cells = <0>;
arch/arm/boot/dts/s5pv210-aries.dtsi +1 -0
index 8ff70b856334..d419b77201f7 100644
@@ -454,6 +454,7 @@
 	pinctrl-names = "default";
 	cap-sd-highspeed;
 	cap-mmc-highspeed;
+	keep-power-in-suspend;
 
 	mmc-pwrseq = <&wifi_pwrseq>;
 	non-removable;
arch/arm/mach-tegra/tegra.c +2 -2
index e512e606eabd..5ea3421fa1e8 100644
@@ -106,8 +106,8 @@ static const char * const tegra_dt_board_compat[] = {
 };
 
 DT_MACHINE_START(TEGRA_DT, "NVIDIA Tegra SoC (Flattened Device Tree)")
-	.l2c_aux_val	= 0x3c400001,
-	.l2c_aux_mask	= 0xc20fc3fe,
+	.l2c_aux_val	= 0x3c400000,
+	.l2c_aux_mask	= 0xc20fc3ff,
 	.smp		= smp_ops(tegra_smp_ops),
 	.map_io		= tegra_map_common_io,
 	.init_early	= tegra_init_early,
arch/arm/mm/proc-macros.S +2 -1
index 5461d589a1e2..60ac7c5999a9 100644
@@ -5,6 +5,7 @@
  *  VMA_VM_FLAGS
  *  VM_EXEC
  */
+#include <linux/const.h>
 #include <asm/asm-offsets.h>
 #include <asm/thread_info.h>
 
@@ -30,7 +31,7 @@
  * act_mm - get current->active_mm
  */
 	.macro	act_mm, rd
-	bic	\rd, sp, #8128
+	bic	\rd, sp, #(THREAD_SIZE - 1) & ~63
 	bic	\rd, \rd, #63
 	ldr	\rd, [\rd, #TI_TASK]
 	.if (TSK_ACTIVE_MM > IMM12_MASK)
arch/arm64/include/asm/cacheflush.h +3 -3
index 665c78e0665a..3e7dda6f1ab1 100644
@@ -79,7 +79,7 @@ static inline void flush_icache_range(unsigned long start, unsigned long end)
 	 * IPI all online CPUs so that they undergo a context synchronization
 	 * event and are forced to refetch the new instructions.
 	 */
-#ifdef CONFIG_KGDB
+
 	/*
 	 * KGDB performs cache maintenance with interrupts disabled, so we
 	 * will deadlock trying to IPI the secondary CPUs. In theory, we can
@@ -89,9 +89,9 @@ static inline void flush_icache_range(unsigned long start, unsigned long end)
 	 * the patching operation, so we don't need extra IPIs here anyway.
 	 * In which case, add a KGDB-specific bodge and return early.
 	 */
-	if (kgdb_connected && irqs_disabled())
+	if (in_dbg_master())
 		return;
-#endif
+
 	kick_all_cpus_sync();
 }
 
arch/arm64/include/asm/pgtable.h +1 -0
index 13ebe2bad79f..41dd4b1f0ccb 100644
@@ -456,6 +456,7 @@ extern pgd_t init_pg_dir[PTRS_PER_PGD];
 extern pgd_t init_pg_end[];
 extern pgd_t swapper_pg_dir[PTRS_PER_PGD];
 extern pgd_t idmap_pg_dir[PTRS_PER_PGD];
+extern pgd_t idmap_pg_end[];
 extern pgd_t tramp_pg_dir[PTRS_PER_PGD];
 
 extern void set_swapper_pgd(pgd_t *pgdp, pgd_t pgd);
arch/arm64/kernel/head.S +9 -3
index 989b1944cb71..bdb5ec341900 100644
@@ -393,13 +393,19 @@ __create_page_tables:
 
 	/*
 	 * Since the page tables have been populated with non-cacheable
-	 * accesses (MMU disabled), invalidate the idmap and swapper page
-	 * tables again to remove any speculatively loaded cache lines.
+	 * accesses (MMU disabled), invalidate those tables again to
+	 * remove any speculatively loaded cache lines.
 	 */
+	dmb	sy
+
 	adrp	x0, idmap_pg_dir
+	adrp	x1, idmap_pg_end
+	sub	x1, x1, x0
+	bl	__inval_dcache_area
+
+	adrp	x0, init_pg_dir
 	adrp	x1, init_pg_end
 	sub	x1, x1, x0
-	dmb	sy
 	bl	__inval_dcache_area
 
 	ret	x28
arch/arm64/kernel/insn.c +7 -7
index d801a7094076..a612da533ea2 100644
@@ -1508,16 +1508,10 @@ static u32 aarch64_encode_immediate(u64 imm,
 				    u32 insn)
 {
 	unsigned int immr, imms, n, ones, ror, esz, tmp;
-	u64 mask = ~0UL;
-
-	/* Can't encode full zeroes or full ones */
-	if (!imm || !~imm)
-		return AARCH64_BREAK_FAULT;
+	u64 mask;
 
 	switch (variant) {
 	case AARCH64_INSN_VARIANT_32BIT:
-		if (upper_32_bits(imm))
-			return AARCH64_BREAK_FAULT;
 		esz = 32;
 		break;
 	case AARCH64_INSN_VARIANT_64BIT:
@@ -1529,6 +1523,12 @@ static u32 aarch64_encode_immediate(u64 imm,
 		return AARCH64_BREAK_FAULT;
 	}
 
+	mask = GENMASK(esz - 1, 0);
+
+	/* Can't encode full zeroes, full ones, or value wider than the mask */
+	if (!imm || imm == mask || imm & ~mask)
+		return AARCH64_BREAK_FAULT;
+
 	/*
 	 * Inverse of Replicate(). Try to spot a repeating pattern
 	 * with a pow2 stride.
arch/arm64/kernel/vmlinux.lds.S +1 -0
index aa76f7259668..e1af25dbc57e 100644
@@ -142,6 +142,7 @@ SECTIONS
 	. = ALIGN(PAGE_SIZE);
 	idmap_pg_dir = .;
 	. += IDMAP_DIR_SIZE;
+	idmap_pg_end = .;
 
 #ifdef CONFIG_UNMAP_KERNEL_AT_EL0
 	tramp_pg_dir = .;
arch/m68k/include/asm/mac_via.h +1 -0
index de1470c4d829..1149251ea58d 100644
@@ -257,6 +257,7 @@ extern int rbv_present,via_alt_mapping;
 
 struct irq_desc;
 
+extern void via_l2_flush(int writeback);
 extern void via_register_interrupts(void);
 extern void via_irq_enable(int);
 extern void via_irq_disable(int);
arch/m68k/mac/config.c +2 -19
index 611f73bfc87c..d0126ab01360 100644
@@ -59,7 +59,6 @@ extern void iop_preinit(void);
 extern void iop_init(void);
 extern void via_init(void);
 extern void via_init_clock(irq_handler_t func);
-extern void via_flush_cache(void);
 extern void oss_init(void);
 extern void psc_init(void);
 extern void baboon_init(void);
@@ -130,21 +129,6 @@ int __init mac_parse_bootinfo(const struct bi_record *record)
 	return unknown;
 }
 
-/*
- * Flip into 24bit mode for an instant - flushes the L2 cache card. We
- * have to disable interrupts for this. Our IRQ handlers will crap
- * themselves if they take an IRQ in 24bit mode!
- */
-
-static void mac_cache_card_flush(int writeback)
-{
-	unsigned long flags;
-
-	local_irq_save(flags);
-	via_flush_cache();
-	local_irq_restore(flags);
-}
-
 void __init config_mac(void)
 {
 	if (!MACH_IS_MAC)
@@ -175,9 +159,8 @@ void __init config_mac(void)
 	 * not.
 	 */
 
-	if (macintosh_config->ident == MAC_MODEL_IICI
-	    || macintosh_config->ident == MAC_MODEL_IIFX)
-		mach_l2_flush = mac_cache_card_flush;
+	if (macintosh_config->ident == MAC_MODEL_IICI)
+		mach_l2_flush = via_l2_flush;
 }
 
 
arch/m68k/mac/via.c +5 -1
index 3c2cfcb74982..1f0fad2a98a0 100644
@@ -294,10 +294,14 @@ void via_debug_dump(void)
  * the system into 24-bit mode for an instant.
  */
 
-void via_flush_cache(void)
+void via_l2_flush(int writeback)
 {
+	unsigned long flags;
+
+	local_irq_save(flags);
 	via2[gBufB] &= ~VIA2B_vMode32;
 	via2[gBufB] |= VIA2B_vMode32;
+	local_irq_restore(flags);
 }
 
 /*
arch/mips/Makefile +12 -1
index cdc09b71febe..5403a91ce098 100644
@@ -285,12 +285,23 @@ ifdef CONFIG_64BIT
   endif
 endif
 
+# When linking a 32-bit executable the LLVM linker cannot cope with a
+# 32-bit load address that has been sign-extended to 64 bits.  Simply
+# remove the upper 32 bits then, as it is safe to do so with other
+# linkers.
+ifdef CONFIG_64BIT
+	load-ld			= $(load-y)
+else
+	load-ld			= $(subst 0xffffffff,0x,$(load-y))
+endif
+
 KBUILD_AFLAGS	+= $(cflags-y)
 KBUILD_CFLAGS	+= $(cflags-y)
-KBUILD_CPPFLAGS += -DVMLINUX_LOAD_ADDRESS=$(load-y)
+KBUILD_CPPFLAGS += -DVMLINUX_LOAD_ADDRESS=$(load-y) -DLINKER_LOAD_ADDRESS=$(load-ld)
 KBUILD_CPPFLAGS += -DDATAOFFSET=$(if $(dataoffset-y),$(dataoffset-y),0)
 
 bootvars-y	= VMLINUX_LOAD_ADDRESS=$(load-y) \
+		  LINKER_LOAD_ADDRESS=$(load-ld) \
 		  VMLINUX_ENTRY_ADDRESS=$(entry-y) \
 		  PLATFORM="$(platform-y)" \
 		  ITS_INPUTS="$(its-y)"
arch/mips/boot/compressed/Makefile +1 -1
index d859f079b771..378cbfb31ee7 100644
@@ -90,7 +90,7 @@ ifneq ($(zload-y),)
 VMLINUZ_LOAD_ADDRESS := $(zload-y)
 else
 VMLINUZ_LOAD_ADDRESS = $(shell $(obj)/calc_vmlinuz_load_addr \
-		$(obj)/vmlinux.bin $(VMLINUX_LOAD_ADDRESS))
+		$(obj)/vmlinux.bin $(LINKER_LOAD_ADDRESS))
 endif
 UIMAGE_LOADADDR = $(VMLINUZ_LOAD_ADDRESS)
 
arch/mips/configs/loongson3_defconfig +1 -1
index 90ee0084d786..e41f4841cb4d 100644
@@ -231,7 +231,7 @@ CONFIG_MEDIA_CAMERA_SUPPORT=y
 CONFIG_MEDIA_USB_SUPPORT=y
 CONFIG_USB_VIDEO_CLASS=m
 CONFIG_DRM=y
-CONFIG_DRM_RADEON=y
+CONFIG_DRM_RADEON=m
 CONFIG_FB_RADEON=y
 CONFIG_LCD_CLASS_DEVICE=y
 CONFIG_LCD_PLATFORM=m
arch/mips/include/asm/cpu-features.h +4 -2
index 983a6a7f43a1..3e26b0c7391b 100644
@@ -288,10 +288,12 @@
 # define cpu_has_mips32r6	__isa_ge_or_flag(6, MIPS_CPU_ISA_M32R6)
 #endif
 #ifndef cpu_has_mips64r1
-# define cpu_has_mips64r1	__isa_range_or_flag(1, 6, MIPS_CPU_ISA_M64R1)
+# define cpu_has_mips64r1	(cpu_has_64bits && \
+				 __isa_range_or_flag(1, 6, MIPS_CPU_ISA_M64R1))
 #endif
 #ifndef cpu_has_mips64r2
-# define cpu_has_mips64r2	__isa_range_or_flag(2, 6, MIPS_CPU_ISA_M64R2)
+# define cpu_has_mips64r2	(cpu_has_64bits && \
+				 __isa_range_or_flag(2, 6, MIPS_CPU_ISA_M64R2))
 #endif
 #ifndef cpu_has_mips64r6
 # define cpu_has_mips64r6	__isa_ge_and_flag(6, MIPS_CPU_ISA_M64R6)
arch/mips/include/asm/mipsregs.h +1 -1
index bdbdc19a2b8f..3afdb39d092a 100644
@@ -750,7 +750,7 @@
 
 /* MAAR bit definitions */
 #define MIPS_MAAR_VH		(_U64CAST_(1) << 63)
-#define MIPS_MAAR_ADDR		((BIT_ULL(BITS_PER_LONG - 12) - 1) << 12)
+#define MIPS_MAAR_ADDR		GENMASK_ULL(55, 12)
 #define MIPS_MAAR_ADDR_SHIFT	12
 #define MIPS_MAAR_S		(_ULCAST_(1) << 1)
 #define MIPS_MAAR_VL		(_ULCAST_(1) << 0)
arch/mips/kernel/genex.S +3 -3
index efde27c99414..9c5f8a5d097f 100644
@@ -474,20 +474,20 @@ NESTED(nmi_handler, PT_SIZE, sp)
 	.endm
 
 	.macro	__build_clear_fpe
+	CLI
+	TRACE_IRQS_OFF
 	.set	push
 	/* gas fails to assemble cfc1 for some archs (octeon).*/ \
 	.set	mips1
 	SET_HARDFLOAT
 	cfc1	a1, fcr31
 	.set	pop
-	CLI
-	TRACE_IRQS_OFF
 	.endm
 
 	.macro	__build_clear_msa_fpe
-	_cfcmsa	a1, MSA_CSR
 	CLI
 	TRACE_IRQS_OFF
+	_cfcmsa	a1, MSA_CSR
 	.endm
 
 	.macro	__build_clear_ade
arch/mips/kernel/mips-cm.c +3 -3
index e5ea3db23d6b..a9eab83d9148 100644
@@ -119,9 +119,9 @@ static char *cm2_causes[32] = {
 	"COH_RD_ERR", "MMIO_WR_ERR", "MMIO_RD_ERR", "0x07",
 	"0x08", "0x09", "0x0a", "0x0b",
 	"0x0c", "0x0d", "0x0e", "0x0f",
-	"0x10", "0x11", "0x12", "0x13",
-	"0x14", "0x15", "0x16", "INTVN_WR_ERR",
-	"INTVN_RD_ERR", "0x19", "0x1a", "0x1b",
+	"0x10", "INTVN_WR_ERR", "INTVN_RD_ERR", "0x13",
+	"0x14", "0x15", "0x16", "0x17",
+	"0x18", "0x19", "0x1a", "0x1b",
 	"0x1c", "0x1d", "0x1e", "0x1f"
 };
 
arch/mips/kernel/setup.c +10 -0
index 5eec13b8d222..7b06e6ee6817 100644
@@ -653,7 +653,17 @@ static void __init arch_mem_init(char **cmdline_p)
 				 crashk_res.end - crashk_res.start + 1);
 #endif
 	device_tree_init();
+
+	/*
+	 * In order to reduce the possibility of kernel panic when failed to
+	 * get IO TLB memory under CONFIG_SWIOTLB, it is better to allocate
+	 * low memory as small as possible before plat_swiotlb_setup(), so
+	 * make sparse_init() using top-down allocation.
+	 */
+	memblock_set_bottom_up(false);
 	sparse_init();
+	memblock_set_bottom_up(true);
+
 	plat_swiotlb_setup();
 
 	dma_contiguous_reserve(PFN_PHYS(max_low_pfn));
arch/mips/kernel/time.c +70 -0

82 lines not on this page · raw message

arch/mips/kernel/vmlinux.lds.S +1 -1
index 33ee0d18fb0a..eb9d7af93836 100644
@@ -50,7 +50,7 @@ SECTIONS
 	/* . = 0xa800000000300000; */
 	. = 0xffffffff80300000;
 #endif
-	. = VMLINUX_LOAD_ADDRESS;
+	. = LINKER_LOAD_ADDRESS;
 	/* read-only */
 	_text = .;	/* Text and read-only data */
 	.text : {
arch/mips/tools/elf-entry.c +8 -1
index adde79ce7fc0..dbd14ff05b4c 100644
@@ -51,11 +51,14 @@ int main(int argc, const char *argv[])
 	nread = fread(&hdr, 1, sizeof(hdr), file);
 	if (nread != sizeof(hdr)) {
 		perror("Unable to read input file");
+		fclose(file);
 		return EXIT_FAILURE;
 	}
 
-	if (memcmp(hdr.ehdr32.e_ident, ELFMAG, SELFMAG))
+	if (memcmp(hdr.ehdr32.e_ident, ELFMAG, SELFMAG)) {
+		fclose(file);
 		die("Input is not an ELF\n");
+	}
 
 	switch (hdr.ehdr32.e_ident[EI_CLASS]) {
 	case ELFCLASS32:
@@ -67,6 +70,7 @@ int main(int argc, const char *argv[])
 			entry = be32toh(hdr.ehdr32.e_entry);
 			break;
 		default:
+			fclose(file);
 			die("Invalid ELF encoding\n");
 		}
 
@@ -83,14 +87,17 @@ int main(int argc, const char *argv[])
 			entry = be64toh(hdr.ehdr64.e_entry);
 			break;
 		default:
+			fclose(file);
 			die("Invalid ELF encoding\n");
 		}
 		break;
 
 	default:
+		fclose(file);
 		die("Invalid ELF class\n");
 	}
 
 	printf("0x%016" PRIx64 "\n", entry);
+	fclose(file);
 	return EXIT_SUCCESS;
 }
arch/powerpc/Kconfig +1 -1
index 3dc5aecdd853..44431dc06982 100644
@@ -171,7 +171,7 @@ config PPC
 	select HAVE_ARCH_AUDITSYSCALL
 	select HAVE_ARCH_HUGE_VMAP		if PPC_BOOK3S_64 && PPC_RADIX_MMU
 	select HAVE_ARCH_JUMP_LABEL
-	select HAVE_ARCH_KASAN			if PPC32
+	select HAVE_ARCH_KASAN			if PPC32 && PPC_PAGE_SHIFT <= 14
 	select HAVE_ARCH_KGDB
 	select HAVE_ARCH_MMAP_RND_BITS
 	select HAVE_ARCH_MMAP_RND_COMPAT_BITS	if COMPAT
arch/powerpc/include/asm/book3s/32/kup.h +2 -1
index 1a2c80e8be84..6eb311eb818b 100644
@@ -2,6 +2,7 @@
 #ifndef _ASM_POWERPC_BOOK3S_32_KUP_H
 #define _ASM_POWERPC_BOOK3S_32_KUP_H
 
+#include <asm/bug.h>
 #include <asm/book3s/32/mmu-hash.h>
 
 #ifdef __ASSEMBLY__
@@ -75,7 +76,7 @@
 
 .macro kuap_check	current, gpr
 #ifdef CONFIG_PPC_KUAP_DEBUG
-	lwz	\gpr, KUAP(thread)
+	lwz	\gpr, THREAD + KUAP(\current)
 999:	twnei	\gpr, 0
 	EMIT_BUG_ENTRY 999b, __FILE__, __LINE__, (BUGFLAG_WARNING | BUGFLAG_ONCE)
 #endif
arch/powerpc/include/asm/fadump-internal.h +3 -1
index c814a2b55389..8d61c8f3fec4 100644
@@ -64,12 +64,14 @@ struct fadump_memory_range {
 };
 
 /* fadump memory ranges info */
+#define RNG_NAME_SZ			16
 struct fadump_mrange_info {
-	char				name[16];
+	char				name[RNG_NAME_SZ];
 	struct fadump_memory_range	*mem_ranges;
 	u32				mem_ranges_sz;
 	u32				mem_range_cnt;
 	u32				max_mem_ranges;
+	bool				is_static;
 };
 
 /* Platform specific callback functions */
arch/powerpc/include/asm/kasan.h +1 -5
index 296e51c2f066..b68eeff77806 100644
@@ -23,17 +23,13 @@
 
 #define KASAN_SHADOW_OFFSET	ASM_CONST(CONFIG_KASAN_SHADOW_OFFSET)
 
-#define KASAN_SHADOW_END	0UL
-
-#define KASAN_SHADOW_SIZE	(KASAN_SHADOW_END - KASAN_SHADOW_START)
+#define KASAN_SHADOW_END	(-(-KASAN_SHADOW_START >> KASAN_SHADOW_SCALE_SHIFT))
 
 #ifdef CONFIG_KASAN
 void kasan_early_init(void);
-void kasan_mmu_init(void);
 void kasan_init(void);
 #else
 static inline void kasan_init(void) { }
-static inline void kasan_mmu_init(void) { }
 #endif
 
 #endif /* __ASSEMBLY */
arch/powerpc/kernel/dt_cpu_ftrs.c +8 -0
index 05606025a131..3551f11accf0 100644
@@ -346,6 +346,14 @@ static int __init feat_enable_dscr(struct dt_cpu_feature *f)
 {
 	u64 lpcr;
 
+	/*
+	 * Linux relies on FSCR[DSCR] being clear, so that we can take the
+	 * facility unavailable interrupt and track the task's usage of DSCR.
+	 * See facility_unavailable_exception().
+	 * Clear the bit here so that feat_enable() doesn't set it.
+	 */
+	f->fscr_bit_nr = -1;
+
 	feat_enable(f);
 
 	lpcr = mfspr(SPRN_LPCR);
arch/powerpc/kernel/fadump.c +113 -42

234 lines not on this page · raw message

arch/powerpc/kernel/prom.c +19 -0
index 6620f37abe73..e13e96e665e0 100644
@@ -685,6 +685,23 @@ static void __init tm_init(void)
 static void tm_init(void) { }
 #endif /* CONFIG_PPC_TRANSACTIONAL_MEM */
 
+#ifdef CONFIG_PPC64
+static void __init save_fscr_to_task(void)
+{
+	/*
+	 * Ensure the init_task (pid 0, aka swapper) uses the value of FSCR we
+	 * have configured via the device tree features or via __init_FSCR().
+	 * That value will then be propagated to pid 1 (init) and all future
+	 * processes.
+	 */
+	if (early_cpu_has_feature(CPU_FTR_ARCH_207S))
+		init_task.thread.fscr = mfspr(SPRN_FSCR);
+}
+#else
+static inline void save_fscr_to_task(void) {};
+#endif
+
+
 void __init early_init_devtree(void *params)
 {
 	phys_addr_t limit;
@@ -773,6 +790,8 @@ void __init early_init_devtree(void *params)
 		BUG();
 	}
 
+	save_fscr_to_task();
+
 #if defined(CONFIG_SMP) && defined(CONFIG_PPC64)
 	/* We'll later wait for secondaries to check in; there are
 	 * NCPUS-1 non-boot CPUs  :-)
arch/powerpc/mm/init_32.c +0 -2
index b04896a88d79..68f7446193d1 100644
@@ -175,8 +175,6 @@ void __init MMU_init(void)
 	btext_unmap();
 #endif
 
-	kasan_mmu_init();
-
 	setup_kup();
 
 	/* Shortly after that, the entire linear mapping will be available */
arch/powerpc/mm/kasan/kasan_init_32.c +3 -1
index 1cfe57b51d7e..b01d4b72eccf 100644
@@ -129,7 +129,7 @@ static void __init kasan_remap_early_shadow_ro(void)
 	flush_tlb_kernel_range(KASAN_SHADOW_START, KASAN_SHADOW_END);
 }
 
-void __init kasan_mmu_init(void)
+static void __init kasan_mmu_init(void)
 {
 	int ret;
 	struct memblock_region *reg;
@@ -156,6 +156,8 @@ void __init kasan_mmu_init(void)
 
 void __init kasan_init(void)
 {
+	kasan_mmu_init();
+
 	kasan_remap_early_shadow_ro();
 
 	clear_page(kasan_early_shadow_page);
arch/powerpc/mm/pgtable_32.c +2 -2
index 784cae9f5697..da9f722d9f16 100644
@@ -207,7 +207,7 @@ void mark_initmem_nx(void)
 	unsigned long numpages = PFN_UP((unsigned long)_einittext) -
 				 PFN_DOWN((unsigned long)_sinittext);
 
-	if (v_block_mapped((unsigned long)_stext + 1))
+	if (v_block_mapped((unsigned long)_sinittext))
 		mmu_mark_initmem_nx();
 	else
 		change_page_attr(page, numpages, PAGE_KERNEL);
@@ -219,7 +219,7 @@ void mark_rodata_ro(void)
 	struct page *page;
 	unsigned long numpages;
 
-	if (v_block_mapped((unsigned long)_sinittext)) {
+	if (v_block_mapped((unsigned long)_stext + 1)) {
 		mmu_mark_rodata_ro();
 		ptdump_check_wx();
 		return;
arch/powerpc/platforms/cell/spufs/file.c +75 -38

234 lines not on this page · raw message

arch/powerpc/platforms/powernv/smp.c +0 -1
index 13e251699346..b2ba3e95bda7 100644
@@ -167,7 +167,6 @@ static void pnv_smp_cpu_kill_self(void)
 	/* Standard hot unplug procedure */
 
 	idle_task_exit();
-	current->active_mm = NULL; /* for sanity */
 	cpu = smp_processor_id();
 	DBG("CPU%d offline\n", cpu);
 	generic_set_cpu_dead(cpu);
arch/sparc/kernel/ptrace_32.c +98 -130

262 lines not on this page · raw message

arch/sparc/kernel/ptrace_64.c +3 -14
index c9d41a96468f..3f5930bfab06 100644
@@ -572,19 +572,13 @@ static int genregs32_get(struct task_struct *target,
 			for (; count > 0 && pos < 32; count--) {
 				if (access_process_vm(target,
 						      (unsigned long)
-						      &reg_window[pos],
+						      &reg_window[pos++],
 						      &reg, sizeof(reg),
 						      FOLL_FORCE)
 				    != sizeof(reg))
 					return -EFAULT;
-				if (access_process_vm(target,
-						      (unsigned long) u,
-						      &reg, sizeof(reg),
-						      FOLL_FORCE | FOLL_WRITE)
-				    != sizeof(reg))
+				if (put_user(reg, u++))
 					return -EFAULT;
-				pos++;
-				u++;
 			}
 		}
 	}
@@ -684,12 +678,7 @@ static int genregs32_set(struct task_struct *target,
 			}
 		} else {
 			for (; count > 0 && pos < 32; count--) {
-				if (access_process_vm(target,
-						      (unsigned long)
-						      u,
-						      &reg, sizeof(reg),
-						      FOLL_FORCE)
-				    != sizeof(reg))
+				if (get_user(reg, u++))
 					return -EFAULT;
 				if (access_process_vm(target,
 						      (unsigned long)
arch/x86/boot/compressed/head_32.S +3 -2
index 70ffce98c568..d7c0fcc1dbf9 100644
@@ -49,16 +49,17 @@
  * Position Independent Executable (PIE) so that linker won't optimize
  * R_386_GOT32X relocation to its fixed symbol address.  Older
  * linkers generate R_386_32 relocations against locally defined symbols,
- * _bss, _ebss, _got and _egot, in PIE.  It isn't wrong, just less
+ * _bss, _ebss, _got, _egot and _end, in PIE.  It isn't wrong, just less
  * optimal than R_386_RELATIVE.  But the x86 kernel fails to properly handle
  * R_386_32 relocations when relocating the kernel.  To generate
- * R_386_RELATIVE relocations, we mark _bss, _ebss, _got and _egot as
+ * R_386_RELATIVE relocations, we mark _bss, _ebss, _got, _egot and _end as
  * hidden:
  */
 	.hidden _bss
 	.hidden _ebss
 	.hidden _got
 	.hidden _egot
+	.hidden _end
 
 	__HEAD
 ENTRY(startup_32)
arch/x86/boot/compressed/head_64.S +1 -0
index 07d2002da642..50c9eeb36f0d 100644
@@ -42,6 +42,7 @@
 	.hidden _ebss
 	.hidden _got
 	.hidden _egot
+	.hidden _end
 
 	__HEAD
 	.code32
arch/x86/include/asm/smap.h +8 -3
index 27c47d183f4b..8b58d6975d5d 100644
@@ -57,8 +57,10 @@ static __always_inline unsigned long smap_save(void)
 {
 	unsigned long flags;
 
-	asm volatile (ALTERNATIVE("", "pushf; pop %0; " __ASM_CLAC,
-				  X86_FEATURE_SMAP)
+	asm volatile ("# smap_save\n\t"
+		      ALTERNATIVE("jmp 1f", "", X86_FEATURE_SMAP)
+		      "pushf; pop %0; " __ASM_CLAC "\n\t"
+		      "1:"
 		      : "=rm" (flags) : : "memory", "cc");
 
 	return flags;
@@ -66,7 +68,10 @@ static __always_inline unsigned long smap_save(void)
 
 static __always_inline void smap_restore(unsigned long flags)
 {
-	asm volatile (ALTERNATIVE("", "push %0; popf", X86_FEATURE_SMAP)
+	asm volatile ("# smap_restore\n\t"
+		      ALTERNATIVE("jmp 1f", "", X86_FEATURE_SMAP)
+		      "push %0; popf\n\t"
+		      "1:"
 		      : : "g" (flags) : "memory", "cc");
 }
 
arch/x86/kernel/amd_nb.c +8 -0
index 251c795b4eb3..c4bc01da820e 100644
@@ -18,10 +18,13 @@
 #define PCI_DEVICE_ID_AMD_17H_ROOT	0x1450
 #define PCI_DEVICE_ID_AMD_17H_M10H_ROOT	0x15d0
 #define PCI_DEVICE_ID_AMD_17H_M30H_ROOT	0x1480
+#define PCI_DEVICE_ID_AMD_17H_M60H_ROOT	0x1630
 #define PCI_DEVICE_ID_AMD_17H_DF_F4	0x1464
 #define PCI_DEVICE_ID_AMD_17H_M10H_DF_F4 0x15ec
 #define PCI_DEVICE_ID_AMD_17H_M30H_DF_F4 0x1494
+#define PCI_DEVICE_ID_AMD_17H_M60H_DF_F4 0x144c
 #define PCI_DEVICE_ID_AMD_17H_M70H_DF_F4 0x1444
+#define PCI_DEVICE_ID_AMD_19H_DF_F4	0x1654
 
 /* Protect the PCI config register pairs used for SMN and DF indirect access. */
 static DEFINE_MUTEX(smn_mutex);
@@ -32,6 +35,7 @@ static const struct pci_device_id amd_root_ids[] = {
 	{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_17H_ROOT) },
 	{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_17H_M10H_ROOT) },
 	{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_17H_M30H_ROOT) },
+	{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_17H_M60H_ROOT) },
 	{}
 };
 
@@ -50,8 +54,10 @@ const struct pci_device_id amd_nb_misc_ids[] = {
 	{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_17H_DF_F3) },
 	{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_17H_M10H_DF_F3) },
 	{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_17H_M30H_DF_F3) },
+	{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_17H_M60H_DF_F3) },
 	{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_CNB17H_F3) },
 	{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_17H_M70H_DF_F3) },
+	{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_19H_DF_F3) },
 	{}
 };
 EXPORT_SYMBOL_GPL(amd_nb_misc_ids);
@@ -65,7 +71,9 @@ static const struct pci_device_id amd_nb_link_ids[] = {
 	{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_17H_DF_F4) },
 	{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_17H_M10H_DF_F4) },
 	{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_17H_M30H_DF_F4) },
+	{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_17H_M60H_DF_F4) },
 	{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_17H_M70H_DF_F4) },
+	{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_19H_DF_F4) },
 	{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_CNB17H_F4) },
 	{}
 };
arch/x86/kernel/irq_64.c +1 -1
index 12df3a4abfdd..6b32ab009c19 100644
@@ -43,7 +43,7 @@ static int map_irq_stack(unsigned int cpu)
 		pages[i] = pfn_to_page(pa >> PAGE_SHIFT);
 	}
 
-	va = vmap(pages, IRQ_STACK_SIZE / PAGE_SIZE, GFP_KERNEL, PAGE_KERNEL);
+	va = vmap(pages, IRQ_STACK_SIZE / PAGE_SIZE, VM_MAP, PAGE_KERNEL);
 	if (!va)
 		return -ENOMEM;
 
arch/x86/mm/init.c +0 -2
index fd10d91a6115..af352e228fa2 100644
@@ -121,8 +121,6 @@ __ref void *alloc_low_pages(unsigned int num)
 	} else {
 		pfn = pgt_buf_end;
 		pgt_buf_end += num;
-		printk(KERN_DEBUG "BRK [%#010lx, %#010lx] PGTABLE\n",
-			pfn << PAGE_SHIFT, (pgt_buf_end << PAGE_SHIFT) - 1);
 	}
 
 	for (i = 0; i < num; i++) {
block/blk-iocost.c +24 -4
index d083f7704082..4d2bda812d9b 100644
@@ -1546,19 +1546,39 @@ static void ioc_timer_fn(struct timer_list *timer)
 	if (rq_wait_pct > RQ_WAIT_BUSY_PCT ||
 	    missed_ppm[READ] > ppm_rthr ||
 	    missed_ppm[WRITE] > ppm_wthr) {
+		/* clearly missing QoS targets, slow down vrate */
 		ioc->busy_level = max(ioc->busy_level, 0);
 		ioc->busy_level++;
 	} else if (rq_wait_pct <= RQ_WAIT_BUSY_PCT * UNBUSY_THR_PCT / 100 &&
 		   missed_ppm[READ] <= ppm_rthr * UNBUSY_THR_PCT / 100 &&
 		   missed_ppm[WRITE] <= ppm_wthr * UNBUSY_THR_PCT / 100) {
-		/* take action iff there is contention */
-		if (nr_shortages && !nr_lagging) {
+		/* QoS targets are being met with >25% margin */
+		if (nr_shortages) {
+			/*
+			 * We're throttling while the device has spare
+			 * capacity.  If vrate was being slowed down, stop.
+			 */
 			ioc->busy_level = min(ioc->busy_level, 0);
-			/* redistribute surpluses first */
-			if (!nr_surpluses)
+
+			/*
+			 * If there are IOs spanning multiple periods, wait
+			 * them out before pushing the device harder.  If
+			 * there are surpluses, let redistribution work it
+			 * out first.
+			 */
+			if (!nr_lagging && !nr_surpluses)
 				ioc->busy_level--;
+		} else {
+			/*
+			 * Nobody is being throttled and the users aren't
+			 * issuing enough IOs to saturate the device.  We
+			 * simply don't know how close the device is to
+			 * saturation.  Coast.
+			 */
+			ioc->busy_level = 0;
 		}
 	} else {
+		/* inside the hysterisis margin, we're good */
 		ioc->busy_level = 0;
 	}
 
block/blk-mq.c +13 -13
index 757c0fd9f0cc..0550366e25d8 100644
@@ -2493,18 +2493,6 @@ static void blk_mq_map_swqueue(struct request_queue *q)
 	 * If the cpu isn't present, the cpu is mapped to first hctx.
 	 */
 	for_each_possible_cpu(i) {
-		hctx_idx = set->map[HCTX_TYPE_DEFAULT].mq_map[i];
-		/* unmapped hw queue can be remapped after CPU topo changed */
-		if (!set->tags[hctx_idx] &&
-		    !__blk_mq_alloc_rq_map(set, hctx_idx)) {
-			/*
-			 * If tags initialization fail for some hctx,
-			 * that hctx won't be brought online.  In this
-			 * case, remap the current ctx to hctx[0] which
-			 * is guaranteed to always have tags allocated
-			 */
-			set->map[HCTX_TYPE_DEFAULT].mq_map[i] = 0;
-		}
 
 		ctx = per_cpu_ptr(q->queue_ctx, i);
 		for (j = 0; j < set->nr_maps; j++) {
@@ -2513,6 +2501,18 @@ static void blk_mq_map_swqueue(struct request_queue *q)
 						HCTX_TYPE_DEFAULT, i);
 				continue;
 			}
+			hctx_idx = set->map[j].mq_map[i];
+			/* unmapped hw queue can be remapped after CPU topo changed */
+			if (!set->tags[hctx_idx] &&
+			    !__blk_mq_alloc_rq_map(set, hctx_idx)) {
+				/*
+				 * If tags initialization fail for some hctx,
+				 * that hctx won't be brought online.  In this
+				 * case, remap the current ctx to hctx[0] which
+				 * is guaranteed to always have tags allocated
+				 */
+				set->map[j].mq_map[i] = 0;
+			}
 
 			hctx = blk_mq_map_queue_type(q, j, i);
 			ctx->hctxs[j] = hctx;
@@ -3304,8 +3304,8 @@ static void __blk_mq_update_nr_hw_queues(struct blk_mq_tag_set *set,
 
 	prev_nr_hw_queues = set->nr_hw_queues;
 	set->nr_hw_queues = nr_hw_queues;
-	blk_mq_update_queue_map(set);
 fallback:
+	blk_mq_update_queue_map(set);
 	list_for_each_entry(q, &set->tag_list, tag_set_list) {
 		blk_mq_realloc_hw_ctxs(set, q);
 		if (q->nr_hw_queues != set->nr_hw_queues) {
drivers/acpi/acpica/dsfield.c +12 -5
index 8438e33aa447..fd9028a6bc20 100644
@@ -518,13 +518,20 @@ acpi_ds_create_field(union acpi_parse_object *op,
 	info.region_node = region_node;
 
 	status = acpi_ds_get_field_names(&info, walk_state, arg->common.next);
+	if (ACPI_FAILURE(status)) {
+		return_ACPI_STATUS(status);
+	}
+
 	if (info.region_node->object->region.space_id ==
-	    ACPI_ADR_SPACE_PLATFORM_COMM
-	    && !(region_node->object->field.internal_pcc_buffer =
-		 ACPI_ALLOCATE_ZEROED(info.region_node->object->region.
-				      length))) {
-		return_ACPI_STATUS(AE_NO_MEMORY);
+	    ACPI_ADR_SPACE_PLATFORM_COMM) {
+		region_node->object->field.internal_pcc_buffer =
+		    ACPI_ALLOCATE_ZEROED(info.region_node->object->region.
+					 length);
+		if (!region_node->object->field.internal_pcc_buffer) {
+			return_ACPI_STATUS(AE_NO_MEMORY);
+		}
 	}
+
 	return_ACPI_STATUS(status);
 }
 
drivers/acpi/arm64/iort.c +5 -0
index 5a7551d060f2..bc95a5eebd13 100644
@@ -361,6 +361,7 @@ static struct acpi_iort_node *iort_node_get_id(struct acpi_iort_node *node,
 static int iort_get_id_mapping_index(struct acpi_iort_node *node)
 {
 	struct acpi_iort_smmu_v3 *smmu;
+	struct acpi_iort_pmcg *pmcg;
 
 	switch (node->type) {
 	case ACPI_IORT_NODE_SMMU_V3:
@@ -388,6 +389,10 @@ static int iort_get_id_mapping_index(struct acpi_iort_node *node)
 
 		return smmu->id_mapping_index;
 	case ACPI_IORT_NODE_PMCG:
+		pmcg = (struct acpi_iort_pmcg *)node->node_data;
+		if (pmcg->overflow_gsiv || node->mapping_count == 0)
+			return -EINVAL;
+
 		return 0;
 	default:
 		return -EINVAL;
drivers/acpi/evged.c +1 -1
index 6d7a522952bf..ccd900690b6f 100644
@@ -94,7 +94,7 @@ static acpi_status acpi_ged_request_interrupt(struct acpi_resource *ares,
 		trigger = p->triggering;
 	} else {
 		gsi = pext->interrupts[0];
-		trigger = p->triggering;
+		trigger = pext->triggering;
 	}
 
 	irq = r.start;
drivers/bluetooth/btbcm.c +2 -0
index f02a4bdc0ca7..dd29d687cd38 100644
@@ -329,6 +329,7 @@ static const struct bcm_subver_table bcm_uart_subver_table[] = {
 	{ 0x410e, "BCM43341B0"	},	/* 002.001.014 */
 	{ 0x4204, "BCM2076B1"	},	/* 002.002.004 */
 	{ 0x4406, "BCM4324B3"	},	/* 002.004.006 */
+	{ 0x4606, "BCM4324B5"	},	/* 002.006.006 */
 	{ 0x6109, "BCM4335C0"	},	/* 003.001.009 */
 	{ 0x610c, "BCM4354"	},	/* 003.001.012 */
 	{ 0x2122, "BCM4343A0"	},	/* 001.001.034 */
@@ -343,6 +344,7 @@ static const struct bcm_subver_table bcm_uart_subver_table[] = {
 };
 
 static const struct bcm_subver_table bcm_usb_subver_table[] = {
+	{ 0x2105, "BCM20703A1"	},	/* 001.001.005 */
 	{ 0x210b, "BCM43142A0"	},	/* 001.001.011 */
 	{ 0x2112, "BCM4314A0"	},	/* 001.001.018 */
 	{ 0x2118, "BCM20702A0"	},	/* 001.001.024 */
drivers/bluetooth/btmtkuart.c +8 -6
index e11169ad8247..8a81fbca5c9d 100644
@@ -1015,7 +1015,7 @@ static int btmtkuart_probe(struct serdev_device *serdev)
 	if (btmtkuart_is_standalone(bdev)) {
 		err = clk_prepare_enable(bdev->osc);
 		if (err < 0)
-			return err;
+			goto err_hci_free_dev;
 
 		if (bdev->boot) {
 			gpiod_set_value_cansleep(bdev->boot, 1);
@@ -1028,10 +1028,8 @@ static int btmtkuart_probe(struct serdev_device *serdev)
 
 		/* Power on */
 		err = regulator_enable(bdev->vcc);
-		if (err < 0) {
-			clk_disable_unprepare(bdev->osc);
-			return err;
-		}
+		if (err < 0)
+			goto err_clk_disable_unprepare;
 
 		/* Reset if the reset-gpios is available otherwise the board
 		 * -level design should be guaranteed.
@@ -1063,7 +1061,6 @@ static int btmtkuart_probe(struct serdev_device *serdev)
 	err = hci_register_dev(hdev);
 	if (err < 0) {
 		dev_err(&serdev->dev, "Can't register HCI device\n");
-		hci_free_dev(hdev);
 		goto err_regulator_disable;
 	}
 
@@ -1072,6 +1069,11 @@ static int btmtkuart_probe(struct serdev_device *serdev)
 err_regulator_disable:
 	if (btmtkuart_is_standalone(bdev))
 		regulator_disable(bdev->vcc);
+err_clk_disable_unprepare:
+	if (btmtkuart_is_standalone(bdev))
+		clk_disable_unprepare(bdev->osc);
+err_hci_free_dev:
+	hci_free_dev(hdev);
 
 	return err;
 }
drivers/bluetooth/hci_bcm.c +4 -1
index 7646636f2d18..94ed734c1d7e 100644
@@ -107,6 +107,7 @@ struct bcm_device {
 	u32			oper_speed;
 	int			irq;
 	bool			irq_active_low;
+	bool			irq_acquired;
 
 #ifdef CONFIG_PM
 	struct hci_uart		*hu;
@@ -319,6 +320,8 @@ static int bcm_request_irq(struct bcm_data *bcm)
 		goto unlock;
 	}
 
+	bdev->irq_acquired = true;
+
 	device_init_wakeup(bdev->dev, true);
 
 	pm_runtime_set_autosuspend_delay(bdev->dev,
@@ -487,7 +490,7 @@ static int bcm_close(struct hci_uart *hu)
 	}
 
 	if (bdev) {
-		if (IS_ENABLED(CONFIG_PM) && bdev->irq > 0) {
+		if (IS_ENABLED(CONFIG_PM) && bdev->irq_acquired) {
 			devm_free_irq(bdev->dev, bdev->irq, bdev);
 			device_init_wakeup(bdev->dev, false);
 			pm_runtime_disable(bdev->dev);
drivers/clk/mediatek/clk-mux.c +1 -1
index 76f9cd039195..14e127e9a740 100644
@@ -160,7 +160,7 @@ struct clk *mtk_clk_register_mux(const struct mtk_mux *mux,
 				 spinlock_t *lock)
 {
 	struct mtk_clk_mux *clk_mux;
-	struct clk_init_data init;
+	struct clk_init_data init = {};
 	struct clk *clk;
 
 	clk_mux = kzalloc(sizeof(*clk_mux), GFP_KERNEL);
drivers/clocksource/dw_apb_timer.c +3 -2
index 654766538f93..10ce69548f1b 100644
@@ -222,7 +222,8 @@ static int apbt_next_event(unsigned long delta,
 /**
  * dw_apb_clockevent_init() - use an APB timer as a clock_event_device
  *
- * @cpu:	The CPU the events will be targeted at.
+ * @cpu:	The CPU the events will be targeted at or -1 if CPU affiliation
+ *		isn't required.
  * @name:	The name used for the timer and the IRQ for it.
  * @rating:	The rating to give the timer.
  * @base:	I/O base for the timer registers.
@@ -257,7 +258,7 @@ dw_apb_clockevent_init(int cpu, const char *name, unsigned rating,
 	dw_ced->ced.max_delta_ticks = 0x7fffffff;
 	dw_ced->ced.min_delta_ns = clockevent_delta2ns(5000, &dw_ced->ced);
 	dw_ced->ced.min_delta_ticks = 5000;
-	dw_ced->ced.cpumask = cpumask_of(cpu);
+	dw_ced->ced.cpumask = cpu < 0 ? cpu_possible_mask : cpumask_of(cpu);
 	dw_ced->ced.features = CLOCK_EVT_FEAT_PERIODIC |
 				CLOCK_EVT_FEAT_ONESHOT | CLOCK_EVT_FEAT_DYNIRQ;
 	dw_ced->ced.set_state_shutdown = apbt_shutdown;
drivers/clocksource/dw_apb_timer_of.c +2 -4
index 8c28b127759f..6921b91b61ef 100644
@@ -147,10 +147,6 @@ static int num_called;
 static int __init dw_apb_timer_init(struct device_node *timer)
 {
 	switch (num_called) {
-	case 0:
-		pr_debug("%s: found clockevent timer\n", __func__);
-		add_clockevent(timer);
-		break;
 	case 1:
 		pr_debug("%s: found clocksource timer\n", __func__);
 		add_clocksource(timer);
@@ -161,6 +157,8 @@ static int __init dw_apb_timer_init(struct device_node *timer)
 #endif
 		break;
 	default:
+		pr_debug("%s: found clockevent timer\n", __func__);
+		add_clockevent(timer);
 		break;
 	}
 
drivers/cpuidle/sysfs.c +3 -3
index 2bb2683b493c..f8747322b3c7 100644
@@ -480,7 +480,7 @@ static int cpuidle_add_state_sysfs(struct cpuidle_device *device)
 		ret = kobject_init_and_add(&kobj->kobj, &ktype_state_cpuidle,
 					   &kdev->kobj, "state%d", i);
 		if (ret) {
-			kfree(kobj);
+			kobject_put(&kobj->kobj);
 			goto error_state;
 		}
 		cpuidle_add_s2idle_attr_group(kobj);
@@ -611,7 +611,7 @@ static int cpuidle_add_driver_sysfs(struct cpuidle_device *dev)
 	ret = kobject_init_and_add(&kdrv->kobj, &ktype_driver_cpuidle,
 				   &kdev->kobj, "driver");
 	if (ret) {
-		kfree(kdrv);
+		kobject_put(&kdrv->kobj);
 		return ret;
 	}
 
@@ -705,7 +705,7 @@ int cpuidle_add_sysfs(struct cpuidle_device *dev)
 	error = kobject_init_and_add(&kdev->kobj, &ktype_cpuidle, &cpu_dev->kobj,
 				   "cpuidle");
 	if (error) {
-		kfree(kdev);
+		kobject_put(&kdev->kobj);
 		return error;
 	}
 
drivers/crypto/ccp/Kconfig +1 -2
index 8fec733f567f..63e227adbb13 100644
@@ -10,10 +10,9 @@ config CRYPTO_DEV_CCP_DD
 config CRYPTO_DEV_SP_CCP
 	bool "Cryptographic Coprocessor device"
 	default y
-	depends on CRYPTO_DEV_CCP_DD
+	depends on CRYPTO_DEV_CCP_DD && DMADEVICES
 	select HW_RANDOM
 	select DMA_ENGINE
-	select DMADEVICES
 	select CRYPTO_SHA1
 	select CRYPTO_SHA256
 	help
drivers/crypto/chelsio/chcr_algo.c +1 -1
index 01dd418bdadc..fe2eadc0ce83 100644
@@ -2818,7 +2818,7 @@ static void fill_sec_cpl_for_aead(struct cpl_tx_sec_pdu *sec_cpl,
 	unsigned int mac_mode = CHCR_SCMD_AUTH_MODE_CBCMAC;
 	unsigned int c_id = a_ctx(tfm)->tx_chan_id;
 	unsigned int ccm_xtra;
-	unsigned char tag_offset = 0, auth_offset = 0;
+	unsigned int tag_offset = 0, auth_offset = 0;
 	unsigned int assoclen;
 
 	if (get_aead_subtype(tfm) == CRYPTO_ALG_SUB_TYPE_AEAD_RFC4309)
drivers/crypto/stm32/stm32-crc32.c +83 -61

230 lines not on this page · raw message

drivers/edac/amd64_edac.c +13 -0
index cc5e56d752c8..ad7d2bce91cd 100644
@@ -2317,6 +2317,15 @@ static struct amd64_family_type family_types[] = {
 			.dbam_to_cs		= f17_addr_mask_to_cs_size,
 		}
 	},
+	[F17_M60H_CPUS] = {
+		.ctl_name = "F17h_M60h",
+		.f0_id = PCI_DEVICE_ID_AMD_17H_M60H_DF_F0,
+		.f6_id = PCI_DEVICE_ID_AMD_17H_M60H_DF_F6,
+		.ops = {
+			.early_channel_count	= f17_early_channel_count,
+			.dbam_to_cs		= f17_addr_mask_to_cs_size,
+		}
+	},
 	[F17_M70H_CPUS] = {
 		.ctl_name = "F17h_M70h",
 		.f0_id = PCI_DEVICE_ID_AMD_17H_M70H_DF_F0,
@@ -3366,6 +3375,10 @@ static struct amd64_family_type *per_family_init(struct amd64_pvt *pvt)
 			fam_type = &family_types[F17_M30H_CPUS];
 			pvt->ops = &family_types[F17_M30H_CPUS].ops;
 			break;
+		} else if (pvt->model >= 0x60 && pvt->model <= 0x6f) {
+			fam_type = &family_types[F17_M60H_CPUS];
+			pvt->ops = &family_types[F17_M60H_CPUS].ops;
+			break;
 		} else if (pvt->model >= 0x70 && pvt->model <= 0x7f) {
 			fam_type = &family_types[F17_M70H_CPUS];
 			pvt->ops = &family_types[F17_M70H_CPUS].ops;
drivers/edac/amd64_edac.h +3 -0
index 8c3cda81e619..d280b91f97cb 100644
@@ -120,6 +120,8 @@
 #define PCI_DEVICE_ID_AMD_17H_M10H_DF_F6 0x15ee
 #define PCI_DEVICE_ID_AMD_17H_M30H_DF_F0 0x1490
 #define PCI_DEVICE_ID_AMD_17H_M30H_DF_F6 0x1496
+#define PCI_DEVICE_ID_AMD_17H_M60H_DF_F0 0x1448
+#define PCI_DEVICE_ID_AMD_17H_M60H_DF_F6 0x144e
 #define PCI_DEVICE_ID_AMD_17H_M70H_DF_F0 0x1440
 #define PCI_DEVICE_ID_AMD_17H_M70H_DF_F6 0x1446
 
@@ -291,6 +293,7 @@ enum amd_families {
 	F17_CPUS,
 	F17_M10H_CPUS,
 	F17_M30H_CPUS,
+	F17_M60H_CPUS,
 	F17_M70H_CPUS,
 	NUM_FAMILIES,
 };
drivers/firmware/efi/libstub/Makefile +1 -0
index ee0661ddb25b..8c5b5529dbc0 100644
@@ -28,6 +28,7 @@ KBUILD_CFLAGS			:= $(cflags-y) -DDISABLE_BRANCH_PROFILING \
 				   -D__NO_FORTIFY \
 				   $(call cc-option,-ffreestanding) \
 				   $(call cc-option,-fno-stack-protector) \
+				   $(call cc-option,-fno-addrsig) \
 				   -D__DISABLE_EXPORTS
 
 GCOV_PROFILE			:= n
drivers/gnss/sirf.c +6 -2
index effed3a8d398..2ecb1d3e8eeb 100644
@@ -439,14 +439,18 @@ static int sirf_probe(struct serdev_device *serdev)
 
 	data->on_off = devm_gpiod_get_optional(dev, "sirf,onoff",
 			GPIOD_OUT_LOW);
-	if (IS_ERR(data->on_off))
+	if (IS_ERR(data->on_off)) {
+		ret = PTR_ERR(data->on_off);
 		goto err_put_device;
+	}
 
 	if (data->on_off) {
 		data->wakeup = devm_gpiod_get_optional(dev, "sirf,wakeup",
 				GPIOD_IN);
-		if (IS_ERR(data->wakeup))
+		if (IS_ERR(data->wakeup)) {
+			ret = PTR_ERR(data->wakeup);
 			goto err_put_device;
+		}
 
 		ret = regulator_enable(data->vcc);
 		if (ret)
drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c +25 -18

69 lines not on this page · raw message

drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c +13 -1
index 51263b8d94b1..d1d2372ab7ca 100644
@@ -370,6 +370,15 @@ static ssize_t amdgpu_set_dpm_forced_performance_level(struct device *dev,
 	if (current_level == level)
 		return count;
 
+	if (adev->asic_type == CHIP_RAVEN) {
+		if (adev->rev_id < 8) {
+			if (current_level != AMD_DPM_FORCED_LEVEL_MANUAL && level == AMD_DPM_FORCED_LEVEL_MANUAL)
+				amdgpu_gfx_off_ctrl(adev, false);
+			else if (current_level == AMD_DPM_FORCED_LEVEL_MANUAL && level != AMD_DPM_FORCED_LEVEL_MANUAL)
+				amdgpu_gfx_off_ctrl(adev, true);
+		}
+	}
+
 	/* profile_exit setting is valid only when current mode is in profile mode */
 	if (!(current_level & (AMD_DPM_FORCED_LEVEL_PROFILE_STANDARD |
 	    AMD_DPM_FORCED_LEVEL_PROFILE_MIN_SCLK |
@@ -416,8 +425,11 @@ static ssize_t amdgpu_get_pp_num_states(struct device *dev,
 		ret = smu_get_power_num_states(&adev->smu, &data);
 		if (ret)
 			return ret;
-	} else if (adev->powerplay.pp_funcs->get_pp_num_states)
+	} else if (adev->powerplay.pp_funcs->get_pp_num_states) {
 		amdgpu_dpm_get_pp_num_states(adev, &data);
+	} else {
+		memset(&data, 0, sizeof(data));
+	}
 
 	buf_len = snprintf(buf, PAGE_SIZE, "states: %d\n", data.nums);
 	for (i = 0; i < data.nums; i++)
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c +9 -2
index c7514f743409..6335bd4ae374 100644
@@ -2867,10 +2867,17 @@ int amdgpu_vm_make_compute(struct amdgpu_device *adev, struct amdgpu_vm *vm, uns
 	WARN_ONCE((vm->use_cpu_for_update && !amdgpu_gmc_vram_full_visible(&adev->gmc)),
 		  "CPU update of VM recommended only for large BAR system\n");
 
-	if (vm->use_cpu_for_update)
+	if (vm->use_cpu_for_update) {
+		/* Sync with last SDMA update/clear before switching to CPU */
+		r = amdgpu_bo_sync_wait(vm->root.base.bo,
+					AMDGPU_FENCE_OWNER_UNDEFINED, true);
+		if (r)
+			goto free_idr;
+
 		vm->update_funcs = &amdgpu_vm_cpu_funcs;
-	else
+	} else {
 		vm->update_funcs = &amdgpu_vm_sdma_funcs;
+	}
 	dma_fence_put(vm->last_update);
 	vm->last_update = NULL;
 
drivers/gpu/drm/bridge/adv7511/adv7511_audio.c +7 -5
index a428185be2c1..d05b3033b510 100644
@@ -19,13 +19,15 @@ static void adv7511_calc_cts_n(unsigned int f_tmds, unsigned int fs,
 {
 	switch (fs) {
 	case 32000:
-		*n = 4096;
+	case 48000:
+	case 96000:
+	case 192000:
+		*n = fs * 128 / 1000;
 		break;
 	case 44100:
-		*n = 6272;
-		break;
-	case 48000:
-		*n = 6144;
+	case 88200:
+	case 176400:
+		*n = fs * 128 / 900;
 		break;
 	}
 
drivers/gpu/drm/mcde/mcde_dsi.c +3 -4
index 35bb825d1918..8c8c92fc82e9 100644
@@ -940,10 +940,9 @@ static int mcde_dsi_bind(struct device *dev, struct device *master,
 			panel = NULL;
 
 			bridge = of_drm_find_bridge(child);
-			if (IS_ERR(bridge)) {
-				dev_err(dev, "failed to find bridge (%ld)\n",
-					PTR_ERR(bridge));
-				return PTR_ERR(bridge);
+			if (!bridge) {
+				dev_err(dev, "failed to find bridge\n");
+				return -EINVAL;
 			}
 		}
 	}
drivers/gpu/drm/mediatek/mtk_dpi.c +31 -0
index be6d95c5ff25..48de07e9059e 100644
@@ -10,7 +10,9 @@
 #include <linux/kernel.h>
 #include <linux/of.h>
 #include <linux/of_device.h>
+#include <linux/of_gpio.h>
 #include <linux/of_graph.h>
+#include <linux/pinctrl/consumer.h>
 #include <linux/platform_device.h>
 #include <linux/types.h>
 
@@ -73,6 +75,9 @@ struct mtk_dpi {
 	enum mtk_dpi_out_yc_map yc_map;
 	enum mtk_dpi_out_bit_num bit_num;
 	enum mtk_dpi_out_channel_swap channel_swap;
+	struct pinctrl *pinctrl;
+	struct pinctrl_state *pins_gpio;
+	struct pinctrl_state *pins_dpi;
 	int refcount;
 };
 
@@ -378,6 +383,9 @@ static void mtk_dpi_power_off(struct mtk_dpi *dpi)
 	if (--dpi->refcount != 0)
 		return;
 
+	if (dpi->pinctrl && dpi->pins_gpio)
+		pinctrl_select_state(dpi->pinctrl, dpi->pins_gpio);
+
 	mtk_dpi_disable(dpi);
 	clk_disable_unprepare(dpi->pixel_clk);
 	clk_disable_unprepare(dpi->engine_clk);
@@ -402,6 +410,9 @@ static int mtk_dpi_power_on(struct mtk_dpi *dpi)
 		goto err_pixel;
 	}
 
+	if (dpi->pinctrl && dpi->pins_dpi)
+		pinctrl_select_state(dpi->pinctrl, dpi->pins_dpi);
+
 	mtk_dpi_enable(dpi);
 	return 0;
 
@@ -689,6 +700,26 @@ static int mtk_dpi_probe(struct platform_device *pdev)
 	dpi->dev = dev;
 	dpi->conf = (struct mtk_dpi_conf *)of_device_get_match_data(dev);
 
+	dpi->pinctrl = devm_pinctrl_get(&pdev->dev);
+	if (IS_ERR(dpi->pinctrl)) {
+		dpi->pinctrl = NULL;
+		dev_dbg(&pdev->dev, "Cannot find pinctrl!\n");
+	}
+	if (dpi->pinctrl) {
+		dpi->pins_gpio = pinctrl_lookup_state(dpi->pinctrl, "sleep");
+		if (IS_ERR(dpi->pins_gpio)) {
+			dpi->pins_gpio = NULL;
+			dev_dbg(&pdev->dev, "Cannot find pinctrl idle!\n");
+		}
+		if (dpi->pins_gpio)
+			pinctrl_select_state(dpi->pinctrl, dpi->pins_gpio);
+
+		dpi->pins_dpi = pinctrl_lookup_state(dpi->pinctrl, "default");
+		if (IS_ERR(dpi->pins_dpi)) {
+			dpi->pins_dpi = NULL;
+			dev_dbg(&pdev->dev, "Cannot find pinctrl active!\n");
+		}
+	}
 	mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	dpi->regs = devm_ioremap_resource(dev, mem);
 	if (IS_ERR(dpi->regs)) {
drivers/gpu/drm/rcar-du/rcar_du_plane.c +9 -7
index c6430027169f..a0021fc25b27 100644
@@ -785,13 +785,15 @@ int rcar_du_planes_init(struct rcar_du_group *rgrp)
 
 		drm_plane_create_alpha_property(&plane->plane);
 
-		if (type == DRM_PLANE_TYPE_PRIMARY)
-			continue;
-
-		drm_object_attach_property(&plane->plane.base,
-					   rcdu->props.colorkey,
-					   RCAR_DU_COLORKEY_NONE);
-		drm_plane_create_zpos_property(&plane->plane, 1, 1, 7);
+		if (type == DRM_PLANE_TYPE_PRIMARY) {
+			drm_plane_create_zpos_immutable_property(&plane->plane,
+								 0);
+		} else {
+			drm_object_attach_property(&plane->plane.base,
+						   rcdu->props.colorkey,
+						   RCAR_DU_COLORKEY_NONE);
+			drm_plane_create_zpos_property(&plane->plane, 1, 1, 7);
+		}
 	}
 
 	return 0;
drivers/gpu/drm/rcar-du/rcar_du_vsp.c +8 -6
index 5e4faf258c31..f1a81c9b184d 100644
@@ -392,12 +392,14 @@ int rcar_du_vsp_init(struct rcar_du_vsp *vsp, struct device_node *np,
 		drm_plane_helper_add(&plane->plane,
 				     &rcar_du_vsp_plane_helper_funcs);
 
-		if (type == DRM_PLANE_TYPE_PRIMARY)
-			continue;
-
-		drm_plane_create_alpha_property(&plane->plane);
-		drm_plane_create_zpos_property(&plane->plane, 1, 1,
-					       vsp->num_planes - 1);
+		if (type == DRM_PLANE_TYPE_PRIMARY) {
+			drm_plane_create_zpos_immutable_property(&plane->plane,
+								 0);
+		} else {
+			drm_plane_create_alpha_property(&plane->plane);
+			drm_plane_create_zpos_property(&plane->plane, 1, 1,
+						       vsp->num_planes - 1);
+		}
 	}
 
 	return 0;
drivers/hv/connection.c +1 -19
index 6e4c015783ff..c90d79096e8c 100644
@@ -67,7 +67,6 @@ static __u32 vmbus_get_next_version(__u32 current_version)
 int vmbus_negotiate_version(struct vmbus_channel_msginfo *msginfo, u32 version)
 {
 	int ret = 0;
-	unsigned int cur_cpu;
 	struct vmbus_channel_initiate_contact *msg;
 	unsigned long flags;
 
@@ -100,24 +99,7 @@ int vmbus_negotiate_version(struct vmbus_channel_msginfo *msginfo, u32 version)
 
 	msg->monitor_page1 = virt_to_phys(vmbus_connection.monitor_pages[0]);
 	msg->monitor_page2 = virt_to_phys(vmbus_connection.monitor_pages[1]);
-	/*
-	 * We want all channel messages to be delivered on CPU 0.
-	 * This has been the behavior pre-win8. This is not
-	 * perf issue and having all channel messages delivered on CPU 0
-	 * would be ok.
-	 * For post win8 hosts, we support receiving channel messagges on
-	 * all the CPUs. This is needed for kexec to work correctly where
-	 * the CPU attempting to connect may not be CPU 0.
-	 */
-	if (version >= VERSION_WIN8_1) {
-		cur_cpu = get_cpu();
-		msg->target_vcpu = hv_cpu_number_to_vp_number(cur_cpu);
-		vmbus_connection.connect_cpu = cur_cpu;
-		put_cpu();
-	} else {
-		msg->target_vcpu = 0;
-		vmbus_connection.connect_cpu = 0;
-	}
+	msg->target_vcpu = hv_cpu_number_to_vp_number(VMBUS_CONNECT_CPU);
 
 	/*
 	 * Add to list before we send the request since we may
drivers/hv/hv.c +7 -0
index fcc52797c169..d6320022af15 100644
@@ -249,6 +249,13 @@ int hv_synic_cleanup(unsigned int cpu)
 	bool channel_found = false;
 	unsigned long flags;
 
+	/*
+	 * Hyper-V does not provide a way to change the connect CPU once
+	 * it is set; we must prevent the connect CPU from going offline.
+	 */
+	if (cpu == VMBUS_CONNECT_CPU)
+		return -EBUSY;
+
 	/*
 	 * Search for channels which are bound to the CPU we're about to
 	 * cleanup. In case we find one and vmbus is still connected we need to
drivers/hv/hyperv_vmbus.h +6 -5
index af9379a3bf89..cabcb66e7c5e 100644
@@ -212,12 +212,13 @@ enum vmbus_connect_state {
 
 #define MAX_SIZE_CHANNEL_MESSAGE	HV_MESSAGE_PAYLOAD_BYTE_COUNT
 
-struct vmbus_connection {
-	/*
-	 * CPU on which the initial host contact was made.
-	 */
-	int connect_cpu;
+/*
+ * The CPU that Hyper-V will interrupt for VMBUS messages, such as
+ * CHANNELMSG_OFFERCHANNEL and CHANNELMSG_RESCIND_CHANNELOFFER.
+ */
+#define VMBUS_CONNECT_CPU	0
 
+struct vmbus_connection {
 	u32 msg_conn_id;
 
 	atomic_t offer_in_progress;
drivers/hv/vmbus_drv.c +17 -3
index 9cdd434bb340..160ff640485b 100644
@@ -1092,14 +1092,28 @@ void vmbus_on_msg_dpc(unsigned long data)
 			/*
 			 * If we are handling the rescind message;
 			 * schedule the work on the global work queue.
+			 *
+			 * The OFFER message and the RESCIND message should
+			 * not be handled by the same serialized work queue,
+			 * because the OFFER handler may call vmbus_open(),
+			 * which tries to open the channel by sending an
+			 * OPEN_CHANNEL message to the host and waits for
+			 * the host's response; however, if the host has
+			 * rescinded the channel before it receives the
+			 * OPEN_CHANNEL message, the host just silently
+			 * ignores the OPEN_CHANNEL message; as a result,
+			 * the guest's OFFER handler hangs for ever, if we
+			 * handle the RESCIND message in the same serialized
+			 * work queue: the RESCIND handler can not start to
+			 * run before the OFFER handler finishes.
 			 */
-			schedule_work_on(vmbus_connection.connect_cpu,
+			schedule_work_on(VMBUS_CONNECT_CPU,
 					 &ctx->work);
 			break;
 
 		case CHANNELMSG_OFFERCHANNEL:
 			atomic_inc(&vmbus_connection.offer_in_progress);
-			queue_work_on(vmbus_connection.connect_cpu,
+			queue_work_on(VMBUS_CONNECT_CPU,
 				      vmbus_connection.work_queue,
 				      &ctx->work);
 			break;
@@ -1146,7 +1160,7 @@ static void vmbus_force_channel_rescinded(struct vmbus_channel *channel)
 
 	INIT_WORK(&ctx->work, vmbus_onmessage_work);
 
-	queue_work_on(vmbus_connection.connect_cpu,
+	queue_work_on(VMBUS_CONNECT_CPU,
 		      vmbus_connection.work_queue,
 		      &ctx->work);
 }
drivers/hwmon/k10temp.c +1 -0
index 5c1dddde193c..f96fd8efb45a 100644
@@ -349,6 +349,7 @@ static const struct pci_device_id k10temp_id_table[] = {
 	{ PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_17H_DF_F3) },
 	{ PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_17H_M10H_DF_F3) },
 	{ PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_17H_M30H_DF_F3) },
+	{ PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_17H_M60H_DF_F3) },
 	{ PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_17H_M70H_DF_F3) },
 	{ PCI_VDEVICE(HYGON, PCI_DEVICE_ID_AMD_17H_DF_F3) },
 	{}
drivers/macintosh/windfarm_pm112.c +13 -8
index 4150301a89a5..e8377ce0a95a 100644
@@ -132,14 +132,6 @@ static int create_cpu_loop(int cpu)
 	s32 tmax;
 	int fmin;
 
-	/* Get PID params from the appropriate SAT */
-	hdr = smu_sat_get_sdb_partition(chip, 0xC8 + core, NULL);
-	if (hdr == NULL) {
-		printk(KERN_WARNING"windfarm: can't get CPU PID fan config\n");
-		return -EINVAL;
-	}
-	piddata = (struct smu_sdbp_cpupiddata *)&hdr[1];
-
 	/* Get FVT params to get Tmax; if not found, assume default */
 	hdr = smu_sat_get_sdb_partition(chip, 0xC4 + core, NULL);
 	if (hdr) {
@@ -152,6 +144,16 @@ static int create_cpu_loop(int cpu)
 	if (tmax < cpu_all_tmax)
 		cpu_all_tmax = tmax;
 
+	kfree(hdr);
+
+	/* Get PID params from the appropriate SAT */
+	hdr = smu_sat_get_sdb_partition(chip, 0xC8 + core, NULL);
+	if (hdr == NULL) {
+		printk(KERN_WARNING"windfarm: can't get CPU PID fan config\n");
+		return -EINVAL;
+	}
+	piddata = (struct smu_sdbp_cpupiddata *)&hdr[1];
+
 	/*
 	 * Darwin has a minimum fan speed of 1000 rpm for the 4-way and
 	 * 515 for the 2-way.  That appears to be overkill, so for now,
@@ -174,6 +176,9 @@ static int create_cpu_loop(int cpu)
 		pid.min = fmin;
 
 	wf_cpu_pid_init(&cpu_pid[cpu], &pid);
+
+	kfree(hdr);
+
 	return 0;
 }
 
drivers/md/bcache/super.c +5 -2
index 658b0f4a01f5..68901745eb20 100644
@@ -789,7 +789,9 @@ static void bcache_device_free(struct bcache_device *d)
 		bcache_device_detach(d);
 
 	if (disk) {
-		if (disk->flags & GENHD_FL_UP)
+		bool disk_added = (disk->flags & GENHD_FL_UP) != 0;
+
+		if (disk_added)
 			del_gendisk(disk);
 
 		if (disk->queue)
@@ -797,7 +799,8 @@ static void bcache_device_free(struct bcache_device *d)
 
 		ida_simple_remove(&bcache_device_idx,
 				  first_minor_to_idx(disk->first_minor));
-		put_disk(disk);
+		if (disk_added)
+			put_disk(disk);
 	}
 
 	bioset_exit(&d->bio_split);
drivers/md/dm-crypt.c +1 -1
index 492bbe0584d9..ffbda729e26e 100644
@@ -2957,7 +2957,7 @@ static void crypt_io_hints(struct dm_target *ti, struct queue_limits *limits)
 	limits->max_segment_size = PAGE_SIZE;
 
 	limits->logical_block_size =
-		max_t(unsigned short, limits->logical_block_size, cc->sector_size);
+		max_t(unsigned, limits->logical_block_size, cc->sector_size);
 	limits->physical_block_size =
 		max_t(unsigned, limits->physical_block_size, cc->sector_size);
 	limits->io_min = max_t(unsigned, limits->io_min, cc->sector_size);
drivers/md/md.c +2 -1
index 6b69a12ca2d8..5a378a453a2d 100644
@@ -7607,7 +7607,8 @@ static int md_open(struct block_device *bdev, fmode_t mode)
 		 */
 		mddev_put(mddev);
 		/* Wait until bdev->bd_disk is definitely gone */
-		flush_workqueue(md_misc_wq);
+		if (work_pending(&mddev->del_work))
+			flush_workqueue(md_misc_wq);
 		/* Then retry the open from the top */
 		return -ERESTARTSYS;
 	}
drivers/md/raid5.c +9 -6
index 36cd7c2fbf40..a3cbc9f4fec1 100644
@@ -2228,14 +2228,19 @@ static int grow_stripes(struct r5conf *conf, int num)
  * of the P and Q blocks.
  */
 static int scribble_alloc(struct raid5_percpu *percpu,
-			  int num, int cnt, gfp_t flags)
+			  int num, int cnt)
 {
 	size_t obj_size =
 		sizeof(struct page *) * (num+2) +
 		sizeof(addr_conv_t) * (num+2);
 	void *scribble;
 
-	scribble = kvmalloc_array(cnt, obj_size, flags);
+	/*
+	 * If here is in raid array suspend context, it is in memalloc noio
+	 * context as well, there is no potential recursive memory reclaim
+	 * I/Os with the GFP_KERNEL flag.
+	 */
+	scribble = kvmalloc_array(cnt, obj_size, GFP_KERNEL);
 	if (!scribble)
 		return -ENOMEM;
 
@@ -2267,8 +2272,7 @@ static int resize_chunks(struct r5conf *conf, int new_disks, int new_sectors)
 
 		percpu = per_cpu_ptr(conf->percpu, cpu);
 		err = scribble_alloc(percpu, new_disks,
-				     new_sectors / STRIPE_SECTORS,
-				     GFP_NOIO);
+				     new_sectors / STRIPE_SECTORS);
 		if (err)
 			break;
 	}
@@ -6765,8 +6769,7 @@ static int alloc_scratch_buffer(struct r5conf *conf, struct raid5_percpu *percpu
 			       conf->previous_raid_disks),
 			   max(conf->chunk_sectors,
 			       conf->prev_chunk_sectors)
-			   / STRIPE_SECTORS,
-			   GFP_KERNEL)) {
+			   / STRIPE_SECTORS)) {
 		free_scratch_buffer(conf, percpu);
 		return -ENOMEM;
 	}
drivers/media/cec/cec-adap.c +4 -4
index b14c09cd9593..06383b26712b 100644
@@ -1732,6 +1732,10 @@ int __cec_s_log_addrs(struct cec_adapter *adap,
 		unsigned j;
 
 		log_addrs->log_addr[i] = CEC_LOG_ADDR_INVALID;
+		if (log_addrs->log_addr_type[i] > CEC_LOG_ADDR_TYPE_UNREGISTERED) {
+			dprintk(1, "unknown logical address type\n");
+			return -EINVAL;
+		}
 		if (type_mask & (1 << log_addrs->log_addr_type[i])) {
 			dprintk(1, "duplicate logical address type\n");
 			return -EINVAL;
@@ -1752,10 +1756,6 @@ int __cec_s_log_addrs(struct cec_adapter *adap,
 			dprintk(1, "invalid primary device type\n");
 			return -EINVAL;
 		}
-		if (log_addrs->log_addr_type[i] > CEC_LOG_ADDR_TYPE_UNREGISTERED) {
-			dprintk(1, "unknown logical address type\n");
-			return -EINVAL;
-		}
 		for (j = 0; j < feature_sz; j++) {
 			if ((features[j] & 0x80) == 0) {
 				if (op_is_dev_features)
drivers/media/dvb-core/dvbdev.c +3 -2
index 917fe034af37..032b6d7dd582 100644
@@ -707,9 +707,10 @@ int dvb_create_media_graph(struct dvb_adapter *adap,
 	}
 
 	if (ntuner && ndemod) {
-		pad_source = media_get_pad_index(tuner, true,
+		/* NOTE: first found tuner source pad presumed correct */
+		pad_source = media_get_pad_index(tuner, false,
 						 PAD_SIGNAL_ANALOG);
-		if (pad_source)
+		if (pad_source < 0)
 			return -EINVAL;
 		ret = media_create_pad_links(mdev,
 					     MEDIA_ENT_F_TUNER,
drivers/media/i2c/ov5640.c +2 -2
index a398ea81e422..266e947572c1 100644
@@ -3068,8 +3068,8 @@ static int ov5640_probe(struct i2c_client *client)
 free_ctrls:
 	v4l2_ctrl_handler_free(&sensor->ctrls.handler);
 entity_cleanup:
-	mutex_destroy(&sensor->lock);
 	media_entity_cleanup(&sensor->sd.entity);
+	mutex_destroy(&sensor->lock);
 	return ret;
 }
 
@@ -3079,9 +3079,9 @@ static int ov5640_remove(struct i2c_client *client)
 	struct ov5640_dev *sensor = to_ov5640_dev(sd);
 
 	v4l2_async_unregister_subdev(&sensor->sd);
-	mutex_destroy(&sensor->lock);
 	media_entity_cleanup(&sensor->sd.entity);
 	v4l2_ctrl_handler_free(&sensor->ctrls.handler);
+	mutex_destroy(&sensor->lock);
 
 	return 0;
 }
drivers/media/platform/rcar-fcp.c +5 -0
index 43c78620c9d8..5c6b00737fe7 100644
@@ -8,6 +8,7 @@
  */
 
 #include <linux/device.h>
+#include <linux/dma-mapping.h>
 #include <linux/list.h>
 #include <linux/module.h>
 #include <linux/mod_devicetable.h>
@@ -21,6 +22,7 @@
 struct rcar_fcp_device {
 	struct list_head list;
 	struct device *dev;
+	struct device_dma_parameters dma_parms;
 };
 
 static LIST_HEAD(fcp_devices);
@@ -136,6 +138,9 @@ static int rcar_fcp_probe(struct platform_device *pdev)
 
 	fcp->dev = &pdev->dev;
 
+	fcp->dev->dma_parms = &fcp->dma_parms;
+	dma_set_max_seg_size(fcp->dev, DMA_BIT_MASK(32));
+
 	pm_runtime_enable(&pdev->dev);
 
 	mutex_lock(&fcp_lock);
drivers/media/platform/vicodec/vicodec-core.c +9 -6
index 82350097503e..84ec36156f73 100644
@@ -2172,16 +2172,19 @@ static int vicodec_probe(struct platform_device *pdev)
 
 	platform_set_drvdata(pdev, dev);
 
-	if (register_instance(dev, &dev->stateful_enc,
-			      "stateful-encoder", true))
+	ret = register_instance(dev, &dev->stateful_enc, "stateful-encoder",
+				true);
+	if (ret)
 		goto unreg_dev;
 
-	if (register_instance(dev, &dev->stateful_dec,
-			      "stateful-decoder", false))
+	ret = register_instance(dev, &dev->stateful_dec, "stateful-decoder",
+				false);
+	if (ret)
 		goto unreg_sf_enc;
 
-	if (register_instance(dev, &dev->stateless_dec,
-			      "stateless-decoder", false))
+	ret = register_instance(dev, &dev->stateless_dec, "stateless-decoder",
+				false);
+	if (ret)
 		goto unreg_sf_dec;
 
 #ifdef CONFIG_MEDIA_CONTROLLER
drivers/media/tuners/si2157.c +7 -8
index e87040d6eca7..a39e1966816b 100644
@@ -75,24 +75,23 @@ static int si2157_init(struct dvb_frontend *fe)
 	struct si2157_cmd cmd;
 	const struct firmware *fw;
 	const char *fw_name;
-	unsigned int uitmp, chip_id;
+	unsigned int chip_id, xtal_trim;
 
 	dev_dbg(&client->dev, "\n");
 
-	/* Returned IF frequency is garbage when firmware is not running */
-	memcpy(cmd.args, "\x15\x00\x06\x07", 4);
+	/* Try to get Xtal trim property, to verify tuner still running */
+	memcpy(cmd.args, "\x15\x00\x04\x02", 4);
 	cmd.wlen = 4;
 	cmd.rlen = 4;
 	ret = si2157_cmd_execute(client, &cmd);
-	if (ret)
-		goto err;
 
-	uitmp = cmd.args[2] << 0 | cmd.args[3] << 8;
-	dev_dbg(&client->dev, "if_frequency kHz=%u\n", uitmp);
+	xtal_trim = cmd.args[2] | (cmd.args[3] << 8);
 
-	if (uitmp == dev->if_frequency / 1000)
+	if (ret == 0 && xtal_trim < 16)
 		goto warm;
 
+	dev->if_frequency = 0; /* we no longer know current tuner state */
+
 	/* power up */
 	if (dev->chiptype == SI2157_CHIPTYPE_SI2146) {
 		memcpy(cmd.args, "\xc0\x05\x01\x00\x00\x0b\x00\x00\x01", 9);
drivers/media/usb/dvb-usb/dibusb-mb.c +1 -1
index d4ea72bf09c5..5131c8d4c632 100644
@@ -81,7 +81,7 @@ static int dibusb_tuner_probe_and_attach(struct dvb_usb_adapter *adap)
 
 	if (i2c_transfer(&adap->dev->i2c_adap, msg, 2) != 2) {
 		err("tuner i2c write failed.");
-		ret = -EREMOTEIO;
+		return -EREMOTEIO;
 	}
 
 	if (adap->fe_adap[0].fe->ops.i2c_gate_ctrl)
drivers/media/usb/go7007/snd-go7007.c +17 -18
index b05fa227ffb2..95756cbb722f 100644
@@ -236,22 +236,18 @@ int go7007_snd_init(struct go7007 *go)
 	gosnd->capturing = 0;
 	ret = snd_card_new(go->dev, index[dev], id[dev], THIS_MODULE, 0,
 			   &gosnd->card);
-	if (ret < 0) {
-		kfree(gosnd);
-		return ret;
-	}
+	if (ret < 0)
+		goto free_snd;
+
 	ret = snd_device_new(gosnd->card, SNDRV_DEV_LOWLEVEL, go,
 			&go7007_snd_device_ops);
-	if (ret < 0) {
-		kfree(gosnd);
-		return ret;
-	}
+	if (ret < 0)
+		goto free_card;
+
 	ret = snd_pcm_new(gosnd->card, "go7007", 0, 0, 1, &gosnd->pcm);
-	if (ret < 0) {
-		snd_card_free(gosnd->card);
-		kfree(gosnd);
-		return ret;
-	}
+	if (ret < 0)
+		goto free_card;
+
 	strscpy(gosnd->card->driver, "go7007", sizeof(gosnd->card->driver));
 	strscpy(gosnd->card->shortname, go->name, sizeof(gosnd->card->shortname));
 	strscpy(gosnd->card->longname, gosnd->card->shortname,
@@ -262,11 +258,8 @@ int go7007_snd_init(struct go7007 *go)
 			&go7007_snd_capture_ops);
 
 	ret = snd_card_register(gosnd->card);
-	if (ret < 0) {
-		snd_card_free(gosnd->card);
-		kfree(gosnd);
-		return ret;
-	}
+	if (ret < 0)
+		goto free_card;
 
 	gosnd->substream = NULL;
 	go->snd_context = gosnd;
@@ -274,6 +267,12 @@ int go7007_snd_init(struct go7007 *go)
 	++dev;
 
 	return 0;
[… more lines in the raw message]

Lines of this file are not shown. View the raw message.

drivers/mmc/host/meson-mx-sdio.c +3 -0
index 999214e8cf2b..360d523132bd 100644

Lines of this file are not shown. View the raw message.

drivers/mmc/host/sdhci-esdhc-imx.c +1 -1
index dccb4df46512..b03d65222622 100644

Lines of this file are not shown. View the raw message.

drivers/mmc/host/sdhci-msm.c +3 -1
index 8b2a6a362c60..84cffdef264b 100644

Lines of this file are not shown. View the raw message.

drivers/mmc/host/via-sdmmc.c +6 -1
index f4ac064ff471..8d96ecba1b55 100644

Lines of this file are not shown. View the raw message.

drivers/mtd/nand/raw/brcmnand/brcmnand.c +7 -4
index 15ef30b368a5..4fef20724175 100644

Lines of this file are not shown. View the raw message.

drivers/mtd/nand/raw/diskonchip.c +2 -5
index c0e1a8ebe820..522390b99d3c 100644

Lines of this file are not shown. View the raw message.

drivers/mtd/nand/raw/ingenic/ingenic_nand_drv.c +1 -1
index 49afebee50db..4b7c399d4f4b 100644

Lines of this file are not shown. View the raw message.

drivers/mtd/nand/raw/mtk_nand.c +1 -1
index 373d47d1ba4c..08008c844a47 100644

Lines of this file are not shown. View the raw message.

drivers/mtd/nand/raw/nand_base.c +8 -2
index 47c63968fa45..db66c1be6e5f 100644

Lines of this file are not shown. View the raw message.

drivers/mtd/nand/raw/nand_onfi.c +1 -1
index 0b879bd0a68c..8fe8d7bdd203 100644

Lines of this file are not shown. View the raw message.

drivers/mtd/nand/raw/orion_nand.c +1 -1
index d27b39a7223c..a3dcdf25f5f2 100644

Lines of this file are not shown. View the raw message.

drivers/mtd/nand/raw/oxnas_nand.c +4 -4
index c43cb4d92d3d..0429d218fd9f 100644

Lines of this file are not shown. View the raw message.

drivers/mtd/nand/raw/pasemi_nand.c +3 -1
index 9cfe7395172a..066ff6dc9a23 100644

Lines of this file are not shown. View the raw message.

drivers/mtd/nand/raw/plat_nand.c +1 -1
index dc0f3074ddbf..3a495b233443 100644

Lines of this file are not shown. View the raw message.

drivers/mtd/nand/raw/sharpsl.c +1 -1
index b47a9eaff89b..d8c52a016080 100644

Lines of this file are not shown. View the raw message.

drivers/mtd/nand/raw/socrates_nand.c +1 -1
index 20f40c0e812c..7c94fc51a611 100644

Lines of this file are not shown. View the raw message.

drivers/mtd/nand/raw/sunxi_nand.c +1 -1
index 89773293c64d..45c376fc571a 100644

Lines of this file are not shown. View the raw message.

drivers/mtd/nand/raw/tmio_nand.c +1 -1
index db030f1701ee..4e9a6d94f6e8 100644

Lines of this file are not shown. View the raw message.

drivers/mtd/nand/raw/xway_nand.c +1 -1
index 834f794816a9..018311dc8fe1 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/allwinner/sun4i-emac.c +2 -2
index 0537df06a9b5..ff318472a3ee 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/amazon/ena/ena_com.c +4 -2
index 48de4bee209e..9225733f4fec 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/aquantia/atlantic/aq_nic.c +6 -0
index 12949f1ec1ea..145334fb18f4 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/broadcom/genet/bcmgenet.c +4 -0
index 6f01f4e03cef..3d3b1005d076 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/broadcom/genet/bcmgenet.h +2 -0
index dbc69d8fa05f..5b7c2f9241d0 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/broadcom/genet/bcmgenet_wol.c +18 -21
index ea20d94bd050..a41f82379369 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c +2 -2
index a935b20effa3..3177dd8ede8e 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/intel/e1000/e1000_main.c +3 -1
index 86493fea56e4..f93ed70709c6 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/intel/e1000e/e1000.h +0 -1
index 37a2314d3e6b..944abd5eae11 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/intel/e1000e/netdev.c +9 -7
index 8c4507838325..108297a099ed 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/intel/ice/ice_common.c +7 -1
index 171f0b625407..d68b8aa31b19 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/intel/ice/ice_controlq.c +28 -21

49 lines not on this page · raw message

drivers/net/ethernet/intel/ice/ice_main.c +2 -1
index 2408f0de95fc..d0ccb7ad447b 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/intel/igb/igb_ethtool.c +2 -1
index 8959418776f6..f80933320fd3 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/intel/ixgbe/ixgbe_common.c +1 -1
index 0bd1294ba517..39c5e6fdb72c 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/intel/ixgbe/ixgbe_main.c +2 -1
index a26f9fb95ac0..edaa0bffa5c3 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/mellanox/mlx5/core/en_rx.c +12 -3
index c4eed5bbcd45..066bada4ccd1 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/nxp/lpc_eth.c +2 -1
index 544012a67221..1d59ef367a85 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/qlogic/qede/qede.h +2 -0
index 1f27f9866b80..61b5aa3e5b98 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/qlogic/qede/qede_main.c +9 -2
index ba53612ae0df..1da6b5bda80a 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/ti/davinci_mdio.c +2 -0
index 38b7f6d35759..702fdc393da0 100644

Lines of this file are not shown. View the raw message.

drivers/net/macvlan.c +4 -0
index 0ce1004a8d0d..9d3209ae41cf 100644

Lines of this file are not shown. View the raw message.

drivers/net/veth.c +4 -4
index 9f3c839f9e5f..88cfd63f08a6 100644

Lines of this file are not shown. View the raw message.

drivers/net/vmxnet3/vmxnet3_ethtool.c +2 -0
index 0a38c76688ab..5e2571d23ab9 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/ath/ath10k/htt.h +7 -0
index 30c080094af1..bd5fa4dbab9c 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/ath/ath10k/htt_tx.c +7 -1
index a182c0944cc7..735482877a1f 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/ath/ath10k/mac.c +4 -1
index 36d24ea126a2..d373602a8014 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/ath/ath10k/pci.c +1 -0
index 0a727502d14c..fd49d3419e79 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/ath/ath10k/txrx.c +2 -0
index 39abf8b12903..f46b9083bbf1 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/ath/ath10k/wmi-ops.h +10 -0
index 1491c25518bb..edccabc667e8 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/ath/ath10k/wmi-tlv.c +15 -0
index eb0c963d9fd5..9d5b9df29c35 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/ath/carl9170/fw.c +1 -3
index 51934d191f33..1ab09e1c9ec5 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/ath/carl9170/main.c +4 -17
index 40a8054f8aa6..21ca62b06214 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/ath/wcn36xx/main.c +4 -2
index 79998a3ddb7a..ad051f34e65b 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/broadcom/b43/main.c +1 -1
index b85603e91c7a..3432dfe1ddb4 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/broadcom/b43legacy/main.c +1 -0
index 8b6b657c4b85..5208a39fd6f7 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/broadcom/b43legacy/xmit.c +1 -0
index e9b23c2e5bd4..efd63f4ce74f 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c +2 -1
index 2c3526aeca6f..545015610cf8 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c +7 -4
index ad18c2f1a806..524f9dd2323d 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c +2 -3
index 6ca087ffd163..ed92a8e8cd51 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/intel/iwlwifi/mvm/rs-fw.c +8 -7
index 5b2bd603febf..be8bc0601d7b 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/intel/iwlwifi/mvm/sta.c +13 -5
index 71d339e90a9e..41f62793a57c 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/intel/iwlwifi/mvm/sta.h +3 -3
index 8d70093847cb..da2d1ac01229 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/marvell/libertas_tf/if_usb.c +3 -3
index 25ac9db35dbf..bedc09215088 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/marvell/mwifiex/cfg80211.c +6 -8
index d89684168500..9e6dc289ec3e 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/mediatek/mt76/agg-rx.c +4 -4
index 8f3d36a15e17..cbff0dfc9631 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/mediatek/mt76/mt76.h +3 -3
index 502814c26b33..52a16b42dfd7 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/realtek/rtlwifi/usb.c +2 -6
index 348b0072cdd6..c66c6dc00378 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/realtek/rtw88/pci.c +1 -0
index 77a2bdee50fa..4a43c4fa716d 100644

Lines of this file are not shown. View the raw message.

drivers/nvme/host/core.c +14 -2
index f0e0af3aa714..d4b388793f40 100644

Lines of this file are not shown. View the raw message.

drivers/nvme/host/pci.c +33 -24

57 lines not on this page · raw message

drivers/nvme/host/tcp.c +2 -2
index 11e84ed4de36..7900814355c2 100644

Lines of this file are not shown. View the raw message.

drivers/pci/controller/vmd.c +2 -0
index a35d3f3996d7..afc1a3d240b5 100644

Lines of this file are not shown. View the raw message.

drivers/pci/probe.c +22 -2
index d3033873395d..83d909abc61d 100644

Lines of this file are not shown. View the raw message.

drivers/pci/quirks.c +44 -4

48 lines not on this page · raw message

drivers/perf/arm_smmuv3_pmu.c +4 -1
index 2f8787276d9b..3269232ff570 100644

Lines of this file are not shown. View the raw message.

drivers/perf/hisilicon/hisi_uncore_hha_pmu.c +1 -1
index f28063873e11..0d6325d6a4ec 100644

Lines of this file are not shown. View the raw message.

drivers/pinctrl/samsung/pinctrl-exynos.c +58 -24

82 lines not on this page · raw message

drivers/platform/x86/asus-wmi.c +2 -0
index 41e28552b2ce..b1f4a31ba1ee 100644

Lines of this file are not shown. View the raw message.

drivers/platform/x86/dell-laptop.c +7 -4
index 74e988f839e8..4c1dd1d4e60b 100644

Lines of this file are not shown. View the raw message.

drivers/platform/x86/hp-wmi.c +8 -2
index a881b709af25..a44a2ec33287 100644

Lines of this file are not shown. View the raw message.

drivers/platform/x86/intel-hid.c +7 -0
index ef6d4bd77b1a..7a506c1d0113 100644

Lines of this file are not shown. View the raw message.

drivers/platform/x86/intel-vbtn.c +55 -20

75 lines not on this page · raw message

drivers/power/reset/vexpress-poweroff.c +1 -0
index 90cbaa8341e3..0bf9ab8653ae 100644

Lines of this file are not shown. View the raw message.

drivers/power/supply/power_supply_hwmon.c +2 -2
index 75cf861ba492..2e7e2b73b012 100644

Lines of this file are not shown. View the raw message.

drivers/regulator/qcom-rpmh-regulator.c +4 -4
index 0246b6f99fb5..f11e4bfbc91b 100644

Lines of this file are not shown. View the raw message.

drivers/soc/tegra/Kconfig +1 -0
index c8ef05d6b8c7..25df4406ce52 100644

Lines of this file are not shown. View the raw message.

drivers/spi/spi-dw-mid.c +11 -5
index 2663bb12d9ce..b07710c76fc9 100644

Lines of this file are not shown. View the raw message.

drivers/spi/spi-dw.c +3 -5
index 82c5c027ec4c..c2f96941ad04 100644

Lines of this file are not shown. View the raw message.

drivers/spi/spi-mem.c +6 -4
index 9f0fa9f3116d..de0ba3e5449f 100644

Lines of this file are not shown. View the raw message.

drivers/spi/spi-pxa2xx.c +1 -0
index d0d6f1bda1b6..7f4285e2ae68 100644

Lines of this file are not shown. View the raw message.

drivers/spi/spi.c +1 -0
index 6bfbf0cfcf63..c6242f0a307f 100644

Lines of this file are not shown. View the raw message.

drivers/staging/android/ion/ion_heap.c +2 -2
index 473b465724f1..0755b11348ed 100644

Lines of this file are not shown. View the raw message.

drivers/staging/greybus/sdio.c +7 -3
index 68c5718be827..c4b16bb5c1a4 100644

Lines of this file are not shown. View the raw message.

drivers/staging/media/imx/imx7-mipi-csis.c +37 -45

82 lines not on this page · raw message

drivers/staging/media/ipu3/ipu3-mmu.c +6 -4
index 3d969b0522ab..abcf1f3e5f63 100644

Lines of this file are not shown. View the raw message.

drivers/staging/media/ipu3/ipu3-v4l2.c +10 -0
index 3c7ad1eed434..c764cb55dc8d 100644

Lines of this file are not shown. View the raw message.

drivers/staging/media/ipu3/ipu3.c +4 -1
index 06a61f31ca50..08eb6791918b 100644

Lines of this file are not shown. View the raw message.

drivers/staging/media/ipu3/ipu3.h +4 -0
index 73b123b2b8a2..8cd6a0077d99 100644

Lines of this file are not shown. View the raw message.

drivers/staging/media/sunxi/cedrus/cedrus_dec.c +2 -0
index 56ca4c9ad01c..47940f02457b 100644

Lines of this file are not shown. View the raw message.

drivers/staging/media/sunxi/cedrus/cedrus_video.c +0 -3
index eeee3efd247b..966f9f3ed9d3 100644

Lines of this file are not shown. View the raw message.

drivers/tty/serial/8250/8250_core.c +10 -4
index 28bdbd7b4ab2..f1d230c5a8ef 100644

Lines of this file are not shown. View the raw message.

drivers/tty/serial/8250/8250_pci.c +0 -6
index 8a01d034f9d1..7cad66eb39ff 100644

Lines of this file are not shown. View the raw message.

drivers/tty/serial/kgdboc.c +101 -25

126 lines not on this page · raw message

drivers/w1/masters/omap_hdq.c +5 -5
index 4164045866b3..6bac5c18cf6d 100644

Lines of this file are not shown. View the raw message.

fs/btrfs/block-group.c +1 -1
index 2fead6c3c687..c2dd94e1b274 100644

Lines of this file are not shown. View the raw message.

fs/btrfs/block-rsv.c +3 -0
index d07bd41a7c1e..343400d49bd1 100644

Lines of this file are not shown. View the raw message.

fs/btrfs/ctree.h +1 -0
index 169075550a5a..6d2c277c6e0a 100644

Lines of this file are not shown. View the raw message.

fs/btrfs/file-item.c +4 -2
index f62a179f85bb..2b8f29c07668 100644

Lines of this file are not shown. View the raw message.

fs/btrfs/inode.c +71 -10

81 lines not on this page · raw message

fs/btrfs/qgroup.c +14 -0
index 590defdf8860..b94f6f99e90d 100644

Lines of this file are not shown. View the raw message.

fs/btrfs/send.c +67 -0

67 lines not on this page · raw message

fs/btrfs/space-info.c +42 -1

43 lines not on this page · raw message

fs/btrfs/space-info.h +1 -0
index 8867e84aa33d..8b9a1d8fefcb 100644

Lines of this file are not shown. View the raw message.

fs/btrfs/transaction.c +23 -37

60 lines not on this page · raw message

fs/btrfs/transaction.h +1 -2
index 2c5a6f6e5bb0..b15c31d23148 100644

Lines of this file are not shown. View the raw message.

fs/btrfs/volumes.c +13 -1
index 3e64f49c394b..c8b0e5005f02 100644

Lines of this file are not shown. View the raw message.

fs/ext4/ext4_extents.h +6 -3
index 98bd0e9ee7df..ca78fd709845 100644

Lines of this file are not shown. View the raw message.

fs/ext4/fsync.c +13 -15
index 5508baa11bb6..8a28d47bd502 100644

Lines of this file are not shown. View the raw message.

fs/ext4/xattr.c +5 -2
index 491f9ee4040e..894a61010ae9 100644

Lines of this file are not shown. View the raw message.

fs/f2fs/f2fs.h +1 -0
index 3edde3d6d089..a26ea1e6ba88 100644

Lines of this file are not shown. View the raw message.

fs/f2fs/super.c +19 -6
index 5e1d4d9243a9..e36543c9f2b7 100644

Lines of this file are not shown. View the raw message.

fs/xfs/xfs_bmap_util.c +1 -1
index 4f443703065e..0c71acc1b831 100644

Lines of this file are not shown. View the raw message.

fs/xfs/xfs_buf.c +5 -3
index 0abba171aa89..1264ac63e4e5 100644

Lines of this file are not shown. View the raw message.

fs/xfs/xfs_dquot.c +4 -5
index aeb95e7391c1..3cbf248af51f 100644

Lines of this file are not shown. View the raw message.

include/linux/kgdb.h +1 -1
index b072aeb1fd78..4d6fe87fd38f 100644

Lines of this file are not shown. View the raw message.

include/linux/mmzone.h +2 -0
index 8b5f758942a2..85804ba62215 100644

Lines of this file are not shown. View the raw message.

include/linux/pci_ids.h +11 -0
index 228f66347620..0ad57693f392 100644

Lines of this file are not shown. View the raw message.

include/linux/sched/mm.h +2 -0
index c49257a3b510..a132d875d351 100644

Lines of this file are not shown. View the raw message.

include/linux/skmsg.h +8 -0
index a3adbe593505..4bdb5e4bbd6a 100644

Lines of this file are not shown. View the raw message.

include/linux/string.h +48 -12

60 lines not on this page · raw message

include/linux/sunrpc/gss_api.h +1 -0
index d4326d6662a4..b5a4eb14f809 100644

Lines of this file are not shown. View the raw message.

include/linux/sunrpc/svcauth_gss.h +2 -1
index a4528b26c8aa..d229d27ab19e 100644

Lines of this file are not shown. View the raw message.

include/net/tls.h +9 -0
index db26e3ec918f..0a065bdffa39 100644

Lines of this file are not shown. View the raw message.

include/uapi/linux/kvm.h +2 -0
index 52641d8ca9e8..e735bc4075dc 100644

Lines of this file are not shown. View the raw message.

kernel/audit.c +30 -22

52 lines not on this page · raw message

kernel/audit.h +1 -1
index 6fb7160412d4..ddc22878433d 100644

Lines of this file are not shown. View the raw message.

kernel/auditfilter.c +7 -9
index 026e34da4ace..a10e2997aa6c 100644

Lines of this file are not shown. View the raw message.

kernel/bpf/syscall.c +2 -1
index 946cfdd3b2cc..e7af1ac69d75 100644

Lines of this file are not shown. View the raw message.

kernel/cpu.c +17 -1
index d7890c1285bf..7527825ac7da 100644

Lines of this file are not shown. View the raw message.

kernel/cpu_pm.c +2 -2
index cbca6879ab7d..44a259338e33 100644

Lines of this file are not shown. View the raw message.

kernel/debug/debug_core.c +5 -0
index f76d6f77dd5e..7d54c7c28054 100644

Lines of this file are not shown. View the raw message.

kernel/exit.c +16 -9
index 22dfaac9e48c..fa46977b9c07 100644

Lines of this file are not shown. View the raw message.

kernel/sched/core.c +11 -2
index e99d326fa569..361cbc2dc966 100644

Lines of this file are not shown. View the raw message.

kernel/sched/fair.c +2 -2
index 8a0e6bdba50d..2f81e4ae844e 100644

Lines of this file are not shown. View the raw message.

kernel/sched/rt.c +11 -1
index 7bf917e4d63a..5b04bba4500d 100644

Lines of this file are not shown. View the raw message.

kernel/sched/sched.h +2 -0
index c7e7481968bf..570659f1c6e2 100644

Lines of this file are not shown. View the raw message.

lib/mpi/longlong.h +1 -1
index 891e1c3549c4..afbd99987cf8 100644

Lines of this file are not shown. View the raw message.

lib/test_kasan.c +19 -10
index bd3d9ef7d39e..83344c9c38f4 100644

Lines of this file are not shown. View the raw message.

mm/huge_memory.c +28 -3
index 7ec5710afc99..da9040a6838f 100644

Lines of this file are not shown. View the raw message.

mm/page_alloc.c +11 -16
index 98d5c940facd..8686fe760f34 100644

Lines of this file are not shown. View the raw message.

net/batman-adv/bat_v_elp.c +1 -14
index 2614a9caee00..a39af0eefad3 100644

Lines of this file are not shown. View the raw message.

net/bluetooth/hci_event.c +1 -0
index c1d3a303d97f..88cd410e5728 100644

Lines of this file are not shown. View the raw message.

net/core/skmsg.c +74 -24

98 lines not on this page · raw message

net/netfilter/nft_nat.c +2 -2
index c3c93e95b46e..243e8107f456 100644

Lines of this file are not shown. View the raw message.

net/sunrpc/auth_gss/gss_mech_switch.c +9 -3
index 8fa924c8e282..9314999bf095 100644

Lines of this file are not shown. View the raw message.

net/sunrpc/auth_gss/svcauth_gss.c +10 -8
index d9f7439e2431..fd91274e834d 100644

Lines of this file are not shown. View the raw message.

net/tls/tls_sw.c +18 -2
index fbf6a496ee8b..70b203e5d5fd 100644

Lines of this file are not shown. View the raw message.

security/integrity/evm/evm_crypto.c +1 -1
index fbc2ee6d46fc..ee6bd945f3d6 100644

Lines of this file are not shown. View the raw message.

security/integrity/ima/ima.h +6 -4
index 3689081aaf38..be469fce19e1 100644

Lines of this file are not shown. View the raw message.

security/integrity/ima/ima_crypto.c +44 -9

53 lines not on this page · raw message

security/integrity/ima/ima_init.c +18 -6
index 5d55ade5f3b9..a94177042eaa 100644

Lines of this file are not shown. View the raw message.

security/integrity/ima/ima_main.c +3 -0
index 60027c643ecd..a768f37a0a4d 100644

Lines of this file are not shown. View the raw message.

security/integrity/ima/ima_policy.c +7 -5
index ee9aec5e98f0..558a7607bf93 100644

Lines of this file are not shown. View the raw message.

security/integrity/ima/ima_template_lib.c +18 -0
index 32ae05d88257..1be146e17d9f 100644

Lines of this file are not shown. View the raw message.

security/lockdown/lockdown.c +1 -1
index b2f87015d6e9..3f38583bed06 100644

Lines of this file are not shown. View the raw message.

security/selinux/ss/policydb.c +1 -0
index 1260f5fb766e..dd7aabd94a92 100644

Lines of this file are not shown. View the raw message.

tools/cgroup/iocost_monitor.py +21 -21

42 lines not on this page · raw message

tools/lib/api/fs/fs.c +17 -0
index bd021a0eeef8..4cc69675c2a9 100644

Lines of this file are not shown. View the raw message.

tools/lib/api/fs/fs.h +12 -0
index 92d03b8396b1..3b70003e7cfb 100644

Lines of this file are not shown. View the raw message.

tools/lib/bpf/hashmap.c +7 -0
index 6122272943e6..9ef9f6201d8b 100644

Lines of this file are not shown. View the raw message.

tools/lib/bpf/libbpf.c +4 -1
index 281cc65276e0..2a1dbf52fc9a 100644

Lines of this file are not shown. View the raw message.

tools/objtool/check.c +6 -0
index fcc6cd404f56..48b234d8f251 100644

Lines of this file are not shown. View the raw message.

tools/perf/builtin-probe.c +3 -0
index 26bc5923e6b5..2f05f59e9758 100644

Lines of this file are not shown. View the raw message.

tools/perf/util/dso.c +16 -0
index e11ddf86f2b3..ab2e130dc07a 100644

Lines of this file are not shown. View the raw message.

tools/perf/util/dso.h +1 -0
index e4dddb76770d..69bb77d19164 100644

Lines of this file are not shown. View the raw message.

tools/perf/util/probe-event.c +28 -18

46 lines not on this page · raw message

tools/perf/util/probe-finder.c +1 -0
index aaf3b24fffa4..dc9d495e3d6a 100644

Lines of this file are not shown. View the raw message.

tools/perf/util/symbol.c +4 -0
index a8f80e427674..901ad7f6f4dc 100644

Lines of this file are not shown. View the raw message.

tools/testing/selftests/bpf/config +1 -0
index 5dc109f4c097..b9601f13cf03 100644

Lines of this file are not shown. View the raw message.

tools/testing/selftests/bpf/prog_tests/flow_dissector.c +1 -0
index 92563898867c..9f3634c9971d 100644

Lines of this file are not shown. View the raw message.

tools/testing/selftests/bpf/test_progs.c +1 -0
index 3bf18364c67c..8cb3469dd11f 100644

Lines of this file are not shown. View the raw message.

The rest of this diff is not shown. View the raw message.

Part of the diff is not shown here. View the raw message.