From: Sasha Levin <sashal@kernel.org> To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Julian Wiedmann <jwi@linux.ibm.com>, "David S . Miller" <davem@davemloft.net>, Sasha Levin <sashal@kernel.org>, linux-s390@vger.kernel.org Subject: [PATCH AUTOSEL 5.4 194/205] s390/qeth: fix dangling IO buffers after halt/clear Date: Thu, 16 Jan 2020 11:42:49 -0500 Message-ID: <20200116164300.6705-194-sashal@kernel.org> (raw) In-Reply-To: <20200116164300.6705-1-sashal@kernel.org> From: Julian Wiedmann <jwi@linux.ibm.com> [ Upstream commit f9e50b02a99c3ebbaa30690e8d5be28a5c2624eb ] The cio layer's intparm logic does not align itself well with how qeth manages cmd IOs. When an active IO gets terminated via halt/clear, the corresponding IRQ's intparm does not reflect the cmd buffer but rather the intparm that was passed to ccw_device_halt() / ccw_device_clear(). This behaviour was recently clarified in commit b91d9e67e50b ("s390/cio: fix intparm documentation"). As a result, qeth_irq() currently doesn't cancel a cmd that was terminated via halt/clear. This primarily causes us to leak card->read_cmd after the qeth device is removed, since our IO path still holds a refcount for this cmd. For qeth this means that we need to keep track of which IO is pending on a device ('active_cmd'), and use this as the intparm when calling halt/clear. Otherwise qeth_irq() can't match the subsequent IRQ to its cmd buffer. Since we now keep track of the _expected_ intparm, we can also detect any mismatch; this would constitute a bug somewhere in the lower layers. In this case cancel the active cmd - we effectively "lost" the IRQ and should not expect any further notification for this IO. Fixes: 405548959cc7 ("s390/qeth: add support for dynamically allocated cmds") Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Sasha Levin <sashal@kernel.org> --- drivers/s390/net/qeth_core.h | 3 ++ drivers/s390/net/qeth_core_main.c | 71 ++++++++++++++++++++++--------- drivers/s390/net/qeth_core_mpc.h | 14 ------ drivers/s390/net/qeth_l2_main.c | 12 +++--- drivers/s390/net/qeth_l3_main.c | 13 +++--- 5 files changed, 67 insertions(+), 46 deletions(-) diff --git a/drivers/s390/net/qeth_core.h b/drivers/s390/net/qeth_core.h index 65e31df37b1f..820f2c29376c 100644 --- a/drivers/s390/net/qeth_core.h +++ b/drivers/s390/net/qeth_core.h @@ -620,6 +620,7 @@ struct qeth_ipato { struct qeth_channel { struct ccw_device *ccwdev; + struct qeth_cmd_buffer *active_cmd; enum qeth_channel_states state; atomic_t irq_pending; }; @@ -1024,6 +1025,8 @@ int qeth_do_run_thread(struct qeth_card *, unsigned long); void qeth_clear_thread_start_bit(struct qeth_card *, unsigned long); void qeth_clear_thread_running_bit(struct qeth_card *, unsigned long); int qeth_core_hardsetup_card(struct qeth_card *card, bool *carrier_ok); +int qeth_stop_channel(struct qeth_channel *channel); + void qeth_print_status_message(struct qeth_card *); int qeth_init_qdio_queues(struct qeth_card *); int qeth_send_ipa_cmd(struct qeth_card *, struct qeth_cmd_buffer *, diff --git a/drivers/s390/net/qeth_core_main.c b/drivers/s390/net/qeth_core_main.c index 9df47421d69c..a43265c5343b 100644 --- a/drivers/s390/net/qeth_core_main.c +++ b/drivers/s390/net/qeth_core_main.c @@ -515,7 +515,9 @@ static int __qeth_issue_next_read(struct qeth_card *card) QETH_CARD_TEXT(card, 6, "noirqpnd"); rc = ccw_device_start(channel->ccwdev, ccw, (addr_t) iob, 0, 0); - if (rc) { + if (!rc) { + channel->active_cmd = iob; + } else { QETH_DBF_MESSAGE(2, "error %i on device %x when starting next read ccw!\n", rc, CARD_DEVID(card)); atomic_set(&channel->irq_pending, 0); @@ -986,8 +988,21 @@ static void qeth_irq(struct ccw_device *cdev, unsigned long intparm, QETH_CARD_TEXT(card, 5, "data"); } - if (qeth_intparm_is_iob(intparm)) - iob = (struct qeth_cmd_buffer *) __va((addr_t)intparm); + if (intparm == 0) { + QETH_CARD_TEXT(card, 5, "irqunsol"); + } else if ((addr_t)intparm != (addr_t)channel->active_cmd) { + QETH_CARD_TEXT(card, 5, "irqunexp"); + + dev_err(&cdev->dev, + "Received IRQ with intparm %lx, expected %px\n", + intparm, channel->active_cmd); + if (channel->active_cmd) + qeth_cancel_cmd(channel->active_cmd, -EIO); + } else { + iob = (struct qeth_cmd_buffer *) (addr_t)intparm; + } + + channel->active_cmd = NULL; rc = qeth_check_irb_error(card, cdev, irb); if (rc) { @@ -1007,15 +1022,10 @@ static void qeth_irq(struct ccw_device *cdev, unsigned long intparm, if (irb->scsw.cmd.fctl & (SCSW_FCTL_HALT_FUNC)) channel->state = CH_STATE_HALTED; - if (intparm == QETH_CLEAR_CHANNEL_PARM) { - QETH_CARD_TEXT(card, 6, "clrchpar"); - /* we don't have to handle this further */ - intparm = 0; - } - if (intparm == QETH_HALT_CHANNEL_PARM) { - QETH_CARD_TEXT(card, 6, "hltchpar"); - /* we don't have to handle this further */ - intparm = 0; + if (iob && (irb->scsw.cmd.fctl & (SCSW_FCTL_CLEAR_FUNC | + SCSW_FCTL_HALT_FUNC))) { + qeth_cancel_cmd(iob, -ECANCELED); + iob = NULL; } cstat = irb->scsw.cmd.cstat; @@ -1408,7 +1418,7 @@ static int qeth_clear_channel(struct qeth_card *card, QETH_CARD_TEXT(card, 3, "clearch"); spin_lock_irq(get_ccwdev_lock(channel->ccwdev)); - rc = ccw_device_clear(channel->ccwdev, QETH_CLEAR_CHANNEL_PARM); + rc = ccw_device_clear(channel->ccwdev, (addr_t)channel->active_cmd); spin_unlock_irq(get_ccwdev_lock(channel->ccwdev)); if (rc) @@ -1430,7 +1440,7 @@ static int qeth_halt_channel(struct qeth_card *card, QETH_CARD_TEXT(card, 3, "haltch"); spin_lock_irq(get_ccwdev_lock(channel->ccwdev)); - rc = ccw_device_halt(channel->ccwdev, QETH_HALT_CHANNEL_PARM); + rc = ccw_device_halt(channel->ccwdev, (addr_t)channel->active_cmd); spin_unlock_irq(get_ccwdev_lock(channel->ccwdev)); if (rc) @@ -1444,6 +1454,25 @@ static int qeth_halt_channel(struct qeth_card *card, return 0; } +int qeth_stop_channel(struct qeth_channel *channel) +{ + struct ccw_device *cdev = channel->ccwdev; + int rc; + + rc = ccw_device_set_offline(cdev); + + spin_lock_irq(get_ccwdev_lock(cdev)); + if (channel->active_cmd) { + dev_err(&cdev->dev, "Stopped channel while cmd %px was still active\n", + channel->active_cmd); + channel->active_cmd = NULL; + } + spin_unlock_irq(get_ccwdev_lock(cdev)); + + return rc; +} +EXPORT_SYMBOL_GPL(qeth_stop_channel); + static int qeth_halt_channels(struct qeth_card *card) { int rc1 = 0, rc2 = 0, rc3 = 0; @@ -1747,6 +1776,8 @@ static int qeth_send_control_data(struct qeth_card *card, spin_lock_irq(get_ccwdev_lock(channel->ccwdev)); rc = ccw_device_start_timeout(channel->ccwdev, __ccw_from_cmd(iob), (addr_t) iob, 0, 0, timeout); + if (!rc) + channel->active_cmd = iob; spin_unlock_irq(get_ccwdev_lock(channel->ccwdev)); if (rc) { QETH_DBF_MESSAGE(2, "qeth_send_control_data on device %x: ccw_device_start rc = %i\n", @@ -4634,12 +4665,12 @@ EXPORT_SYMBOL_GPL(qeth_vm_request_mac); static void qeth_determine_capabilities(struct qeth_card *card) { + struct qeth_channel *channel = &card->data; + struct ccw_device *ddev = channel->ccwdev; int rc; - struct ccw_device *ddev; int ddev_offline = 0; QETH_CARD_TEXT(card, 2, "detcapab"); - ddev = CARD_DDEV(card); if (!ddev->online) { ddev_offline = 1; rc = ccw_device_set_online(ddev); @@ -4678,7 +4709,7 @@ static void qeth_determine_capabilities(struct qeth_card *card) out_offline: if (ddev_offline == 1) - ccw_device_set_offline(ddev); + qeth_stop_channel(channel); out: return; } @@ -4879,9 +4910,9 @@ int qeth_core_hardsetup_card(struct qeth_card *card, bool *carrier_ok) QETH_DBF_MESSAGE(2, "Retrying to do IDX activates on device %x.\n", CARD_DEVID(card)); rc = qeth_qdio_clear_card(card, !IS_IQD(card)); - ccw_device_set_offline(CARD_DDEV(card)); - ccw_device_set_offline(CARD_WDEV(card)); - ccw_device_set_offline(CARD_RDEV(card)); + qeth_stop_channel(&card->data); + qeth_stop_channel(&card->write); + qeth_stop_channel(&card->read); qdio_free(CARD_DDEV(card)); rc = ccw_device_set_online(CARD_RDEV(card)); if (rc) diff --git a/drivers/s390/net/qeth_core_mpc.h b/drivers/s390/net/qeth_core_mpc.h index b7c17b5c823b..65038539b324 100644 --- a/drivers/s390/net/qeth_core_mpc.h +++ b/drivers/s390/net/qeth_core_mpc.h @@ -28,20 +28,6 @@ extern unsigned char IPA_PDU_HEADER[]; #define QETH_TIMEOUT (10 * HZ) #define QETH_IPA_TIMEOUT (45 * HZ) -#define QETH_CLEAR_CHANNEL_PARM -10 -#define QETH_HALT_CHANNEL_PARM -11 - -static inline bool qeth_intparm_is_iob(unsigned long intparm) -{ - switch (intparm) { - case QETH_CLEAR_CHANNEL_PARM: - case QETH_HALT_CHANNEL_PARM: - case 0: - return false; - } - return true; -} - /*****************************************************************************/ /* IP Assist related definitions */ /*****************************************************************************/ diff --git a/drivers/s390/net/qeth_l2_main.c b/drivers/s390/net/qeth_l2_main.c index 8b7d911dccd8..b4348d4009d7 100644 --- a/drivers/s390/net/qeth_l2_main.c +++ b/drivers/s390/net/qeth_l2_main.c @@ -877,9 +877,9 @@ static int qeth_l2_set_online(struct ccwgroup_device *gdev) out_remove: qeth_l2_stop_card(card); - ccw_device_set_offline(CARD_DDEV(card)); - ccw_device_set_offline(CARD_WDEV(card)); - ccw_device_set_offline(CARD_RDEV(card)); + qeth_stop_channel(&card->data); + qeth_stop_channel(&card->write); + qeth_stop_channel(&card->read); qdio_free(CARD_DDEV(card)); mutex_unlock(&card->conf_mutex); @@ -910,9 +910,9 @@ static int __qeth_l2_set_offline(struct ccwgroup_device *cgdev, rtnl_unlock(); qeth_l2_stop_card(card); - rc = ccw_device_set_offline(CARD_DDEV(card)); - rc2 = ccw_device_set_offline(CARD_WDEV(card)); - rc3 = ccw_device_set_offline(CARD_RDEV(card)); + rc = qeth_stop_channel(&card->data); + rc2 = qeth_stop_channel(&card->write); + rc3 = qeth_stop_channel(&card->read); if (!rc) rc = (rc2) ? rc2 : rc3; if (rc) diff --git a/drivers/s390/net/qeth_l3_main.c b/drivers/s390/net/qeth_l3_main.c index 32385327539b..8d452311d223 100644 --- a/drivers/s390/net/qeth_l3_main.c +++ b/drivers/s390/net/qeth_l3_main.c @@ -2383,9 +2383,9 @@ static int qeth_l3_set_online(struct ccwgroup_device *gdev) return 0; out_remove: qeth_l3_stop_card(card); - ccw_device_set_offline(CARD_DDEV(card)); - ccw_device_set_offline(CARD_WDEV(card)); - ccw_device_set_offline(CARD_RDEV(card)); + qeth_stop_channel(&card->data); + qeth_stop_channel(&card->write); + qeth_stop_channel(&card->read); qdio_free(CARD_DDEV(card)); mutex_unlock(&card->conf_mutex); @@ -2421,9 +2421,10 @@ static int __qeth_l3_set_offline(struct ccwgroup_device *cgdev, call_netdevice_notifiers(NETDEV_REBOOT, card->dev); rtnl_unlock(); } - rc = ccw_device_set_offline(CARD_DDEV(card)); - rc2 = ccw_device_set_offline(CARD_WDEV(card)); - rc3 = ccw_device_set_offline(CARD_RDEV(card)); + + rc = qeth_stop_channel(&card->data); + rc2 = qeth_stop_channel(&card->write); + rc3 = qeth_stop_channel(&card->read); if (!rc) rc = (rc2) ? rc2 : rc3; if (rc) -- 2.20.1
next prev parent reply index Thread overview: 213+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-01-16 16:39 [PATCH AUTOSEL 5.4 001/205] ioat: ioat_alloc_ring() failure handling Sasha Levin 2020-01-16 16:39 ` [PATCH AUTOSEL 5.4 002/205] drm/panfrost: Add missing check for pfdev->regulator Sasha Levin 2020-01-17 16:12 ` Steven Price 2020-01-17 16:59 ` Greg KH 2020-01-18 8:18 ` Dan Carpenter 2020-01-18 13:18 ` Greg KH 2020-01-16 16:39 ` [PATCH AUTOSEL 5.4 003/205] drm/v3d: don't leak bin job if v3d_job_init fails Sasha Levin 2020-01-17 7:25 ` Iago Toral 2020-01-23 14:17 ` Sasha Levin 2020-01-23 15:46 ` Iago Toral 2020-01-16 16:39 ` [PATCH AUTOSEL 5.4 004/205] drm: panel-lvds: Potential Oops in probe error handling Sasha Levin 2020-01-16 16:39 ` [PATCH AUTOSEL 5.4 005/205] scsi: lpfc: Fix hdwq sgl locks and irq handling Sasha Levin 2020-01-16 16:39 ` [PATCH AUTOSEL 5.4 006/205] scsi: lpfc: Fix list corruption detected in lpfc_put_sgl_per_hdwq Sasha Levin 2020-01-16 16:39 ` [PATCH AUTOSEL 5.4 007/205] arm64: dts: renesas: r8a77970: Fix PWM3 Sasha Levin 2020-01-16 16:39 ` [PATCH AUTOSEL 5.4 008/205] mt7601u: fix bbp version check in mt7601u_wait_bbp_ready Sasha Levin 2020-01-16 16:39 ` [PATCH AUTOSEL 5.4 009/205] RDMA/counter: Prevent QP counter manual binding in auto mode Sasha Levin 2020-01-16 16:39 ` [PATCH AUTOSEL 5.4 010/205] RDMA/siw: Fix port number endianness in a debug message Sasha Levin 2020-01-16 16:39 ` [PATCH AUTOSEL 5.4 011/205] soc/tegra: pmc: Fix crashes for hierarchical interrupts Sasha Levin 2020-01-16 16:39 ` [PATCH AUTOSEL 5.4 012/205] spi: lpspi: fix memory leak in fsl_lpspi_probe Sasha Levin 2020-01-16 16:39 ` [PATCH AUTOSEL 5.4 013/205] media: rcar-vin: Fix incorrect return statement in rvin_try_format() Sasha Levin 2020-01-16 16:39 ` [PATCH AUTOSEL 5.4 014/205] media: ov6650: Fix incorrect use of JPEG colorspace Sasha Levin 2020-01-16 16:39 ` [PATCH AUTOSEL 5.4 015/205] media: ov6650: Fix some format attributes not under control Sasha Levin 2020-01-16 16:39 ` [PATCH AUTOSEL 5.4 016/205] media: ov6650: Fix .get_fmt() V4L2_SUBDEV_FORMAT_TRY support Sasha Levin 2020-01-16 16:39 ` [PATCH AUTOSEL 5.4 017/205] media: ov6650: Fix default format not applied on device probe Sasha Levin 2020-01-16 16:39 ` [PATCH AUTOSEL 5.4 018/205] cw1200: Fix a signedness bug in cw1200_load_firmware() Sasha Levin 2020-01-16 16:39 ` [PATCH AUTOSEL 5.4 019/205] drm/amdgpu: remove excess function parameter description Sasha Levin 2020-01-16 16:39 ` [PATCH AUTOSEL 5.4 020/205] arm64: dts: meson: axg: fix audio fifo reg size Sasha Levin 2020-01-16 16:39 ` [PATCH AUTOSEL 5.4 021/205] arm64: dts: meson: g12: " Sasha Levin 2020-01-16 16:39 ` [PATCH AUTOSEL 5.4 022/205] rtw88: fix beaconing mode rsvd_page memory violation issue Sasha Levin 2020-01-16 16:39 ` [PATCH AUTOSEL 5.4 023/205] rtw88: fix error handling when setup efuse info Sasha Levin 2020-01-16 16:39 ` [PATCH AUTOSEL 5.4 024/205] crypto: algif_skcipher - Use chunksize instead of blocksize Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 025/205] hwrng: omap3-rom - Fix missing clock by probing with device tree Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 026/205] crypto: cavium/nitrox - fix firmware assignment to AE cores Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 027/205] pinctl: ti: iodelay: fix error checking on pinctrl_count_index_with_args call Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 028/205] net: phy: broadcom: Fix RGMII delays configuration for BCM54210E Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 029/205] clk: imx: pll14xx: Fix quick switch of S/K parameter Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 030/205] dpaa2-eth: Fix minor bug in ethtool stats reporting Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 031/205] arm64: dts: meson-gxl-s905x-khadas-vim: fix gpio-keys-polled node Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 032/205] clk: meson: axg-audio: fix regmap last register Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 033/205] arm64: dts: marvell: Add AP806-dual missing CPU clocks Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 034/205] soc: qcom: llcc: Name regmaps to avoid collisions Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 035/205] drm/rockchip: Round up _before_ giving to the clock framework Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 036/205] media: v4l: cadence: Fix how unsued lanes are handled in 'csi2rx_start()' Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 037/205] software node: Get reference to parent swnode in get_parent op Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 038/205] arm64: dts: apq8096-db820c: Increase load on l21 for SDCARD Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 039/205] dmaengine: dw: platform: Mark 'hclk' clock optional Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 040/205] pinctrl: sh-pfc: Fix PINMUX_IPSR_PHYS() to set GPSR Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 041/205] PCI: Fix missing bridge dma_ranges resource list cleanup Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 042/205] PCI: aardvark: Use LTSSM state to build link training flag Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 043/205] PCI: aardvark: Fix PCI_EXP_RTCTL register configuration Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 044/205] memory: mtk-smi: Add PM suspend and resume ops Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 045/205] PCI: mobiveil: Fix csr_read()/write() build issue Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 046/205] PCI: dwc: Fix find_next_bit() usage Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 047/205] iio: imu: st_lsm6dsx: fix gyro gain definitions for LSM9DS1 Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 048/205] drm: rcar_lvds: Fix color mismatches on R-Car H2 ES2.0 and later Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 049/205] net: netsec: Correct dma sync for XDP_TX frames Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 050/205] ACPI: platform: Unregister stale platform devices Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 051/205] spi: pxa2xx: Set controller->max_transfer_size in dma mode Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 052/205] spi: atmel: fix handling of cs_change set on non-last xfer Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 053/205] pwm: sun4i: Fix incorrect calculation of duty_cycle/period Sasha Levin 2020-01-16 16:56 ` Uwe Kleine-König 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 054/205] RDMA/hns: Release qp resources when failed to destroy qp Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 055/205] ipmi: Fix memory leak in __ipmi_bmc_register Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 056/205] regulator: bd70528: Add MODULE_ALIAS to allow module auto loading Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 057/205] rtlwifi: Remove unnecessary NULL check in rtl_regd_init Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 058/205] xprtrdma: Connection becomes unstable after a reconnect Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 059/205] xprtrdma: Fix MR list handling Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 060/205] drm/tegra: Fix ordering of cleanup code Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 061/205] scsi: esas2r: unlock on error in esas2r_nvram_read_direct() Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 062/205] scsi: hisi_sas: Don't create debugfs dump folder twice Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 063/205] scsi: hisi_sas: Set the BIST init value before enabling BIST Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 064/205] iwlwifi: mvm: consider ieee80211 station max amsdu value Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 065/205] phy: ti: gmii-sel: fix mac tx internal delay for rgmii-rxid Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 066/205] drm/amdgpu/vi: silence an uninitialized variable warning Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 067/205] clk: imx7ulp: Correct system clock source option #7 Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 068/205] clk: imx7ulp: Correct DDR clock mux options Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 069/205] arm64: dts: qcom: sdm845-cheza: delete zap-shader Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 070/205] power: supply: bd70528: Add MODULE_ALIAS to allow module auto loading Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 071/205] firmware: imx: Remove call to devm_of_platform_populate Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 072/205] ASoC: fsl_esai: Add spin lock to protect reset, stop and start Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 073/205] arm64: dts: imx8mm-evk: Assigned clocks for audio plls Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 074/205] RDMA/hns: Prevent undefined behavior in hns_roce_set_user_sq_size() Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 075/205] RDMA/hns: Fix to support 64K page for srq Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 076/205] RDMA/hns: Bugfix for qpc/cqc timer configuration Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 077/205] libbpf: Fix compatibility for kernels without need_wakeup Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 078/205] clk: samsung: exynos5420: Preserve CPU clocks configuration during suspend/resume Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 079/205] tools: PCI: Fix fd leakage Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 080/205] libbpf: Don't use kernel-side u32 type in xsk.c Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 081/205] RDMA/hns: Fix build error again Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 082/205] rcu: Fix uninitialized variable in nocb_gp_wait() Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 083/205] SUNRPC: Fix svcauth_gss_proxy_init() Sasha Levin 2020-01-16 16:40 ` [PATCH AUTOSEL 5.4 084/205] rtw88: fix potential read outside array boundary Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 085/205] phy: lantiq: vrx200-pcie: fix error return code in ltq_vrx200_pcie_phy_power_on() Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 086/205] RDMA/mlx5: Return proper error value Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 087/205] dpaa_eth: perform DMA unmapping before read Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 088/205] dpaa_eth: avoid timestamp read on error paths Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 089/205] scsi: ufs: delete redundant function ufshcd_def_desc_sizes() Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 090/205] arm64: dts: qcom: msm8998: Disable coresight by default Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 091/205] crypto: arm64/aes-neonbs - add return value of skcipher_walk_done() in __xts_crypt() Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 092/205] crypto: amcc - restore CRYPTO_AES dependency Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 093/205] pinctrl: sh-pfc: Do not use platform_get_irq() to count interrupts Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 094/205] soc: renesas: Add missing check for non-zero product register address Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 095/205] scsi: core: scsi_trace: Use get_unaligned_be*() Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 096/205] net: openvswitch: don't unlock mutex when changing the user_features fails Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 097/205] ARM: dts: imx6ul-kontron-n6310-s: Disable the snvs-poweroff driver Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 098/205] MIPS: Loongson: Fix return value of loongson_hwmon_init Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 099/205] powerpc/security: Fix debugfs data leak on 32-bit Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 100/205] media: exynos4-is: Fix recursive locking in isp_video_release() Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 101/205] media: coda: fix deadlock between decoder picture run and start command Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 102/205] hv_netvsc: flag software created hash value Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 103/205] arm64: dts: allwinner: a64: Re-add PMU node Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 104/205] rt2800: remove errornous duplicate condition Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 105/205] hwmon: (pmbus/ibm-cffps) Switch LEDs to blocking brightness call Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 106/205] hwmon: (pmbus/ibm-cffps) Fix LED blink behavior Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 107/205] net: neigh: use long type to store jiffies delta Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 108/205] tipc: reduce sensitive to retransmit failures Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 109/205] net: axienet: Fix error return code in axienet_probe() Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 110/205] regulator: ab8500: Remove SYSCLKREQ from enum ab8505_regulator_id Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 111/205] libbpf: Fix memory leak/double free issue Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 112/205] libbpf: Fix potential overflow issue Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 113/205] libbpf: Fix another potential overflow issue in bpf_prog_linfo Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 114/205] libbpf: Make btf__resolve_size logic always check size error condition Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 115/205] f2fs: fix potential overflow Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 116/205] selftests: gen_kselftest_tar.sh: Do not clobber kselftest/ Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 117/205] ASoC: core: Fix compile warning with CONFIG_DEBUG_FS=n Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 118/205] rtc: brcmstb-waketimer: add missed clk_disable_unprepare Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 119/205] rtc: bd70528: Add MODULE ALIAS to autoload module Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 120/205] rtc: bd70528: fix module alias " Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 121/205] packet: fix data-race in fanout_flow_is_huge() Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 122/205] scsi: lpfc: Fix a kernel warning triggered by lpfc_get_sgl_per_hdwq() Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 123/205] media: cedrus: Use correct H264 8x8 scaling list Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 124/205] media: aspeed-video: Fix memory leaks in aspeed_video_probe Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 125/205] media: hantro: Set H264 FIELDPIC_FLAG_E flag correctly Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 126/205] mfd: intel-lpss: Add default I2C device properties for Gemini Lake Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 127/205] iommu/mediatek: Correct the flush_iotlb_all callback Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 128/205] iommu/mediatek: Add a new tlb_lock for tlb_flush Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 129/205] i2c: stm32f7: report dma error during probe Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 130/205] ARM: OMAP2+: Add missing put_device() call in omapdss_init_of() Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 131/205] s390/pkey: fix memory leak within _copy_apqns_from_user() Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 132/205] kselftests: cgroup: Avoid the reuse of fd after it is deallocated Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 133/205] nfsd: Fix cld_net->cn_tfm initialization Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 134/205] nfsd: v4 support requires CRYPTO_SHA256 Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 135/205] PCI: pciehp: Do not disable interrupt twice on suspend Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 136/205] scsi: hisi_sas: Return directly if init hardware failed Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 137/205] tipc: update mon's self addr when node addr generated Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 138/205] tty: serial: imx: use the sg count from dma_map_sg Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 139/205] tty: serial: pch_uart: correct usage of dma_unmap_sg Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 140/205] NFSv4.x: Handle bad/dead sessions correctly in nfs41_sequence_process() Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 141/205] firmware: arm_scmi: Fix doorbell ring logic for !CONFIG_64BIT Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 142/205] iwlwifi: mvm: fix support for single antenna diversity Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 143/205] mmc: sdio: fix wl1251 vendor id Sasha Levin 2020-01-16 16:41 ` [PATCH AUTOSEL 5.4 144/205] mmc: core: fix wl1251 sdio quirks Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 145/205] tee: optee: Fix dynamic shm pool allocations Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 146/205] tee: optee: fix device enumeration error handling Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 147/205] workqueue: Add RCU annotation for pwq list walk Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 148/205] netfilter: nf_tables_offload: release flow_rule on error from commit path Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 149/205] SUNRPC: Fix another issue with MIC buffer space Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 150/205] affs: fix a memory leak in affs_remount Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 151/205] sched/cpufreq: Move the cfs_rq_util_change() call to cpufreq_update_util() Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 152/205] rtc: msm6242: Fix reading of 10-hour digit Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 153/205] watchdog: sprd: Fix the incorrect pointer getting from driver data Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 154/205] clk: Fix memory leak in clk_unregister() Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 155/205] libbpf: Fix call relocation offset calculation bug Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 156/205] scsi: qla4xxx: fix double free bug Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 157/205] scsi: bnx2i: fix potential use after free Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 158/205] scsi: target: core: Fix a pr_debug() argument Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 159/205] mt76: mt76u: rely on usb_interface instead of usb_dev Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 160/205] ARM: dts: dra7: fix cpsw mdio fck clock Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 161/205] dma-direct: don't check swiotlb=force in dma_direct_map_resource Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 162/205] powerpc/powernv: Disable native PCIe port management Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 163/205] afs: Remove set but not used variables 'before', 'after' Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 164/205] bpf: skmsg, fix potential psock NULL pointer dereference Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 165/205] SUNRPC: Fix backchannel latency metrics Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 166/205] scsi: scsi_transport_sas: Fix memory leak when removing devices Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 167/205] dmaengine: ti: edma: fix missed failure handling Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 168/205] crypto: sun4i-ss - fix big endian issues Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 169/205] drm/radeon: fix bad DMA from INTERRUPT_CNTL2 Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 170/205] ASoC: rsnd: fix DALIGN register for SSIU Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 171/205] ice: fix stack leakage Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 172/205] xdp: Fix cleanup on map free for devmap_hash map type Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 173/205] ARM: dts: Fix sgx sysconfig register for omap4 Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 174/205] arm64: dts: juno: Fix UART frequency Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 175/205] um: Don't trace irqflags during shutdown Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 176/205] um: virtio_uml: Disallow modular build Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 177/205] scsi: qla2xxx: fix rports not being mark as lost in sync fabric scan Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 178/205] scsi: qla2xxx: Fix qla2x00_request_irqs() for MSI Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 179/205] bpf: Support pre-2.25-binutils objcopy for vmlinux BTF Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 180/205] libbpf: Fix Makefile' libbpf symbol mismatch diagnostic Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 181/205] ath9k: use iowrite32 over __raw_writel Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 182/205] Revert "arm64: dts: juno: add dma-ranges property" Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 183/205] tipc: fix potential memory leak in __tipc_sendmsg() Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 184/205] tipc: fix wrong socket reference counter after tipc_sk_timeout() returns Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 185/205] tipc: fix wrong timeout input for tipc_wait_for_cond() Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 186/205] bpf: Force .BTF section start to zero when dumping from vmlinux Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 187/205] platform/chrome: wilco_ec: fix use after free issue Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 188/205] sch_cake: Add missing NLA policy entry TCA_CAKE_SPLIT_GSO Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 189/205] powerpc/kasan: Fix boot failure with RELOCATABLE && FSL_BOOKE Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 190/205] powerpc/archrandom: fix arch_get_random_seed_int() Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 191/205] samples/bpf: Fix broken xdp_rxq_info due to map order assumptions Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 192/205] soc: aspeed: Fix snoop_file_poll()'s return type Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 193/205] block: fix memleak of bio integrity data Sasha Levin 2020-01-16 16:42 ` Sasha Levin [this message] 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 195/205] net/mlx5e: Fix free peer_flow when refcount is 0 Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 196/205] ARM: 8943/1: Fix topology setup in case of CPU hotplug for CONFIG_SCHED_MC Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 197/205] net-sysfs: Call dev_hold always in netdev_queue_add_kobject Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 198/205] NFSD fixing possible null pointer derefering in copy offload Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 199/205] nfsd: depend on CRYPTO_MD5 for legacy client tracking Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 200/205] scsi: ufs: Give an unique ID to each ufs-bsg Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 201/205] tipc: fix potential hanging after b/rcast changing Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 202/205] tipc: fix retrans failure due to wrong destination Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 203/205] gpio: aspeed: avoid return type warning Sasha Levin 2020-01-16 16:42 ` [PATCH AUTOSEL 5.4 204/205] scsi: mpt3sas: Fix double free in attach error handling Sasha Levin 2020-01-16 16:43 ` [PATCH AUTOSEL 5.4 205/205] phy/rockchip: inno-hdmi: round clock rate down to closest 1000 Hz Sasha Levin
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20200116164300.6705-194-sashal@kernel.org \ --to=sashal@kernel.org \ --cc=davem@davemloft.net \ --cc=jwi@linux.ibm.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-s390@vger.kernel.org \ --cc=stable@vger.kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Stable Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/stable/0 stable/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 stable stable/ https://lore.kernel.org/stable \ stable@vger.kernel.org public-inbox-index stable Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.kernel.vger.stable AGPL code for this site: git clone https://public-inbox.org/public-inbox.git