Commit Graph

862781 Commits

Author SHA1 Message Date
Sugar Zhang
593aff088a ASoC: rockchip: i2s-tdm: Add support for half frame fsync
This patch parses property 'rockchip,tdm-fsync-half-frame' from
DT to config tdm fsync width.

Change-Id: I3254d753a213b7a74462bb85a20ea33d8c3fc3fc
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2021-01-04 19:06:19 +08:00
Sugar Zhang
b6a8de0be6 dt-bindings: sound: i2s-tdm: Document property 'tdm-fsync-half-frame'
Change-Id: I7ec07f17dafd6ec4d9c919f74454e84a77d2950f
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2021-01-04 19:06:11 +08:00
Xiao Ya peng
e1d9a5d5b7 arm64: dts: rockchip: add rk3568-nvr-demo-v10-linux-spi-nand
Signed-off-by: Xiao Ya peng <yp.xiao@rock-chips.com>
Change-Id: Ic27b5f894f88523faa78f32e8bb5e2445a0b4adc
2021-01-04 18:15:22 +08:00
Andy Yan
09c9eeed00 drm/rockchip: vop2: Add writeback support
VOP2 has a writeback with max 1920 x 1080 output.
Writeback work as a connector in drm system.

Change-Id: I670ca8de5155f1102454c618c62dd0c51fa45202
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
2021-01-04 16:41:27 +08:00
Shunqing Chen
ad33a4d0b5 arm64: dts: rockchip: rk3566-rk817-tablet: set power_off_thresd to 3350mv
Signed-off-by: Shunqing Chen <csq@rock-chips.com>
Change-Id: I374db3d7fdc2209cb42b8ced5d0741d0b2887b1e
2021-01-04 15:34:14 +08:00
Shawn Lin
40173a73f0 PCI: rockchip: dw: Power up before phy init
For external OSC phy, such as RK3568 PCIe 3.0, it needs the
power supply to be stable before configuring phy parameter
as the 100MHz refclk is also supplied by 3V3 power.

Change-Id: Ic4c7b49d3613c55d7cd8b5b24e81581c9094294a
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
2021-01-04 15:31:20 +08:00
Zefa Chen
4aa642d4dc dt-bindings: media: i2c: Document add gc2093
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I955a4e4fb6be4cde50f675e276442eaf58d1f81c
2021-01-04 12:40:16 +08:00
Zefa Chen
2167eab1b5 dt-bindings: media: i2c: Document add gc2053
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: Idbbb9a286b28592b004257c226fa81846d949db9
2021-01-04 12:39:55 +08:00
David Wu
30ebb681b7 clk: rockchip: Fixed xpcs_mii clock for rk3568
Change-Id: I3dfa606f4d790a8b8882bafb268a236a4c245529
Signed-off-by: David Wu <david.wu@rock-chips.com>
2021-01-04 10:21:46 +08:00
Bian Jin chen
14c6e632ad ARM: rockchip_defconfig: enable CONFIG_INCREMENTAL_FS by default
Test:
    CtsIncrementalInstallHostTestCases
    android.incrementalinstall.cts.IncrementalFeatureTest

This config will enable the Incremental File System, which allows
Android OS to receive streamed APKs over adb.

Signed-off-by: Bian Jin chen <kenjc.bian@rock-chips.com>
Change-Id: I0d903f95ed8c1b1765c36a0bd7fde25695138e5c
2021-01-04 10:18:15 +08:00
Tao Huang
67f163f569 scripts/gcc-wrapper.py: ignore pseudo_files.c:715
fs/incfs/pseudo_files.c:715:10: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I229a33517fbe556abeac4e51b35a8ccd4e91f458
2021-01-04 10:18:15 +08:00
Tao Huang
112e3d237a ANDROID: Incremental fs: Fix printk format warnings in format.c
fs/incfs/format.c: In function 'incfs_read_next_metadata_record':
./include/linux/kern_levels.h:5:18: warning: format '%ld' expects argument of type 'long int', but argument 2 has type 'size_t {aka unsigned int}' [-Wformat=]
fs/incfs/format.c:619:3: note: in expansion of macro 'pr_warn'
   pr_warn("incfs: The record is too large. Size: %ld",
   ^~~~~~~

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I1a0b1e32761dd4358ff3ca210041893373f0a1a5
2021-01-04 10:09:45 +08:00
Swapnil Jakhade
d393ebfbb8 UPSTREAM: dt-bindings: phy: Add PHY_TYPE_QSGMII definition
Add definition for QSGMII phy type.

Signed-off-by: Swapnil Jakhade <sjakhade@cadence.com>
Acked-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/1600327846-9733-5-git-send-email-sjakhade@cadence.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
(cherry picked from commit 51862859fb)

Change-Id: I9d522cea7e3369a7ece722b8df9d3eb473af2568
Signed-off-by: David Wu <david.wu@rock-chips.com>
2021-01-04 09:38:45 +08:00
Anurag Kumar Vulisha
72d00ccae5 BACKPORT: dt-bindings: phy: Add DT bindings for Xilinx ZynqMP PSGTR PHY
Add DT bindings for the Xilinx ZynqMP PHY. ZynqMP SoCs have a High Speed
Processing System Gigabit Transceiver which provides PHY capabilities to
USB, SATA, PCIE, Display Port and Ehernet SGMII controllers.

Signed-off-by: Anurag Kumar Vulisha <anurag.kumar.vulisha@xilinx.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20200629120054.29338-2-laurent.pinchart@ideasonboard.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
(cherry picked from commit cea0f76a48)

Change-Id: I1d4d304350ad1d48ce369411110d20c30d7f2a9c
Signed-off-by: David Wu <david.wu@rock-chips.com>
2021-01-04 09:38:05 +08:00
Dilip Kota
d0a93df32c UPSTREAM: dt-bindings: phy: Add PHY_TYPE_XPCS definition
Add definition for Ethernet PCS phy type.

Signed-off-by: Dilip Kota <eswara.kota@linux.intel.com>
Acked-by: Rob Herring <robh@kernel.org>
Acked-By: Vinod Koul <vkoul@kernel.org>
Link: https://lore.kernel.org/r/6091f0d2a1046f1e3656d9e33b6cc433d5465eaf.1589868358.git.eswara.kota@linux.intel.com
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
(cherry picked from commit c5d3cdad68)

Change-Id: I90e09759d281b4a5f561525512b76d469f95291d
Signed-off-by: David Wu <david.wu@rock-chips.com>
2021-01-04 09:37:02 +08:00
Jyri Sarha
952858f8c7 UPSTREAM: dt-bindings: phy: Add PHY_TYPE_DP definition
Add definition for DisplayPort phy type.

Signed-off-by: Jyri Sarha <jsarha@ti.com>
Reviewed-by: Roger Quadros <rogerq@ti.com>
Reviewed-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
(cherry picked from commit 8a79db5e83)

Change-Id: I326b193f4edef6e5cf0bba7c54f6b32e389ea795
Signed-off-by: David Wu <david.wu@rock-chips.com>
2021-01-04 09:37:02 +08:00
Weixin Zhou
b2e245c2d7 driver: input: touchscreen: gt9xx: add new config of 768x1024
Signed-off-by: Weixin Zhou <zwx@rock-chips.com>
Change-Id: Ibd4577a4d23aefcf673a5e1a6a9b4f207441e0ea
2021-01-04 09:20:19 +08:00
Alex Wang
1b9f9fb52d arm64: dts: rockchip: rk3568-nvr: enable uboot logo
Change-Id: Ia6069db57ff17e77098b32796e8bd9b9010f7d3e
Signed-off-by: Alex Wang <alex.wang@rock-chips.com>
2021-01-04 09:18:06 +08:00
Sandy Huang
5f1d8fecc7 arm64: dts: rockchip: fix cma reserved size error for rk3568-android
Fixes: 8862f1ad4d ("arm64: dts: rockchip: move reserved_memory to rk3568.dtsi")
Change-Id: I3c85c968e322438fbee208de7f2f31b5f59a7cee
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2021-01-04 09:17:41 +08:00
Zefa Chen
076b562457 arm64: configs: rockchip_defconfig: Enable CONFIG_VIDEO_GC8034
Add camera gc8034 for rk3566 evb2.

Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I392601bf1207101f84b41bcb940d48f6ff6b3a92
2020-12-31 18:07:54 +08:00
Zefa Chen
9d1c8090d3 arm64: dts: rockchip: rk3566 evb2 add camera gc8034
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I2fef40e65e475ad5e6733485b32703d54c576b68
2020-12-31 18:05:15 +08:00
Sandy Huang
37b5bec67d drm/rockchip: vop2: afbc_tile_num should align up to 16 pixel and divide 16
Change-Id: Ied67749759268e9ff4acb0322a6517f8ed099c9d
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2020-12-31 17:59:35 +08:00
Sandy Huang
06656c4794 drm/rockchip: vop2: act_w should align as 4 pixel when enable afbc
Change-Id: I2a9f2ac21ac2187879452af439ec0fefd20702c8
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
2020-12-31 17:59:35 +08:00
Weixin Zhou
d8c24ac71e driver: input: touchscreen: gslx680_pad add early suspend support
Signed-off-by: Weixin Zhou <zwx@rock-chips.com>
Change-Id: I4b4cc3594fdf00efdbcce349c9f4cdc942524096
2020-12-31 15:02:23 +08:00
Andy Yan
de88d200e7 drm/rockchip: vop2: Reset plane hdr state for every commit
When play a SDR video after HDR video, there is a switch process,
look from 70.769811 seconds to 71.006901 seconds:

The HDMI was set to SDR(vcstate->eoftf = 0), the Plane is still HDR
(vpstate->eotf = 2), this will set the window to HDR2SDR state, but
actually we want play a sdr video in sdr state, and this cause the
wrong csc. So we clear vpstate->hdr2sdr_en & hdr_in at the beginning
of every commit.

[   70.657468] Cluster0-win0 vpstate->eotf 2 vcstate->eotf 2
[   70.657501] Cluster0-win0 hdr2sdr_en 0 hdr_in 1 sdr2hdr_en 1 is_input_yuv 1 is_output_yuv 0
[   70.707209] Cluster0-win0 EOTF val: 2
[   70.708056] Cluster0-win0 vpstate->eotf 2 vcstate->eotf 2
[   70.708086] Cluster0-win0 hdr2sdr_en 0 hdr_in 1 sdr2hdr_en 1 is_input_yuv 1 is_output_yuv 0
[   70.769811] rockchip-vop2 fe040000.vop: [drm:vop2_crtc_atomic_enable] Update mode to 3840x2160p60, type: 11 for vp0
[   71.006517] dwhdmi-rockchip fe0a0000.hdmi: Rate 371250000 missing; compute N dynamically
[   71.006901] Cluster0-win0 vpstate->eotf 2 vcstate->eotf 0
[   71.006964] Cluster0-win0 hdr2sdr_en 1 hdr_in 1 sdr2hdr_en 0 is_input_yuv 1 is_output_yuv 0
[   71.007034] Cluster1-win0 hdr2sdr_en 0 hdr_in 0 sdr2hdr_en 0 is_input_yuv 0 is_output_yuv 0
[   71.022511] Esmart0-win0 vpstate->eotf 0 vcstate->eotf 0
[   71.022555] Esmart0-win0 hdr2sdr_en 0 hdr_in 0 sdr2hdr_en 0 is_input_yuv 1 is_output_yuv 1
[   71.022582] Cluster0-win0 hdr2sdr_en 1 hdr_in 1 sdr2hdr_en 0 is_input_yuv 0 is_output_yuv 1
[   71.052015] Esmart0-win0 vpstate->eotf 0 vcstate->eotf 0
[   71.052057] Esmart0-win0 hdr2sdr_en 0 hdr_in 0 sdr2hdr_en 0 is_input_yuv 1 is_output_yuv 1
[   71.052101] Cluster0-win0 hdr2sdr_en 1 hdr_in 1 sdr2hdr_en 0 is_input_yuv 0 is_output_yuv 1
[   71.067202] Esmart0-win0 vpstate->eotf 0 vcstate->eotf 0
[   71.067225] Esmart0-win0 hdr2sdr_en 0 hdr_in 0 sdr2hdr_en 0 is_input_yuv 1 is_output_yuv 1
[   71.067253] Cluster0-win0 hdr2sdr_en 1 hdr_in 1 sdr2hdr_en 0 is_input_yuv 0 is_output_yuv 1

Change-Id: I032f03cfe2bce6ccce874fc04bd3b67cc589a11e
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
2020-12-31 11:14:19 +08:00
Andy Yan
411a740bf9 drm/rockchip: vop2: Add delay number for windows
Change-Id: Id38812958615fb59b7eb60504368383a519592b4
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
2020-12-31 11:12:55 +08:00
Andy Yan
363b2d2f7b drm/rockchip: vop2: Fix HDR2SDR
1. Add hdr2sdr_bypass_en and hdr2sdr_auto_gating_en bits, which
unmentationed in TRM.
2. HDR2SDR and SDR2HDR should overlay in RGB color space.
3. Window csc should be disabled when HDR2SDR or SDR2HDR enabled.

Change-Id: Ic3e15c3f0ddb5adf23a4962366749228f5117a9f
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
2020-12-31 11:04:27 +08:00
Weixin Zhou
f2475bcde5 arm64: dts: rockchip: rk3566-rk817-tablet-k108: sync some configs from rk3566-rk817-tablet
Signed-off-by: Weixin Zhou <zwx@rock-chips.com>
Change-Id: I99aab0f5f0620d905a23882bbd72f70e05bfe4e5
2020-12-31 09:51:13 +08:00
Zorro Liu
66c5822355 arm64: dts: rockchip: add rk3566-eink.dtsi
Signed-off-by: Zorro Liu <lyx@rock-chips.com>
Change-Id: Idc8b628b33b039d2c485ece50094e3a3b2185e75
2020-12-31 09:15:11 +08:00
Zorro Liu
18a4299e0b arm64: configs: rockchip_defconfig: add rockchip ebc dev driver
Signed-off-by: Zorro Liu <lyx@rock-chips.com>
Change-Id: I0e452a9ef4dc51201793693d1f0fa6555e560694
2020-12-31 09:10:31 +08:00
Zorro Liu
d7e6aa9821 drm/rockchip: add ebook driver ebc-dev
Signed-off-by: Zorro Liu <lyx@rock-chips.com>
Change-Id: I9e79ffd4938b90d47f68ac1c4ab0ff9fb093bd1e
2020-12-31 09:09:17 +08:00
Greg Kroah-Hartman
d715144232 Revert "seq_buf: Avoid type mismatch for seq_buf_init"
This reverts commit d494ddccf2 which is
commit d9a9280a0d upstream.

It breaks the abi definitions, and there's no real need for it at all
other than for "correctness", so revert the thing.

Bug: 161946584
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I20ccc2690eca2c16adf507d679fa5e0a6c746e1c
2020-12-30 15:59:58 +01:00
Andy Yan
d3a5065ff9 Revert "arm64: rockchip_defconfig: Disable DRM_FBDEV_EMULATION temporarily"
This reverts commit 80cd79aecb.

This can work now.

Change-Id: I0650a041dbb00011ac9c292d55e4a848bc193a8a
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
2020-12-30 21:07:59 +08:00
Tao Huang
3dccc182fe dt-bindings: clock: Remove rk_system_status.h
Which is replaced by rockchip-system-status.h.

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: Iaebf0f7f15b0becae05193f73d4b6d6816175b2e
2020-12-30 20:29:19 +08:00
Tao Huang
e91ecc8650 drm/rockchip: vop2: Replace include rk_system_status.h with rockchip-system-status.h
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I8506cf89715e6275e2372484f695e64c24301fd2
2020-12-30 20:29:19 +08:00
Tao Huang
281f00e16b drm/rockchip: vop: Replace include rk_system_status.h with rockchip-system-status.h
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I374203d61c96481c226bc57ac2fe1db2da687f49
2020-12-30 20:29:19 +08:00
Greg Kroah-Hartman
07ce88e9de Merge 4.19.164 into android-4.19-stable
Changes in 4.19.164
	Kbuild: do not emit debug info for assembly with LLVM_IAS=1
	x86/lib: Change .weak to SYM_FUNC_START_WEAK for arch/x86/lib/mem*_64.S
	spi: bcm2835aux: Fix use-after-free on unbind
	spi: bcm2835aux: Restore err assignment in bcm2835aux_spi_probe
	iwlwifi: pcie: limit memory read spin time
	arm64: dts: rockchip: Assign a fixed index to mmc devices on rk3399 boards.
	iwlwifi: mvm: fix kernel panic in case of assert during CSA
	powerpc: Drop -me200 addition to build flags
	ARC: stack unwinding: don't assume non-current task is sleeping
	scsi: ufs: Make sure clk scaling happens only when HBA is runtime ACTIVE
	irqchip/gic-v3-its: Unconditionally save/restore the ITS state on suspend
	soc: fsl: dpio: Get the cpumask through cpumask_of(cpu)
	platform/x86: thinkpad_acpi: Do not report SW_TABLET_MODE on Yoga 11e
	platform/x86: thinkpad_acpi: Add BAT1 is primary battery quirk for Thinkpad Yoga 11e 4th gen
	platform/x86: acer-wmi: add automatic keyboard background light toggle key as KEY_LIGHTS_TOGGLE
	platform/x86: intel-vbtn: Support for tablet mode on HP Pavilion 13 x360 PC
	Input: cm109 - do not stomp on control URB
	Input: i8042 - add Acer laptops to the i8042 reset list
	pinctrl: amd: remove debounce filter setting in IRQ type setting
	mmc: block: Fixup condition for CMD13 polling for RPMB requests
	kbuild: avoid static_assert for genksyms
	scsi: be2iscsi: Revert "Fix a theoretical leak in beiscsi_create_eqs()"
	x86/mm/mem_encrypt: Fix definition of PMD_FLAGS_DEC_WP
	x86/membarrier: Get rid of a dubious optimization
	x86/apic/vector: Fix ordering in vector assignment
	compiler.h: fix barrier_data() on clang
	PCI: qcom: Add missing reset for ipq806x
	mac80211: mesh: fix mesh_pathtbl_init() error path
	net: stmmac: free tx skb buffer in stmmac_resume()
	tcp: select sane initial rcvq_space.space for big MSS
	tcp: fix cwnd-limited bug for TSO deferral where we send nothing
	net/mlx4_en: Avoid scheduling restart task if it is already running
	lan743x: fix for potential NULL pointer dereference with bare card
	net/mlx4_en: Handle TX error CQE
	net: stmmac: delete the eee_ctrl_timer after napi disabled
	net: stmmac: dwmac-meson8b: fix mask definition of the m250_sel mux
	net: bridge: vlan: fix error return code in __vlan_add()
	ktest.pl: If size of log is too big to email, email error message
	USB: dummy-hcd: Fix uninitialized array use in init()
	USB: add RESET_RESUME quirk for Snapscan 1212
	ALSA: usb-audio: Fix potential out-of-bounds shift
	ALSA: usb-audio: Fix control 'access overflow' errors from chmap
	xhci: Give USB2 ports time to enter U3 in bus suspend
	USB: UAS: introduce a quirk to set no_write_same
	USB: sisusbvga: Make console support depend on BROKEN
	ALSA: pcm: oss: Fix potential out-of-bounds shift
	serial: 8250_omap: Avoid FIFO corruption caused by MDR1 access
	drm/xen-front: Fix misused IS_ERR_OR_NULL checks
	drm: fix drm_dp_mst_port refcount leaks in drm_dp_mst_allocate_vcpi
	arm64: lse: fix LSE atomics with LLVM's integrated assembler
	arm64: lse: Fix LSE atomics with LLVM
	arm64: Change .weak to SYM_FUNC_START_WEAK_PI for arch/arm64/lib/mem*.S
	x86/resctrl: Remove unused struct mbm_state::chunks_bw
	x86/resctrl: Fix incorrect local bandwidth when mba_sc is enabled
	pinctrl: merrifield: Set default bias in case no particular value given
	pinctrl: baytrail: Avoid clearing debounce value when turning it off
	ARM: dts: sun8i: v3s: fix GIC node memory range
	gpio: mvebu: fix potential user-after-free on probe
	scsi: bnx2i: Requires MMU
	xsk: Fix xsk_poll()'s return type
	can: softing: softing_netdev_open(): fix error handling
	clk: renesas: r9a06g032: Drop __packed for portability
	block: factor out requeue handling from dispatch code
	netfilter: x_tables: Switch synchronization to RCU
	gpio: eic-sprd: break loop when getting NULL device resource
	selftests/bpf/test_offload.py: Reset ethtool features after failed setting
	RDMA/cm: Fix an attempt to use non-valid pointer when cleaning timewait
	ixgbe: avoid premature Rx buffer reuse
	drm/tegra: replace idr_init() by idr_init_base()
	kernel/cpu: add arch override for clear_tasks_mm_cpumask() mm handling
	drm/tegra: sor: Disable clocks on error in tegra_sor_init()
	arm64: syscall: exit userspace before unmasking exceptions
	vxlan: Add needed_headroom for lower device
	vxlan: Copy needed_tailroom from lowerdev
	scsi: mpt3sas: Increase IOCInit request timeout to 30s
	dm table: Remove BUG_ON(in_interrupt())
	soc/tegra: fuse: Fix index bug in get_process_id
	USB: serial: option: add interface-number sanity check to flag handling
	USB: gadget: f_acm: add support for SuperSpeed Plus
	USB: gadget: f_midi: setup SuperSpeed Plus descriptors
	usb: gadget: f_fs: Re-use SS descriptors for SuperSpeedPlus
	USB: gadget: f_rndis: fix bitrate for SuperSpeed and above
	usb: chipidea: ci_hdrc_imx: Pass DISABLE_DEVICE_STREAMING flag to imx6ul
	ARM: dts: exynos: fix roles of USB 3.0 ports on Odroid XU
	ARM: dts: exynos: fix USB 3.0 VBUS control and over-current pins on Exynos5410
	ARM: dts: exynos: fix USB 3.0 pins supply being turned off on Odroid XU
	coresight: tmc-etr: Check if page is valid before dma_map_page()
	scsi: megaraid_sas: Check user-provided offsets
	HID: i2c-hid: add Vero K147 to descriptor override
	serial_core: Check for port state when tty is in error state
	Bluetooth: Fix slab-out-of-bounds read in hci_le_direct_adv_report_evt()
	quota: Sanity-check quota file headers on load
	media: msi2500: assign SPI bus number dynamically
	crypto: af_alg - avoid undefined behavior accessing salg_name
	md: fix a warning caused by a race between concurrent md_ioctl()s
	perf cs-etm: Change tuple from traceID-CPU# to traceID-metadata
	perf cs-etm: Move definition of 'traceid_list' global variable from header file
	drm/gma500: fix double free of gma_connector
	drm/tve200: Fix handling of platform_get_irq() error
	soc: renesas: rmobile-sysc: Fix some leaks in rmobile_init_pm_domains()
	soc: mediatek: Check if power domains can be powered on at boot time
	soc: qcom: geni: More properly switch to DMA mode
	RDMA/bnxt_re: Set queue pair state when being queried
	selinux: fix error initialization in inode_doinit_with_dentry()
	ARM: dts: aspeed: s2600wf: Fix VGA memory region location
	RDMA/rxe: Compute PSN windows correctly
	x86/mm/ident_map: Check for errors from ident_pud_init()
	ARM: p2v: fix handling of LPAE translation in BE mode
	x86/apic: Fix x2apic enablement without interrupt remapping
	sched/deadline: Fix sched_dl_global_validate()
	sched: Reenable interrupts in do_sched_yield()
	crypto: talitos - Endianess in current_desc_hdr()
	crypto: talitos - Fix return type of current_desc_hdr()
	crypto: inside-secure - Fix sizeof() mismatch
	powerpc/64: Set up a kernel stack for secondaries before cpu_restore()
	spi: img-spfi: fix reference leak in img_spfi_resume
	drm/msm/dsi_pll_10nm: restore VCO rate during restore_state
	ASoC: pcm: DRAIN support reactivation
	selinux: fix inode_doinit_with_dentry() LABEL_INVALID error handling
	arm64: dts: exynos: Include common syscon restart/poweroff for Exynos7
	arm64: dts: exynos: Correct psci compatible used on Exynos7
	Bluetooth: Fix null pointer dereference in hci_event_packet()
	Bluetooth: hci_h5: fix memory leak in h5_close
	spi: spi-ti-qspi: fix reference leak in ti_qspi_setup
	spi: tegra20-slink: fix reference leak in slink ops of tegra20
	spi: tegra20-sflash: fix reference leak in tegra_sflash_resume
	spi: tegra114: fix reference leak in tegra spi ops
	spi: bcm63xx-hsspi: fix missing clk_disable_unprepare() on error in bcm63xx_hsspi_resume
	mwifiex: fix mwifiex_shutdown_sw() causing sw reset failure
	ASoC: wm8998: Fix PM disable depth imbalance on error
	ASoC: arizona: Fix a wrong free in wm8997_probe
	RDMa/mthca: Work around -Wenum-conversion warning
	MIPS: BCM47XX: fix kconfig dependency bug for BCM47XX_BCMA
	crypto: qat - fix status check in qat_hal_put_rel_rd_xfer()
	staging: greybus: codecs: Fix reference counter leak in error handling
	staging: gasket: interrupt: fix the missed eventfd_ctx_put() in gasket_interrupt.c
	media: tm6000: Fix sizeof() mismatches
	media: mtk-vcodec: add missing put_device() call in mtk_vcodec_release_dec_pm()
	ASoC: meson: fix COMPILE_TEST error
	scsi: core: Fix VPD LUN ID designator priorities
	media: solo6x10: fix missing snd_card_free in error handling case
	video: fbdev: atmel_lcdfb: fix return error code in atmel_lcdfb_of_init()
	drm/omap: dmm_tiler: fix return error code in omap_dmm_probe()
	Input: ads7846 - fix race that causes missing releases
	Input: ads7846 - fix integer overflow on Rt calculation
	Input: ads7846 - fix unaligned access on 7845
	usb/max3421: fix return error code in max3421_probe()
	spi: mxs: fix reference leak in mxs_spi_probe
	powerpc/feature: Fix CPU_FTRS_ALWAYS by removing CPU_FTRS_GENERIC_32
	crypto: crypto4xx - Replace bitwise OR with logical OR in crypto4xx_build_pd
	crypto: omap-aes - Fix PM disable depth imbalance in omap_aes_probe
	spi: fix resource leak for drivers without .remove callback
	soc: ti: knav_qmss: fix reference leak in knav_queue_probe
	soc: ti: Fix reference imbalance in knav_dma_probe
	drivers: soc: ti: knav_qmss_queue: Fix error return code in knav_queue_probe
	Input: omap4-keypad - fix runtime PM error handling
	RDMA/cxgb4: Validate the number of CQEs
	memstick: fix a double-free bug in memstick_check
	ARM: dts: at91: sama5d4_xplained: add pincontrol for USB Host
	ARM: dts: at91: sama5d3_xplained: add pincontrol for USB Host
	orinoco: Move context allocation after processing the skb
	cw1200: fix missing destroy_workqueue() on error in cw1200_init_common
	dmaengine: mv_xor_v2: Fix error return code in mv_xor_v2_probe()
	media: siano: fix memory leak of debugfs members in smsdvb_hotplug
	platform/x86: mlx-platform: Remove PSU EEPROM from default platform configuration
	platform/x86: mlx-platform: Remove PSU EEPROM from MSN274x platform configuration
	samples: bpf: Fix lwt_len_hist reusing previous BPF map
	mips: cdmm: fix use-after-free in mips_cdmm_bus_discover
	media: max2175: fix max2175_set_csm_mode() error code
	slimbus: qcom-ngd-ctrl: Avoid sending power requests without QMI
	HSI: omap_ssi: Don't jump to free ID in ssi_add_controller()
	ARM: dts: Remove non-existent i2c1 from 98dx3236
	arm64: dts: rockchip: Set dr_mode to "host" for OTG on rk3328-roc-cc
	power: supply: axp288_charger: Fix HP Pavilion x2 10 DMI matching
	power: supply: bq24190_charger: fix reference leak
	genirq/irqdomain: Don't try to free an interrupt that has no mapping
	PCI: Bounds-check command-line resource alignment requests
	PCI: Fix overflow in command-line resource alignment requests
	PCI: iproc: Fix out-of-bound array accesses
	arm64: dts: meson: fix spi-max-frequency on Khadas VIM2
	ARM: dts: at91: at91sam9rl: fix ADC triggers
	platform/x86: dell-smbios-base: Fix error return code in dell_smbios_init
	ath10k: Fix the parsing error in service available event
	ath10k: Fix an error handling path
	ath10k: Release some resources in an error handling path
	NFSv4.2: condition READDIR's mask for security label based on LSM state
	SUNRPC: xprt_load_transport() needs to support the netid "rdma6"
	lockd: don't use interval-based rebinding over TCP
	NFS: switch nfsiod to be an UNBOUND workqueue.
	vfio-pci: Use io_remap_pfn_range() for PCI IO memory
	media: saa7146: fix array overflow in vidioc_s_audio()
	clocksource/drivers/cadence_ttc: Fix memory leak in ttc_setup_clockevent()
	ARM: dts: at91: sama5d2: map securam as device
	pinctrl: falcon: add missing put_device() call in pinctrl_falcon_probe()
	arm64: dts: rockchip: Fix UART pull-ups on rk3328
	memstick: r592: Fix error return in r592_probe()
	net/mlx5: Properly convey driver version to firmware
	ASoC: jz4740-i2s: add missed checks for clk_get()
	dm ioctl: fix error return code in target_message
	clocksource/drivers/arm_arch_timer: Correct fault programming of CNTKCTL_EL1.EVNTI
	cpufreq: highbank: Add missing MODULE_DEVICE_TABLE
	cpufreq: mediatek: Add missing MODULE_DEVICE_TABLE
	cpufreq: st: Add missing MODULE_DEVICE_TABLE
	cpufreq: loongson1: Add missing MODULE_ALIAS
	cpufreq: scpi: Add missing MODULE_ALIAS
	scsi: qedi: Fix missing destroy_workqueue() on error in __qedi_probe
	scsi: pm80xx: Fix error return in pm8001_pci_probe()
	seq_buf: Avoid type mismatch for seq_buf_init
	scsi: fnic: Fix error return code in fnic_probe()
	platform/x86: mlx-platform: Fix item counter assignment for MSN2700, MSN24xx systems
	powerpc/pseries/hibernation: drop pseries_suspend_begin() from suspend ops
	powerpc/pseries/hibernation: remove redundant cacheinfo update
	usb: ehci-omap: Fix PM disable depth umbalance in ehci_hcd_omap_probe
	usb: oxu210hp-hcd: Fix memory leak in oxu_create
	speakup: fix uninitialized flush_lock
	nfsd: Fix message level for normal termination
	nfs_common: need lock during iterate through the list
	x86/kprobes: Restore BTF if the single-stepping is cancelled
	bus: fsl-mc: fix error return code in fsl_mc_object_allocate()
	clk: tegra: Fix duplicated SE clock entry
	extcon: max77693: Fix modalias string
	mac80211: don't set set TDLS STA bandwidth wider than possible
	ASoC: wm_adsp: remove "ctl" from list on error in wm_adsp_create_control()
	irqchip/alpine-msi: Fix freeing of interrupts on allocation error path
	watchdog: sirfsoc: Add missing dependency on HAS_IOMEM
	watchdog: sprd: remove watchdog disable from resume fail path
	watchdog: sprd: check busy bit before new loading rather than after that
	watchdog: Fix potential dereferencing of null pointer
	um: Monitor error events in IRQ controller
	um: tty: Fix handling of close in tty lines
	um: chan_xterm: Fix fd leak
	nfc: s3fwrn5: Release the nfc firmware
	powerpc/ps3: use dma_mapping_error()
	checkpatch: fix unescaped left brace
	net: bcmgenet: Fix a resource leak in an error handling path in the probe functin
	net: allwinner: Fix some resources leak in the error handling path of the probe and in the remove function
	net: korina: fix return value
	libnvdimm/label: Return -ENXIO for no slot in __blk_label_update
	watchdog: qcom: Avoid context switch in restart handler
	watchdog: coh901327: add COMMON_CLK dependency
	clk: ti: Fix memleak in ti_fapll_synth_setup
	pwm: zx: Add missing cleanup in error path
	pwm: lp3943: Dynamically allocate PWM chip base
	perf record: Fix memory leak when using '--user-regs=?' to list registers
	qlcnic: Fix error code in probe
	clk: s2mps11: Fix a resource leak in error handling paths in the probe function
	clk: sunxi-ng: Make sure divider tables have sentinel
	kconfig: fix return value of do_error_if()
	ARM: sunxi: Add machine match for the Allwinner V3 SoC
	cfg80211: initialize rekey_data
	fix namespaced fscaps when !CONFIG_SECURITY
	lwt: Disable BH too in run_lwt_bpf()
	Input: cros_ec_keyb - send 'scancodes' in addition to key events
	Input: goodix - add upside-down quirk for Teclast X98 Pro tablet
	media: gspca: Fix memory leak in probe
	media: sunxi-cir: ensure IR is handled when it is continuous
	media: netup_unidvb: Don't leak SPI master in probe error path
	media: ipu3-cio2: Remove traces of returned buffers
	media: ipu3-cio2: Return actual subdev format
	media: ipu3-cio2: Serialise access to pad format
	media: ipu3-cio2: Validate mbus format in setting subdev format
	media: ipu3-cio2: Make the field on subdev format V4L2_FIELD_NONE
	Input: cyapa_gen6 - fix out-of-bounds stack access
	ALSA: hda/ca0132 - Change Input Source enum strings.
	PM: ACPI: PCI: Drop acpi_pm_set_bridge_wakeup()
	Revert "ACPI / resources: Use AE_CTRL_TERMINATE to terminate resources walks"
	ACPI: PNP: compare the string length in the matching_id()
	ALSA: hda: Fix regressions on clear and reconfig sysfs
	ALSA: hda/realtek - Enable headset mic of ASUS X430UN with ALC256
	ALSA: hda/realtek - Enable headset mic of ASUS Q524UQK with ALC255
	ALSA: pcm: oss: Fix a few more UBSAN fixes
	ALSA: hda/realtek: Add quirk for MSI-GP73
	ALSA: hda/realtek: Apply jack fixup for Quanta NL3
	ALSA: usb-audio: Add VID to support native DSD reproduction on FiiO devices
	ALSA: usb-audio: Disable sample read check if firmware doesn't give back
	s390/smp: perform initial CPU reset also for SMT siblings
	s390/kexec_file: fix diag308 subcode when loading crash kernel
	s390/dasd: fix hanging device offline processing
	s390/dasd: prevent inconsistent LCU device data
	s390/dasd: fix list corruption of pavgroup group list
	s390/dasd: fix list corruption of lcu list
	staging: comedi: mf6x4: Fix AI end-of-conversion detection
	powerpc/perf: Exclude kernel samples while counting events in user space.
	crypto: ecdh - avoid unaligned accesses in ecdh_set_secret()
	EDAC/amd64: Fix PCI component registration
	USB: serial: mos7720: fix parallel-port state restore
	USB: serial: digi_acceleport: fix write-wakeup deadlocks
	USB: serial: keyspan_pda: fix dropped unthrottle interrupts
	USB: serial: keyspan_pda: fix write deadlock
	USB: serial: keyspan_pda: fix stalled writes
	USB: serial: keyspan_pda: fix write-wakeup use-after-free
	USB: serial: keyspan_pda: fix tx-unthrottle use-after-free
	USB: serial: keyspan_pda: fix write unthrottling
	ext4: fix a memory leak of ext4_free_data
	ext4: fix deadlock with fs freezing and EA inodes
	KVM: arm64: Introduce handling of AArch32 TTBCR2 traps
	ARM: dts: pandaboard: fix pinmux for gpio user button of Pandaboard ES
	ARM: dts: at91: sama5d2: fix CAN message ram offset and size
	powerpc: Fix incorrect stw{, ux, u, x} instructions in __set_pte_at
	powerpc/rtas: Fix typo of ibm,open-errinjct in RTAS filter
	powerpc/xmon: Change printk() to pr_cont()
	powerpc/powernv/memtrace: Don't leak kernel memory to user space
	powerpc/powernv/memtrace: Fix crashing the kernel when enabling concurrently
	ima: Don't modify file descriptor mode on the fly
	ceph: fix race in concurrent __ceph_remove_cap invocations
	SMB3: avoid confusing warning message on mount to Azure
	SMB3.1.1: do not log warning message if server doesn't populate salt
	ubifs: wbuf: Don't leak kernel memory to flash
	jffs2: Fix GC exit abnormally
	jfs: Fix array index bounds check in dbAdjTree
	drm/dp_aux_dev: check aux_dev before use in drm_dp_aux_dev_get_by_minor()
	spi: spi-sh: Fix use-after-free on unbind
	spi: davinci: Fix use-after-free on unbind
	spi: pic32: Don't leak DMA channels in probe error path
	spi: rb4xx: Don't leak SPI master in probe error path
	spi: sc18is602: Don't leak SPI master in probe error path
	spi: st-ssc4: Fix unbalanced pm_runtime_disable() in probe error path
	spi: mt7621: fix missing clk_disable_unprepare() on error in mt7621_spi_probe
	soc: qcom: smp2p: Safely acquire spinlock without IRQs
	mtd: spinand: Fix OOB read
	mtd: parser: cmdline: Fix parsing of part-names with colons
	mtd: rawnand: qcom: Fix DMA sync on FLASH_STATUS register read
	scsi: lpfc: Fix invalid sleeping context in lpfc_sli4_nvmet_alloc()
	scsi: lpfc: Re-fix use after free in lpfc_rq_buf_free()
	iio: buffer: Fix demux update
	iio: adc: rockchip_saradc: fix missing clk_disable_unprepare() on error in rockchip_saradc_resume
	iio:light:rpr0521: Fix timestamp alignment and prevent data leak.
	iio:light:st_uvis25: Fix timestamp alignment and prevent data leak.
	iio:pressure:mpl3115: Force alignment of buffer
	iio:imu:bmi160: Fix too large a buffer.
	md/cluster: block reshape with remote resync job
	md/cluster: fix deadlock when node is doing resync job
	pinctrl: sunxi: Always call chained_irq_{enter, exit} in sunxi_pinctrl_irq_handler
	clk: mvebu: a3700: fix the XTAL MODE pin to MPP1_9
	xen-blkback: set ring->xenblkd to NULL after kthread_stop()
	xen/xenbus: Allow watches discard events before queueing
	xen/xenbus: Add 'will_handle' callback support in xenbus_watch_path()
	xen/xenbus/xen_bus_type: Support will_handle watch callback
	xen/xenbus: Count pending messages for each watch
	xenbus/xenbus_backend: Disallow pending watch messages
	libnvdimm/namespace: Fix reaping of invalidated block-window-namespace labels
	platform/x86: intel-vbtn: Allow switch events on Acer Switch Alpha 12
	PCI: Fix pci_slot_release() NULL pointer dereference
	platform/x86: mlx-platform: remove an unused variable
	Linux 4.19.164

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I8e2d24b45393ee2360186893d4e578e20156c7f1
2020-12-30 12:19:31 +01:00
Ziyuan Xu
83cd7dfb99 gpio: rockchip: clear pendings before isr_handler is valid
Change-Id: I93625437bc4e0096fbc6eca42f6bb3852a672d94
Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com>
2020-12-30 18:53:57 +08:00
Greg Kroah-Hartman
3207316b3b Linux 4.19.164
Tested-by: Jon Hunter <jonathanh@nvidia.com>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Tested-by: Linux Kernel Functional Testing <lkft@linaro.org>
Tested-by: Pavel Machek (CIP) <pavel@denx.de>
Link: https://lore.kernel.org/r/20201228124919.745526410@linuxfoundation.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-12-30 11:26:18 +01:00
Arnd Bergmann
a7638a4949 platform/x86: mlx-platform: remove an unused variable
commit eca6ba20f3 upstream.

The only reference to the mlxplat_mlxcpld_psu[] array got removed,
so there is now a warning from clang:

drivers/platform/x86/mlx-platform.c:322:30: error: variable 'mlxplat_mlxcpld_psu' is not needed and will not be emitted [-Werror,-Wunneeded-internal-declaration]
static struct i2c_board_info mlxplat_mlxcpld_psu[] = {

Remove the array as well and adapt the ARRAY_SIZE() call
accordingly.

Fixes: 912b341585 ("platform/x86: mlx-platform: Remove PSU EEPROM from MSN274x platform configuration")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Vadim Pasternak <vadimp@nvidia.com>
Link: https://lore.kernel.org/r/20201203223105.1195709-1-arnd@kernel.org
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Cc: Nathan Chancellor <natechancellor@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-12-30 11:26:17 +01:00
Jubin Zhong
3b20e285bb PCI: Fix pci_slot_release() NULL pointer dereference
commit 4684709bf8 upstream.

If kobject_init_and_add() fails, pci_slot_release() is called to delete
slot->list from parent->slots.  But slot->list hasn't been initialized
yet, so we dereference a NULL pointer:

  Unable to handle kernel NULL pointer dereference at virtual address
00000000
  ...
  CPU: 10 PID: 1 Comm: swapper/0 Not tainted 4.4.240 #197
  task: ffffeb398a45ef10 task.stack: ffffeb398a470000
  PC is at __list_del_entry_valid+0x5c/0xb0
  LR is at pci_slot_release+0x84/0xe4
  ...
  __list_del_entry_valid+0x5c/0xb0
  pci_slot_release+0x84/0xe4
  kobject_put+0x184/0x1c4
  pci_create_slot+0x17c/0x1b4
  __pci_hp_initialize+0x68/0xa4
  pciehp_probe+0x1a4/0x2fc
  pcie_port_probe_service+0x58/0x84
  driver_probe_device+0x320/0x470

Initialize slot->list before calling kobject_init_and_add() to avoid this.

Fixes: 8a94644b44 ("PCI: Fix pci_create_slot() reference count leak")
Link: https://lore.kernel.org/r/1606876422-117457-1-git-send-email-zhongjubin@huawei.com
Signed-off-by: Jubin Zhong <zhongjubin@huawei.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Cc: stable@vger.kernel.org	# v5.9+
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-12-30 11:26:17 +01:00
Carlos Garnacho
9bf21ccefe platform/x86: intel-vbtn: Allow switch events on Acer Switch Alpha 12
commit fe60009903 upstream.

This 2-in-1 model (Product name: Switch SA5-271) features a SW_TABLET_MODE
that works as it would be expected, both when detaching the keyboard and
when folding it behind the tablet body.

It used to work until the introduction of the allow list at
commit 8169bd3e6e ("platform/x86: intel-vbtn: Switch to an allow-list
for SW_TABLET_MODE reporting"). Add this model to it, so that the Virtual
Buttons device announces the EV_SW features again.

Fixes: 8169bd3e6e ("platform/x86: intel-vbtn: Switch to an allow-list for SW_TABLET_MODE reporting")
Cc: stable@vger.kernel.org
Signed-off-by: Carlos Garnacho <carlosg@gnome.org>
Link: https://lore.kernel.org/r/20201201135727.212917-1-carlosg@gnome.org
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-12-30 11:26:17 +01:00
Dan Williams
e8d635ad52 libnvdimm/namespace: Fix reaping of invalidated block-window-namespace labels
commit 2dd2a1740e upstream.

A recent change to ndctl to attempt to reconfigure namespaces in place
uncovered a label accounting problem in block-window-type namespaces.
The ndctl "create.sh" test is able to trigger this signature:

 WARNING: CPU: 34 PID: 9167 at drivers/nvdimm/label.c:1100 __blk_label_update+0x9a3/0xbc0 [libnvdimm]
 [..]
 RIP: 0010:__blk_label_update+0x9a3/0xbc0 [libnvdimm]
 [..]
 Call Trace:
  uuid_store+0x21b/0x2f0 [libnvdimm]
  kernfs_fop_write+0xcf/0x1c0
  vfs_write+0xcc/0x380
  ksys_write+0x68/0xe0

When allocated capacity for a namespace is renamed (new UUID) the labels
with the old UUID need to be deleted. The ndctl behavior to always
destroy namespaces on reconfiguration hid this problem.

The immediate impact of this bug is limited since block-window-type
namespaces only seem to exist in the specification and not in any
shipping products. However, the label handling code is being reused for
other technologies like CXL region labels, so there is a benefit to
making sure both vertical labels sets (block-window) and horizontal
label sets (pmem) have a functional reference implementation in
libnvdimm.

Fixes: c4703ce11c ("libnvdimm/namespace: Fix label tracking error")
Cc: <stable@vger.kernel.org>
Cc: Vishal Verma <vishal.l.verma@intel.com>
Cc: Dave Jiang <dave.jiang@intel.com>
Cc: Ira Weiny <ira.weiny@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-12-30 11:26:17 +01:00
SeongJae Park
be19047894 xenbus/xenbus_backend: Disallow pending watch messages
commit 9996bd4947 upstream.

'xenbus_backend' watches 'state' of devices, which is writable by
guests.  Hence, if guests intensively updates it, dom0 will have lots of
pending events that exhausting memory of dom0.  In other words, guests
can trigger dom0 memory pressure.  This is known as XSA-349.  However,
the watch callback of it, 'frontend_changed()', reads only 'state', so
doesn't need to have the pending events.

To avoid the problem, this commit disallows pending watch messages for
'xenbus_backend' using the 'will_handle()' watch callback.

This is part of XSA-349

Cc: stable@vger.kernel.org
Signed-off-by: SeongJae Park <sjpark@amazon.de>
Reported-by: Michael Kurth <mku@amazon.de>
Reported-by: Pawel Wieczorkiewicz <wipawel@amazon.de>
Reviewed-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-12-30 11:26:17 +01:00
SeongJae Park
85597c4369 xen/xenbus: Count pending messages for each watch
commit 3dc86ca6b4 upstream.

This commit adds a counter of pending messages for each watch in the
struct.  It is used to skip unnecessary pending messages lookup in
'unregister_xenbus_watch()'.  It could also be used in 'will_handle'
callback.

This is part of XSA-349

Cc: stable@vger.kernel.org
Signed-off-by: SeongJae Park <sjpark@amazon.de>
Reported-by: Michael Kurth <mku@amazon.de>
Reported-by: Pawel Wieczorkiewicz <wipawel@amazon.de>
Reviewed-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-12-30 11:26:17 +01:00
SeongJae Park
b88c52d02e xen/xenbus/xen_bus_type: Support will_handle watch callback
commit be987200fb upstream.

This commit adds support of the 'will_handle' watch callback for
'xen_bus_type' users.

This is part of XSA-349

Cc: stable@vger.kernel.org
Signed-off-by: SeongJae Park <sjpark@amazon.de>
Reported-by: Michael Kurth <mku@amazon.de>
Reported-by: Pawel Wieczorkiewicz <wipawel@amazon.de>
Reviewed-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-12-30 11:26:17 +01:00
SeongJae Park
3a36e4af69 xen/xenbus: Add 'will_handle' callback support in xenbus_watch_path()
commit 2e85d32b1c upstream.

Some code does not directly make 'xenbus_watch' object and call
'register_xenbus_watch()' but use 'xenbus_watch_path()' instead.  This
commit adds support of 'will_handle' callback in the
'xenbus_watch_path()' and it's wrapper, 'xenbus_watch_pathfmt()'.

This is part of XSA-349

Cc: stable@vger.kernel.org
Signed-off-by: SeongJae Park <sjpark@amazon.de>
Reported-by: Michael Kurth <mku@amazon.de>
Reported-by: Pawel Wieczorkiewicz <wipawel@amazon.de>
Reviewed-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-12-30 11:26:17 +01:00
SeongJae Park
9039eb22f9 xen/xenbus: Allow watches discard events before queueing
commit fed1755b11 upstream.

If handling logics of watch events are slower than the events enqueue
logic and the events can be created from the guests, the guests could
trigger memory pressure by intensively inducing the events, because it
will create a huge number of pending events that exhausting the memory.

Fortunately, some watch events could be ignored, depending on its
handler callback.  For example, if the callback has interest in only one
single path, the watch wouldn't want multiple pending events.  Or, some
watches could ignore events to same path.

To let such watches to volutarily help avoiding the memory pressure
situation, this commit introduces new watch callback, 'will_handle'.  If
it is not NULL, it will be called for each new event just before
enqueuing it.  Then, if the callback returns false, the event will be
discarded.  No watch is using the callback for now, though.

This is part of XSA-349

Cc: stable@vger.kernel.org
Signed-off-by: SeongJae Park <sjpark@amazon.de>
Reported-by: Michael Kurth <mku@amazon.de>
Reported-by: Pawel Wieczorkiewicz <wipawel@amazon.de>
Reviewed-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-12-30 11:26:16 +01:00
Pawel Wieczorkiewicz
014ee1c7d1 xen-blkback: set ring->xenblkd to NULL after kthread_stop()
commit 1c728719a4 upstream.

When xen_blkif_disconnect() is called, the kernel thread behind the
block interface is stopped by calling kthread_stop(ring->xenblkd).
The ring->xenblkd thread pointer being non-NULL determines if the
thread has been already stopped.
Normally, the thread's function xen_blkif_schedule() sets the
ring->xenblkd to NULL, when the thread's main loop ends.

However, when the thread has not been started yet (i.e.
wake_up_process() has not been called on it), the xen_blkif_schedule()
function would not be called yet.

In such case the kthread_stop() call returns -EINTR and the
ring->xenblkd remains dangling.
When this happens, any consecutive call to xen_blkif_disconnect (for
example in frontend_changed() callback) leads to a kernel crash in
kthread_stop() (e.g. NULL pointer dereference in exit_creds()).

This is XSA-350.

Cc: <stable@vger.kernel.org> # 4.12
Fixes: a24fa22ce2 ("xen/blkback: don't use xen_blkif_get() in xen-blkback kthread")
Reported-by: Olivier Benjamin <oliben@amazon.com>
Reported-by: Pawel Wieczorkiewicz <wipawel@amazon.de>
Signed-off-by: Pawel Wieczorkiewicz <wipawel@amazon.de>
Reviewed-by: Julien Grall <jgrall@amazon.com>
Reviewed-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-12-30 11:26:16 +01:00
Terry Zhou
1028639219 clk: mvebu: a3700: fix the XTAL MODE pin to MPP1_9
commit 6f37689cf6 upstream.

There is an error in the current code that the XTAL MODE
pin was set to NB MPP1_31 which should be NB MPP1_9.
The latch register of NB MPP1_9 has different offset of 0x8.

Signed-off-by: Terry Zhou <bjzhou@marvell.com>
[pali: Fix pin name in commit message]
Signed-off-by: Pali Rohár <pali@kernel.org>
Fixes: 7ea8250406 ("clk: mvebu: Add the xtal clock for Armada 3700 SoC")
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20201106100039.11385-1-pali@kernel.org
Reviewed-by: Marek Behún <kabel@kernel.org>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-12-30 11:26:16 +01:00