2019-06-13 16:09:16

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.1 000/155] 5.1.10-stable review

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

Responses should be made by Sat 15 Jun 2019 07:54:40 AM UTC.
Anything received after that time might be too late.

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

thanks,

greg k-h

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

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

Amir Goldstein <[email protected]>
ovl: support stacked SEEK_HOLE/SEEK_DATA

Jiufei Xue <[email protected]>
ovl: check the capability before cred overridden

Greg Kroah-Hartman <[email protected]>
Revert "drm/nouveau: add kconfig option to turn off nouveau legacy contexts. (v3)"

Greg Kroah-Hartman <[email protected]>
Revert "Bluetooth: Align minimum encryption key size for LE and BR/EDR connections"

Dennis Zhou <[email protected]>
percpu: do not search past bitmap when allocating an area

Andrey Smirnov <[email protected]>
gpio: vf610: Do not share irq_chip

Marek Vasut <[email protected]>
ARM: shmobile: porter: enable R-Car Gen2 regulator quirk

Takeshi Kihara <[email protected]>
soc: renesas: Identify R-Car M3-W ES1.3

Hans de Goede <[email protected]>
usb: typec: fusb302: Check vconn is off when we start toggling

Marek Szyprowski <[email protected]>
ARM: exynos: Fix undefined instruction during Exynos5422 resume

Phong Hoang <[email protected]>
pwm: Fix deadlock warning when removing PWM device

Krzysztof Kozlowski <[email protected]>
ARM: dts: exynos: Always enable necessary APIO_1V8 and ABB_1V8 regulators on Arndale Octa

Sakari Ailus <[email protected]>
media: v4l2-fwnode: Defaults may not override endpoint configuration in firmware

Christoph Vogtländer <[email protected]>
pwm: tiehrpwm: Update shadow register for disabling PWMs

Andy Shevchenko <[email protected]>
dmaengine: idma64: Use actual device for DMA transfers

Christopher N Bednarz <[email protected]>
ice: Do not set LB_EN for prune switch rules

Yashaswini Raghuram Prathivadi Bhayankaram <[email protected]>
ice: Enable LAN_EN for the right recipes

Sven Eckelmann <[email protected]>
batman-adv: Adjust name for batadv_dat_send_data

Dafna Hirschfeld <[email protected]>
media: v4l2-ctrl: v4l2_ctrl_request_setup returns with error upon failure

Brett Creeley <[email protected]>
ice: Add missing case in print_link_msg for printing flow control

Tony Lindgren <[email protected]>
gpio: gpio-omap: limit errata 1.101 handling to wkup domain gpios only

Tony Lindgren <[email protected]>
gpio: gpio-omap: add check for off wake capable gpios

Bjorn Andersson <[email protected]>
arm64: dts: qcom: qcs404: Fix regulator supply names

Kangjie Lu <[email protected]>
PCI: xilinx: Check for __get_free_pages() failure

Paolo Valente <[email protected]>
block, bfq: increase idling for weight-raised queues

Kangjie Lu <[email protected]>
video: imsttfb: fix potential NULL pointer dereferences

Kangjie Lu <[email protected]>
video: hgafb: fix potential NULL pointer dereference

Jagan Teki <[email protected]>
Input: goodix - add GT5663 CTP support

Giridhar Malavali <[email protected]>
scsi: qla2xxx: Reset the FCF_ASYNC_{SENT|ACTIVE} flags

Marek Vasut <[email protected]>
PCI: rcar: Fix 64bit MSI message address handling

Kangjie Lu <[email protected]>
PCI: rcar: Fix a potential NULL pointer dereference

Kishon Vijay Abraham I <[email protected]>
PCI: dwc: Remove default MSI initialization for platform specific MSI chips

Peng Li <[email protected]>
net: hns3: return 0 and print warning when hit duplicate MAC

Chao Yu <[email protected]>
f2fs: fix potential recursive call when enabling data_flush

Sven Van Asbroeck <[email protected]>
power: supply: max14656: fix potential use-before-alloc

Junxiao Chang <[email protected]>
platform/x86: intel_pmc_ipc: adding error handling

Binbin Wu <[email protected]>
pinctrl: pinctrl-intel: move gpio suspend/resume to noirq phase

Kabir Sahane <[email protected]>
ARM: OMAP2+: pm33xx-core: Do not Turn OFF CEFUSE as PPA may be using it

Takashi Iwai <[email protected]>
ALSA: seq: Protect in-kernel ioctl calls with mutex

Nicholas Kazlauskas <[email protected]>
drm/amd/display: Use plane->color_space for dpp if specified

Anthony Koo <[email protected]>
drm/amd/display: disable link before changing link settings

Tyrel Datwyler <[email protected]>
PCI: rpadlpar: Fix leaked device_node references in add/remove paths

Andrey Smirnov <[email protected]>
ARM: dts: imx6qdl: Specify IMX6QDL_CLK_IPG as "ipg" clock to SDMA

Andrey Smirnov <[email protected]>
ARM: dts: imx6sx: Specify IMX6SX_CLK_IPG as "ipg" clock to SDMA

Andrey Smirnov <[email protected]>
ARM: dts: imx6ul: Specify IMX6UL_CLK_IPG as "ipg" clock to SDMA

Andrey Smirnov <[email protected]>
ARM: dts: imx7d: Specify IMX7D_CLK_IPG as "ipg" clock to SDMA

Andrey Smirnov <[email protected]>
ARM: dts: imx6sll: Specify IMX6SLL_CLK_IPG as "ipg" clock to SDMA

Andrey Smirnov <[email protected]>
ARM: dts: imx6sx: Specify IMX6SX_CLK_IPG as "ahb" clock to SDMA

Andrey Smirnov <[email protected]>
ARM: dts: imx53: Specify IMX5_CLK_IPG as "ahb" clock to SDMA

Andrey Smirnov <[email protected]>
ARM: dts: imx50: Specify IMX5_CLK_IPG as "ahb" clock to SDMA

Andrey Smirnov <[email protected]>
ARM: dts: imx51: Specify IMX5_CLK_IPG as "ahb" clock to SDMA

Andrey Smirnov <[email protected]>
arm64: dts: imx8mq: Mark iomuxc_gpr as i.MX6Q compatible

Douglas Anderson <[email protected]>
soc: rockchip: Set the proper PWM for rk3288

Lu Baolu <[email protected]>
iommu/vt-d: Flush IOTLB for untrusted device in time

Bartosz Golaszewski <[email protected]>
usb: ohci-da8xx: disable the regulator if the overcurrent irq fired

Douglas Anderson <[email protected]>
clk: rockchip: Turn on "aclk_dmac1" for suspend on rk3288

Nathan Chancellor <[email protected]>
soc: mediatek: pwrap: Zero initialize rdata in pwrap_init_cipher

Kishon Vijay Abraham I <[email protected]>
PCI: keystone: Prevent ARM32 specific code to be compiled for ARM64

Kishon Vijay Abraham I <[email protected]>
PCI: keystone: Invoke phy_reset() API before enabling PHY

Enrico Granata <[email protected]>
platform/chrome: cros_ec_proto: check for NULL transfer function

Tony Lindgren <[email protected]>
power: supply: cpcap-battery: Fix signed counter sample register

Adam Ludkiewicz <[email protected]>
i40e: Queues are reserved despite "Invalid argument" error

Jon Hunter <[email protected]>
soc/tegra: pmc: Remove reset sysfs entries on error

Wenwen Wang <[email protected]>
x86/PCI: Fix PCI IRQ routing table memory leak

Mika Westerberg <[email protected]>
net: thunderbolt: Unregister ThunderboltIP protocol handler when suspending

Wesley Sheng <[email protected]>
switchtec: Fix unintended mask of MRPC event

Will Deacon <[email protected]>
iommu/arm-smmu-v3: Don't disable SMMU in kdump kernel

Farhan Ali <[email protected]>
vfio: Fix WARNING "do not call blocking ops when !TASK_RUNNING"

Arnd Bergmann <[email protected]>
nfsd: avoid uninitialized variable warning

J. Bruce Fields <[email protected]>
nfsd: allow fh_want_write to be called twice

Kirill Smelkov <[email protected]>
fuse: retrieve: cap requested size to negotiated max_write

Chen-Yu Tsai <[email protected]>
nvmem: sunxi_sid: Support SID on A83T and H5

Jorge Ramirez-Ortiz <[email protected]>
nvmem: core: fix read buffer in place

Lu Baolu <[email protected]>
iommu/vt-d: Don't request page request irq under dmar_global_lock

Valentin Schneider <[email protected]>
arm64: defconfig: Update UFSHCD for Hi3660 soc

Nathan Fontenot <[email protected]>
powerpc/pseries: Track LMB nid instead of using device tree

Takashi Iwai <[email protected]>
ALSA: hda - Register irq handler after the chip initialization

Taehee Yoo <[email protected]>
netfilter: nf_flow_table: fix netdev refcnt leak

Taehee Yoo <[email protected]>
netfilter: nf_flow_table: check ttl value in flow offload data path

Keith Busch <[email protected]>
nvme-pci: shutdown on timeout during deletion

Keith Busch <[email protected]>
nvme-pci: unquiesce admin queue on shutdown

Kishon Vijay Abraham I <[email protected]>
PCI: designware-ep: Use aligned ATU window for raising MSI interrupts

Kishon Vijay Abraham I <[email protected]>
misc: pci_endpoint_test: Fix test_reg_bar to be updated in pci_endpoint_test

Greg Kurz <[email protected]>
vfio-pci/nvlink2: Fix potential VMA leak

Lu Baolu <[email protected]>
iommu/vt-d: Set intel_iommu_gfx_mapped correctly

Ming Lei <[email protected]>
blk-mq: move cancel of requeue_work into blk_mq_release

Vladimir Zapolskiy <[email protected]>
watchdog: fix compile time error of pretimeout governors

Georg Hofmann <[email protected]>
watchdog: imx2_wdt: Fix set_timeout for big timeout values

Florian Westphal <[email protected]>
netfilter: nf_tables: fix base chain stat rcu_dereference usage

Serge Semin <[email protected]>
mips: Make sure dt memory regions are valid

Jakub Jankowski <[email protected]>
netfilter: nf_conntrack_h323: restore boundary check correctness

Taehee Yoo <[email protected]>
netfilter: nf_flow_table: fix missing error check for rhashtable_insert_fast

Ludovic Barre <[email protected]>
mmc: mmci: Prevent polling for busy detection in IRQ context

Amir Goldstein <[email protected]>
ovl: do not generate duplicate fsnotify events for "fake" path

Andreas Schwab <[email protected]>
fbcon: Don't reset logo_shown when logo is currently shown

Jisheng Zhang <[email protected]>
PCI: dwc: Free MSI IRQ page in dw_pcie_free_msi()

Jisheng Zhang <[email protected]>
PCI: dwc: Free MSI in dw_pcie_host_init() error path

Maciej Żenczykowski <[email protected]>
uml: fix a boot splat wrt use of cpu_all_mask

YueHaibing <[email protected]>
configfs: fix possible use-after-free in configfs_register_group

John Sperbeck <[email protected]>
percpu: remove spurious lock dependency between percpu and sched

Eugen Hristev <[email protected]>
media: atmel: atmel-isc: fix asd memory allocation

Chao Yu <[email protected]>
f2fs: fix to do checksum even if inode page is uptodate

Chao Yu <[email protected]>
f2fs: fix to retrieve inline xattr space

Chao Yu <[email protected]>
f2fs: fix to avoid deadloop in foreground GC

Chao Yu <[email protected]>
f2fs: fix to do sanity check on valid block count of segment

Chao Yu <[email protected]>
f2fs: fix to avoid panic in dec_valid_node_count()

Chao Yu <[email protected]>
f2fs: fix to use inline space only if inline_xattr is enable

Chao Yu <[email protected]>
f2fs: fix to avoid panic in dec_valid_block_count()

Chao Yu <[email protected]>
f2fs: fix to clear dirty inode in error path of f2fs_iget()

Chao Yu <[email protected]>
f2fs: fix to do sanity check on free nid

Chao Yu <[email protected]>
f2fs: fix to avoid panic in f2fs_remove_inode_page()

Chao Yu <[email protected]>
f2fs: fix error path of recovery

Chao Yu <[email protected]>
f2fs: fix to avoid panic in f2fs_inplace_write_data()

Chao Yu <[email protected]>
f2fs: fix to avoid panic in do_recover_data()

Miroslav Lichvar <[email protected]>
ntp: Allow TAI-UTC offset to be set to zero

Fabien Dessenne <[email protected]>
mailbox: stm32-ipcc: check invalid irq

Martin Blumenstingl <[email protected]>
pwm: meson: Use the spin-lock only to protect register modifications

Michael Ellerman <[email protected]>
EDAC/mpc85xx: Prevent building as a module

Krzesimir Nowak <[email protected]>
bpf: fix undefined behavior in narrow load handling

Ben Skeggs <[email protected]>
drm/nouveau/kms/gv100-: fix spurious window immediate interlocks

Josh Poimboeuf <[email protected]>
objtool: Don't use ignore flag for fake jumps

Matt Redfearn <[email protected]>
drm/bridge: adv7511: Fix low refresh rate selection

Peteris Rudzusiks <[email protected]>
drm/nouveau: fix duplication of nv50_head_atom struct

Ben Skeggs <[email protected]>
drm/nouveau/kms/gf119-gp10x: push HeadSetControlOutputResource() mthd when encoders change

Stephane Eranian <[email protected]>
perf/x86/intel: Allow PEBS multi-entry in watermark mode

Tony Lindgren <[email protected]>
mfd: twl6040: Fix device init errors for ACCCTL register

Ben Skeggs <[email protected]>
drm/nouveau/disp/dp: respect sink limits when selecting failsafe link configuration

Binbin Wu <[email protected]>
mfd: intel-lpss: Set the device in reset state when init

Daniel Gomez <[email protected]>
mfd: tps65912-spi: Add missing of table registration

Amit Kucheria <[email protected]>
drivers: thermal: tsens: Don't print error message on -EPROBE_DEFER

Jiada Wang <[email protected]>
thermal: rcar_gen3_thermal: disable interrupt in .remove

Cyrill Gorcunov <[email protected]>
kernel/sys.c: prctl: fix false positive in validate_prctl_map()

Qian Cai <[email protected]>
mm/slab.c: fix an infinite loop in leaks_show()

Yue Hu <[email protected]>
mm/cma_debug.c: fix the break condition in cma_maxchunk_get()

Aneesh Kumar K.V <[email protected]>
mm: page_mkclean vs MADV_DONTNEED race

Yue Hu <[email protected]>
mm/cma.c: fix the bitmap status to show failed allocation reason

Baoquan He <[email protected]>
mm/memory_hotplug.c: fix the wrong usage of N_HIGH_MEMORY

Qian Cai <[email protected]>
mm/compaction.c: fix an undefined behaviour

Christoph Hellwig <[email protected]>
initramfs: free initrd memory if opening /initrd.image fails

Yue Hu <[email protected]>
mm/cma.c: fix crash on CMA allocation if bitmap allocation fails

Linxu Fang <[email protected]>
mem-hotplug: fix node spanned pages when we have a node with only ZONE_MOVABLE

David Hildenbrand <[email protected]>
mm/memory_hotplug: release memory resource after arch_remove_memory()

Mike Kravetz <[email protected]>
hugetlbfs: on restore reserve error path retain subpool reservation

Jérôme Glisse <[email protected]>
mm/hmm: select mmu notifier when selecting HMM

Arnd Bergmann <[email protected]>
ARM: prevent tracing IPI_CPU_BACKTRACE

Mike Rapoport <[email protected]>
mm/mprotect.c: fix compilation warning because of unused 'mm' variable

Guenter Roeck <[email protected]>
drm/pl111: Initialize clock spinlock early

Brian Masney <[email protected]>
drm/msm: correct attempted NULL pointer dereference in debugfs

Li Rongqing <[email protected]>
ipc: prevent lockup on alloc_msg and free_msg

Christian Brauner <[email protected]>
sysctl: return -EINVAL if val violates minmax

Hou Tao <[email protected]>
fs/fat/file.c: issue flush after the writeback of FAT

Kangjie Lu <[email protected]>
rapidio: fix a NULL pointer dereference when create_workqueue() fails

Jonas Karlman <[email protected]>
media: rockchip/vpu: Add missing dont_use_autosuspend() calls

Jonas Karlman <[email protected]>
media: rockchip/vpu: Fix/re-order probe-error/remove path

Dave Airlie <[email protected]>
Revert "drm: allow render capable master with DRM_AUTH ioctls"


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

Diffstat:

.../bindings/input/touchscreen/goodix.txt | 1 +
Makefile | 4 +-
arch/arm/boot/dts/exynos5420-arndale-octa.dts | 2 +
arch/arm/boot/dts/imx50.dtsi | 2 +-
arch/arm/boot/dts/imx51.dtsi | 2 +-
arch/arm/boot/dts/imx53.dtsi | 2 +-
arch/arm/boot/dts/imx6qdl.dtsi | 2 +-
arch/arm/boot/dts/imx6sl.dtsi | 2 +-
arch/arm/boot/dts/imx6sll.dtsi | 2 +-
arch/arm/boot/dts/imx6sx.dtsi | 2 +-
arch/arm/boot/dts/imx6ul.dtsi | 2 +-
arch/arm/boot/dts/imx7s.dtsi | 4 +-
arch/arm/include/asm/hardirq.h | 1 +
arch/arm/kernel/smp.c | 6 +-
arch/arm/mach-exynos/suspend.c | 19 +++
arch/arm/mach-omap2/pm33xx-core.c | 8 +-
arch/arm/mach-shmobile/regulator-quirk-rcar-gen2.c | 6 +-
arch/arm64/boot/dts/freescale/imx8mq.dtsi | 2 +-
arch/arm64/boot/dts/qcom/qcs404-evb.dtsi | 28 ++---
arch/arm64/configs/defconfig | 6 +-
arch/mips/kernel/prom.c | 14 ++-
arch/powerpc/include/asm/drmem.h | 21 ++++
arch/powerpc/mm/drmem.c | 6 +-
arch/powerpc/platforms/pseries/hotplug-memory.c | 17 ++-
arch/um/kernel/time.c | 2 +-
arch/x86/events/intel/core.c | 2 +-
arch/x86/pci/irq.c | 10 +-
block/bfq-iosched.c | 2 +
block/blk-core.c | 1 -
block/blk-mq.c | 2 +
drivers/clk/rockchip/clk-rk3288.c | 11 ++
drivers/dma/idma64.c | 6 +-
drivers/dma/idma64.h | 2 +
drivers/edac/Kconfig | 4 +-
drivers/gpio/gpio-omap.c | 53 +++++----
drivers/gpio/gpio-vf610.c | 26 ++---
drivers/gpu/drm/amd/display/dc/core/dc_link.c | 9 ++
drivers/gpu/drm/amd/display/dc/dcn10/dcn10_dpp.c | 6 +-
.../drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c | 2 +-
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 6 +-
drivers/gpu/drm/drm_ioctl.c | 20 +---
drivers/gpu/drm/msm/msm_gem.c | 3 +-
drivers/gpu/drm/nouveau/Kconfig | 13 +--
drivers/gpu/drm/nouveau/dispnv50/disp.h | 1 +
drivers/gpu/drm/nouveau/dispnv50/head.c | 3 +-
drivers/gpu/drm/nouveau/dispnv50/wimmc37b.c | 1 +
drivers/gpu/drm/nouveau/dispnv50/wndw.c | 2 +-
drivers/gpu/drm/nouveau/nouveau_drm.c | 7 +-
drivers/gpu/drm/nouveau/nvkm/engine/disp/dp.c | 11 +-
drivers/gpu/drm/pl111/pl111_display.c | 5 +-
drivers/input/touchscreen/goodix.c | 2 +
drivers/iommu/arm-smmu-v3.c | 10 +-
drivers/iommu/intel-iommu.c | 19 ++-
drivers/mailbox/stm32-ipcc.c | 13 ++-
drivers/media/platform/atmel/atmel-isc.c | 8 +-
drivers/media/v4l2-core/v4l2-ctrls.c | 18 +--
drivers/media/v4l2-core/v4l2-fwnode.c | 6 +-
drivers/mfd/intel-lpss.c | 3 +
drivers/mfd/tps65912-spi.c | 1 +
drivers/mfd/twl6040.c | 13 ++-
drivers/misc/pci_endpoint_test.c | 1 +
drivers/mmc/host/mmci.c | 5 +-
.../ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 7 +-
drivers/net/ethernet/intel/i40e/i40e_main.c | 3 +
drivers/net/ethernet/intel/ice/ice_main.c | 3 +
drivers/net/ethernet/intel/ice/ice_switch.c | 36 ++++--
drivers/net/thunderbolt.c | 3 +
drivers/nvme/host/pci.c | 10 +-
drivers/nvmem/core.c | 15 ++-
drivers/nvmem/sunxi_sid.c | 2 +
drivers/pci/controller/dwc/pci-keystone.c | 8 ++
drivers/pci/controller/dwc/pcie-designware-ep.c | 7 +-
drivers/pci/controller/dwc/pcie-designware-host.c | 45 ++++---
drivers/pci/controller/dwc/pcie-designware.h | 1 +
drivers/pci/controller/pcie-rcar.c | 10 +-
drivers/pci/controller/pcie-xilinx.c | 12 +-
drivers/pci/hotplug/rpadlpar_core.c | 4 +
drivers/pci/switch/switchtec.c | 3 +-
drivers/pinctrl/intel/pinctrl-intel.c | 8 +-
drivers/pinctrl/intel/pinctrl-intel.h | 11 +-
drivers/platform/chrome/cros_ec_proto.c | 11 ++
drivers/platform/x86/intel_pmc_ipc.c | 6 +-
drivers/power/supply/cpcap-battery.c | 11 +-
drivers/power/supply/max14656_charger_detector.c | 14 +--
drivers/pwm/core.c | 10 +-
drivers/pwm/pwm-meson.c | 25 ++--
drivers/pwm/pwm-tiehrpwm.c | 2 +
drivers/pwm/sysfs.c | 14 +--
drivers/rapidio/rio_cm.c | 8 ++
drivers/scsi/qla2xxx/qla_gs.c | 3 +
drivers/soc/mediatek/mtk-pmic-wrap.c | 2 +-
drivers/soc/renesas/renesas-soc.c | 3 +
drivers/soc/rockchip/grf.c | 2 +
drivers/soc/tegra/pmc.c | 5 +-
drivers/spi/spi-pxa2xx.c | 7 +-
.../staging/media/rockchip/vpu/rockchip_vpu_drv.c | 10 +-
drivers/thermal/qcom/tsens.c | 3 +-
drivers/thermal/rcar_gen3_thermal.c | 3 +
drivers/tty/serial/8250/8250_dw.c | 4 +-
drivers/usb/host/ohci-da8xx.c | 22 +++-
drivers/usb/typec/tcpm/fusb302.c | 2 +
drivers/vfio/pci/vfio_pci_nvlink2.c | 2 +
drivers/vfio/vfio.c | 30 ++---
drivers/video/fbdev/core/fbcon.c | 2 +-
drivers/video/fbdev/hgafb.c | 2 +
drivers/video/fbdev/imsttfb.c | 5 +
drivers/watchdog/Kconfig | 1 +
drivers/watchdog/imx2_wdt.c | 4 +-
fs/configfs/dir.c | 17 ++-
fs/dax.c | 2 +-
fs/f2fs/checkpoint.c | 6 +-
fs/f2fs/data.c | 3 +-
fs/f2fs/f2fs.h | 30 ++++-
fs/f2fs/gc.c | 1 +
fs/f2fs/inline.c | 17 +++
fs/f2fs/inode.c | 5 +-
fs/f2fs/node.c | 20 +++-
fs/f2fs/recovery.c | 25 +++-
fs/f2fs/segment.c | 9 +-
fs/f2fs/segment.h | 3 +-
fs/fat/file.c | 11 +-
fs/fuse/dev.c | 2 +-
fs/nfsd/nfs4xdr.c | 4 +
fs/nfsd/vfs.h | 5 +-
fs/overlayfs/file.c | 130 +++++++++++++++++----
include/linux/pwm.h | 5 -
include/media/v4l2-ctrls.h | 2 +-
include/net/bluetooth/hci_core.h | 3 -
init/initramfs.c | 14 +--
ipc/mqueue.c | 10 +-
ipc/msgutil.c | 6 +
kernel/bpf/verifier.c | 2 +-
kernel/sys.c | 2 +-
kernel/sysctl.c | 6 +-
kernel/time/ntp.c | 2 +-
mm/Kconfig | 2 +-
mm/cma.c | 23 ++--
mm/cma_debug.c | 2 +-
mm/compaction.c | 4 +-
mm/hugetlb.c | 21 +++-
mm/memory_hotplug.c | 37 +++---
mm/mprotect.c | 5 +-
mm/page_alloc.c | 6 +-
mm/percpu.c | 9 +-
mm/rmap.c | 2 +-
mm/slab.c | 6 +-
net/batman-adv/distributed-arp-table.c | 24 ++--
net/bluetooth/hci_conn.c | 8 --
net/netfilter/nf_conntrack_h323_asn1.c | 2 +-
net/netfilter/nf_flow_table_core.c | 25 ++--
net/netfilter/nf_flow_table_ip.c | 6 +
net/netfilter/nf_tables_api.c | 9 +-
net/netfilter/nft_flow_offload.c | 1 +
sound/core/seq/seq_clientmgr.c | 9 +-
sound/pci/hda/hda_intel.c | 6 +-
tools/objtool/check.c | 8 +-
156 files changed, 967 insertions(+), 461 deletions(-)



2019-06-13 16:09:19

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.1 033/155] drm/nouveau: fix duplication of nv50_head_atom struct

[ Upstream commit c4a52d669690423ee3c99d8eda1e69cd0821fcad ]

nv50_head_atomic_duplicate_state() makes a copy of nv50_head_atom
struct. This patch adds copying of struct member named "or", which
previously was left uninitialized in the duplicated structure.

Due to this bug, incorrect nhsync and nvsync values were sometimes used.
In my particular case, that lead to a mismatch between the output
resolution of the graphics device (GeForce GT 630 OEM) and the reported
input signal resolution on the display. xrandr reported 1680x1050, but
the display reported 1280x1024. As a result of this mismatch, the output
on the display looked like it was cropped (only part of the output was
actually visible on the display).

git bisect pointed to commit 2ca7fb5c1cc6 ("drm/nouveau/kms/nv50: handle
SetControlOutputResource from head"), which added the member "or" to
nv50_head_atom structure, but forgot to copy it in
nv50_head_atomic_duplicate_state().

Fixes: 2ca7fb5c1cc6 ("drm/nouveau/kms/nv50: handle SetControlOutputResource from head")
Signed-off-by: Peteris Rudzusiks <[email protected]>
Signed-off-by: Ben Skeggs <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
drivers/gpu/drm/nouveau/dispnv50/head.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/nouveau/dispnv50/head.c b/drivers/gpu/drm/nouveau/dispnv50/head.c
index 8efb778a3b20..06ee23823a68 100644
--- a/drivers/gpu/drm/nouveau/dispnv50/head.c
+++ b/drivers/gpu/drm/nouveau/dispnv50/head.c
@@ -413,6 +413,7 @@ nv50_head_atomic_duplicate_state(struct drm_crtc *crtc)
asyh->ovly = armh->ovly;
asyh->dither = armh->dither;
asyh->procamp = armh->procamp;
+ asyh->or = armh->or;
asyh->dp = armh->dp;
asyh->clr.mask = 0;
asyh->set.mask = 0;
--
2.20.1



2019-06-13 16:09:21

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.1 009/155] drm/pl111: Initialize clock spinlock early

[ Upstream commit 3e01ae2612bdd7975c74ec7123d7f8f5e6eed795 ]

The following warning is seen on systems with broken clock divider.

INFO: trying to register non-static key.
the code is fine but needs lockdep annotation.
turning off the locking correctness validator.
CPU: 0 PID: 1 Comm: swapper Not tainted 5.1.0-09698-g1fb3b52 #1
Hardware name: ARM Integrator/CP (Device Tree)
[<c0011be8>] (unwind_backtrace) from [<c000ebb8>] (show_stack+0x10/0x18)
[<c000ebb8>] (show_stack) from [<c07d3fd0>] (dump_stack+0x18/0x24)
[<c07d3fd0>] (dump_stack) from [<c0060d48>] (register_lock_class+0x674/0x6f8)
[<c0060d48>] (register_lock_class) from [<c005de2c>]
(__lock_acquire+0x68/0x2128)
[<c005de2c>] (__lock_acquire) from [<c0060408>] (lock_acquire+0x110/0x21c)
[<c0060408>] (lock_acquire) from [<c07f755c>] (_raw_spin_lock+0x34/0x48)
[<c07f755c>] (_raw_spin_lock) from [<c0536c8c>]
(pl111_display_enable+0xf8/0x5fc)
[<c0536c8c>] (pl111_display_enable) from [<c0502f54>]
(drm_atomic_helper_commit_modeset_enables+0x1ec/0x244)

Since commit eedd6033b4c8 ("drm/pl111: Support variants with broken clock
divider"), the spinlock is not initialized if the clock divider is broken.
Initialize it earlier to fix the problem.

Fixes: eedd6033b4c8 ("drm/pl111: Support variants with broken clock divider")
Cc: Linus Walleij <[email protected]>
Signed-off-by: Guenter Roeck <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
Signed-off-by: Sasha Levin <[email protected]>
---
drivers/gpu/drm/pl111/pl111_display.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/pl111/pl111_display.c b/drivers/gpu/drm/pl111/pl111_display.c
index 754f6b25f265..6d9f78612dee 100644
--- a/drivers/gpu/drm/pl111/pl111_display.c
+++ b/drivers/gpu/drm/pl111/pl111_display.c
@@ -531,14 +531,15 @@ pl111_init_clock_divider(struct drm_device *drm)
dev_err(drm->dev, "CLCD: unable to get clcdclk.\n");
return PTR_ERR(parent);
}
+
+ spin_lock_init(&priv->tim2_lock);
+
/* If the clock divider is broken, use the parent directly */
if (priv->variant->broken_clockdivider) {
priv->clk = parent;
return 0;
}
parent_name = __clk_get_name(parent);
-
- spin_lock_init(&priv->tim2_lock);
div->init = &init;

ret = devm_clk_hw_register(drm->dev, div);
--
2.20.1



2019-06-13 16:09:21

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.1 036/155] drm/nouveau/kms/gv100-: fix spurious window immediate interlocks

[ Upstream commit d2434e4d942c32cadcbdbcd32c58f35098f3b604 ]

Cursor position updates were accidentally causing us to attempt to interlock
window with window immediate, and without a matching window immediate update,
NVDisplay could hang forever in some circumstances.

Fixes suspend/resume on (at least) Quadro RTX4000 (TU104).

Reported-by: Lyude Paul <[email protected]>
Signed-off-by: Ben Skeggs <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
drivers/gpu/drm/nouveau/dispnv50/disp.h | 1 +
drivers/gpu/drm/nouveau/dispnv50/wimmc37b.c | 1 +
drivers/gpu/drm/nouveau/dispnv50/wndw.c | 2 +-
3 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/nouveau/dispnv50/disp.h b/drivers/gpu/drm/nouveau/dispnv50/disp.h
index 2216c58620c2..7c41b0599d1a 100644
--- a/drivers/gpu/drm/nouveau/dispnv50/disp.h
+++ b/drivers/gpu/drm/nouveau/dispnv50/disp.h
@@ -41,6 +41,7 @@ struct nv50_disp_interlock {
NV50_DISP_INTERLOCK__SIZE
} type;
u32 data;
+ u32 wimm;
};

void corec37d_ntfy_init(struct nouveau_bo *, u32);
diff --git a/drivers/gpu/drm/nouveau/dispnv50/wimmc37b.c b/drivers/gpu/drm/nouveau/dispnv50/wimmc37b.c
index 9103b8494279..f7dbd965e4e7 100644
--- a/drivers/gpu/drm/nouveau/dispnv50/wimmc37b.c
+++ b/drivers/gpu/drm/nouveau/dispnv50/wimmc37b.c
@@ -75,6 +75,7 @@ wimmc37b_init_(const struct nv50_wimm_func *func, struct nouveau_drm *drm,
return ret;
}

+ wndw->interlock.wimm = wndw->interlock.data;
wndw->immd = func;
return 0;
}
diff --git a/drivers/gpu/drm/nouveau/dispnv50/wndw.c b/drivers/gpu/drm/nouveau/dispnv50/wndw.c
index b95181027b31..471a39a077e5 100644
--- a/drivers/gpu/drm/nouveau/dispnv50/wndw.c
+++ b/drivers/gpu/drm/nouveau/dispnv50/wndw.c
@@ -149,7 +149,7 @@ nv50_wndw_flush_set(struct nv50_wndw *wndw, u32 *interlock,
if (asyw->set.point) {
if (asyw->set.point = false, asyw->set.mask)
interlock[wndw->interlock.type] |= wndw->interlock.data;
- interlock[NV50_DISP_INTERLOCK_WIMM] |= wndw->interlock.data;
+ interlock[NV50_DISP_INTERLOCK_WIMM] |= wndw->interlock.wimm;

wndw->immd->point(wndw, asyw);
wndw->immd->update(wndw, interlock);
--
2.20.1



2019-06-13 16:09:26

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.1 013/155] hugetlbfs: on restore reserve error path retain subpool reservation

[ Upstream commit 0919e1b69ab459e06df45d3ba6658d281962db80 ]

When a huge page is allocated, PagePrivate() is set if the allocation
consumed a reservation. When freeing a huge page, PagePrivate is checked.
If set, it indicates the reservation should be restored. PagePrivate
being set at free huge page time mostly happens on error paths.

When huge page reservations are created, a check is made to determine if
the mapping is associated with an explicitly mounted filesystem. If so,
pages are also reserved within the filesystem. The default action when
freeing a huge page is to decrement the usage count in any associated
explicitly mounted filesystem. However, if the reservation is to be
restored the reservation/use count within the filesystem should not be
decrementd. Otherwise, a subsequent page allocation and free for the same
mapping location will cause the file filesystem usage to go 'negative'.

Filesystem Size Used Avail Use% Mounted on
nodev 4.0G -4.0M 4.1G - /opt/hugepool

To fix, when freeing a huge page do not adjust filesystem usage if
PagePrivate() is set to indicate the reservation should be restored.

I did not cc stable as the problem has been around since reserves were
added to hugetlbfs and nobody has noticed.

Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Mike Kravetz <[email protected]>
Reviewed-by: Naoya Horiguchi <[email protected]>
Cc: Davidlohr Bueso <[email protected]>
Cc: Joonsoo Kim <[email protected]>
Cc: Michal Hocko <[email protected]>
Cc: "Kirill A . Shutemov" <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
mm/hugetlb.c | 21 ++++++++++++++++-----
1 file changed, 16 insertions(+), 5 deletions(-)

diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index 5baf1f00ad42..5b4f00be325d 100644
--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
@@ -1258,12 +1258,23 @@ void free_huge_page(struct page *page)
ClearPagePrivate(page);

/*
- * A return code of zero implies that the subpool will be under its
- * minimum size if the reservation is not restored after page is free.
- * Therefore, force restore_reserve operation.
+ * If PagePrivate() was set on page, page allocation consumed a
+ * reservation. If the page was associated with a subpool, there
+ * would have been a page reserved in the subpool before allocation
+ * via hugepage_subpool_get_pages(). Since we are 'restoring' the
+ * reservtion, do not call hugepage_subpool_put_pages() as this will
+ * remove the reserved page from the subpool.
*/
- if (hugepage_subpool_put_pages(spool, 1) == 0)
- restore_reserve = true;
+ if (!restore_reserve) {
+ /*
+ * A return code of zero implies that the subpool will be
+ * under its minimum size if the reservation is not restored
+ * after page is free. Therefore, force restore_reserve
+ * operation.
+ */
+ if (hugepage_subpool_put_pages(spool, 1) == 0)
+ restore_reserve = true;
+ }

spin_lock(&hugetlb_lock);
clear_page_huge_active(page);
--
2.20.1



2019-06-13 16:09:44

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.1 003/155] media: rockchip/vpu: Add missing dont_use_autosuspend() calls

[ Upstream commit 5c5b90f5cbad77dc15d8b5582efdb2e362bcd710 ]

Those calls are needed to restore a clean PM state when the probe fails
or when the driver is unloaded such that future ->probe() calls can
initialize runtime PM again.

Signed-off-by: Jonas Karlman <[email protected]>
Signed-off-by: Boris Brezillon <[email protected]>
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
drivers/staging/media/rockchip/vpu/rockchip_vpu_drv.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/staging/media/rockchip/vpu/rockchip_vpu_drv.c b/drivers/staging/media/rockchip/vpu/rockchip_vpu_drv.c
index 33b556b3f0df..d489b5dd54d7 100644
--- a/drivers/staging/media/rockchip/vpu/rockchip_vpu_drv.c
+++ b/drivers/staging/media/rockchip/vpu/rockchip_vpu_drv.c
@@ -492,6 +492,7 @@ err_v4l2_unreg:
v4l2_device_unregister(&vpu->v4l2_dev);
err_clk_unprepare:
clk_bulk_unprepare(vpu->variant->num_clocks, vpu->clocks);
+ pm_runtime_dont_use_autosuspend(vpu->dev);
pm_runtime_disable(vpu->dev);
return ret;
}
@@ -512,6 +513,7 @@ static int rockchip_vpu_remove(struct platform_device *pdev)
v4l2_m2m_release(vpu->m2m_dev);
v4l2_device_unregister(&vpu->v4l2_dev);
clk_bulk_unprepare(vpu->variant->num_clocks, vpu->clocks);
+ pm_runtime_dont_use_autosuspend(vpu->dev);
pm_runtime_disable(vpu->dev);
return 0;
}
--
2.20.1



2019-06-13 16:09:45

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.1 029/155] drm/nouveau/disp/dp: respect sink limits when selecting failsafe link configuration

[ Upstream commit 13d03e9daf70dab032c03dc172e75bb98ad899c4 ]

Where possible, we want the failsafe link configuration (one which won't
hang the OR during modeset because of not enough bandwidth for the mode)
to also be supported by the sink.

This prevents "link rate unsupported by sink" messages when link training
fails.

Signed-off-by: Ben Skeggs <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
drivers/gpu/drm/nouveau/nvkm/engine/disp/dp.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/dp.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/dp.c
index 5f301e632599..818d21bd28d3 100644
--- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/dp.c
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/dp.c
@@ -365,8 +365,15 @@ nvkm_dp_train(struct nvkm_dp *dp, u32 dataKBps)
* and it's better to have a failed modeset than that.
*/
for (cfg = nvkm_dp_rates; cfg->rate; cfg++) {
- if (cfg->nr <= outp_nr && cfg->nr <= outp_bw)
- failsafe = cfg;
+ if (cfg->nr <= outp_nr && cfg->nr <= outp_bw) {
+ /* Try to respect sink limits too when selecting
+ * lowest link configuration.
+ */
+ if (!failsafe ||
+ (cfg->nr <= sink_nr && cfg->bw <= sink_bw))
+ failsafe = cfg;
+ }
+
if (failsafe && cfg[1].rate < dataKBps)
break;
}
--
2.20.1



2019-06-13 16:09:47

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.1 005/155] fs/fat/file.c: issue flush after the writeback of FAT

[ Upstream commit bd8309de0d60838eef6fb575b0c4c7e95841cf73 ]

fsync() needs to make sure the data & meta-data of file are persistent
after the return of fsync(), even when a power-failure occurs later. In
the case of fat-fs, the FAT belongs to the meta-data of file, so we need
to issue a flush after the writeback of FAT instead before.

Also bail out early when any stage of fsync fails.

Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Hou Tao <[email protected]>
Acked-by: OGAWA Hirofumi <[email protected]>
Cc: Al Viro <[email protected]>
Cc: Jan Kara <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
fs/fat/file.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/fs/fat/file.c b/fs/fat/file.c
index b3bed32946b1..0e3ed79fcc3f 100644
--- a/fs/fat/file.c
+++ b/fs/fat/file.c
@@ -193,12 +193,17 @@ static int fat_file_release(struct inode *inode, struct file *filp)
int fat_file_fsync(struct file *filp, loff_t start, loff_t end, int datasync)
{
struct inode *inode = filp->f_mapping->host;
- int res, err;
+ int err;
+
+ err = __generic_file_fsync(filp, start, end, datasync);
+ if (err)
+ return err;

- res = generic_file_fsync(filp, start, end, datasync);
err = sync_mapping_buffers(MSDOS_SB(inode->i_sb)->fat_inode->i_mapping);
+ if (err)
+ return err;

- return res ? res : err;
+ return blkdev_issue_flush(inode->i_sb->s_bdev, GFP_KERNEL, NULL);
}


--
2.20.1



2019-06-13 16:09:48

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.1 027/155] mfd: tps65912-spi: Add missing of table registration

[ Upstream commit 9e364e87ad7f2c636276c773d718cda29d62b741 ]

MODULE_DEVICE_TABLE(of, <of_match_table> should be called to complete DT
OF mathing mechanism and register it.

Before this patch:
modinfo drivers/mfd/tps65912-spi.ko | grep alias
alias: spi:tps65912

After this patch:
modinfo drivers/mfd/tps65912-spi.ko | grep alias
alias: of:N*T*Cti,tps65912C*
alias: of:N*T*Cti,tps65912
alias: spi:tps65912

Reported-by: Javier Martinez Canillas <[email protected]>
Signed-off-by: Daniel Gomez <[email protected]>
Signed-off-by: Lee Jones <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
drivers/mfd/tps65912-spi.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/mfd/tps65912-spi.c b/drivers/mfd/tps65912-spi.c
index 3bd75061f777..f78be039e463 100644
--- a/drivers/mfd/tps65912-spi.c
+++ b/drivers/mfd/tps65912-spi.c
@@ -27,6 +27,7 @@ static const struct of_device_id tps65912_spi_of_match_table[] = {
{ .compatible = "ti,tps65912", },
{ /* sentinel */ }
};
+MODULE_DEVICE_TABLE(of, tps65912_spi_of_match_table);

static int tps65912_spi_probe(struct spi_device *spi)
{
--
2.20.1



2019-06-13 16:09:49

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.1 026/155] drivers: thermal: tsens: Dont print error message on -EPROBE_DEFER

[ Upstream commit fc7d18cf6a923cde7f5e7ba2c1105bb106d3e29a ]

We print a calibration failure message on -EPROBE_DEFER from
nvmem/qfprom as follows:
[ 3.003090] qcom-tsens 4a9000.thermal-sensor: version: 1.4
[ 3.005376] qcom-tsens 4a9000.thermal-sensor: tsens calibration failed
[ 3.113248] qcom-tsens 4a9000.thermal-sensor: version: 1.4

This confuses people when, in fact, calibration succeeds later when
nvmem/qfprom device is available. Don't print this message on a
-EPROBE_DEFER.

Signed-off-by: Amit Kucheria <[email protected]>
Signed-off-by: Eduardo Valentin <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
drivers/thermal/qcom/tsens.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/thermal/qcom/tsens.c b/drivers/thermal/qcom/tsens.c
index f1ec9bbe4717..54b2c0e3c4f4 100644
--- a/drivers/thermal/qcom/tsens.c
+++ b/drivers/thermal/qcom/tsens.c
@@ -160,7 +160,8 @@ static int tsens_probe(struct platform_device *pdev)
if (tmdev->ops->calibrate) {
ret = tmdev->ops->calibrate(tmdev);
if (ret < 0) {
- dev_err(dev, "tsens calibration failed\n");
+ if (ret != -EPROBE_DEFER)
+ dev_err(dev, "tsens calibration failed\n");
return ret;
}
}
--
2.20.1



2019-06-13 16:10:01

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.1 006/155] sysctl: return -EINVAL if val violates minmax

[ Upstream commit e260ad01f0aa9e96b5386d5cd7184afd949dc457 ]

Currently when userspace gives us a values that overflow e.g. file-max
and other callers of __do_proc_doulongvec_minmax() we simply ignore the
new value and leave the current value untouched.

This can be problematic as it gives the illusion that the limit has
indeed be bumped when in fact it failed. This commit makes sure to
return EINVAL when an overflow is detected. Please note that this is a
userspace facing change.

Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Christian Brauner <[email protected]>
Acked-by: Luis Chamberlain <[email protected]>
Cc: Kees Cook <[email protected]>
Cc: Alexey Dobriyan <[email protected]>
Cc: Al Viro <[email protected]>
Cc: Dominik Brodowski <[email protected]>
Cc: "Eric W. Biederman" <[email protected]>
Cc: Joe Lawrence <[email protected]>
Cc: Waiman Long <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
kernel/sysctl.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/kernel/sysctl.c b/kernel/sysctl.c
index c9ec050bcf46..387efbaf464a 100644
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
@@ -2874,8 +2874,10 @@ static int __do_proc_doulongvec_minmax(void *data, struct ctl_table *table, int
if (neg)
continue;
val = convmul * val / convdiv;
- if ((min && val < *min) || (max && val > *max))
- continue;
+ if ((min && val < *min) || (max && val > *max)) {
+ err = -EINVAL;
+ break;
+ }
*i = val;
} else {
val = convdiv * (*i) / convmul;
--
2.20.1



2019-06-13 16:10:03

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.1 007/155] ipc: prevent lockup on alloc_msg and free_msg

[ Upstream commit d6a2946a88f524a47cc9b79279667137899db807 ]

msgctl10 of ltp triggers the following lockup When CONFIG_KASAN is
enabled on large memory SMP systems, the pages initialization can take a
long time, if msgctl10 requests a huge block memory, and it will block
rcu scheduler, so release cpu actively.

After adding schedule() in free_msg, free_msg can not be called when
holding spinlock, so adding msg to a tmp list, and free it out of
spinlock

rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
rcu: Tasks blocked on level-1 rcu_node (CPUs 16-31): P32505
rcu: Tasks blocked on level-1 rcu_node (CPUs 48-63): P34978
rcu: (detected by 11, t=35024 jiffies, g=44237529, q=16542267)
msgctl10 R running task 21608 32505 2794 0x00000082
Call Trace:
preempt_schedule_irq+0x4c/0xb0
retint_kernel+0x1b/0x2d
RIP: 0010:__is_insn_slot_addr+0xfb/0x250
Code: 82 1d 00 48 8b 9b 90 00 00 00 4c 89 f7 49 c1 ee 03 e8 59 83 1d 00 48 b8 00 00 00 00 00 fc ff df 4c 39 eb 48 89 9d 58 ff ff ff <41> c6 04 06 f8 74 66 4c 8d 75 98 4c 89 f1 48 c1 e9 03 48 01 c8 48
RSP: 0018:ffff88bce041f758 EFLAGS: 00000246 ORIG_RAX: ffffffffffffff13
RAX: dffffc0000000000 RBX: ffffffff8471bc50 RCX: ffffffff828a2a57
RDX: dffffc0000000000 RSI: dffffc0000000000 RDI: ffff88bce041f780
RBP: ffff88bce041f828 R08: ffffed15f3f4c5b3 R09: ffffed15f3f4c5b3
R10: 0000000000000001 R11: ffffed15f3f4c5b2 R12: 000000318aee9b73
R13: ffffffff8471bc50 R14: 1ffff1179c083ef0 R15: 1ffff1179c083eec
kernel_text_address+0xc1/0x100
__kernel_text_address+0xe/0x30
unwind_get_return_address+0x2f/0x50
__save_stack_trace+0x92/0x100
create_object+0x380/0x650
__kmalloc+0x14c/0x2b0
load_msg+0x38/0x1a0
do_msgsnd+0x19e/0xcf0
do_syscall_64+0x117/0x400
entry_SYSCALL_64_after_hwframe+0x49/0xbe

rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
rcu: Tasks blocked on level-1 rcu_node (CPUs 0-15): P32170
rcu: (detected by 14, t=35016 jiffies, g=44237525, q=12423063)
msgctl10 R running task 21608 32170 32155 0x00000082
Call Trace:
preempt_schedule_irq+0x4c/0xb0
retint_kernel+0x1b/0x2d
RIP: 0010:lock_acquire+0x4d/0x340
Code: 48 81 ec c0 00 00 00 45 89 c6 4d 89 cf 48 8d 6c 24 20 48 89 3c 24 48 8d bb e4 0c 00 00 89 74 24 0c 48 c7 44 24 20 b3 8a b5 41 <48> c1 ed 03 48 c7 44 24 28 b4 25 18 84 48 c7 44 24 30 d0 54 7a 82
RSP: 0018:ffff88af83417738 EFLAGS: 00000282 ORIG_RAX: ffffffffffffff13
RAX: dffffc0000000000 RBX: ffff88bd335f3080 RCX: 0000000000000002
RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff88bd335f3d64
RBP: ffff88af83417758 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000001 R11: ffffed13f3f745b2 R12: 0000000000000000
R13: 0000000000000002 R14: 0000000000000000 R15: 0000000000000000
is_bpf_text_address+0x32/0xe0
kernel_text_address+0xec/0x100
__kernel_text_address+0xe/0x30
unwind_get_return_address+0x2f/0x50
__save_stack_trace+0x92/0x100
save_stack+0x32/0xb0
__kasan_slab_free+0x130/0x180
kfree+0xfa/0x2d0
free_msg+0x24/0x50
do_msgrcv+0x508/0xe60
do_syscall_64+0x117/0x400
entry_SYSCALL_64_after_hwframe+0x49/0xbe

Davidlohr said:
"So after releasing the lock, the msg rbtree/list is empty and new
calls will not see those in the newly populated tmp_msg list, and
therefore they cannot access the delayed msg freeing pointers, which
is good. Also the fact that the node_cache is now freed before the
actual messages seems to be harmless as this is wanted for
msg_insert() avoiding GFP_ATOMIC allocations, and after releasing the
info->lock the thing is freed anyway so it should not change things"

Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Li RongQing <[email protected]>
Signed-off-by: Zhang Yu <[email protected]>
Reviewed-by: Davidlohr Bueso <[email protected]>
Cc: Manfred Spraul <[email protected]>
Cc: Arnd Bergmann <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
ipc/mqueue.c | 10 ++++++++--
ipc/msgutil.c | 6 ++++++
2 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/ipc/mqueue.c b/ipc/mqueue.c
index aea30530c472..127ba1e8950b 100644
--- a/ipc/mqueue.c
+++ b/ipc/mqueue.c
@@ -436,7 +436,8 @@ static void mqueue_evict_inode(struct inode *inode)
struct user_struct *user;
unsigned long mq_bytes, mq_treesize;
struct ipc_namespace *ipc_ns;
- struct msg_msg *msg;
+ struct msg_msg *msg, *nmsg;
+ LIST_HEAD(tmp_msg);

clear_inode(inode);

@@ -447,10 +448,15 @@ static void mqueue_evict_inode(struct inode *inode)
info = MQUEUE_I(inode);
spin_lock(&info->lock);
while ((msg = msg_get(info)) != NULL)
- free_msg(msg);
+ list_add_tail(&msg->m_list, &tmp_msg);
kfree(info->node_cache);
spin_unlock(&info->lock);

+ list_for_each_entry_safe(msg, nmsg, &tmp_msg, m_list) {
+ list_del(&msg->m_list);
+ free_msg(msg);
+ }
+
/* Total amount of bytes accounted for the mqueue */
mq_treesize = info->attr.mq_maxmsg * sizeof(struct msg_msg) +
min_t(unsigned int, info->attr.mq_maxmsg, MQ_PRIO_MAX) *
diff --git a/ipc/msgutil.c b/ipc/msgutil.c
index 84598025a6ad..e65593742e2b 100644
--- a/ipc/msgutil.c
+++ b/ipc/msgutil.c
@@ -18,6 +18,7 @@
#include <linux/utsname.h>
#include <linux/proc_ns.h>
#include <linux/uaccess.h>
+#include <linux/sched.h>

#include "util.h"

@@ -64,6 +65,9 @@ static struct msg_msg *alloc_msg(size_t len)
pseg = &msg->next;
while (len > 0) {
struct msg_msgseg *seg;
+
+ cond_resched();
+
alen = min(len, DATALEN_SEG);
seg = kmalloc(sizeof(*seg) + alen, GFP_KERNEL_ACCOUNT);
if (seg == NULL)
@@ -176,6 +180,8 @@ void free_msg(struct msg_msg *msg)
kfree(msg);
while (seg != NULL) {
struct msg_msgseg *tmp = seg->next;
+
+ cond_resched();
kfree(seg);
seg = tmp;
}
--
2.20.1



2019-06-13 16:10:05

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.1 011/155] ARM: prevent tracing IPI_CPU_BACKTRACE

[ Upstream commit be167862ae7dd85c56d385209a4890678e1b0488 ]

Patch series "compiler: allow all arches to enable
CONFIG_OPTIMIZE_INLINING", v3.

This patch (of 11):

When function tracing for IPIs is enabled, we get a warning for an
overflow of the ipi_types array with the IPI_CPU_BACKTRACE type as
triggered by raise_nmi():

arch/arm/kernel/smp.c: In function 'raise_nmi':
arch/arm/kernel/smp.c:489:2: error: array subscript is above array bounds [-Werror=array-bounds]
trace_ipi_raise(target, ipi_types[ipinr]);

This is a correct warning as we actually overflow the array here.

This patch raise_nmi() to call __smp_cross_call() instead of
smp_cross_call(), to avoid calling into ftrace. For clarification, I'm
also adding a two new code comments describing how this one is special.

The warning appears to have shown up after commit e7273ff49acf ("ARM:
8488/1: Make IPI_CPU_BACKTRACE a "non-secure" SGI"), which changed the
number assignment from '15' to '8', but as far as I can tell has existed
since the IPI tracepoints were first introduced. If we decide to
backport this patch to stable kernels, we probably need to backport
e7273ff49acf as well.

[[email protected]: rebase on v5.1-rc1]
Link: http://lkml.kernel.org/r/[email protected]
Fixes: e7273ff49acf ("ARM: 8488/1: Make IPI_CPU_BACKTRACE a "non-secure" SGI")
Fixes: 365ec7b17327 ("ARM: add IPI tracepoints") # v3.17
Signed-off-by: Arnd Bergmann <[email protected]>
Signed-off-by: Masahiro Yamada <[email protected]>
Cc: Heiko Carstens <[email protected]>
Cc: Arnd Bergmann <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Christophe Leroy <[email protected]>
Cc: Mathieu Malaterre <[email protected]>
Cc: "H. Peter Anvin" <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: Benjamin Herrenschmidt <[email protected]>
Cc: Paul Mackerras <[email protected]>
Cc: Ralf Baechle <[email protected]>
Cc: Stefan Agner <[email protected]>
Cc: Boris Brezillon <[email protected]>
Cc: Miquel Raynal <[email protected]>
Cc: Richard Weinberger <[email protected]>
Cc: David Woodhouse <[email protected]>
Cc: Brian Norris <[email protected]>
Cc: Marek Vasut <[email protected]>
Cc: Russell King <[email protected]>
Cc: Borislav Petkov <[email protected]>
Cc: Mark Rutland <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
arch/arm/include/asm/hardirq.h | 1 +
arch/arm/kernel/smp.c | 6 +++++-
2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/arch/arm/include/asm/hardirq.h b/arch/arm/include/asm/hardirq.h
index cba23eaa6072..7a88f160b1fb 100644
--- a/arch/arm/include/asm/hardirq.h
+++ b/arch/arm/include/asm/hardirq.h
@@ -6,6 +6,7 @@
#include <linux/threads.h>
#include <asm/irq.h>

+/* number of IPIS _not_ including IPI_CPU_BACKTRACE */
#define NR_IPI 7

typedef struct {
diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c
index facd4240ca02..c93fe0f256de 100644
--- a/arch/arm/kernel/smp.c
+++ b/arch/arm/kernel/smp.c
@@ -70,6 +70,10 @@ enum ipi_msg_type {
IPI_CPU_STOP,
IPI_IRQ_WORK,
IPI_COMPLETION,
+ /*
+ * CPU_BACKTRACE is special and not included in NR_IPI
+ * or tracable with trace_ipi_*
+ */
IPI_CPU_BACKTRACE,
/*
* SGI8-15 can be reserved by secure firmware, and thus may
@@ -797,7 +801,7 @@ core_initcall(register_cpufreq_notifier);

static void raise_nmi(cpumask_t *mask)
{
- smp_cross_call(mask, IPI_CPU_BACKTRACE);
+ __smp_cross_call(mask, IPI_CPU_BACKTRACE);
}

void arch_trigger_cpumask_backtrace(const cpumask_t *mask, bool exclude_self)
--
2.20.1



2019-06-13 16:10:11

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.1 010/155] mm/mprotect.c: fix compilation warning because of unused mm variable

[ Upstream commit 94393c78964c432917014e3a456fa15c3e78f741 ]

Since 0cbe3e26abe0 ("mm: update ptep_modify_prot_start/commit to take
vm_area_struct as arg") the only place that uses the local 'mm' variable
in change_pte_range() is the call to set_pte_at().

Many architectures define set_pte_at() as macro that does not use the 'mm'
parameter, which generates the following compilation warning:

CC mm/mprotect.o
mm/mprotect.c: In function 'change_pte_range':
mm/mprotect.c:42:20: warning: unused variable 'mm' [-Wunused-variable]
struct mm_struct *mm = vma->vm_mm;
^~

Fix it by passing vma->mm to set_pte_at() and dropping the local 'mm'
variable in change_pte_range().

[[email protected]: fix missed conversions]
Link: http://lkml.kernel.org/r/CAPhsuW6wcQgYLHNdBdw6m0YiR4RWsS4XzfpSKU7wBLLeOCTbpw@mail.gmail.comLink: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Mike Rapoport <[email protected]>
Reviewed-by: Andrew Morton <[email protected]>
Cc: Song Liu <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
mm/mprotect.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/mm/mprotect.c b/mm/mprotect.c
index 028c724dcb1a..ab40f3d04aa3 100644
--- a/mm/mprotect.c
+++ b/mm/mprotect.c
@@ -39,7 +39,6 @@ static unsigned long change_pte_range(struct vm_area_struct *vma, pmd_t *pmd,
unsigned long addr, unsigned long end, pgprot_t newprot,
int dirty_accountable, int prot_numa)
{
- struct mm_struct *mm = vma->vm_mm;
pte_t *pte, oldpte;
spinlock_t *ptl;
unsigned long pages = 0;
@@ -136,7 +135,7 @@ static unsigned long change_pte_range(struct vm_area_struct *vma, pmd_t *pmd,
newpte = swp_entry_to_pte(entry);
if (pte_swp_soft_dirty(oldpte))
newpte = pte_swp_mksoft_dirty(newpte);
- set_pte_at(mm, addr, pte, newpte);
+ set_pte_at(vma->vm_mm, addr, pte, newpte);

pages++;
}
@@ -150,7 +149,7 @@ static unsigned long change_pte_range(struct vm_area_struct *vma, pmd_t *pmd,
*/
make_device_private_entry_read(&entry);
newpte = swp_entry_to_pte(entry);
- set_pte_at(mm, addr, pte, newpte);
+ set_pte_at(vma->vm_mm, addr, pte, newpte);

pages++;
}
--
2.20.1



2019-06-13 16:10:16

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.1 023/155] mm/slab.c: fix an infinite loop in leaks_show()

[ Upstream commit 745e10146c31b1c6ed3326286704ae251b17f663 ]

"cat /proc/slab_allocators" could hang forever on SMP machines with
kmemleak or object debugging enabled due to other CPUs running do_drain()
will keep making kmemleak_object or debug_objects_cache dirty and unable
to escape the first loop in leaks_show(),

do {
set_store_user_clean(cachep);
drain_cpu_caches(cachep);
...

} while (!is_store_user_clean(cachep));

For example,

do_drain
slabs_destroy
slab_destroy
kmem_cache_free
__cache_free
___cache_free
kmemleak_free_recursive
delete_object_full
__delete_object
put_object
free_object_rcu
kmem_cache_free
cache_free_debugcheck --> dirty kmemleak_object

One approach is to check cachep->name and skip both kmemleak_object and
debug_objects_cache in leaks_show(). The other is to set store_user_clean
after drain_cpu_caches() which leaves a small window between
drain_cpu_caches() and set_store_user_clean() where per-CPU caches could
be dirty again lead to slightly wrong information has been stored but
could also speed up things significantly which sounds like a good
compromise. For example,

# cat /proc/slab_allocators
0m42.778s # 1st approach
0m0.737s # 2nd approach

[[email protected]: tweak comment]
Link: http://lkml.kernel.org/r/[email protected]
Fixes: d31676dfde25 ("mm/slab: alternative implementation for DEBUG_SLAB_LEAK")
Signed-off-by: Qian Cai <[email protected]>
Reviewed-by: Andrew Morton <[email protected]>
Cc: Vlastimil Babka <[email protected]>
Cc: Christoph Lameter <[email protected]>
Cc: Pekka Enberg <[email protected]>
Cc: David Rientjes <[email protected]>
Cc: Joonsoo Kim <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
mm/slab.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/mm/slab.c b/mm/slab.c
index 9142ee992493..fbbef79e1ad5 100644
--- a/mm/slab.c
+++ b/mm/slab.c
@@ -4328,8 +4328,12 @@ static int leaks_show(struct seq_file *m, void *p)
* whole processing.
*/
do {
- set_store_user_clean(cachep);
drain_cpu_caches(cachep);
+ /*
+ * drain_cpu_caches() could make kmemleak_object and
+ * debug_objects_cache dirty, so reset afterwards.
+ */
+ set_store_user_clean(cachep);

x[1] = 0;

--
2.20.1



2019-06-13 16:10:17

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.1 002/155] media: rockchip/vpu: Fix/re-order probe-error/remove path

[ Upstream commit fc8670d1f72b746ff3a5fe441f1fca4c4dba0e6f ]

media_device_cleanup() and v4l2_m2m_unregister_media_controller() were
missing in the probe error path.
While at it, re-order calls in the remove path to unregister/cleanup
things in the reverse order they were initialized/registered.

Signed-off-by: Jonas Karlman <[email protected]>
Signed-off-by: Boris Brezillon <[email protected]>
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
drivers/staging/media/rockchip/vpu/rockchip_vpu_drv.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/media/rockchip/vpu/rockchip_vpu_drv.c b/drivers/staging/media/rockchip/vpu/rockchip_vpu_drv.c
index 962412c79b91..33b556b3f0df 100644
--- a/drivers/staging/media/rockchip/vpu/rockchip_vpu_drv.c
+++ b/drivers/staging/media/rockchip/vpu/rockchip_vpu_drv.c
@@ -481,10 +481,12 @@ static int rockchip_vpu_probe(struct platform_device *pdev)
return 0;
err_video_dev_unreg:
if (vpu->vfd_enc) {
+ v4l2_m2m_unregister_media_controller(vpu->m2m_dev);
video_unregister_device(vpu->vfd_enc);
video_device_release(vpu->vfd_enc);
}
err_m2m_rel:
+ media_device_cleanup(&vpu->mdev);
v4l2_m2m_release(vpu->m2m_dev);
err_v4l2_unreg:
v4l2_device_unregister(&vpu->v4l2_dev);
@@ -501,13 +503,13 @@ static int rockchip_vpu_remove(struct platform_device *pdev)
v4l2_info(&vpu->v4l2_dev, "Removing %s\n", pdev->name);

media_device_unregister(&vpu->mdev);
- v4l2_m2m_unregister_media_controller(vpu->m2m_dev);
- v4l2_m2m_release(vpu->m2m_dev);
- media_device_cleanup(&vpu->mdev);
if (vpu->vfd_enc) {
+ v4l2_m2m_unregister_media_controller(vpu->m2m_dev);
video_unregister_device(vpu->vfd_enc);
video_device_release(vpu->vfd_enc);
}
+ media_device_cleanup(&vpu->mdev);
+ v4l2_m2m_release(vpu->m2m_dev);
v4l2_device_unregister(&vpu->v4l2_dev);
clk_bulk_unprepare(vpu->variant->num_clocks, vpu->clocks);
pm_runtime_disable(vpu->dev);
--
2.20.1



2019-06-13 16:11:12

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.1 004/155] rapidio: fix a NULL pointer dereference when create_workqueue() fails

[ Upstream commit 23015b22e47c5409620b1726a677d69e5cd032ba ]

In case create_workqueue fails, the fix releases resources and returns
-ENOMEM to avoid NULL pointer dereference.

Signed-off-by: Kangjie Lu <[email protected]>
Acked-by: Alexandre Bounine <[email protected]>
Cc: Matt Porter <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
drivers/rapidio/rio_cm.c | 8 ++++++++
1 file changed, 8 insertions(+)

diff --git a/drivers/rapidio/rio_cm.c b/drivers/rapidio/rio_cm.c
index cf45829585cb..b29fc258eeba 100644
--- a/drivers/rapidio/rio_cm.c
+++ b/drivers/rapidio/rio_cm.c
@@ -2147,6 +2147,14 @@ static int riocm_add_mport(struct device *dev,
mutex_init(&cm->rx_lock);
riocm_rx_fill(cm, RIOCM_RX_RING_SIZE);
cm->rx_wq = create_workqueue(DRV_NAME "/rxq");
+ if (!cm->rx_wq) {
+ riocm_error("failed to allocate IBMBOX_%d on %s",
+ cmbox, mport->name);
+ rio_release_outb_mbox(mport, cmbox);
+ kfree(cm);
+ return -ENOMEM;
+ }
+
INIT_WORK(&cm->rx_work, rio_ibmsg_handler);

cm->tx_slot = 0;
--
2.20.1



2019-06-13 16:11:38

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 5.1 001/155] Revert "drm: allow render capable master with DRM_AUTH ioctls"

[ Upstream commit dbb92471674a48892f5e50779425e03388073ab9 ]

This reverts commit 8059add0478e29cb641936011a8fcc9ce9fd80be.

This commit while seemingly a good idea, breaks a radv check,
for a node being master because something succeeds where it failed
before now.

Apply the Linus rule, revert early and try again, we don't break
userspace.

Signed-off-by: Dave Airlie <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
drivers/gpu/drm/drm_ioctl.c | 20 ++++----------------
1 file changed, 4 insertions(+), 16 deletions(-)

diff --git a/drivers/gpu/drm/drm_ioctl.c b/drivers/gpu/drm/drm_ioctl.c
index 687943df58e1..ab5692104ea0 100644
--- a/drivers/gpu/drm/drm_ioctl.c
+++ b/drivers/gpu/drm/drm_ioctl.c
@@ -508,13 +508,6 @@ int drm_version(struct drm_device *dev, void *data,
return err;
}

-static inline bool
-drm_render_driver_and_ioctl(const struct drm_device *dev, u32 flags)
-{
- return drm_core_check_feature(dev, DRIVER_RENDER) &&
- (flags & DRM_RENDER_ALLOW);
-}
-
/**
* drm_ioctl_permit - Check ioctl permissions against caller
*
@@ -529,19 +522,14 @@ drm_render_driver_and_ioctl(const struct drm_device *dev, u32 flags)
*/
int drm_ioctl_permit(u32 flags, struct drm_file *file_priv)
{
- const struct drm_device *dev = file_priv->minor->dev;
-
/* ROOT_ONLY is only for CAP_SYS_ADMIN */
if (unlikely((flags & DRM_ROOT_ONLY) && !capable(CAP_SYS_ADMIN)))
return -EACCES;

- /* AUTH is only for master ... */
- if (unlikely((flags & DRM_AUTH) && drm_is_primary_client(file_priv))) {
- /* authenticated ones, or render capable on DRM_RENDER_ALLOW. */
- if (!file_priv->authenticated &&
- !drm_render_driver_and_ioctl(dev, flags))
- return -EACCES;
- }
+ /* AUTH is only for authenticated or render client */
+ if (unlikely((flags & DRM_AUTH) && !drm_is_render_client(file_priv) &&
+ !file_priv->authenticated))
+ return -EACCES;

/* MASTER is only for master or control clients */
if (unlikely((flags & DRM_MASTER) &&
--
2.20.1



2019-06-13 17:40:06

by kernelci.org bot

[permalink] [raw]
Subject: Re: [PATCH 5.1 000/155] 5.1.10-stable review

stable-rc/linux-5.1.y boot: 59 boots: 0 failed, 59 passed (v5.1.9-156-g10f90b20eaf9)

Full Boot Summary: https://kernelci.org/boot/all/job/stable-rc/branch/linux-5.1.y/kernel/v5.1.9-156-g10f90b20eaf9/
Full Build Summary: https://kernelci.org/build/stable-rc/branch/linux-5.1.y/kernel/v5.1.9-156-g10f90b20eaf9/

Tree: stable-rc
Branch: linux-5.1.y
Git Describe: v5.1.9-156-g10f90b20eaf9
Git Commit: 10f90b20eaf9cf31c4ea0cbaf10dfdd807834a6c
Git URL: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
Tested: 29 unique boards, 14 SoC families, 11 builds out of 209

---
For more info write to <[email protected]>

2019-06-13 18:41:24

by Naresh Kamboju

[permalink] [raw]
Subject: Re: [PATCH 5.1 000/155] 5.1.10-stable review

On Thu, 13 Jun 2019 at 14:15, Greg Kroah-Hartman
<[email protected]> wrote:
>
> This is the start of the stable review cycle for the 5.1.10 release.
> There are 155 patches in this series, all will be posted as a response
> to this one. If anyone has any issues with these being applied, please
> let me know.
>
> Responses should be made by Sat 15 Jun 2019 07:54:40 AM UTC.
> Anything received after that time might be too late.
>
> The whole patch series can be found in one patch at:
> https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.1.10-rc1.gz
> or in the git tree and branch at:
> git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.1.y
> and the diffstat can be found below.
>
> thanks,
>
> greg k-h
>

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

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

kernel: 5.1.10-rc2
git repo: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
git branch: linux-5.1.y
git commit: b7eabc3862b8717f2bcc47f3f3830ec575423c8c
git describe: v5.1.9-157-gb7eabc3862b8
Test details: https://qa-reports.linaro.org/lkft/linux-stable-rc-5.1-oe/build/v5.1.9-157-gb7eabc3862b8

No regressions (compared to build v5.1.8-72-g2df16141a2c4)

No fixes (compared to build v5.1.8-72-g2df16141a2c4)

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

Environments
--------------
- dragonboard-410c
- hi6220-hikey
- i386
- juno-r2
- qemu_arm
- qemu_arm64
- qemu_i386
- qemu_x86_64
- x15
- x86

Test Suites
-----------
* build
* install-android-platform-tools-r2600
* kselftest
* libgpiod
* libhugetlbfs
* ltp-commands-tests
* ltp-containers-tests
* ltp-cve-tests
* ltp-dio-tests
* ltp-hugetlb-tests
* ltp-io-tests
* ltp-math-tests
* ltp-mm-tests
* ltp-sched-tests
* spectre-meltdown-checker-test
* ltp-cap_bounds-tests
* ltp-cpuhotplug-tests
* ltp-fcntl-locktests-tests
* ltp-filecaps-tests
* ltp-fs-tests
* ltp-fs_bind-tests
* ltp-fs_perms_simple-tests
* ltp-fsx-tests
* ltp-ipc-tests
* ltp-nptl-tests
* ltp-pty-tests
* ltp-securebits-tests
* ltp-syscalls-tests
* ltp-timers-tests
* network-basic-tests
* perf
* v4l2-compliance
* ltp-open-posix-tests
* kvm-unit-tests
* kselftest-vsyscall-mode-native
* kselftest-vsyscall-mode-none

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

2019-06-13 20:05:16

by Guenter Roeck

[permalink] [raw]
Subject: Re: [PATCH 5.1 000/155] 5.1.10-stable review

On 6/13/19 1:31 AM, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 5.1.10 release.
> There are 155 patches in this series, all will be posted as a response
> to this one. If anyone has any issues with these being applied, please
> let me know.
>
> Responses should be made by Sat 15 Jun 2019 07:54:40 AM UTC.
> Anything received after that time might be too late.
>

Build results:
total: 159 pass: 159 fail: 0
Qemu test results:
total: 354 pass: 354 fail: 0

Guenter

2019-06-13 20:09:32

by Jiunn Chang

[permalink] [raw]
Subject: Re: [PATCH 5.1 000/155] 5.1.10-stable review

On Thu, Jun 13, 2019 at 10:31:52AM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 5.1.10 release.
> There are 155 patches in this series, all will be posted as a response
> to this one. If anyone has any issues with these being applied, please
> let me know.
>
> Responses should be made by Sat 15 Jun 2019 07:54:40 AM UTC.
> Anything received after that time might be too late.
>
> The whole patch series can be found in one patch at:
> https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.1.10-rc1.gz
> or in the git tree and branch at:
> git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.1.y
> and the diffstat can be found below.
>
> thanks,
>
> greg k-h
>
> -------------
Compiled and booted. No regressions on x86_64.

This is for 5.1.10-rc2 from git --no-pager log --oneline -1.

THX

2019-06-14 00:45:12

by Shuah Khan

[permalink] [raw]
Subject: Re: [PATCH 5.1 000/155] 5.1.10-stable review

On 6/13/19 2:31 AM, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 5.1.10 release.
> There are 155 patches in this series, all will be posted as a response
> to this one. If anyone has any issues with these being applied, please
> let me know.
>
> Responses should be made by Sat 15 Jun 2019 07:54:40 AM UTC.
> Anything received after that time might be too late.
>
> The whole patch series can be found in one patch at:
> https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.1.10-rc1.gz
> or in the git tree and branch at:
> git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.1.y
> and the diffstat can be found below.
>
> thanks,
>
> greg k-h
>

Compiled and booted on my test system. No dmesg regressions.

thanks,
-- Shuah

2019-06-14 05:49:42

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH 5.1 000/155] 5.1.10-stable review

On Fri, Jun 14, 2019 at 12:09:12AM +0530, Naresh Kamboju wrote:
> On Thu, 13 Jun 2019 at 14:15, Greg Kroah-Hartman
> <[email protected]> wrote:
> >
> > This is the start of the stable review cycle for the 5.1.10 release.
> > There are 155 patches in this series, all will be posted as a response
> > to this one. If anyone has any issues with these being applied, please
> > let me know.
> >
> > Responses should be made by Sat 15 Jun 2019 07:54:40 AM UTC.
> > Anything received after that time might be too late.
> >
> > The whole patch series can be found in one patch at:
> > https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.1.10-rc1.gz
> > or in the git tree and branch at:
> > git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.1.y
> > and the diffstat can be found below.
> >
> > thanks,
> >
> > greg k-h
> >
>
> Results from Linaro’s test farm.
> No regressions on arm64, arm, x86_64, and i386.

Thanks for testing all of these and letting me know.

greg k-h

2019-06-14 05:51:40

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH 5.1 000/155] 5.1.10-stable review

On Thu, Jun 13, 2019 at 03:08:49PM -0500, Jiunn Chang wrote:
> On Thu, Jun 13, 2019 at 10:31:52AM +0200, Greg Kroah-Hartman wrote:
> > This is the start of the stable review cycle for the 5.1.10 release.
> > There are 155 patches in this series, all will be posted as a response
> > to this one. If anyone has any issues with these being applied, please
> > let me know.
> >
> > Responses should be made by Sat 15 Jun 2019 07:54:40 AM UTC.
> > Anything received after that time might be too late.
> >
> > The whole patch series can be found in one patch at:
> > https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.1.10-rc1.gz
> > or in the git tree and branch at:
> > git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.1.y
> > and the diffstat can be found below.
> >
> > thanks,
> >
> > greg k-h
> >
> > -------------
> Compiled and booted. No regressions on x86_64.
>
> This is for 5.1.10-rc2 from git --no-pager log --oneline -1.

What do you mean by 'git --no-pager log --oneline -1' ?

thanks for testing,

greg k-h

2019-06-14 05:51:44

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH 5.1 000/155] 5.1.10-stable review

On Thu, Jun 13, 2019 at 06:44:40PM -0600, shuah wrote:
> On 6/13/19 2:31 AM, Greg Kroah-Hartman wrote:
> > This is the start of the stable review cycle for the 5.1.10 release.
> > There are 155 patches in this series, all will be posted as a response
> > to this one. If anyone has any issues with these being applied, please
> > let me know.
> >
> > Responses should be made by Sat 15 Jun 2019 07:54:40 AM UTC.
> > Anything received after that time might be too late.
> >
> > The whole patch series can be found in one patch at:
> > https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.1.10-rc1.gz
> > or in the git tree and branch at:
> > git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.1.y
> > and the diffstat can be found below.
> >
> > thanks,
> >
> > greg k-h
> >
>
> Compiled and booted on my test system. No dmesg regressions.

Great, thanks for testing and letting me know.

greg k-h

2019-06-14 05:53:37

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH 5.1 000/155] 5.1.10-stable review

On Thu, Jun 13, 2019 at 01:03:08PM -0700, Guenter Roeck wrote:
> On 6/13/19 1:31 AM, Greg Kroah-Hartman wrote:
> > This is the start of the stable review cycle for the 5.1.10 release.
> > There are 155 patches in this series, all will be posted as a response
> > to this one. If anyone has any issues with these being applied, please
> > let me know.
> >
> > Responses should be made by Sat 15 Jun 2019 07:54:40 AM UTC.
> > Anything received after that time might be too late.
> >
>
> Build results:
> total: 159 pass: 159 fail: 0
> Qemu test results:
> total: 354 pass: 354 fail: 0

Great, thanks for testing and letting me know.

greg k-h

2019-06-14 06:45:26

by Jiunn Chang

[permalink] [raw]
Subject: Re: [PATCH 5.1 000/155] 5.1.10-stable review

On Fri, Jun 14, 2019 at 07:50:40AM +0200, Greg Kroah-Hartman wrote:
> On Thu, Jun 13, 2019 at 03:08:49PM -0500, Jiunn Chang wrote:
> > On Thu, Jun 13, 2019 at 10:31:52AM +0200, Greg Kroah-Hartman wrote:
> > > This is the start of the stable review cycle for the 5.1.10 release.
> > > There are 155 patches in this series, all will be posted as a response
> > > to this one. If anyone has any issues with these being applied, please
> > > let me know.
> > >
> > > Responses should be made by Sat 15 Jun 2019 07:54:40 AM UTC.
> > > Anything received after that time might be too late.
> > >
> > > The whole patch series can be found in one patch at:
> > > https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.1.10-rc1.gz
> > > or in the git tree and branch at:
> > > git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.1.y
> > > and the diffstat can be found below.
> > >
> > > thanks,
> > >
> > > greg k-h
> > >
> > > -------------
> > Compiled and booted. No regressions on x86_64.
> >
> > This is for 5.1.10-rc2 from git --no-pager log --oneline -1.
>
> What do you mean by 'git --no-pager log --oneline -1' ?

Hello. I must have missed an email somewhere. The review request was for 5.1.10-rc1
but I only had 5.1.10-rc2 from the logs. Sorry for the confusion.
>
> thanks for testing,
>
> greg k-h

2019-06-14 06:53:16

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH 5.1 000/155] 5.1.10-stable review

On Fri, Jun 14, 2019 at 01:44:56AM -0500, Jiunn Chang wrote:
> On Fri, Jun 14, 2019 at 07:50:40AM +0200, Greg Kroah-Hartman wrote:
> > On Thu, Jun 13, 2019 at 03:08:49PM -0500, Jiunn Chang wrote:
> > > On Thu, Jun 13, 2019 at 10:31:52AM +0200, Greg Kroah-Hartman wrote:
> > > > This is the start of the stable review cycle for the 5.1.10 release.
> > > > There are 155 patches in this series, all will be posted as a response
> > > > to this one. If anyone has any issues with these being applied, please
> > > > let me know.
> > > >
> > > > Responses should be made by Sat 15 Jun 2019 07:54:40 AM UTC.
> > > > Anything received after that time might be too late.
> > > >
> > > > The whole patch series can be found in one patch at:
> > > > https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.1.10-rc1.gz
> > > > or in the git tree and branch at:
> > > > git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.1.y
> > > > and the diffstat can be found below.
> > > >
> > > > thanks,
> > > >
> > > > greg k-h
> > > >
> > > > -------------
> > > Compiled and booted. No regressions on x86_64.
> > >
> > > This is for 5.1.10-rc2 from git --no-pager log --oneline -1.
> >
> > What do you mean by 'git --no-pager log --oneline -1' ?
>
> Hello. I must have missed an email somewhere. The review request was for 5.1.10-rc1
> but I only had 5.1.10-rc2 from the logs. Sorry for the confusion.

Ah, thanks, that made sense. I pushed out a -rc2 because of some missed
patches and dropping one as well.

thanks,

greg k-h

2019-06-14 10:29:21

by Jon Hunter

[permalink] [raw]
Subject: Re: [PATCH 5.1 000/155] 5.1.10-stable review


On 13/06/2019 09:31, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 5.1.10 release.
> There are 155 patches in this series, all will be posted as a response
> to this one. If anyone has any issues with these being applied, please
> let me know.
>
> Responses should be made by Sat 15 Jun 2019 07:54:40 AM UTC.
> Anything received after that time might be too late.
>
> The whole patch series can be found in one patch at:
> https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.1.10-rc1.gz
> or in the git tree and branch at:
> git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.1.y
> and the diffstat can be found below.
>
> thanks,
>
> greg k-h

All tests are passing for Tegra ...

Test results for stable-v5.1:
12 builds: 12 pass, 0 fail
22 boots: 22 pass, 0 fail
32 tests: 32 pass, 0 fail

Linux version: 5.1.10-rc2-gb7eabc3862b8
Boards tested: tegra124-jetson-tk1, tegra186-p2771-0000,
tegra194-p2972-0000, tegra20-ventana,
tegra210-p2371-2180, tegra30-cardhu-a04

Cheers
Jon

--
nvpublic

2019-06-14 13:57:41

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH 5.1 000/155] 5.1.10-stable review

On Fri, Jun 14, 2019 at 11:28:12AM +0100, Jon Hunter wrote:
>
> On 13/06/2019 09:31, Greg Kroah-Hartman wrote:
> > This is the start of the stable review cycle for the 5.1.10 release.
> > There are 155 patches in this series, all will be posted as a response
> > to this one. If anyone has any issues with these being applied, please
> > let me know.
> >
> > Responses should be made by Sat 15 Jun 2019 07:54:40 AM UTC.
> > Anything received after that time might be too late.
> >
> > The whole patch series can be found in one patch at:
> > https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.1.10-rc1.gz
> > or in the git tree and branch at:
> > git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.1.y
> > and the diffstat can be found below.
> >
> > thanks,
> >
> > greg k-h
>
> All tests are passing for Tegra ...
>
> Test results for stable-v5.1:
> 12 builds: 12 pass, 0 fail
> 22 boots: 22 pass, 0 fail
> 32 tests: 32 pass, 0 fail
>
> Linux version: 5.1.10-rc2-gb7eabc3862b8
> Boards tested: tegra124-jetson-tk1, tegra186-p2771-0000,
> tegra194-p2972-0000, tegra20-ventana,
> tegra210-p2371-2180, tegra30-cardhu-a04
>

Wonderful, thanks for testing all of these and letting me know.

greg k-h