2019-05-06 15:06:36

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 4.19 00/99] 4.19.41-stable review

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

Responses should be made by Wed 08 May 2019 02:29:12 PM 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/v4.x/stable-review/patch-4.19.41-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-4.19.y
and the diffstat can be found below.

thanks,

greg k-h

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

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

Jacopo Mondi <[email protected]>
media: v4l2: i2c: ov7670: Fix PLL bypass register values

Nicolas Le Bayon <[email protected]>
i2c: i2c-stm32f7: Fix SDADEL minimum formula

Peter Zijlstra <[email protected]>
x86/mm/tlb: Revert "x86/mm: Align TLB invalidation info"

Qian Cai <[email protected]>
x86/mm: Fix a crash with kmemleak_scan()

Baoquan He <[email protected]>
x86/mm/KASLR: Fix the size of the direct mapping section

David Müller <[email protected]>
clk: x86: Add system specific quirk to mark clocks as critical

Tony Luck <[email protected]>
x86/mce: Improve error message when kernel cannot recover, p2

Aneesh Kumar K.V <[email protected]>
powerpc/mm/hash: Handle mmap_min_addr correctly in get_unmapped_area topdown search

Alexander Wetzel <[email protected]>
mac80211: Honor SW_CRYPTO_CONTROL for unicast keys in AP VLAN mode

Ondrej Mosnacek <[email protected]>
selinux: never allow relabeling on context mounts

Stephen Smalley <[email protected]>
selinux: avoid silent denials in permissive mode under RCU walk

Anson Huang <[email protected]>
gpio: mxc: add check to return defer probe if clock tree NOT ready

Dmitry Torokhov <[email protected]>
Input: stmfts - acknowledge that setting brightness is a blocking call

Anson Huang <[email protected]>
Input: snvs_pwrkey - initialize necessary driver data before enabling IRQ

Yuval Avnery <[email protected]>
IB/core: Destroy QP if XRC QP fails

Daniel Jurgens <[email protected]>
IB/core: Fix potential memory leak while creating MAD agents

Daniel Jurgens <[email protected]>
IB/core: Unregister notifier before freeing MAD security

Rajneesh Bhardwaj <[email protected]>
platform/x86: intel_pmc_core: Handle CFL regmap properly

Rajneesh Bhardwaj <[email protected]>
platform/x86: intel_pmc_core: Fix PCH IP name

Arnaud Pouliquen <[email protected]>
ASoC: stm32: fix sai driver name initialisation

Charles Keepax <[email protected]>
ASoC: wm_adsp: Correct handling of compressed streams that restart

Hans de Goede <[email protected]>
ASoC: Intel: bytcr_rt5651: Revert "Fix DMIC map headsetmic mapping"

Bart Van Assche <[email protected]>
scsi: RDMA/srpt: Fix a credit leak for aborted commands

Jeremy Fertic <[email protected]>
staging: iio: adt7316: fix the dac write calculation

Jeremy Fertic <[email protected]>
staging: iio: adt7316: fix the dac read calculation

Jeremy Fertic <[email protected]>
staging: iio: adt7316: allow adt751x to use internal vref for all dacs

Jeffrey Hugo <[email protected]>
clk: qcom: Add missing freq for usb30_master_clk on 8998

Sean Wang <[email protected]>
Bluetooth: mediatek: fix up an error path to restore bdev->tx_state

Brian Norris <[email protected]>
Bluetooth: btusb: request wake pin with NOAUTOEN

Kim Phillips <[email protected]>
perf/x86/amd: Update generic hardware cache events for Family 17h

Tetsuo Handa <[email protected]>
block: pass no-op callback to INIT_WORK().

Arnd Bergmann <[email protected]>
ARM: iop: don't use using 64-bit DMA masks

Arnd Bergmann <[email protected]>
ARM: orion: don't use using 64-bit DMA masks

Kirill Smelkov <[email protected]>
fs: stream_open - opener for stream-like files so that read and write can run simultaneously without deadlock

Guenter Roeck <[email protected]>
xsysace: Fix error handling in ace_setup

Randy Dunlap <[email protected]>
sh: fix multiple function definition build errors

Mike Kravetz <[email protected]>
hugetlbfs: fix memory leak for resv_map

Catalin Marinas <[email protected]>
kmemleak: powerpc: skip scanning holes in the .bss section

David Rientjes <[email protected]>
KVM: SVM: prevent DBG_DECRYPT and DBG_ENCRYPT overflow

Varun Prakash <[email protected]>
libcxgb: fix incorrect ppmax calculation

Yonglong Liu <[email protected]>
net: hns: Fix WARNING when remove HNS driver with SMMU enabled

Yonglong Liu <[email protected]>
net: hns: fix ICMP6 neighbor solicitation messages discard problem

Yonglong Liu <[email protected]>
net: hns: Fix probabilistic memory overwrite when HNS driver initialized

Yonglong Liu <[email protected]>
net: hns: Use NAPI_POLL_WEIGHT for hns driver

Liubin Shu <[email protected]>
net: hns: fix KASAN: use-after-free in hns_nic_net_xmit_hw()

Wei Li <[email protected]>
arm64: fix wrong check of on_sdei_stack in nmi context

Peng Hao <[email protected]>
arm/mach-at91/pm : fix possible object reference leak

Michael Kelley <[email protected]>
scsi: storvsc: Fix calculation of sub-channel count

Xose Vazquez Perez <[email protected]>
scsi: core: add new RDAC LENOVO/DE_Series device

Louis Taylor <[email protected]>
vfio/pci: use correct format characters

Dmitry Torokhov <[email protected]>
HID: input: add mapping for Assistant key

Alexandre Belloni <[email protected]>
rtc: da9063: set uie_unsupported when relevant

Shenghui Wang <[email protected]>
block: use blk_free_flush_queue() to free hctx->fq in blk_mq_init_hctx

Andreas Kemnade <[email protected]>
mfd: twl-core: Disable IRQ while suspended

Al Viro <[email protected]>
debugfs: fix use-after-free on symlink traversal

Al Viro <[email protected]>
jffs2: fix use-after-free on symlink traversal

Aaro Koskinen <[email protected]>
net: stmmac: don't log oversized frames

Aaro Koskinen <[email protected]>
net: stmmac: fix dropping of multi-descriptor RX frames

Aaro Koskinen <[email protected]>
net: stmmac: don't overwrite discard_frame status

Aaro Koskinen <[email protected]>
net: stmmac: don't stop NAPI processing when dropping a packet

Aaro Koskinen <[email protected]>
net: stmmac: ratelimit RX error logs

Aaro Koskinen <[email protected]>
net: stmmac: use correct DMA buffer size in the RX descriptor

Konstantin Khorenko <[email protected]>
bonding: show full hw address in sysfs for slave entries

Omri Kahalon <[email protected]>
net/mlx5: E-Switch, Fix esw manager vport indication for more vport commands

Xi Wang <[email protected]>
net: hns3: fix compile error

Jeffrey Hugo <[email protected]>
HID: quirks: Fix keyboard + touchpad on Lenovo Miix 630

Alan Kao <[email protected]>
riscv: fix accessing 8-byte variable from RV32

Arvind Sankar <[email protected]>
igb: Fix WARN_ONCE on runtime suspend

Axel Lin <[email protected]>
reset: meson-audio-arb: Fix missing .owner setting of reset_controller_dev

Douglas Anderson <[email protected]>
ARM: dts: rockchip: Fix gpu opp node names for rk3288

Anders Roxell <[email protected]>
batman-adv: fix warning in function batadv_v_elp_get_throughput

Sven Eckelmann <[email protected]>
batman-adv: Reduce tt_global hash refcnt only for removed entry

Sven Eckelmann <[email protected]>
batman-adv: Reduce tt_local hash refcnt only for removed entry

Sven Eckelmann <[email protected]>
batman-adv: Reduce claim hash refcnt only for removed entry

Geert Uytterhoeven <[email protected]>
rtc: sh: Fix invalid alarm warning for non-enabled alarm

Stephen Boyd <[email protected]>
rtc: cros-ec: Fail suspend/resume if wake IRQ can't be configured

He, Bo <[email protected]>
HID: debug: fix race condition with between rdesc_show() and device removal

Kangjie Lu <[email protected]>
HID: logitech: check the return value of create_singlethread_workqueue

Leonidas P. Papadakos <[email protected]>
arm64: dts: rockchip: fix rk3328-roc-cc gmac2io tx/rx_delay

Waiman Long <[email protected]>
efi: Fix debugobjects warning on 'efi_rts_work'

Yufen Yu <[email protected]>
nvme-loop: init nvmet_ctrl fatal_err_work when allocate

Alan Stern <[email protected]>
USB: core: Fix bug caused by duplicate interface PM usage counter

Alan Stern <[email protected]>
USB: core: Fix unterminated string returned by usb_string()

Malte Leip <[email protected]>
usb: usbip: fix isoc packet num validation in get_pipe

Alan Stern <[email protected]>
USB: dummy-hcd: Fix failure to give back unlinked URBs

Alan Stern <[email protected]>
USB: w1 ds2490: Fix bug caused by improper use of altsetting array

Alan Stern <[email protected]>
USB: yurex: Fix protection fault after device removal

Takashi Iwai <[email protected]>
ALSA: hda/realtek - Apply the fixup for ASUS Q325UAR

Kailang Yang <[email protected]>
ALSA: hda/realtek - Fixed Dell AIO speaker noise

Kailang Yang <[email protected]>
ALSA: hda/realtek - Add new Dell platform for headset mode

Jarkko Nikula <[email protected]>
i2c: Prevent runtime suspend of adapter when Host Notify is required

Jim Broadus <[email protected]>
i2c: Allow recovery of the initial IRQ by an I2C client device.

Charles Keepax <[email protected]>
i2c: Clear client->irq in i2c_device_remove

Charles Keepax <[email protected]>
i2c: Remove unnecessary call to irq_find_mapping

Anson Huang <[email protected]>
i2c: imx: correct the method of getting private data in notifier_call

Ard Biesheuvel <[email protected]>
i2c: synquacer: fix enumeration of slave devices

Johannes Berg <[email protected]>
mac80211: don't attempt to rename ERR_PTR() debugfs dirs

Douglas Anderson <[email protected]>
mwifiex: Make resume actually do something useful again on SDIO cards

Emmanuel Grumbach <[email protected]>
iwlwifi: fix driver operation for 5350


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

Diffstat:

Documentation/driver-api/usb/power-management.rst | 14 +-
Makefile | 4 +-
arch/arm/boot/dts/rk3288.dtsi | 12 +-
arch/arm/mach-at91/pm.c | 6 +-
arch/arm/mach-iop13xx/setup.c | 8 +-
arch/arm/mach-iop13xx/tpmi.c | 10 +-
arch/arm/plat-iop/adma.c | 6 +-
arch/arm/plat-orion/common.c | 4 +-
arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts | 4 +-
arch/arm64/kernel/sdei.c | 6 +
arch/powerpc/kernel/kvm.c | 7 +
arch/powerpc/mm/slice.c | 10 +-
arch/riscv/include/asm/uaccess.h | 2 +-
arch/sh/boards/of-generic.c | 4 +-
arch/x86/events/amd/core.c | 111 ++++++-
arch/x86/kernel/cpu/mcheck/mce-severity.c | 5 +
arch/x86/kvm/svm.c | 12 +-
arch/x86/mm/init.c | 6 +
arch/x86/mm/kaslr.c | 2 +-
arch/x86/mm/tlb.c | 2 +-
block/blk-core.c | 6 +-
block/blk-mq.c | 2 +-
drivers/block/xsysace.c | 2 +
drivers/bluetooth/btmtkuart.c | 2 +
drivers/bluetooth/btusb.c | 2 +-
drivers/clk/qcom/gcc-msm8998.c | 1 +
drivers/clk/x86/clk-pmc-atom.c | 14 +-
drivers/firmware/efi/runtime-wrappers.c | 2 +-
drivers/gpio/gpio-mxc.c | 5 +-
drivers/hid/hid-debug.c | 5 +
drivers/hid/hid-input.c | 1 +
drivers/hid/hid-logitech-hidpp.c | 8 +-
drivers/hid/hid-quirks.c | 5 +-
drivers/i2c/busses/i2c-imx.c | 4 +-
drivers/i2c/busses/i2c-stm32f7.c | 2 +-
drivers/i2c/busses/i2c-synquacer.c | 2 +
drivers/i2c/i2c-core-base.c | 18 +-
drivers/infiniband/core/security.c | 11 +-
drivers/infiniband/core/verbs.c | 41 ++-
drivers/infiniband/ulp/srpt/ib_srpt.c | 11 +
drivers/input/keyboard/snvs_pwrkey.c | 6 +-
drivers/input/touchscreen/stmfts.c | 30 +-
drivers/media/i2c/ov7670.c | 16 +-
drivers/mfd/twl-core.c | 23 ++
drivers/net/bonding/bond_sysfs_slave.c | 4 +-
drivers/net/ethernet/chelsio/libcxgb/libcxgb_ppm.c | 9 +-
drivers/net/ethernet/hisilicon/hns/hnae.c | 4 +-
drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c | 33 +-
.../net/ethernet/hisilicon/hns/hns_dsaf_xgmac.c | 2 +-
drivers/net/ethernet/hisilicon/hns/hns_enet.c | 12 +-
.../net/ethernet/hisilicon/hns3/hns3pf/Makefile | 2 +-
.../net/ethernet/hisilicon/hns3/hns3vf/Makefile | 2 +-
drivers/net/ethernet/intel/igb/e1000_defines.h | 2 +
drivers/net/ethernet/intel/igb/igb_main.c | 57 +---
drivers/net/ethernet/mellanox/mlx5/core/eswitch.c | 6 +-
drivers/net/ethernet/stmicro/stmmac/descs_com.h | 22 +-
drivers/net/ethernet/stmicro/stmmac/dwmac4_descs.c | 2 +-
.../net/ethernet/stmicro/stmmac/dwxgmac2_descs.c | 2 +-
drivers/net/ethernet/stmicro/stmmac/enh_desc.c | 22 +-
drivers/net/ethernet/stmicro/stmmac/hwif.h | 2 +-
drivers/net/ethernet/stmicro/stmmac/norm_desc.c | 12 +-
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 34 +-
drivers/net/wireless/intel/iwlwifi/cfg/5000.c | 3 +-
drivers/net/wireless/marvell/mwifiex/sdio.c | 2 +-
drivers/nvme/target/core.c | 20 +-
drivers/platform/x86/intel_pmc_core.c | 4 +-
drivers/platform/x86/pmc_atom.c | 21 ++
drivers/reset/reset-meson-audio-arb.c | 1 +
drivers/rtc/rtc-cros-ec.c | 4 +-
drivers/rtc/rtc-da9063.c | 7 +
drivers/rtc/rtc-sh.c | 2 +-
drivers/scsi/scsi_devinfo.c | 1 +
drivers/scsi/scsi_dh.c | 1 +
drivers/scsi/storvsc_drv.c | 13 +-
drivers/staging/iio/addac/adt7316.c | 22 +-
drivers/usb/core/driver.c | 13 -
drivers/usb/core/message.c | 4 +-
drivers/usb/gadget/udc/dummy_hcd.c | 19 +-
drivers/usb/misc/yurex.c | 1 +
drivers/usb/storage/realtek_cr.c | 13 +-
drivers/usb/usbip/stub_rx.c | 12 +-
drivers/usb/usbip/usbip_common.h | 7 +
drivers/vfio/pci/vfio_pci.c | 4 +-
drivers/w1/masters/ds2490.c | 6 +-
drivers/xen/xenbus/xenbus_dev_frontend.c | 4 +-
fs/debugfs/inode.c | 13 +-
fs/hugetlbfs/inode.c | 20 +-
fs/jffs2/readinode.c | 5 -
fs/jffs2/super.c | 5 +-
fs/open.c | 18 +
fs/read_write.c | 5 +-
include/linux/fs.h | 4 +
include/linux/i2c.h | 1 +
include/linux/platform_data/x86/clk-pmc-atom.h | 3 +
include/linux/usb.h | 2 -
mm/kmemleak.c | 16 +-
net/batman-adv/bat_v_elp.c | 6 +-
net/batman-adv/bridge_loop_avoidance.c | 16 +-
net/batman-adv/translation-table.c | 32 +-
net/mac80211/debugfs_netdev.c | 2 +-
net/mac80211/key.c | 9 +-
scripts/coccinelle/api/stream_open.cocci | 363 +++++++++++++++++++++
security/selinux/avc.c | 23 +-
security/selinux/hooks.c | 44 ++-
security/selinux/include/avc.h | 1 +
sound/pci/hda/patch_realtek.c | 13 +
sound/soc/codecs/wm_adsp.c | 3 +-
sound/soc/intel/boards/bytcr_rt5651.c | 2 +-
sound/soc/stm/stm32_sai_sub.c | 2 +-
109 files changed, 1125 insertions(+), 350 deletions(-)



2019-05-06 15:06:44

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 4.19 06/99] i2c: Remove unnecessary call to irq_find_mapping

From: Charles Keepax <[email protected]>

commit b9bb3fdf4e870fb655064f5c3c81c1fee7fd89ce upstream.

irq_create_mapping calls irq_find_mapping internally and will use the
found mapping if one exists, so there is no need to manually call this
from i2c_smbus_host_notify_to_irq.

Signed-off-by: Charles Keepax <[email protected]>
Reviewed-by: Benjamin Tissoires <[email protected]>
Signed-off-by: Wolfram Sang <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
drivers/i2c/i2c-core-base.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)

--- a/drivers/i2c/i2c-core-base.c
+++ b/drivers/i2c/i2c-core-base.c
@@ -306,10 +306,7 @@ static int i2c_smbus_host_notify_to_irq(
if (client->flags & I2C_CLIENT_TEN)
return -EINVAL;

- irq = irq_find_mapping(adap->host_notify_domain, client->addr);
- if (!irq)
- irq = irq_create_mapping(adap->host_notify_domain,
- client->addr);
+ irq = irq_create_mapping(adap->host_notify_domain, client->addr);

return irq > 0 ? irq : -ENXIO;
}


2019-05-06 15:06:53

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 4.19 19/99] nvme-loop: init nvmet_ctrl fatal_err_work when allocate

[ Upstream commit d11de63f2b519f0a162b834013b6d3a46dbf3886 ]

After commit 4d43d395fe (workqueue: Try to catch flush_work() without
INIT_WORK()), it can cause warning when delete nvme-loop device, trace
like:

[ 76.601272] Call Trace:
[ 76.601646] ? del_timer+0x72/0xa0
[ 76.602156] __cancel_work_timer+0x1ae/0x270
[ 76.602791] cancel_work_sync+0x14/0x20
[ 76.603407] nvmet_ctrl_free+0x1b7/0x2f0 [nvmet]
[ 76.604091] ? free_percpu+0x168/0x300
[ 76.604652] nvmet_sq_destroy+0x106/0x240 [nvmet]
[ 76.605346] nvme_loop_destroy_admin_queue+0x30/0x60 [nvme_loop]
[ 76.606220] nvme_loop_shutdown_ctrl+0xc3/0xf0 [nvme_loop]
[ 76.607026] nvme_loop_delete_ctrl_host+0x19/0x30 [nvme_loop]
[ 76.607871] nvme_do_delete_ctrl+0x75/0xb0
[ 76.608477] nvme_sysfs_delete+0x7d/0xc0
[ 76.609057] dev_attr_store+0x24/0x40
[ 76.609603] sysfs_kf_write+0x4c/0x60
[ 76.610144] kernfs_fop_write+0x19a/0x260
[ 76.610742] __vfs_write+0x1c/0x60
[ 76.611246] vfs_write+0xfa/0x280
[ 76.611739] ksys_write+0x6e/0x120
[ 76.612238] __x64_sys_write+0x1e/0x30
[ 76.612787] do_syscall_64+0xbf/0x3a0
[ 76.613329] entry_SYSCALL_64_after_hwframe+0x44/0xa9

We fix it by moving fatal_err_work init to nvmet_alloc_ctrl(), which may
more reasonable.

Signed-off-by: Yufen Yu <[email protected]>
Reviewed-by: Sagi Grimberg <[email protected]>
Reviewed-by: Bart Van Assche <[email protected]>
Signed-off-by: Christoph Hellwig <[email protected]>
Signed-off-by: Jens Axboe <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
drivers/nvme/target/core.c | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/drivers/nvme/target/core.c b/drivers/nvme/target/core.c
index b5ec96abd048..776b7e9e23b9 100644
--- a/drivers/nvme/target/core.c
+++ b/drivers/nvme/target/core.c
@@ -921,6 +921,15 @@ bool nvmet_host_allowed(struct nvmet_req *req, struct nvmet_subsys *subsys,
return __nvmet_host_allowed(subsys, hostnqn);
}

+static void nvmet_fatal_error_handler(struct work_struct *work)
+{
+ struct nvmet_ctrl *ctrl =
+ container_of(work, struct nvmet_ctrl, fatal_err_work);
+
+ pr_err("ctrl %d fatal error occurred!\n", ctrl->cntlid);
+ ctrl->ops->delete_ctrl(ctrl);
+}
+
u16 nvmet_alloc_ctrl(const char *subsysnqn, const char *hostnqn,
struct nvmet_req *req, u32 kato, struct nvmet_ctrl **ctrlp)
{
@@ -962,6 +971,7 @@ u16 nvmet_alloc_ctrl(const char *subsysnqn, const char *hostnqn,

INIT_WORK(&ctrl->async_event_work, nvmet_async_event_work);
INIT_LIST_HEAD(&ctrl->async_events);
+ INIT_WORK(&ctrl->fatal_err_work, nvmet_fatal_error_handler);

memcpy(ctrl->subsysnqn, subsysnqn, NVMF_NQN_SIZE);
memcpy(ctrl->hostnqn, hostnqn, NVMF_NQN_SIZE);
@@ -1076,21 +1086,11 @@ void nvmet_ctrl_put(struct nvmet_ctrl *ctrl)
kref_put(&ctrl->ref, nvmet_ctrl_free);
}

-static void nvmet_fatal_error_handler(struct work_struct *work)
-{
- struct nvmet_ctrl *ctrl =
- container_of(work, struct nvmet_ctrl, fatal_err_work);
-
- pr_err("ctrl %d fatal error occurred!\n", ctrl->cntlid);
- ctrl->ops->delete_ctrl(ctrl);
-}
-
void nvmet_ctrl_fatal_error(struct nvmet_ctrl *ctrl)
{
mutex_lock(&ctrl->lock);
if (!(ctrl->csts & NVME_CSTS_CFS)) {
ctrl->csts |= NVME_CSTS_CFS;
- INIT_WORK(&ctrl->fatal_err_work, nvmet_fatal_error_handler);
schedule_work(&ctrl->fatal_err_work);
}
mutex_unlock(&ctrl->lock);
--
2.20.1



2019-05-06 15:08:46

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 4.19 23/99] HID: debug: fix race condition with between rdesc_show() and device removal

[ Upstream commit cef0d4948cb0a02db37ebfdc320e127c77ab1637 ]

There is a race condition that could happen if hid_debug_rdesc_show()
is running while hdev is in the process of going away (device removal,
system suspend, etc) which could result in NULL pointer dereference:

BUG: unable to handle kernel paging request at 0000000783316040
CPU: 1 PID: 1512 Comm: getevent Tainted: G U O 4.19.20-quilt-2e5dc0ac-00029-gc455a447dd55 #1
RIP: 0010:hid_dump_device+0x9b/0x160
Call Trace:
hid_debug_rdesc_show+0x72/0x1d0
seq_read+0xe0/0x410
full_proxy_read+0x5f/0x90
__vfs_read+0x3a/0x170
vfs_read+0xa0/0x150
ksys_read+0x58/0xc0
__x64_sys_read+0x1a/0x20
do_syscall_64+0x55/0x110
entry_SYSCALL_64_after_hwframe+0x49/0xbe

Grab driver_input_lock to make sure the input device exists throughout the
whole process of dumping the rdesc.

[[email protected]: update changelog a bit]
Signed-off-by: he, bo <[email protected]>
Signed-off-by: "Zhang, Jun" <[email protected]>
Signed-off-by: Jiri Kosina <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>
---
drivers/hid/hid-debug.c | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/drivers/hid/hid-debug.c b/drivers/hid/hid-debug.c
index ebc9ffde41e9..a353a011fbdf 100644
--- a/drivers/hid/hid-debug.c
+++ b/drivers/hid/hid-debug.c
@@ -1060,10 +1060,15 @@ static int hid_debug_rdesc_show(struct seq_file *f, void *p)
seq_printf(f, "\n\n");

/* dump parsed data and input mappings */
+ if (down_interruptible(&hdev->driver_input_lock))
+ return 0;
+
hid_dump_device(hdev, f);
seq_printf(f, "\n");
hid_dump_input_mapping(hdev, f);

+ up(&hdev->driver_input_lock);
+
return 0;
}

--
2.20.1



2019-05-07 09:52:29

by Naresh Kamboju

[permalink] [raw]
Subject: Re: [PATCH 4.19 00/99] 4.19.41-stable review

On Mon, 6 May 2019 at 20:10, Greg Kroah-Hartman
<[email protected]> wrote:
>
> This is the start of the stable review cycle for the 4.19.41 release.
> There are 99 patches in this series, all will be posted as a response
> to this one. If anyone has any issues with these being applied, please
> let me know.
>
> Responses should be made by Wed 08 May 2019 02:29:12 PM 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/v4.x/stable-review/patch-4.19.41-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-4.19.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: 4.19.41-rc1
git repo: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
git branch: linux-4.19.y
git commit: f897c76a347c330cca7fc03afaa64164eda545f7
git describe: v4.19.40-100-gf897c76a347c
Test details: https://qa-reports.linaro.org/lkft/linux-stable-rc-4.19-oe/build/v4.19.40-100-gf897c76a347c

No regressions (compared to build v4.19.40)

No fixes (compared to build v4.19.40)

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

Environments
--------------
- dragonboard-410c - arm64
- hi6220-hikey - arm64
- i386
- juno-r2 - arm64
- qemu_arm
- qemu_arm64
- qemu_i386
- qemu_x86_64
- x15 - arm
- x86_64

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

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

2019-05-07 12:46:20

by Jon Hunter

[permalink] [raw]
Subject: Re: [PATCH 4.19 00/99] 4.19.41-stable review


On 06/05/2019 15:31, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.19.41 release.
> There are 99 patches in this series, all will be posted as a response
> to this one. If anyone has any issues with these being applied, please
> let me know.
>
> Responses should be made by Wed 08 May 2019 02:29:12 PM 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/v4.x/stable-review/patch-4.19.41-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-4.19.y
> and the diffstat can be found below.
>
> thanks,
>
> greg k-h

All tests are passing for Tegra ...

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

Linux version: 4.19.41-rc1-gf897c76a
Boards tested: tegra124-jetson-tk1, tegra186-p2771-0000,
tegra194-p2972-0000, tegra20-ventana,
tegra210-p2371-2180, tegra30-cardhu-a04

Cheers
Jon

--
nvpublic

2019-05-07 18:41:04

by Guenter Roeck

[permalink] [raw]
Subject: Re: [PATCH 4.19 00/99] 4.19.41-stable review

On Mon, May 06, 2019 at 04:31:33PM +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.19.41 release.
> There are 99 patches in this series, all will be posted as a response
> to this one. If anyone has any issues with these being applied, please
> let me know.
>
> Responses should be made by Wed 08 May 2019 02:29:12 PM UTC.
> Anything received after that time might be too late.
>

Build results:
total: 156 pass: 156 fail: 0
Qemu test results:
total: 349 pass: 349 fail: 0

Guenter

2019-05-07 19:29:35

by kernelci.org bot

[permalink] [raw]
Subject: Re: [PATCH 4.19 00/99] 4.19.41-stable review

stable-rc/linux-4.19.y boot: 54 boots: 0 failed, 53 passed with 1 untried/unknown (v4.19.40-100-gf897c76a347c)

Full Boot Summary: https://kernelci.org/boot/all/job/stable-rc/branch/linux-4.19.y/kernel/v4.19.40-100-gf897c76a347c/
Full Build Summary: https://kernelci.org/build/stable-rc/branch/linux-4.19.y/kernel/v4.19.40-100-gf897c76a347c/

Tree: stable-rc
Branch: linux-4.19.y
Git Describe: v4.19.40-100-gf897c76a347c
Git Commit: f897c76a347c330cca7fc03afaa64164eda545f7
Git URL: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
Tested: 24 unique boards, 11 SoC families, 10 builds out of 206

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

2019-05-07 20:24:01

by Shuah Khan

[permalink] [raw]
Subject: Re: [PATCH 4.19 00/99] 4.19.41-stable review

On 5/6/19 8:31 AM, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 4.19.41 release.
> There are 99 patches in this series, all will be posted as a response
> to this one. If anyone has any issues with these being applied, please
> let me know.
>
> Responses should be made by Wed 08 May 2019 02:29:12 PM 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/v4.x/stable-review/patch-4.19.41-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-4.19.y
> and the diffstat can be found below.
>
> thanks,
>
> greg k-h
>

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

thanks,
-- Shuah