Skip to contentSkip to conversation

5.8.17-rc1 review

PATCH In review Greg Kroah-Hartman 7 participants 640 messages Oct 27, 2020 – Oct 28, 2020 1 message not in the archive Page 5 of 5

Subsystems (3)
lore
Share & tools
lore
author maintainer
#620 lore raw

PATCH 618/633 usb: core: Solve race condition in anchor cleanup functions

In reply to Greg Kroah-Hartman

From: Eli Billauer <[email protected]>

[ Upstream commit fbc299437c06648afcc7891e6e2e6638dd48d4df ]

usb_kill_anchored_urbs() is commonly used to cancel all URBs on an anchor just before releasing resources which the URBs rely on. By doing so, users of this function rely on that no completer callbacks will take place from any URB on the anchor after it returns.

However if this function is called in parallel with __usb_hcd_giveback_urb processing a URB on the anchor, the latter may call the completer callback after usb_kill_anchored_urbs() returns. This can lead to a kernel panic due to use after release of memory in interrupt context.

The race condition is that __usb_hcd_giveback_urb() first unanchors the URB and then makes the completer callback. Such URB is hence invisible to usb_kill_anchored_urbs(), allowing it to return before the completer has been called, since the anchor's urb_list is empty.

Even worse, if the racing completer callback resubmits the URB, it may remain in the system long after usb_kill_anchored_urbs() returns.

Hence list_empty(&anchor->urb_list), which is used in the existing while-loop, doesn't reliably ensure that all URBs of the anchor are gone.

A similar problem exists with usb_poison_anchored_urbs() and usb_scuttle_anchored_urbs().

This patch adds an external do-while loop, which ensures that all URBs are indeed handled before these three functions return. This change has no effect at all unless the race condition occurs, in which case the loop will busy-wait until the racing completer callback has finished. This is a rare condition, so the CPU waste of this spinning is negligible.

The additional do-while loop relies on usb_anchor_check_wakeup(), which returns true iff the anchor list is empty, and there is no __usb_hcd_giveback_urb() in the system that is in the middle of the unanchor-before-complete phase. The @suspend_wakeups member of struct usb_anchor is used for this purpose, which was introduced to solve another problem which the same race condition causes, in commit 6ec4147e7bdb ("usb-anchor: Delay usb_wait_anchor_empty_timeout wake up till completion is done").

The surely_empty variable is necessary, because usb_anchor_check_wakeup() must be called with the lock held to prevent races. However the spinlock must be released and reacquired if the outer loop spins with an empty URB list while waiting for the unanchor-before-complete passage to finish:
The completer callback may very well attempt to take the very same lock.

To summarize, using usb_anchor_check_wakeup() means that the patched functions can return only when the anchor's list is empty, and there is no invisible URB being processed. Since the inner while loop finishes on the empty list condition, the new do-while loop will terminate as well, except for when the said race condition occurs.

---
 drivers/usb/core/urb.c | 89 +++++++++++++++++++++++++-----------------
 1 file changed, 54 insertions(+), 35 deletions(-)
drivers/usb/core/urb.c +54 -35
index da923ec176122..31ca5abb4c12a 100644
@@ -772,11 +772,12 @@ void usb_block_urb(struct urb *urb)
 EXPORT_SYMBOL_GPL(usb_block_urb);
 
 /**
- * usb_kill_anchored_urbs - cancel transfer requests en masse
+ * usb_kill_anchored_urbs - kill all URBs associated with an anchor
  * @anchor: anchor the requests are bound to
  *
- * this allows all outstanding URBs to be killed starting
- * from the back of the queue
+ * This kills all outstanding URBs starting from the back of the queue,
+ * with guarantee that no completer callbacks will take place from the
+ * anchor after this function returns.
  *
  * This routine should not be called by a driver after its disconnect
  * method has returned.
@@ -784,20 +785,26 @@ EXPORT_SYMBOL_GPL(usb_block_urb);
 void usb_kill_anchored_urbs(struct usb_anchor *anchor)
 {
 	struct urb *victim;
+	int surely_empty;
 
-	spin_lock_irq(&anchor->lock);
-	while (!list_empty(&anchor->urb_list)) {
-		victim = list_entry(anchor->urb_list.prev, struct urb,
-				    anchor_list);
-		/* we must make sure the URB isn't freed before we kill it*/
-		usb_get_urb(victim);
-		spin_unlock_irq(&anchor->lock);
-		/* this will unanchor the URB */
-		usb_kill_urb(victim);
-		usb_put_urb(victim);
+	do {
 		spin_lock_irq(&anchor->lock);
-	}
-	spin_unlock_irq(&anchor->lock);
+		while (!list_empty(&anchor->urb_list)) {
+			victim = list_entry(anchor->urb_list.prev,
+					    struct urb, anchor_list);
+			/* make sure the URB isn't freed before we kill it */
+			usb_get_urb(victim);
+			spin_unlock_irq(&anchor->lock);
+			/* this will unanchor the URB */
+			usb_kill_urb(victim);
+			usb_put_urb(victim);
+			spin_lock_irq(&anchor->lock);
+		}
+		surely_empty = usb_anchor_check_wakeup(anchor);
+
+		spin_unlock_irq(&anchor->lock);
+		cpu_relax();
+	} while (!surely_empty);
 }
 EXPORT_SYMBOL_GPL(usb_kill_anchored_urbs);
 
@@ -816,21 +823,27 @@ EXPORT_SYMBOL_GPL(usb_kill_anchored_urbs);
 void usb_poison_anchored_urbs(struct usb_anchor *anchor)
 {
 	struct urb *victim;
+	int surely_empty;
 
-	spin_lock_irq(&anchor->lock);
-	anchor->poisoned = 1;
-	while (!list_empty(&anchor->urb_list)) {
-		victim = list_entry(anchor->urb_list.prev, struct urb,
-				    anchor_list);
-		/* we must make sure the URB isn't freed before we kill it*/
-		usb_get_urb(victim);
-		spin_unlock_irq(&anchor->lock);
-		/* this will unanchor the URB */
-		usb_poison_urb(victim);
-		usb_put_urb(victim);
+	do {
 		spin_lock_irq(&anchor->lock);
-	}
-	spin_unlock_irq(&anchor->lock);
+		anchor->poisoned = 1;
+		while (!list_empty(&anchor->urb_list)) {
+			victim = list_entry(anchor->urb_list.prev,
+					    struct urb, anchor_list);
+			/* make sure the URB isn't freed before we kill it */
+			usb_get_urb(victim);
+			spin_unlock_irq(&anchor->lock);
+			/* this will unanchor the URB */
+			usb_poison_urb(victim);
+			usb_put_urb(victim);
+			spin_lock_irq(&anchor->lock);
+		}
+		surely_empty = usb_anchor_check_wakeup(anchor);
+
+		spin_unlock_irq(&anchor->lock);
+		cpu_relax();
+	} while (!surely_empty);
 }
 EXPORT_SYMBOL_GPL(usb_poison_anchored_urbs);
 
@@ -970,14 +983,20 @@ void usb_scuttle_anchored_urbs(struct usb_anchor *anchor)
 {
 	struct urb *victim;
 	unsigned long flags;
+	int surely_empty;
+
+	do {
+		spin_lock_irqsave(&anchor->lock, flags);
+		while (!list_empty(&anchor->urb_list)) {
+			victim = list_entry(anchor->urb_list.prev,
+					    struct urb, anchor_list);
+			__usb_unanchor_urb(victim, anchor);
+		}
+		surely_empty = usb_anchor_check_wakeup(anchor);
 
-	spin_lock_irqsave(&anchor->lock, flags);
-	while (!list_empty(&anchor->urb_list)) {
-		victim = list_entry(anchor->urb_list.prev, struct urb,
-				    anchor_list);
-		__usb_unanchor_urb(victim, anchor);
-	}
-	spin_unlock_irqrestore(&anchor->lock, flags);
+		spin_unlock_irqrestore(&anchor->lock, flags);
+		cpu_relax();
+	} while (!surely_empty);
 }
 
 EXPORT_SYMBOL_GPL(usb_scuttle_anchored_urbs);
Signature · 1 line
2.25.1
author maintainer
#621 lore raw

PATCH 619/633 scsi: ufs: ufs-qcom: Fix race conditions caused by ufs_qcom_testbus_config()

In reply to Greg Kroah-Hartman

From: Can Guo <[email protected]>

[ Upstream commit 89dd87acd40a44de8ff3358138aedf8f73f4efc6 ]

If ufs_qcom_dump_dbg_regs() calls ufs_qcom_testbus_config() from ufshcd_suspend/resume and/or clk gate/ungate context, pm_runtime_get_sync() and ufshcd_hold() will cause a race condition. Fix this by removing the unnecessary calls of pm_runtime_get_sync() and ufshcd_hold().

---
 drivers/scsi/ufs/ufs-qcom.c | 5 -----
 1 file changed, 5 deletions(-)
drivers/scsi/ufs/ufs-qcom.c +0 -5
index 2e6ddb5cdfc23..7da27eed1fe7b 100644
@@ -1604,9 +1604,6 @@ int ufs_qcom_testbus_config(struct ufs_qcom_host *host)
 	 */
 	}
 	mask <<= offset;
-
-	pm_runtime_get_sync(host->hba->dev);
-	ufshcd_hold(host->hba, false);
 	ufshcd_rmwl(host->hba, TEST_BUS_SEL,
 		    (u32)host->testbus.select_major << 19,
 		    REG_UFS_CFG1);
@@ -1619,8 +1616,6 @@ int ufs_qcom_testbus_config(struct ufs_qcom_host *host)
 	 * committed before returning.
 	 */
 	mb();
-	ufshcd_release(host->hba);
-	pm_runtime_put_sync(host->hba->dev);
 
 	return 0;
 }
Signature · 1 line
2.25.1
author maintainer
#622 lore raw

PATCH 620/633 drm/amd/display: Screen corruption on dual displays (DP+USB-C)

In reply to Greg Kroah-Hartman

From: Qingqing Zhuo <[email protected]>

[ Upstream commit ce271b40a91f781af3dee985c39e841ac5148766 ]

[why]
Current pipe merge and split logic only supports cases where new dc_state is allocated and relies on dc->current_state to gather information from previous dc_state.

Calls to validate_bandwidth on UPDATE_TYPE_MED would cause an issue because there is no new dc_state allocated, and data in dc->current_state would be overwritten during pipe merge.

[how]
Only allow validate_bandwidth when new dc_state space is created.

---
 drivers/gpu/drm/amd/display/dc/core/dc.c              | 2 +-
 drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c | 3 +++
 drivers/gpu/drm/amd/display/dc/dcn21/dcn21_resource.c | 3 +++
 3 files changed, 7 insertions(+), 1 deletion(-)
drivers/gpu/drm/amd/display/dc/core/dc.c +1 -1
index d016f50e187c8..d261f425b80ec 100644
@@ -2538,7 +2538,7 @@ void dc_commit_updates_for_stream(struct dc *dc,
 
 	copy_stream_update_to_stream(dc, context, stream, stream_update);
 
-	if (update_type > UPDATE_TYPE_FAST) {
+	if (update_type >= UPDATE_TYPE_FULL) {
 		if (!dc->res_pool->funcs->validate_bandwidth(dc, context, false)) {
 			DC_ERROR("Mode validation failed for stream update!\n");
 			dc_release_state(context);
drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c +3 -0
index 20bdabebbc434..76cd4f3de4eaf 100644
@@ -3165,6 +3165,9 @@ static noinline bool dcn20_validate_bandwidth_fp(struct dc *dc,
 	context->bw_ctx.dml.soc.allow_dram_clock_one_display_vactive =
 		dc->debug.enable_dram_clock_change_one_display_vactive;
 
+	/*Unsafe due to current pipe merge and split logic*/
+	ASSERT(context != dc->current_state);
+
 	if (fast_validate) {
 		return dcn20_validate_bandwidth_internal(dc, context, true);
 	}
drivers/gpu/drm/amd/display/dc/dcn21/dcn21_resource.c +3 -0
index f00a568350848..c6ab3dee4fd69 100644
@@ -1184,6 +1184,9 @@ bool dcn21_validate_bandwidth(struct dc *dc, struct dc_state *context,
 
 	BW_VAL_TRACE_COUNT();
 
+	/*Unsafe due to current pipe merge and split logic*/
+	ASSERT(context != dc->current_state);
+
 	out = dcn20_fast_validate_bw(dc, context, pipes, &pipe_cnt, pipe_split_from, &vlevel);
 
 	if (pipe_cnt == 0)
Signature · 1 line
2.25.1
author maintainer
#623 lore raw

PATCH 621/633 dmaengine: dw: Add DMA-channels mask cell support

In reply to Greg Kroah-Hartman

From: Serge Semin <[email protected]>

[ Upstream commit e8ee6c8cb61b676f1a2d6b942329e98224bd8ee9 ]

DW DMA IP-core provides a way to synthesize the DMA controller with channels having different parameters like maximum burst-length, multi-block support, maximum data width, etc. Those parameters both explicitly and implicitly affect the channels performance. Since DMA slave devices might be very demanding to the DMA performance, let's provide a functionality for the slaves to be assigned with DW DMA channels, which performance according to the platform engineer fulfill their requirements. After this patch is applied it can be done by passing the mask of suitable DMA-channels either directly in the dw_dma_slave structure instance or as a fifth cell of the DMA DT-property. If mask is zero or not provided, then there is no limitation on the channels allocation.

For instance Baikal-T1 SoC is equipped with a DW DMAC engine, which first two channels are synthesized with max burst length of 16, while the rest of the channels have been created with max-burst-len=4. It would seem that the first two channels must be faster than the others and should be more preferable for the time-critical DMA slave devices. In practice it turned out that the situation is quite the opposite. The channels with max-burst-len=4 demonstrated a better performance than the channels with max-burst-len=16 even when they both had been initialized with the same settings. The performance drop of the first two DMA-channels made them unsuitable for the DW APB SSI slave device. No matter what settings they are configured with, full-duplex SPI transfers occasionally experience the Rx FIFO overflow. It means that the DMA-engine doesn't keep up with incoming data pace even though the SPI-bus is enabled with speed of 25MHz while the DW DMA controller is clocked with 50MHz signal. There is no such problem has been noticed for the channels synthesized with max-burst-len=4.

---
 drivers/dma/dw/core.c                | 4 ++++
 drivers/dma/dw/of.c                  | 7 +++++--
 include/linux/platform_data/dma-dw.h | 2 ++
 3 files changed, 11 insertions(+), 2 deletions(-)
drivers/dma/dw/core.c +4 -0
index a1b56f52db2f2..5e7fdc0b6e3db 100644
@@ -772,6 +772,10 @@ bool dw_dma_filter(struct dma_chan *chan, void *param)
 	if (dws->dma_dev != chan->device->dev)
 		return false;
 
+	/* permit channels in accordance with the channels mask */
+	if (dws->channels && !(dws->channels & dwc->mask))
+		return false;
+
 	/* We have to copy data since dws can be temporary storage */
 	memcpy(&dwc->dws, dws, sizeof(struct dw_dma_slave));
 
drivers/dma/dw/of.c +5 -2
index 9e27831dee324..43e975fb67142 100644
@@ -22,18 +22,21 @@ static struct dma_chan *dw_dma_of_xlate(struct of_phandle_args *dma_spec,
 	};
 	dma_cap_mask_t cap;
 
-	if (dma_spec->args_count != 3)
+	if (dma_spec->args_count < 3 || dma_spec->args_count > 4)
 		return NULL;
 
 	slave.src_id = dma_spec->args[0];
 	slave.dst_id = dma_spec->args[0];
 	slave.m_master = dma_spec->args[1];
 	slave.p_master = dma_spec->args[2];
+	if (dma_spec->args_count >= 4)
+		slave.channels = dma_spec->args[3];
 
 	if (WARN_ON(slave.src_id >= DW_DMA_MAX_NR_REQUESTS ||
 		    slave.dst_id >= DW_DMA_MAX_NR_REQUESTS ||
 		    slave.m_master >= dw->pdata->nr_masters ||
-		    slave.p_master >= dw->pdata->nr_masters))
+		    slave.p_master >= dw->pdata->nr_masters ||
+		    slave.channels >= BIT(dw->pdata->nr_channels)))
 		return NULL;
 
 	dma_cap_zero(cap);
include/linux/platform_data/dma-dw.h +2 -0
index f3eaf9ec00a1b..70078be166e3c 100644
@@ -21,6 +21,7 @@
  * @dst_id:	dst request line
  * @m_master:	memory master for transfers on allocated channel
  * @p_master:	peripheral master for transfers on allocated channel
+ * @channels:	mask of the channels permitted for allocation (zero value means any)
  * @hs_polarity:set active low polarity of handshake interface
  */
 struct dw_dma_slave {
@@ -29,6 +30,7 @@ struct dw_dma_slave {
 	u8			dst_id;
 	u8			m_master;
 	u8			p_master;
+	u8			channels;
 	bool			hs_polarity;
 };
 
Signature · 1 line
2.25.1
author maintainer
#624 lore raw

PATCH 622/633 dmaengine: dw: Activate FIFO-mode for memory peripherals only

In reply to Greg Kroah-Hartman

From: Serge Semin <[email protected]>

[ Upstream commit 6d9459d04081c796fc67c2bb771f4e4ebb5744c4 ]

CFGx.FIFO_MODE field controls a DMA-controller "FIFO readiness" criterion. In other words it determines when to start pushing data out of a DW DMAC channel FIFO to a destination peripheral or from a source peripheral to the DW DMAC channel FIFO. Currently FIFO-mode is set to one for all DW DMAC channels. It means they are tuned to flush data out of FIFO (to a memory peripheral or by accepting the burst transaction requests) when FIFO is at least half-full (except at the end of the block transfer, when FIFO-flush mode is activated) and are configured to get data to the FIFO when it's at least half-empty.

Such configuration is a good choice when there is no slave device involved in the DMA transfers. In that case the number of bursts per block is less than when CFGx.FIFO_MODE = 0 and, hence, the bus utilization will improve. But the latency of DMA transfers may increase when CFGx.FIFO_MODE = 1, since DW DMAC will wait for the channel FIFO contents to be either half-full or half-empty depending on having the destination or the source transfers. Such latencies might be dangerous in case if the DMA transfers are expected to be performed from/to a slave device. Since normally peripheral devices keep data in internal FIFOs, any latency at some critical moment may cause one being overflown and consequently losing data. This especially concerns a case when either a peripheral device is relatively fast or the DW DMAC engine is relatively slow with respect to the incoming data pace.

In order to solve problems, which might be caused by the latencies described above, let's enable the FIFO half-full/half-empty "FIFO readiness" criterion only for DMA transfers with no slave device involved. Thanks to the commit 99ba8b9b0d97 ("dmaengine: dw: Initialize channel before each transfer") we can freely do that in the generic dw_dma_initialize_chan() method.

---
 drivers/dma/dw/dw.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/dma/dw/dw.c +1 -1
index 7a085b3c1854c..d9810980920a1 100644
@@ -14,7 +14,7 @@
 static void dw_dma_initialize_chan(struct dw_dma_chan *dwc)
 {
 	struct dw_dma *dw = to_dw_dma(dwc->chan.device);
-	u32 cfghi = DWC_CFGH_FIFO_MODE;
+	u32 cfghi = is_slave_direction(dwc->direction) ? 0 : DWC_CFGH_FIFO_MODE;
 	u32 cfglo = DWC_CFGL_CH_PRIOR(dwc->priority);
 	bool hs_polarity = dwc->dws.hs_polarity;
 
Signature · 1 line
2.25.1
author maintainer
#625 lore raw

PATCH 623/633 ath10k: check idx validity in __ath10k_htt_rx_ring_fill_n()

In reply to Greg Kroah-Hartman

From: Zekun Shen <[email protected]>

[ Upstream commit bad60b8d1a7194df38fd7fe4b22f3f4dcf775099 ]

The idx in __ath10k_htt_rx_ring_fill_n function lives in consistent dma region writable by the device. Malfunctional or malicious device could manipulate such idx to have a OOB write. Either by

    htt->rx_ring.netbufs_ring[idx] = skb;
or by
    ath10k_htt_set_paddrs_ring(htt, paddr, idx);

The idx can also be negative as it's signed, giving a large memory space to write to.

It's possibly exploitable by corruptting a legit pointer with a skb pointer. And then fill skb with payload as rougue object.

Part of the log here. Sometimes it appears as UAF when writing to a freed memory by chance.

 [   15.594376] BUG: unable to handle page fault for address: ffff887f5c1804f0
 [   15.595483] #PF: supervisor write access in kernel mode
 [   15.596250] #PF: error_code(0x0002) - not-present page
 [   15.597013] PGD 0 P4D 0
 [   15.597395] Oops: 0002 [#1] SMP KASAN PTI
 [   15.597967] CPU: 0 PID: 82 Comm: kworker/u2:2 Not tainted 5.6.0 #69
 [   15.598843] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996),
 BIOS rel-1.12.1-0-ga5cab58e9a3f-prebuilt.qemu.org 04/01/2014
 [   15.600438] Workqueue: ath10k_wq ath10k_core_register_work [ath10k_core]
 [   15.601389] RIP: 0010:__ath10k_htt_rx_ring_fill_n
 (linux/drivers/net/wireless/ath/ath10k/htt_rx.c:173) ath10k_core
---
 drivers/net/wireless/ath/ath10k/htt_rx.c | 8 ++++++++
 1 file changed, 8 insertions(+)
drivers/net/wireless/ath/ath10k/htt_rx.c +8 -0
index d787cbead56ab..215ade6faf328 100644
@@ -142,6 +142,14 @@ static int __ath10k_htt_rx_ring_fill_n(struct ath10k_htt *htt, int num)
 	BUILD_BUG_ON(HTT_RX_RING_FILL_LEVEL >= HTT_RX_RING_SIZE / 2);
 
 	idx = __le32_to_cpu(*htt->rx_ring.alloc_idx.vaddr);
+
+	if (idx < 0 || idx >= htt->rx_ring.size) {
+		ath10k_err(htt->ar, "rx ring index is not valid, firmware malfunctioning?\n");
+		idx &= htt->rx_ring.size_mask;
+		ret = -ENOMEM;
+		goto fail;
+	}
+
 	while (num > 0) {
 		skb = dev_alloc_skb(HTT_RX_BUF_SIZE + HTT_RX_DESC_ALIGN);
 		if (!skb) {
Signature · 1 line
2.25.1
author maintainer
#626 lore raw

PATCH 624/633 net: korina: cast KSEG0 address to pointer in kfree

In reply to Greg Kroah-Hartman

From: Valentin Vidic <[email protected]>

[ Upstream commit 3bd57b90554b4bb82dce638e0668ef9dc95d3e96 ]

Fixes gcc warning:

passing argument 1 of 'kfree' makes pointer from integer without a cast

Fixes 3af5f0f5c74e ("net: korina: fix kfree of rx/tx descriptor array")
---
 drivers/net/ethernet/korina.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/net/ethernet/korina.c +2 -2
index af441d699a57a..bf48f0ded9c7d 100644
@@ -1113,7 +1113,7 @@ static int korina_probe(struct platform_device *pdev)
 	return rc;
 
 probe_err_register:
-	kfree(KSEG0ADDR(lp->td_ring));
+	kfree((struct dma_desc *)KSEG0ADDR(lp->td_ring));
 probe_err_td_ring:
 	iounmap(lp->tx_dma_regs);
 probe_err_dma_tx:
@@ -1133,7 +1133,7 @@ static int korina_remove(struct platform_device *pdev)
 	iounmap(lp->eth_regs);
 	iounmap(lp->rx_dma_regs);
 	iounmap(lp->tx_dma_regs);
-	kfree(KSEG0ADDR(lp->td_ring));
+	kfree((struct dma_desc *)KSEG0ADDR(lp->td_ring));
 
 	unregister_netdev(bif->dev);
 	free_netdev(bif->dev);
Signature · 1 line
2.25.1
author maintainer
#627 lore raw

PATCH 625/633 s390/qeth: dont let HW override the configured port role

In reply to Greg Kroah-Hartman

From: Julian Wiedmann <[email protected]>

[ Upstream commit a04f0ecacdb0639d416614619225a39de3927e22 ]

The only time that our Bridgeport role should change is when we change the configuration ourselves. In which case we also adjust our internal state tracking, no need to do it again when we receive the corresponding event.

Removing the locked section helps a subsequent patch that needs to flush the workqueue while under sbp_lock.

It would be nice to raise a warning here in case HW does weird things after all, but this could end up generating false-positives when we change the configuration ourselves.

---
 drivers/s390/net/qeth_l2_main.c | 6 ------
 1 file changed, 6 deletions(-)
drivers/s390/net/qeth_l2_main.c +0 -6
index 0384b45a72658..7c6f6a09b99e4 100644
@@ -1122,12 +1122,6 @@ static void qeth_bridge_state_change_worker(struct work_struct *work)
 		NULL
 	};
 
-	/* Role should not change by itself, but if it did, */
-	/* information from the hardware is authoritative.  */
-	mutex_lock(&data->card->sbp_lock);
-	data->card->options.sbp.role = entry->role;
-	mutex_unlock(&data->card->sbp_lock);
-
 	snprintf(env_locrem, sizeof(env_locrem), "BRIDGEPORT=statechange");
 	snprintf(env_role, sizeof(env_role), "ROLE=%s",
 		(entry->role == QETH_SBP_ROLE_NONE) ? "none" :
Signature · 1 line
2.25.1
author maintainer
#628 lore raw

PATCH 626/633 tty: serial: lpuart: fix lpuart32_write usage

In reply to Greg Kroah-Hartman

From: Peng Fan <[email protected]>

commit 9ea40db477c024dcb87321b7f32bd6ea12130ac2 upstream.

The 2nd and 3rd parameter were wrongly used, and cause kernel abort when doing kgdb debug.

Fixes 1da17d7cf8e2 ("tty: serial: fsl_lpuart: Use appropriate lpuart32_* I/O funcs")
Cc stable <[email protected]>
---
 drivers/tty/serial/fsl_lpuart.c |   14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)
drivers/tty/serial/fsl_lpuart.c +6 -8
@@ -649,26 +649,24 @@ static int lpuart32_poll_init(struct uar
 	spin_lock_irqsave(&sport->port.lock, flags);
 
 	/* Disable Rx & Tx */
-	lpuart32_write(&sport->port, UARTCTRL, 0);
+	lpuart32_write(&sport->port, 0, UARTCTRL);
 
 	temp = lpuart32_read(&sport->port, UARTFIFO);
 
 	/* Enable Rx and Tx FIFO */
-	lpuart32_write(&sport->port, UARTFIFO,
-		       temp | UARTFIFO_RXFE | UARTFIFO_TXFE);
+	lpuart32_write(&sport->port, temp | UARTFIFO_RXFE | UARTFIFO_TXFE, UARTFIFO);
 
 	/* flush Tx and Rx FIFO */
-	lpuart32_write(&sport->port, UARTFIFO,
-		       UARTFIFO_TXFLUSH | UARTFIFO_RXFLUSH);
+	lpuart32_write(&sport->port, UARTFIFO_TXFLUSH | UARTFIFO_RXFLUSH, UARTFIFO);
 
 	/* explicitly clear RDRF */
 	if (lpuart32_read(&sport->port, UARTSTAT) & UARTSTAT_RDRF) {
 		lpuart32_read(&sport->port, UARTDATA);
-		lpuart32_write(&sport->port, UARTFIFO, UARTFIFO_RXUF);
+		lpuart32_write(&sport->port, UARTFIFO_RXUF, UARTFIFO);
 	}
 
 	/* Enable Rx and Tx */
-	lpuart32_write(&sport->port, UARTCTRL, UARTCTRL_RE | UARTCTRL_TE);
+	lpuart32_write(&sport->port, UARTCTRL_RE | UARTCTRL_TE, UARTCTRL);
 	spin_unlock_irqrestore(&sport->port.lock, flags);
 
 	return 0;
@@ -677,7 +675,7 @@ static int lpuart32_poll_init(struct uar
 static void lpuart32_poll_put_char(struct uart_port *port, unsigned char c)
 {
 	lpuart32_wait_bit_set(port, UARTSTAT, UARTSTAT_TDRE);
-	lpuart32_write(port, UARTDATA, c);
+	lpuart32_write(port, c, UARTDATA);
 }
 
 static int lpuart32_poll_get_char(struct uart_port *port)
author maintainer
#629 lore raw

PATCH 627/633 tty: serial: fsl_lpuart: fix lpuart32_poll_get_char

In reply to Greg Kroah-Hartman

From: Peng Fan <[email protected]>

commit 29788ab1d2bf26c130de8f44f9553ee78a27e8d5 upstream.

The watermark is set to 1, so we need to input two chars to trigger RDRF using the original logic. With the new logic, we could always get the char when there is data in FIFO.

---
 drivers/tty/serial/fsl_lpuart.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/tty/serial/fsl_lpuart.c +1 -1
@@ -680,7 +680,7 @@ static void lpuart32_poll_put_char(struc
 
 static int lpuart32_poll_get_char(struct uart_port *port)
 {
-	if (!(lpuart32_read(port, UARTSTAT) & UARTSTAT_RDRF))
+	if (!(lpuart32_read(port, UARTWATER) >> UARTWATER_RXCNT_OFF))
 		return NO_POLL_CHAR;
 
 	return lpuart32_read(port, UARTDATA);
author maintainer
#630 lore raw

PATCH 628/633 usb: gadget: bcm63xx_udc: fix up the error of undeclared usb_debug_root

In reply to Greg Kroah-Hartman

From: Chunfeng Yun <[email protected]>

commit 5b35dd1a5a666329192a9616ec21098591259058 upstream.

Fix up the build error caused by undeclared usb_debug_root

Cc stable <[email protected]>
Fixes a66ada4f241c ("usb: gadget: bcm63xx_udc: create debugfs directory under usb root")
---
 drivers/usb/gadget/udc/bcm63xx_udc.c |    1 +
 1 file changed, 1 insertion(+)
drivers/usb/gadget/udc/bcm63xx_udc.c +1 -0
@@ -26,6 +26,7 @@
 #include <linux/seq_file.h>
 #include <linux/slab.h>
 #include <linux/timer.h>
+#include <linux/usb.h>
 #include <linux/usb/ch9.h>
 #include <linux/usb/gadget.h>
 #include <linux/workqueue.h>
author maintainer
#631 lore raw

PATCH 629/633 usb: cdc-acm: add quirk to blacklist ETAS ES58X devices

In reply to Greg Kroah-Hartman

From: Vincent Mailhol <[email protected]>

commit a4f88430af896bf34ec25a7a5f0e053fb3d928e0 upstream.

The ES58X devices has a CDC ACM interface (used for debug
purpose). During probing, the device is thus recognized as USB Modem (CDC ACM), preventing the etas-es58x module to load:
usbcore: registered new interface driver etas_es58x
usb 1-1.1: new full-speed USB device number 14 using xhci_hcd
usb 1-1.1: New USB device found, idVendor=108c, idProduct=0159, bcdDevice= 1.00 usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 usb 1-1.1: Product: ES581.4
usb 1-1.1: Manufacturer: ETAS GmbH
usb 1-1.1: SerialNumber: 2204355
cdc_acm 1-1.1:1.0: No union descriptor, testing for castrated device cdc_acm 1-1.1:1.0: ttyACM0: USB ACM device

Thus, these have been added to the ignore list in
drivers/usb/class/cdc-acm.c

N.B. Future firmware release of the ES58X will remove the CDC-ACM interface.

lsusb -v of the three devices variant (ES581.4, ES582.1 and ES584.1):

Bus 001 Device 011: ID 108c:0159 Robert Bosch GmbH ES581.4 Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 2 Communications
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x108c Robert Bosch GmbH
idProduct 0x0159
bcdDevice 1.00
iManufacturer 1 ETAS GmbH
iProduct 2 ES581.4
iSerial 3 2204355
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0035
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 5 Bus Powered Configuration
bmAttributes 0x80
(Bus Powered)
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 2 Communications
bInterfaceSubClass 2 Abstract (modem)
bInterfaceProtocol 0
iInterface 4 ACM Control Interface
CDC Header:
bcdCDC 1.10
CDC Call Management:
bmCapabilities 0x01
call management
bDataInterface 0
CDC ACM:
bmCapabilities 0x06
sends break
line coding and serial state
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0010 1x 16 bytes
bInterval 10
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Device Status: 0x0000
(Bus Powered)

Bus 001 Device 012: ID 108c:0168 Robert Bosch GmbH ES582 Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 2 Communications
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x108c Robert Bosch GmbH
idProduct 0x0168
bcdDevice 1.00
iManufacturer 1 ETAS GmbH
iProduct 2 ES582
iSerial 3 0108933
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0043
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 2 Communications
bInterfaceSubClass 2 Abstract (modem)
bInterfaceProtocol 1 AT-commands (v.25ter)
iInterface 0
CDC Header:
bcdCDC 1.10
CDC ACM:
bmCapabilities 0x02
line coding and serial state
CDC Union:
bMasterInterface 0
bSlaveInterface 1
CDC Call Management:
bmCapabilities 0x03
call management
use DataInterface
bDataInterface 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 16
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 2 Communications
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
bNumConfigurations 1
Device Status: 0x0000
(Bus Powered)

Bus 001 Device 013: ID 108c:0169 Robert Bosch GmbH ES584.1 Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 2 Communications
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x108c Robert Bosch GmbH
idProduct 0x0169
bcdDevice 1.00
iManufacturer 1 ETAS GmbH
iProduct 2 ES584.1
iSerial 3 0100320
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0043
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 2 Communications
bInterfaceSubClass 2 Abstract (modem)
bInterfaceProtocol 1 AT-commands (v.25ter)
iInterface 0
CDC Header:
bcdCDC 1.10
CDC ACM:
bmCapabilities 0x02
line coding and serial state
CDC Union:
bMasterInterface 0
bSlaveInterface 1
CDC Call Management:
bmCapabilities 0x03
call management
use DataInterface
bDataInterface 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 16
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 2 Communications
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
bNumConfigurations 1
Device Status: 0x0000
(Bus Powered)

---
 drivers/usb/class/cdc-acm.c |   11 +++++++++++
 1 file changed, 11 insertions(+)
drivers/usb/class/cdc-acm.c +11 -0
@@ -1912,6 +1912,17 @@ static const struct usb_device_id acm_id
 	.driver_info = IGNORE_DEVICE,
 	},
 
+	/* Exclude ETAS ES58x */
+	{ USB_DEVICE(0x108c, 0x0159), /* ES581.4 */
+	.driver_info = IGNORE_DEVICE,
+	},
+	{ USB_DEVICE(0x108c, 0x0168), /* ES582.1 */
+	.driver_info = IGNORE_DEVICE,
+	},
+	{ USB_DEVICE(0x108c, 0x0169), /* ES584.1 */
+	.driver_info = IGNORE_DEVICE,
+	},
+
 	{ USB_DEVICE(0x1bc7, 0x0021), /* Telit 3G ACM only composition */
 	.driver_info = SEND_ZERO_PACKET,
 	},
author maintainer
#632 lore raw

PATCH 630/633 USB: cdc-wdm: Make wdm_flush() interruptible and add wdm_fsync().

In reply to Greg Kroah-Hartman

From: Oliver Neukum <[email protected]>

commit 37d2a36394d954413a495da61da1b2a51ecd28ab upstream.

syzbot is reporting hung task at wdm_flush() [1], for there is a circular dependency that wdm_flush() from flip_close() for /dev/cdc-wdm0 forever waits for /dev/raw-gadget to be closed while close() for /dev/raw-gadget cannot be called unless close() for /dev/cdc-wdm0 completes.

Tetsuo Handa considered that such circular dependency is an usage error [2] which corresponds to an unresponding broken hardware [3]. But Alan Stern responded that we should be prepared for such hardware [4]. Therefore, this patch changes wdm_flush() to use wait_event_interruptible_timeout() which gives up after 30 seconds, for hardware that remains silent must be ignored. The 30 seconds are coming out of thin air.

Changing wait_event() to wait_event_interruptible_timeout() makes error reporting from close() syscall less reliable. To compensate it, this patch also implements wdm_fsync() which does not use timeout. Those who want to be very sure that data has gone out to the device are now advised to call fsync(), with a caveat that fsync() can return -EINVAL when running on older kernels which do not implement wdm_fsync().

This patch also fixes three more problems (listed below) found during exhaustive discussion and testing.

Since multiple threads can concurrently call wdm_write()/wdm_flush(), we need to use wake_up_all() whenever clearing WDM_IN_USE in order to make sure that all waiters are woken up. Also, error reporting needs to use fetch-and-clear approach in order not to report same error for multiple times.

Since wdm_flush() checks WDM_DISCONNECTING, wdm_write() should as well check WDM_DISCONNECTING.

In wdm_flush(), since locks are not held, it is not safe to dereference desc->intf after checking that WDM_DISCONNECTING is not set [5]. Thus, remove dev_err() from wdm_flush().

[1] https://syzkaller.appspot.com/bug?id=e7b761593b23eb50855b9ea31e3be5472b711186
[2] https://lkml.kernel.org/r/[email protected]
[3] https://lkml.kernel.org/r/[email protected]
[4] https://lkml.kernel.org/r/[email protected]
[5] https://lkml.kernel.org/r/[email protected]

---
 drivers/usb/class/cdc-wdm.c |   70 +++++++++++++++++++++++++++++++++-----------
 1 file changed, 54 insertions(+), 16 deletions(-)
drivers/usb/class/cdc-wdm.c +54 -16
@@ -58,6 +58,9 @@ MODULE_DEVICE_TABLE (usb, wdm_ids);
 
 #define WDM_MAX			16
 
+/* we cannot wait forever at flush() */
+#define WDM_FLUSH_TIMEOUT	(30 * HZ)
+
 /* CDC-WMC r1.1 requires wMaxCommand to be "at least 256 decimal (0x100)" */
 #define WDM_DEFAULT_BUFSIZE	256
 
@@ -151,7 +154,7 @@ static void wdm_out_callback(struct urb
 	kfree(desc->outbuf);
 	desc->outbuf = NULL;
 	clear_bit(WDM_IN_USE, &desc->flags);
-	wake_up(&desc->wait);
+	wake_up_all(&desc->wait);
 }
 
 static void wdm_in_callback(struct urb *urb)
@@ -393,6 +396,9 @@ static ssize_t wdm_write
 	if (test_bit(WDM_RESETTING, &desc->flags))
 		r = -EIO;
 
+	if (test_bit(WDM_DISCONNECTING, &desc->flags))
+		r = -ENODEV;
+
 	if (r < 0) {
 		rv = r;
 		goto out_free_mem_pm;
@@ -424,6 +430,7 @@ static ssize_t wdm_write
 	if (rv < 0) {
 		desc->outbuf = NULL;
 		clear_bit(WDM_IN_USE, &desc->flags);
+		wake_up_all(&desc->wait); /* for wdm_wait_for_response() */
 		dev_err(&desc->intf->dev, "Tx URB error: %d\n", rv);
 		rv = usb_translate_errors(rv);
 		goto out_free_mem_pm;
@@ -583,28 +590,58 @@ err:
 	return rv;
 }
 
-static int wdm_flush(struct file *file, fl_owner_t id)
+static int wdm_wait_for_response(struct file *file, long timeout)
 {
 	struct wdm_device *desc = file->private_data;
+	long rv; /* Use long here because (int) MAX_SCHEDULE_TIMEOUT < 0. */
 
-	wait_event(desc->wait,
-			/*
-			 * needs both flags. We cannot do with one
-			 * because resetting it would cause a race
-			 * with write() yet we need to signal
-			 * a disconnect
-			 */
-			!test_bit(WDM_IN_USE, &desc->flags) ||
-			test_bit(WDM_DISCONNECTING, &desc->flags));
+	/*
+	 * Needs both flags. We cannot do with one because resetting it would
+	 * cause a race with write() yet we need to signal a disconnect.
+	 */
+	rv = wait_event_interruptible_timeout(desc->wait,
+			      !test_bit(WDM_IN_USE, &desc->flags) ||
+			      test_bit(WDM_DISCONNECTING, &desc->flags),
+			      timeout);
 
-	/* cannot dereference desc->intf if WDM_DISCONNECTING */
+	/*
+	 * To report the correct error. This is best effort.
+	 * We are inevitably racing with the hardware.
+	 */
 	if (test_bit(WDM_DISCONNECTING, &desc->flags))
 		return -ENODEV;
-	if (desc->werr < 0)
-		dev_err(&desc->intf->dev, "Error in flush path: %d\n",
-			desc->werr);
+	if (!rv)
+		return -EIO;
+	if (rv < 0)
+		return -EINTR;
+
+	spin_lock_irq(&desc->iuspin);
+	rv = desc->werr;
+	desc->werr = 0;
+	spin_unlock_irq(&desc->iuspin);
 
-	return usb_translate_errors(desc->werr);
+	return usb_translate_errors(rv);
+
+}
+
+/*
+ * You need to send a signal when you react to malicious or defective hardware.
+ * Also, don't abort when fsync() returned -EINVAL, for older kernels which do
+ * not implement wdm_flush() will return -EINVAL.
+ */
+static int wdm_fsync(struct file *file, loff_t start, loff_t end, int datasync)
+{
+	return wdm_wait_for_response(file, MAX_SCHEDULE_TIMEOUT);
+}
+
+/*
+ * Same with wdm_fsync(), except it uses finite timeout in order to react to
+ * malicious or defective hardware which ceased communication after close() was
+ * implicitly called due to process termination.
+ */
+static int wdm_flush(struct file *file, fl_owner_t id)
+{
+	return wdm_wait_for_response(file, WDM_FLUSH_TIMEOUT);
 }
 
 static __poll_t wdm_poll(struct file *file, struct poll_table_struct *wait)
@@ -729,6 +766,7 @@ static const struct file_operations wdm_
 	.owner =	THIS_MODULE,
 	.read =		wdm_read,
 	.write =	wdm_write,
+	.fsync =	wdm_fsync,
 	.open =		wdm_open,
 	.flush =	wdm_flush,
 	.release =	wdm_release,
author maintainer
#633 lore raw

PATCH 631/633 usb: cdns3: gadget: free interrupt after gadget has deleted

In reply to Greg Kroah-Hartman

From: Peter Chen <[email protected]>

commit 98df91f8840cf750a0bc7c4c5d6b6085bac945b3 upstream.

The interrupt may occur during the gadget deletion, it fixes the below oops.

[ 2394.974604] configfs-gadget gadget: suspend
[ 2395.042578] configfs-gadget 5b130000.usb: unregistering UDC driver [g1]
[ 2395.382562] irq 229: nobody cared (try booting with the "irqpoll" option)
[ 2395.389362] CPU: 0 PID: 301 Comm: kworker/u12:6 Not tainted 5.8.0-rc3-next-20200703-00060-g2f13b83cbf30-dirty #456
[ 2395.399712] Hardware name: Freescale i.MX8QM MEK (DT)
[ 2395.404782] Workqueue: 2-0051 tcpm_state_machine_work
[ 2395.409832] Call trace:
[ 2395.412289]  dump_backtrace+0x0/0x1d0
[ 2395.415950]  show_stack+0x1c/0x28
[ 2395.419271]  dump_stack+0xbc/0x118
[ 2395.422678]  __report_bad_irq+0x50/0xe0
[ 2395.426513]  note_interrupt+0x2cc/0x38c
[ 2395.430355]  handle_irq_event_percpu+0x88/0x90
[ 2395.434800]  handle_irq_event+0x4c/0xe8
[ 2395.438640]  handle_fasteoi_irq+0xbc/0x168
[ 2395.442740]  generic_handle_irq+0x34/0x48
[ 2395.446752]  __handle_domain_irq+0x68/0xc0
[ 2395.450846]  gic_handle_irq+0x64/0x150
[ 2395.454596]  el1_irq+0xb8/0x180
[ 2395.457733]  __do_softirq+0xac/0x3b8
[ 2395.461310]  irq_exit+0xc0/0xe0
[ 2395.464448]  __handle_domain_irq+0x6c/0xc0
[ 2395.468540]  gic_handle_irq+0x64/0x150
[ 2395.472295]  el1_irq+0xb8/0x180
[ 2395.475436]  _raw_spin_unlock_irqrestore+0x14/0x48
[ 2395.480232]  usb_gadget_disconnect+0x120/0x140
[ 2395.484678]  usb_gadget_remove_driver+0xb4/0xd0
[ 2395.489208]  usb_del_gadget+0x6c/0xc8
[ 2395.492872]  cdns3_gadget_exit+0x5c/0x120
[ 2395.496882]  cdns3_role_stop+0x60/0x90
[ 2395.500634]  cdns3_role_set+0x64/0xd8
[ 2395.504301]  usb_role_switch_set_role.part.0+0x3c/0x90
[ 2395.509444]  usb_role_switch_set_role+0x20/0x30
[ 2395.513978]  tcpm_mux_set+0x60/0xf8
[ 2395.517470]  tcpm_reset_port+0xa4/0xf0
[ 2395.521222]  tcpm_detach.part.0+0x44/0x50
[ 2395.525227]  tcpm_state_machine_work+0x8b0/0x2360
[ 2395.529932]  process_one_work+0x1c8/0x470
[ 2395.533939]  worker_thread+0x50/0x420
[ 2395.537603]  kthread+0x148/0x168
[ 2395.540830]  ret_from_fork+0x10/0x18
[ 2395.544399] handlers:
[ 2395.546671] [<000000008dea28da>] cdns3_wakeup_irq
[ 2395.551375] [<000000009fee5c61>] cdns3_drd_irq threaded [<000000005148eaec>] cdns3_drd_thread_irq
[ 2395.560255] Disabling IRQ #229
[ 2395.563454] configfs-gadget gadget: unbind function 'Mass Storage Function'/000000000132f835
[ 2395.563657] configfs-gadget gadget: unbind
[ 2395.563917] udc 5b130000.usb: releasing '5b130000.usb'
Fixes 7733f6c32e36 ("usb: cdns3: Add Cadence USB3 DRD Driver")
---
 drivers/usb/cdns3/gadget.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/usb/cdns3/gadget.c +1 -1
@@ -2988,12 +2988,12 @@ void cdns3_gadget_exit(struct cdns3 *cdn
 
 	priv_dev = cdns->gadget_dev;
 
-	devm_free_irq(cdns->dev, cdns->dev_irq, priv_dev);
 
 	pm_runtime_mark_last_busy(cdns->dev);
 	pm_runtime_put_autosuspend(cdns->dev);
 
 	usb_del_gadget_udc(&priv_dev->gadget);
+	devm_free_irq(cdns->dev, cdns->dev_irq, priv_dev);
 
 	cdns3_free_all_eps(priv_dev);
 
author maintainer
#634 lore raw

PATCH 632/633 eeprom: at25: set minimum read/write access stride to 1

In reply to Greg Kroah-Hartman

From: Christian Eggers <[email protected]>

commit 284f52ac1c6cfa1b2e5c11b84653dd90e4e91de7 upstream.

SPI eeproms are addressed by byte.

---
 drivers/misc/eeprom/at25.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/misc/eeprom/at25.c +1 -1
@@ -358,7 +358,7 @@ static int at25_probe(struct spi_device
 	at25->nvmem_config.reg_read = at25_ee_read;
 	at25->nvmem_config.reg_write = at25_ee_write;
 	at25->nvmem_config.priv = at25;
-	at25->nvmem_config.stride = 4;
+	at25->nvmem_config.stride = 1;
 	at25->nvmem_config.word_size = 1;
 	at25->nvmem_config.size = chip.byte_len;
 
author maintainer
#635 lore raw

PATCH 633/633 usb: gadget: f_ncm: allow using NCM in SuperSpeed Plus gadgets.

In reply to Greg Kroah-Hartman

From: Lorenzo Colitti <[email protected]>

[ Upstream commit 7974ecd7d3c0f42a98566f281e44ea8573a2ad88 ]

Currently, enabling f_ncm at SuperSpeed Plus speeds results in an oops in config_ep_by_speed because ncm_set_alt passes in NULL ssp_descriptors. Fix this by re-using the SuperSpeed descriptors. This is safe because usb_assign_descriptors calls usb_copy_descriptors.

Tested: enabled f_ncm on a dwc3 gadget and 10Gbps link, ran iperf

---
 drivers/usb/gadget/function/f_ncm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/usb/gadget/function/f_ncm.c +1 -1
index 7672fa25085b0..92a7c3a839454 100644
@@ -1536,7 +1536,7 @@ static int ncm_bind(struct usb_configuration *c, struct usb_function *f)
 		fs_ncm_notify_desc.bEndpointAddress;
 
 	status = usb_assign_descriptors(f, ncm_fs_function, ncm_hs_function,
-			ncm_ss_function, NULL);
+			ncm_ss_function, ncm_ss_function);
 	if (status)
 		goto fail;
 
Signature · 1 line
2.25.1
Tested-by on the v1 series
#636 lore raw
In reply to Greg Kroah-Hartman

hello,

Compiled and booted 5.8.17-rc1+.
Looks like no typical regression or regressions.

Quoted 2,597 lines · Greg Kroah-Hartman

This is the start of the stable review cycle for the 5.8.17 release. There are 633 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 Thu, 29 Oct 2020 13:53:43 +0000. 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.8.17-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.8.y
and the diffstat can be found below.

thanks,

greg k-h

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

Greg Kroah-Hartman <[email protected]>

    Linux 5.8.17-rc1

Lorenzo Colitti <[email protected]>
usb: gadget: f_ncm: allow using NCM in SuperSpeed Plus gadgets.

Christian Eggers <[email protected]>
eeprom: at25: set minimum read/write access stride to 1

Peter Chen <[email protected]>
usb: cdns3: gadget: free interrupt after gadget has deleted

Oliver Neukum <[email protected]>
USB: cdc-wdm: Make wdm_flush() interruptible and add wdm_fsync().

Vincent Mailhol <[email protected]>
usb: cdc-acm: add quirk to blacklist ETAS ES58X devices

Chunfeng Yun <[email protected]>
usb: gadget: bcm63xx_udc: fix up the error of undeclared usb_debug_root

Peng Fan <[email protected]>
tty: serial: fsl_lpuart: fix lpuart32_poll_get_char

Peng Fan <[email protected]>
tty: serial: lpuart: fix lpuart32_write usage

Julian Wiedmann <[email protected]>
s390/qeth: don't let HW override the configured port role

Valentin Vidic <[email protected]>
net: korina: cast KSEG0 address to pointer in kfree

Zekun Shen <[email protected]>
ath10k: check idx validity in __ath10k_htt_rx_ring_fill_n()

Serge Semin <[email protected]>
dmaengine: dw: Activate FIFO-mode for memory peripherals only

Serge Semin <[email protected]>
dmaengine: dw: Add DMA-channels mask cell support

Qingqing Zhuo <[email protected]>
drm/amd/display: Screen corruption on dual displays (DP+USB-C)

Can Guo <[email protected]>
scsi: ufs: ufs-qcom: Fix race conditions caused by ufs_qcom_testbus_config()

Eli Billauer <[email protected]>
usb: core: Solve race condition in anchor cleanup functions

Wang Yufen <[email protected]>
brcm80211: fix possible memleak in brcmf_proto_msgbuf_attach

Kevin Barnett <[email protected]>
scsi: smartpqi: Avoid crashing kernel for controller issues

Sathyanarayana Nujella <[email protected]>

    ASoC: Intel: sof_rt5682: override quirk data for tgl_max98373_rt5682

Sathyanarayana Nujella <[email protected]>
ASoC: SOF: Add topology filename override based on dmi data match

Connor McAdams <[email protected]>
ALSA: hda/ca0132 - Add new quirk ID for SoundBlaster AE-7.

Connor McAdams <[email protected]>
ALSA: hda/ca0132 - Add AE-7 microphone selection commands.

Tetsuo Handa <[email protected]>
mwifiex: don't call del_timer_sync() on uninitialized timer

Julian Wiedmann <[email protected]>
s390/qeth: strictly order bridge address events

Jan Kara <[email protected]>
reiserfs: Fix memory leak in reiserfs_parse_options()

Peilin Ye <[email protected]>
ipvs: Fix uninit-value in do_ip_vs_set_ctl()

Dinghao Liu <[email protected]>
Bluetooth: btusb: Fix memleak in btusb_mtk_submit_wmt_recv_urb

Tong Zhang <[email protected]>
tty: ipwireless: fix error handling

George Kennedy <[email protected]>
fbmem: add margin check to fb_check_caps()

Nilesh Javali <[email protected]>
scsi: qedi: Fix list_del corruption while removing active I/O

Nilesh Javali <[email protected]>
scsi: qedi: Protect active command list to avoid list corruption

Nilesh Javali <[email protected]>
scsi: qedi: Mark all connections for recovery on link down event

Saurav Kashyap <[email protected]>
scsi: qedf: Return SUCCESS if stale rport is encountered

Hans de Goede <[email protected]>
HID: ite: Add USB id match for Acer One S1003 keyboard dock

Doug Horn <[email protected]>
Fix use after free in get_capset_info callback.

Chris Chiu <[email protected]>
rtl8xxxu: prevent potential memory leak

Keita Suzuki <[email protected]>
brcmsmac: fix memory leak in wlc_phy_attach_lcnphy

Yonghong Song <[email protected]>
selftests/bpf: Fix test_sysctl_loop{1, 2} failure due to clang change

Daniel Wagner <[email protected]>
scsi: qla2xxx: Warn if done() or free() are called on an already freed srb

Jing Xiangfeng <[email protected]>
scsi: ibmvfc: Fix error return in ibmvfc_probe()

Qian Cai <[email protected]>
iomap: fix WARN_ON_ONCE() from unprivileged users

Zhenzhong Duan <[email protected]>
drm/msm/a6xx: fix a potential overflow issue

Abhishek Pandit-Subedi <[email protected]>
Bluetooth: Only mark socket zapped after unlocking

Jia Yang <[email protected]>
drm: fix double free for gbo in drm_gem_vram_init and drm_gem_vram_create

Hamish Martin <[email protected]>
usb: ohci: Default to per-port over-current protection

Darrick J. Wong <[email protected]>
xfs: make sure the rt allocator doesn't run off the end

Viresh Kumar <[email protected]>
opp: Prevent memory leak in dev_pm_opp_attach_genpd()

Eric Biggers <[email protected]>
reiserfs: only call unlock_new_inode() if I_NEW

Keita Suzuki <[email protected]>
misc: rtsx: Fix memory leak in rtsx_pci_probe

Maciej Fijalkowski <[email protected]>
bpf: Limit caller's stack depth 256 for subprogs with tailcalls

Neil Armstrong <[email protected]>
drm/panfrost: add support for vendor quirk

Neil Armstrong <[email protected]>
drm/panfrost: add amlogic reset quirk callback

Neil Armstrong <[email protected]>
drm/panfrost: add Amlogic GPU integration quirks

Brooke Basile <[email protected]>
ath9k: hif_usb: fix race condition between usb_get_urb() and usb_kill_anchored_urbs()

Mikael Wikström <[email protected]>
HID: multitouch: Lenovo X1 Tablet Gen3 trackpoint and buttons

Joakim Zhang <[email protected]>
can: flexcan: flexcan_chip_stop(): add error handling and propagate error value

Oded Gabbay <[email protected]>
habanalabs: cast to u64 before shift > 31 bits

Mauro Carvalho Chehab <[email protected]>
usb: dwc3: simple: add support for Hikey 970

Johan Hovold <[email protected]>
USB: cdc-acm: handle broken union descriptors

Alan Maguire <[email protected]>
selftests/bpf: Fix overflow tests to reflect iter size increase

Tzu-En Huang <[email protected]>
rtw88: increse the size of rx buffer size

Jan Kara <[email protected]>
udf: Avoid accessing uninitialized data on failed inode read

Jan Kara <[email protected]>
udf: Limit sparing table size

Kai-Heng Feng <[email protected]>
rtw88: pci: Power cycle device during shutdown

Zqiang <[email protected]>
usb: gadget: function: printer: fix use-after-free in __lock_acquire

Yu Chen <[email protected]>
usb: dwc3: Add splitdisable quirk for Hisilicon Kirin Soc

Sherry Sun <[email protected]>
misc: vop: add round_up(x,4) for vring_size to avoid kernel panic

Sherry Sun <[email protected]>
mic: vop: copy data to kernel space then write to io memory

Roman Bolshakov <[email protected]>
scsi: target: core: Add CONTROL field for trace events

Jing Xiangfeng <[email protected]>
scsi: mvumi: Fix error return in mvumi_io_attach()

Christoph Hellwig <[email protected]>
PM: hibernate: remove the bogus call to get_gendisk() in software_resume()

Song Liu <[email protected]>
bpf: Use raw_spin_trylock() for pcpu_freelist_push/pop in NMI

Hangbin Liu <[email protected]>
libbpf: Close map fd if init map slots failed

Jérôme Pouiller <[email protected]>
staging: wfx: fix handling of MMIC error

Thomas Pedersen <[email protected]>

    mac80211: handle lack of sband->bitrates in rates

Cong Wang <[email protected]>

    ip_gre: set dev->hard_header_len and dev->needed_headroom properly

Rustam Kovhaev <[email protected]>
ntfs: add check for mft record size in superblock

Dinghao Liu <[email protected]>
media: venus: core: Fix runtime PM imbalance in venus_probe

Rajendra Nayak <[email protected]>
media: venus: core: Fix error handling in probe

Alexander Aring <[email protected]>
fs: dlm: fix configfs memory leak

Vikash Garodia <[email protected]>
media: venus: fixes for list corruption

Dinghao Liu <[email protected]>
media: atomisp: fix memleak in ia_css_stream_create

Mauro Carvalho Chehab <[email protected]>
media: saa7134: avoid a shift overflow

Pali Rohár <[email protected]>
mmc: sdio: Check for CISTPL_VERS_1 buffer size

Adam Goode <[email protected]>
media: uvcvideo: Ensure all probed info is returned to v4l2

Borislav Petkov <[email protected]>
x86/mce: Make mce_rdmsrl() panic on an inaccessible MSR

Brad Bishop <[email protected]>
spi: fsi: Fix clock running too fast

Longfang Liu <[email protected]>
crypto: hisilicon - fixed memory allocation error

Borislav Petkov <[email protected]>
x86/mce: Annotate mce_rd/wrmsrl() with noinstr

Xiaolong Huang <[email protected]>
media: media/pci: prevent memory leak in bttv_probe

Dinghao Liu <[email protected]>
media: bdisp: Fix runtime PM imbalance on error

Dinghao Liu <[email protected]>
media: platform: sti: hva: Fix runtime PM imbalance on error

Dinghao Liu <[email protected]>
media: platform: s3c-camif: Fix runtime PM imbalance on error

Dinghao Liu <[email protected]>
media: vsp1: Fix runtime PM imbalance on error

Qiushi Wu <[email protected]>
media: exynos4-is: Fix a reference count leak

Qiushi Wu <[email protected]>
media: exynos4-is: Fix a reference count leak due to pm_runtime_get_sync

Qiushi Wu <[email protected]>
media: exynos4-is: Fix several reference count leaks due to pm_runtime_get_sync

Qiushi Wu <[email protected]>
media: sti: Fix reference count leaks

Aditya Pakki <[email protected]>
media: st-delta: Fix reference count leak in delta_run_work

Oliver Neukum <[email protected]>
media: ati_remote: sanity check for both endpoints

Pavel Machek <[email protected]>
media: firewire: fix memory leak

Borislav Petkov <[email protected]>
x86/mce: Add Skylake quirk for patrol scrub reported errors

Arvind Sankar <[email protected]>
x86/asm: Replace __force_order with a memory clobber

Pavel Machek <[email protected]>
crypto: ccp - fix error handling

Mark Mossberg <[email protected]>
x86/dumpstack: Fix misleading instruction pointer error message

Tetsuo Handa <[email protected]>
block: ratelimit handle_bad_sector() message

Zhao Heming <[email protected]>
md/bitmap: fix memory leak of temporary bitmap

Hans de Goede <[email protected]>
i2c: core: Restore acpi_walk_dep_device_list() getting called after registering the ACPI i2c devs

Al Grant <[email protected]>
perf: correct SNOOPX field offset

Juri Lelli <[email protected]>
sched/features: Fix !CONFIG_JUMP_LABEL case

Dinghao Liu <[email protected]>
ntb: intel: Fix memleak in intel_ntb_pci_probe

Kaige Li <[email protected]>
NTB: hw: amd: fix an issue about leak system resources

Vitaly Kuznetsov <[email protected]>
KVM: ioapic: break infinite recursion on lazy EOI

zhenwei pi <[email protected]>
nvmet: fix uninitialized work for zero kato

Ganesh Goudar <[email protected]>
powerpc/pseries: Avoid using addr_to_pfn in real mode

Vasant Hegde <[email protected]>
powerpc/powernv/dump: Fix race while processing OPAL dump

Colin Ian King <[email protected]>

    lightnvm: fix out-of-bounds write to array devices->info[]

Martin Blumenstingl <[email protected]>
ARM: dts: meson8: remove two invalid interrupt lines from the GPU node

Michal Simek <[email protected]>
arm64: dts: zynqmp: Remove additional compatible string for i2c IPs

Dennis YC Hsieh <[email protected]>
drm/mediatek: reduce clear event

Dennis YC Hsieh <[email protected]>
soc: mediatek: cmdq: add clear option in cmdq_pkt_wfe api

Biju Das <[email protected]>
ARM: dts: iwg20d-q7-common: Fix touch controller probe failure

Marek Vasut <[email protected]>
ARM: dts: stm32: Fix DH PDK2 display PWM channel

Marek Vasut <[email protected]>
ARM: dts: stm32: Swap PHY reset GPIO and TSC2004 IRQ on DHCOM SOM

Marek Vasut <[email protected]>
ARM: dts: stm32: Move ethernet PHY into DH SoM DT

Holger Assmann <[email protected]>
ARM: dts: stm32: lxa-mc1: Fix kernel warning about PHY delays

Marek Vasut <[email protected]>
ARM: dts: stm32: Fix sdmmc2 pins on AV96

Tony Lindgren <[email protected]>
ARM: OMAP2+: Restore MPU power domain if cpu_cluster_pm_enter() fails

Krzysztof Kozlowski <[email protected]>
soc: fsl: qbman: Fix return value on success

Cristian Ciocaltea <[email protected]>
ARM: dts: owl-s500: Fix incorrect PPI interrupt specifiers

Amit Singh Tomar <[email protected]>
arm64: dts: actions: limit address range for pinctrl node

Hsin-Yi Wang <[email protected]>
arm64: dts: mt8173: elm: Fix nor_flash node property

Geert Uytterhoeven <[email protected]>
arm64: dts: renesas: r8a774c0: Fix MSIOF1 DMA channels

Geert Uytterhoeven <[email protected]>
arm64: dts: renesas: r8a77990: Fix MSIOF1 DMA channels

Corentin Labbe <[email protected]>
dt-bindings: crypto: Specify that allwinner, sun8i-a33-crypto needs reset

Sibi Sankar <[email protected]>
soc: qcom: apr: Fixup the error displayed on lookup failure

Stephan Gerhold <[email protected]>
arm64: dts: qcom: msm8916: Fix MDP/DSI interrupts

Stephan Gerhold <[email protected]>
arm64: dts: qcom: pm8916: Remove invalid reg size from wcd_codec

Stephan Gerhold <[email protected]>
arm64: dts: qcom: msm8916: Remove one more thermal trip point unit name

Sibi Sankar <[email protected]>
soc: qcom: pdr: Fixup array type of get_domain_list_resp message

Stephen Boyd <[email protected]>
arm64: dts: qcom: sc7180: Drop flags on mdss irqs

Krzysztof Kozlowski <[email protected]>
arm64: dts: imx8mq: Add missing interrupts to GPC

Sudeep Holla <[email protected]>
firmware: arm_scmi: Fix NULL pointer dereference in mailbox_chan_free

Krzysztof Kozlowski <[email protected]>
memory: fsl-corenet-cf: Fix handling of platform_get_irq() error

Sai Prakash Ranjan <[email protected]>
arm64: dts: qcom: sc7180: Fix the LLCC base register size

YueHaibing <[email protected]>
memory: omap-gpmc: Fix build error without CONFIG_OF

Dan Carpenter <[email protected]>
memory: omap-gpmc: Fix a couple off by ones

Qiang Yu <[email protected]>
arm64: dts: allwinner: h5: remove Mali GPU PMU module

Jernej Skrabec <[email protected]>
ARM: dts: sun8i: r40: bananapi-m2-ultra: Fix dcdc1 regulator

Arnd Bergmann <[email protected]>
ARM: s3c24xx: fix mmc gpio lookup tables

Claudiu Beznea <[email protected]>
ARM: at91: pm: of_node_put() after its usage

Horia Geantă <[email protected]>
ARM: dts: imx6sl: fix rng node

Jerome Brunet <[email protected]>
arm64: dts: meson: vim3: correct led polarity

Dan Carpenter <[email protected]>
soc: xilinx: Fix error code in zynqmp_pm_probe()

Pablo Neira Ayuso <[email protected]>
netfilter: nf_fwd_netdev: clear timestamp in forwarding path

Ard Biesheuvel <[email protected]>
netsec: ignore 'phy-mode' device property on ACPI systems

Timothée COCAULT <[email protected]>
netfilter: ebtables: Fixes dropping of small packets in bridge nat

Francesco Ruggeri <[email protected]>
netfilter: conntrack: connection timeout after re-register

Ard Biesheuvel <[email protected]>
arm64: mm: use single quantity to represent the PA to VA translation

Jing Xiangfeng <[email protected]>
scsi: bfa: Fix error return in bfad_pci_init()

Robert Hoo <[email protected]>
KVM: x86: emulating RDPID failure shall return #UD rather than #GP

Krzysztof Kozlowski <[email protected]>
Input: sun4i-ps2 - fix handling of platform_get_irq() error

Krzysztof Kozlowski <[email protected]>
Input: twl4030_keypad - fix handling of platform_get_irq() error

Krzysztof Kozlowski <[email protected]>
Input: omap4-keypad - fix handling of platform_get_irq() error

Krzysztof Kozlowski <[email protected]>
Input: ep93xx_keypad - fix handling of platform_get_irq() error

YueHaibing <[email protected]>

    Input: stmfts - fix a & vs && typo

Dan Carpenter <[email protected]>
Input: imx6ul_tsc - clean up some errors in imx6ul_tsc_resume()

Johnny Chuang <[email protected]>
Input: elants_i2c - fix typo for an attribute to show calibration count

Gwendal Grignou <[email protected]>
platform/chrome: cros_ec_lightbar: Reduce ligthbar get version command

Martijn de Gouw <[email protected]>
SUNRPC: fix copying of multiple pages in gss_read_proxy_verf()

Abel Vesa <[email protected]>
clk: imx8mq: Fix usdhc parents order

Xiaoyang Xu <[email protected]>
vfio iommu type1: Fix memory leak in vfio_iommu_type1_pin_pages

Alex Williamson <[email protected]>
vfio/pci: Clear token on bypass registration failure

Darrick J. Wong <[email protected]>
ext4: limit entries returned when counting fsmap records

Xiao Yang <[email protected]>
ext4: disallow modifying DAX inode flag if inline_data has been set

Jan Kara <[email protected]>
ext4: discard preallocations before releasing group lock

Ye Bin <[email protected]>
ext4: fix dead loop in ext4_mb_new_blocks

Dan Aloni <[email protected]>
svcrdma: fix bounce buffers for unaligned offsets and multiple pages

Guenter Roeck <[email protected]>
watchdog: sp5100: Fix definition of EFCH_PM_DECODEEN3

Dinghao Liu <[email protected]>
watchdog: Use put_device on error

Dinghao Liu <[email protected]>
watchdog: Fix memleak in watchdog_cdev_register

Masahiro Yamada <[email protected]>
kbuild: deb-pkg: do not build linux-headers package if CONFIG_MODULES=n

Navid Emamdoost <[email protected]>
clk: bcm2835: add missing release if devm_clk_hw_register fails

Claudiu Beznea <[email protected]>
clk: at91: clk-main: update key before writing AT91_CKGR_MOR

Daniel Jordan <[email protected]>
module: statically initialize init section freeing data

Hanks Chen <[email protected]>
clk: mediatek: add UART0 clock support

Stephen Boyd <[email protected]>
clk: rockchip: Initialize hw to error to avoid undefined behavior

Dexuan Cui <[email protected]>
PCI: hv: Fix hibernation in case interrupts are not re-created

Colin Ian King <[email protected]>
remoteproc/mediatek: fix null pointer dereference on null scp pointer

Hauke Mehrtens <[email protected]>
pwm: img: Fix null pointer access in probe

Simon South <[email protected]>
pwm: rockchip: Keep enabled PWMs running while probing

Tero Kristo <[email protected]>
clk: keystone: sci-clk: fix parsing assigned-clock data during probe

Konrad Dybcio <[email protected]>
clk: qcom: gcc-sdm660: Fix wrong parent_map

Yan Zhao <[email protected]>
vfio/type1: fix dirty bitmap calculation in vfio_dma_rw

Yan Zhao <[email protected]>
vfio: fix a missed vfio group put in vfio_pin_pages

Matthew Rosato <[email protected]>
vfio/pci: Decouple PCI_COMMAND_MEMORY bit checks from is_virtfn

Matthew Rosato <[email protected]>
s390/pci: Mark all VFs as not implementing PCI_COMMAND_MEMORY

Yan Zhao <[email protected]>
vfio: add a singleton check for vfio_group_pin_pages

Matthew Rosato <[email protected]>
PCI/IOV: Mark VFs as not implementing PCI_COMMAND_MEMORY

Nicolas Boichat <[email protected]>
rpmsg: Avoid double-free in mtk_rpmsg_register_device

Dan Carpenter <[email protected]>
rpmsg: smd: Fix a kobj leak in in qcom_smd_parse_edge()

Mark Tomlinson <[email protected]>
PCI: iproc: Set affinity mask on MSI interrupts

Pali Rohár <[email protected]>
PCI: aardvark: Check for errors from pci_bridge_emul_init() call

Pali Rohár <[email protected]>
PCI: aardvark: Fix compilation on s390

Hou Zhiqiang <[email protected]>
PCI: designware-ep: Fix the Header Type check

Stefan Agner <[email protected]>
clk: meson: g12a: mark fclk_div2 as critical

Dirk Behme <[email protected]>
i2c: rcar: Auto select RESET_CONTROLLER

Chris Packham <[email protected]>
rtc: ds1307: Clear OSF flag on DS1388 when setting time

Jerome Brunet <[email protected]>
clk: meson: axg-audio: separate axg and g12a regmap tables

Jassi Brar <[email protected]>
mailbox: avoid timer start from callback

Jing Xiangfeng <[email protected]>
rapidio: fix the missed put_device() for rio_mport_add_riodev

Souptick Joarder <[email protected]>
rapidio: fix error handling path

Matthew Wilcox (Oracle) <[email protected]>
ramfs: fix nommu mmap with gaps in the page cache

Tobias Jordan <[email protected]>
lib/crc32.c: fix trivial typo in preprocessor condition

Matthew Wilcox (Oracle) <[email protected]>
mm/page_owner: change split_page_owner to take a count

Bob Pearson <[email protected]>
RDMA/rxe: Handle skb_clone() failure in rxe_recv.c

David Howells <[email protected]>
afs: Fix cell removal

David Howells <[email protected]>
afs: Fix cell purging with aliases

David Howells <[email protected]>
afs: Fix cell refcounting by splitting the usage counter

David Howells <[email protected]>
afs: Fix rapid cell addition/removal by not using RCU on cells tree

Jamie Iles <[email protected]>
f2fs: wait for sysfs kobject removal before freeing f2fs_sb_info

Oliver O'Halloran <[email protected]>
selftests/powerpc: Fix eeh-basic.sh exit codes

Jiri Slaby <[email protected]>
perf trace: Fix off by ones in memset() after realloc() in arches using libaudit

Krzysztof Kozlowski <[email protected]>
maiblox: mediatek: Fix handling of platform_get_irq() error

Johannes Berg <[email protected]>
um: time-travel: Fix IRQ handling in time_travel_handle_message()

Tiezhu Yang <[email protected]>
um: vector: Use GFP_ATOMIC under spin lock

Eric Biggers <[email protected]>
f2fs: reject CASEFOLD inode flag without casefold feature

Bob Pearson <[email protected]>
RDMA/rxe: Fix skb lifetime in rxe_rcv_mcast_pkt()

Colin Ian King <[email protected]>
IB/rdmavt: Fix sizeof mismatch

Srikar Dronamraju <[email protected]>
cpufreq: powernv: Fix frame-size-overflow in powernv_cpufreq_reboot_notifier

Vaibhav Jain <[email protected]>
powerpc/papr_scm: Add PAPR command family to pass-through command-set

Jing Xiangfeng <[email protected]>
i3c: master: Fix error return in cdns_i3c_master_probe()

Namhyung Kim <[email protected]>
perf stat: Fix out of bounds CPU map access when handling armv8_pmu events

Kajol Jain <[email protected]>
powerpc/perf/hv-gpci: Fix starting index value

Athira Rajeev <[email protected]>
powerpc/perf: Exclude pmc5/6 from the irrelevant PMU group constraints

Nicholas Piggin <[email protected]>

    powerpc/64: fix irq replay pt_regs->softe value

Nicholas Piggin <[email protected]>
powerpc/64: fix irq replay missing preempt

Kamal Heib <[email protected]>
RDMA/ipoib: Set rtnl_link_ops for ipoib interfaces

Leon Romanovsky <[email protected]>
overflow: Include header file with SIZE_MAX declaration

Daniel Thompson <[email protected]>
kdb: Fix pager search for multi-line strings

Janusz Krzysztofik <[email protected]>
mtd: rawnand: ams-delta: Fix non-OF build warning

Hauke Mehrtens <[email protected]>
mtd: spinand: gigadevice: Add QE Bit

Hauke Mehrtens <[email protected]>
mtd: spinand: gigadevice: Only one dummy byte in QUADIO

Evgeny Novikov <[email protected]>
mtd: rawnand: vf610: disable clk on error handling path in probe

Christophe Kerello <[email protected]>
mtd: rawnand: stm32_fmc2: fix a buffer overflow

Vignesh Raghavendra <[email protected]>
mtd: hyperbus: hbmc-am654: Fix direct mapping setup flash access

Weihang Li <[email protected]>
RDMA/hns: Fix missing sq_sig_type when querying QP

Weihang Li <[email protected]>
RDMA/hns: Fix configuration of ack_req_freq in QPC

Wenpeng Liang <[email protected]>
RDMA/hns: Fix the wrong value of rnr_retry when querying qp

Jiaran Zhang <[email protected]>
RDMA/hns: Solve the overflow of the calc_pg_sz()

Jiaran Zhang <[email protected]>
RDMA/hns: Add check for the validity of sl configuration

Jin Yao <[email protected]>
perf stat: Skip duration_time in setup_system_wide

Sindhu, Devale <[email protected]>
i40iw: Add support to make destroy QP synchronous

Jason Gunthorpe <[email protected]>
RDMA/mlx5: Disable IB_DEVICE_MEM_MGT_EXTENSIONS if IB_WR_REG_MR can't work

Jason Gunthorpe <[email protected]>
RDMA/mlx5: Make mkeys always owned by the kernel's PD when not enabled

Jason Gunthorpe <[email protected]>
RDMA/mlx5: Use set_mkc_access_pd_addr_fields() in reg_create()

Lijun Ou <[email protected]>
RDMA/hns: Set the unsupported wr opcode

Keita Suzuki <[email protected]>
RDMA/qedr: Fix resource leak in qedr_create_qp

Adrian Hunter <[email protected]>
perf intel-pt: Fix "context_switch event has no tid" error

Jason Gunthorpe <[email protected]>
RDMA/cma: Fix use after free race in roce multicast join

Jason Gunthorpe <[email protected]>
RDMA/cma: Consolidate the destruction of a cma_multicast in one place

Jason Gunthorpe <[email protected]>
RDMA/cma: Remove dead code for kernel rdmacm multicast

Jason Gunthorpe <[email protected]>
RDMA/cma: Combine cma_ndev_work with cma_work

Nicholas Piggin <[email protected]>
powerpc/64s/radix: Fix mm_cpumask trimming race vs kthread_use_mm

Christophe Leroy <[email protected]>
powerpc/kasan: Fix CONFIG_KASAN_VMALLOC for 8xx

Finn Thain <[email protected]>
powerpc/tau: Disable TAU between measurements

Finn Thain <[email protected]>
powerpc/tau: Check processor type before enabling TAU interrupt

Finn Thain <[email protected]>
powerpc/tau: Remove duplicated set_thresholds() call

Finn Thain <[email protected]>
powerpc/tau: Convert from timer to workqueue

Finn Thain <[email protected]>
powerpc/tau: Use appropriate temperature sample interval

Aneesh Kumar K.V <[email protected]>
powerpc/book3s64/hash/4k: Support large linear mapping range with 4K

Ravi Bangoria <[email protected]>
powerpc/watchpoint: Add hw_len wherever missing

Ravi Bangoria <[email protected]>
powerpc/watchpoint: Fix handling of vector instructions

Ravi Bangoria <[email protected]>
powerpc/watchpoint: Fix quadword instruction handling on p10 predecessors

Thiago Jung Bauermann <[email protected]>
powerpc/pseries/svm: Allocate SWIOTLB buffer anywhere in memory

Michal Kalderon <[email protected]>
RDMA/qedr: Fix inline size returned for iWARP

Michal Kalderon <[email protected]>
RDMA/qedr: Fix return code if accept is called on a destroyed qp

Michal Kalderon <[email protected]>
RDMA/qedr: Fix use of uninitialized field

Michal Kalderon <[email protected]>
RDMA/qedr: Fix doorbell setting

Michal Kalderon <[email protected]>
RDMA/qedr: Fix qp structure memory leak

Jason Gunthorpe <[email protected]>
RDMA/umem: Prevent small pages from being returned by ib_umem_find_best_pgsz()

Jason Gunthorpe <[email protected]>
RDMA/umem: Fix ib_umem_find_best_pgsz() for mappings that cross a page boundary

Leon Romanovsky <[email protected]>
RDMA: Allow fail of destroy CQ

Leon Romanovsky <[email protected]>
RDMA/core: Delete function indirection for alloc/free kernel CQ

Md Haris Iqbal <[email protected]>
RDMA/rtrs-srv: Incorporate ib_register_client into rtrs server init

Darrick J. Wong <[email protected]>
xfs: fix high key handling in the rt allocator's query_range function

Scott Mayhew <[email protected]>
nfs: add missing "posix" local_lock constant table definition

Darrick J. Wong <[email protected]>
xfs: fix deadlock and streamline xfs_getfsmap performance

Darrick J. Wong <[email protected]>
xfs: limit entries returned when counting fsmap records

Matthew Wilcox (Oracle) <[email protected]>
ida: Free allocated bitmap in error path

Necip Fazil Yildiran <[email protected]>
arc: plat-hsdk: fix kconfig dependency warning when !RESET_CONTROLLER

Greg Ungerer <[email protected]>
m68knommu: include SDHC support only when hardware has it

Dave Chinner <[email protected]>
xfs: fix finobt btree block recovery ordering

Guillaume Tucker <[email protected]>
ARM: 9007/1: l2c: fix prefetch bits init in L2X0_AUX_CTRL using DT values

Arnaldo Carvalho de Melo <[email protected]>
tools feature: Add missing -lzstd to the fast path feature detection

Arnaldo Carvalho de Melo <[email protected]>
perf tools: Make GTK2 support opt-in

Mark Tomlinson <[email protected]>
mtd: mtdoops: Don't write panic data twice

Leon Romanovsky <[email protected]>
RDMA/mlx5: Fix potential race between destroy and CQE poll

Scott Cheloha <[email protected]>
pseries/drmem: don't cache node id in drmem_lmb struct

Nathan Lynch <[email protected]>
powerpc/pseries: explicitly reschedule during drmem_lmb list traversal

Jason Gunthorpe <[email protected]>
RDMA/umem: Fix signature of stub ib_umem_find_best_pgsz()

Lang Cheng <[email protected]>
RDMA/hns: Add a check for current state before modifying QP

Arnd Bergmann <[email protected]>
mtd: lpddr: fix excessive stack usage with clang

Jason Gunthorpe <[email protected]>
RDMA/ucma: Add missing locking around rdma_leave_multicast()

Jason Gunthorpe <[email protected]>

    RDMA/ucma: Fix locking for ctx->events_reported

Paul E. McKenney <[email protected]>
rcutorture: Properly set rcu_fwds for OOM handling

Neeraj Upadhyay <[email protected]>
rcu/tree: Force quiescent state on callback overload

Nicholas Mc Guire <[email protected]>
powerpc/icp-hv: Fix missing of_node_put() in success path

Nicholas Mc Guire <[email protected]>
powerpc/pseries: Fix missing of_node_put() in rng_init()

Håkon Bugge <[email protected]>
IB/mlx4: Adjust delayed work when a dup is observed

Håkon Bugge <[email protected]>
IB/mlx4: Fix starvation in paravirt mux/demux

Parshuram Thombare <[email protected]>
i3c: master add i3c_master_attach_boardinfo to preserve boardinfo

Tom Zanussi <[email protected]>
tracing: Handle synthetic event array field type checking correctly

Tom Zanussi <[email protected]>
selftests/ftrace: Change synthetic event name for inter-event-combined test

Andrii Nakryiko <[email protected]>
fs: fix NULL dereference due to data race in prepend_path()

Suren Baghdasaryan <[email protected]>
mm, oom_adj: don't loop through tasks in __set_oom_adj when not necessary

Ralph Campbell <[email protected]>
mm/memcg: fix device private memcg accounting

Miaohe Lin <[email protected]>
mm/swapfile.c: fix potential memory leak in sys_swapon

Pablo Neira Ayuso <[email protected]>
netfilter: nf_log: missing vlan offload tag and proto

Valentin Vidic <[email protected]>
net: korina: fix kfree of rx/tx descriptor array

John Fastabend <[email protected]>
bpf, sockmap: Remove skb_orphan and let normal skb_kfree do cleanup

Julian Anastasov <[email protected]>

    ipvs: clear skb->tstamp in forwarding path

Christian Hewitt <[email protected]>
drm/panfrost: increase readl_relaxed_poll_timeout values

Tom Rix <[email protected]>
mwifiex: fix double free

Vadim Pasternak <[email protected]>
platform/x86: mlx-platform: Remove PSU EEPROM configuration

Tom Zanussi <[email protected]>
tracing: Fix parse_synth_field() error handling

Tianjia Zhang <[email protected]>
ipmi_si: Fix wrong return value in try_smi_init()

Logan Gunthorpe <[email protected]>
dmaengine: ioat: Allocate correct size for descriptor chunk

Dan Carpenter <[email protected]>
scsi: be2iscsi: Fix a theoretical leak in beiscsi_create_eqs()

John Donnelly <[email protected]>
scsi: target: tcmu: Fix warning: 'page' may be used uninitialized

Minas Harutyunyan <[email protected]>
usb: dwc2: Fix INTR OUT transfers in DDMA mode.

Johannes Berg <[email protected]>
nl80211: fix non-split wiphy information

Necip Fazil Yildiran <[email protected]>
ocxl: fix kconfig dependency warning for OCXL

Manivannan Sadhasivam <[email protected]>
bus: mhi: core: Fix the building of MHI module

Lorenzo Colitti <[email protected]>
usb: gadget: u_ether: enable qmult on SuperSpeed Plus as well

Yoshihiro Shimoda <[email protected]>
usb: gadget: u_serial: clear suspended flag when disconnecting

Lorenzo Colitti <[email protected]>
usb: gadget: f_ncm: fix ncm_bitrate for SuperSpeed and above.

Mordechay Goodstein <[email protected]>
iwlwifi: dbg: run init_cfg function once per driver load

Mordechay Goodstein <[email protected]>
iwlwifi: dbg: remove no filter condition

Emmanuel Grumbach <[email protected]>
iwlwifi: mvm: split a print to avoid a WARNING in ROC

Adam Brickman <[email protected]>
ASoC: wm_adsp: Pass full name to snd_ctl_notify

Dan Carpenter <[email protected]>
mfd: sm501: Fix leaks in probe()

Thomas Gleixner <[email protected]>
net: enic: Cure the enic api locking trainwreck

Fabrice Gasnier <[email protected]>
iio: adc: stm32-adc: fix runtime autosuspend delay when slow polling

Yu Kuai <[email protected]>
iommu/qcom: add missing put_device() call in qcom_iommu_of_xlate()

Andrew Jeffery <[email protected]>
pinctrl: aspeed: Use the right pinconf mask

Colin Ian King <[email protected]>
qtnfmac: fix resource leaks on unsupported iftype error return path

Toke Høiland-Jørgensen <[email protected]>
selftests: Remove fmod_ret from test_overhead

Toke Høiland-Jørgensen <[email protected]>
bpf: disallow attaching modify_return tracing functions to other BPF programs

Lijun Pan <[email protected]>
ibmvnic: set up 200GBPS speed

Sai Prakash Ranjan <[email protected]>
coresight: etm4x: Fix save and restore of TRCVMIDCCTLR1 register

Mike Leach <[email protected]>
coresight: cti: Fix bug clearing sysfs links on callback

Mike Leach <[email protected]>
coresight: cti: Fix remove sysfs link error

Tingwei Zhang <[email protected]>
coresight: etm: perf: Fix warning caused by etm_setup_aux failure

Matthew Wilcox (Oracle) <[email protected]>
iomap: Use kzalloc to allocate iomap_page

Rajkumar Manoharan <[email protected]>
nl80211: fix OBSS PD min and max offset validation

Mohammed Gamal <[email protected]>
hv: clocksource: Add notrace attribute to read_hv_sched_clock_*() functions

Vadym Kochan <[email protected]>
nvmem: core: fix possibly memleak when use nvmem_cell_info_to_nvmem_cell()

Yang Yingliang <[email protected]>
tty: hvc: fix link error with CONFIG_SERIAL_CORE_CONSOLE=n

Dmitry Torokhov <[email protected]>
HID: hid-input: fix stylus battery reporting

Shengjiu Wang <[email protected]>
ASoC: fsl_sai: Instantiate snd_soc_dai_driver

Srinivas Kandagatla <[email protected]>
slimbus: qcom-ngd-ctrl: disable ngd in qmi server down callback

Srinivas Kandagatla <[email protected]>
slimbus: core: do not enter to clock pause mode in core

Srinivas Kandagatla <[email protected]>
slimbus: core: check get_addr before removing laddr ida

Eric Dumazet <[email protected]>
quota: clear padding in v2r1_mem2diskdqb()

Lorenzo Bianconi <[email protected]>
mt76: mt7915: fix possible memory leak in mt7915_mcu_add_beacon

Andreas Färber <[email protected]>
rtw88: Fix potential probe error handling race with wow firmware loading

Andreas Färber <[email protected]>
rtw88: Fix probe error handling race with firmware loading

Martin Blumenstingl <[email protected]>
usb: dwc2: Add missing cleanups when usb_add_gadget_udc() fails

Thinh Nguyen <[email protected]>
usb: dwc3: core: Properly default unspecified speed

Nathan Chancellor <[email protected]>
usb: dwc2: Fix parameter type in function pointer prototype

Takashi Iwai <[email protected]>
ALSA: seq: oss: Avoid mutex lock for a long-time ioctl

Souptick Joarder <[email protected]>
misc: mic: scif: Fix error handling path

Necip Fazil Yildiran <[email protected]>
ASoC: cros_ec_codec: fix kconfig dependency warning for SND_SOC_CROS_EC_CODEC

Andy Shevchenko <[email protected]>
dmaengine: dmatest: Check list for emptiness before access its last entry

Tomasz Figa <[email protected]>
phy: rockchip-dphy-rx0: Include linux/delay.h

Laurent Pinchart <[email protected]>
drm: rcar-du: Put reference to VSP device

Dan Carpenter <[email protected]>
ath6kl: wmi: prevent a shift wrapping bug in ath6kl_wmi_delete_pstream_cmd()

Bo YU <[email protected]>
ath11k: Add checked value for ath11k_ahb_remove

Aswath Govindraju <[email protected]>
spi: omap2-mcspi: Improve performance waiting for CHSTAT

Dan Murphy <[email protected]>
ASoC: tas2770: Fix unbalanced calls to pm_runtime

Pierre-Louis Bossart <[email protected]>
ASoC: SOF: control: add size checks for ext_bytes control .put()

Linus Walleij <[email protected]>

    net: dsa: rtl8366rb: Support all 4096 VLANs

Miquel Raynal <[email protected]>
ASoC: tlv320aic32x4: Fix bdiv clock rate derivation

Dan Murphy <[email protected]>
ASoC: tas2770: Fix error handling with update_bits

Dan Murphy <[email protected]>
ASoC: tas2770: Fix required DT properties in the code

Dan Murphy <[email protected]>
ASoC: tas2770: Add missing bias level power states

Dan Murphy <[email protected]>
ASoC: tas2770: Fix calling reset in probe

Huang Guobin <[email protected]>
net: wilc1000: clean up resource in error path of init mon interface

Linus Walleij <[email protected]>
net: dsa: rtl8366: Skip PVID setting if not requested

Linus Walleij <[email protected]>
net: dsa: rtl8366: Refactor VLAN/PVID init

Linus Walleij <[email protected]>
net: dsa: rtl8366: Check validity of passed VLANs

Mathias Nyman <[email protected]>
xhci: don't create endpoint debugfs entry before ring buffer is set.

Ilya Leoshkevich <[email protected]>
selftests/bpf: Fix endianness issue in test_sockopt_sk

Ilya Leoshkevich <[email protected]>
selftests/bpf: Fix endianness issue in sk_assign

Matthieu Baerts <[email protected]>
selftests: mptcp: interpret \n as a new line

Vadym Kochan <[email protected]>
nvmem: core: fix missing of_node_put() in of_nvmem_device_get()

Jonathan Zhou <[email protected]>
coresight: etm4x: Fix issues on trcseqevr access

Suzuki K Poulose <[email protected]>
coresight: etm4x: Handle unreachable sink in perf mode

Tingwei Zhang <[email protected]>
coresight: cti: Write regsiters directly in cti_enable_hw()

Jonathan Zhou <[email protected]>
coresight: etm4x: Fix issues within reset interface of sysfs

Mike Leach <[email protected]>
coresight: etm4x: Ensure default perf settings filter user/kernel

Tingwei Zhang <[email protected]>
coresight: cti: remove pm_runtime_get_sync() from CPU hotplug

Tingwei Zhang <[email protected]>
coresight: cti: disclaim device only when it's claimed

Mian Yousaf Kaukab <[email protected]>
coresight: fix offset by one error in counting ports

Sai Prakash Ranjan <[email protected]>
coresight: etm4x: Fix etm4_count race by moving cpuhp callbacks to init

Camel Guo <[email protected]>
ASoC: tlv320adcx140: Fix digital gain range

Pierre-Louis Bossart <[email protected]>
ASoC: topology: disable size checks for bytes_ext controls if needed

KP Singh <[email protected]>
ima: Fix NULL pointer dereference in ima_file_hash

Stefan Agner <[email protected]>
drm: mxsfb: check framebuffer pitch

Pali Rohár <[email protected]>
cpufreq: armada-37xx: Add missing MODULE_DEVICE_TABLE

Darrick J. Wong <[email protected]>
xfs: force the log after remapping a synchronous-writes file

Ong Boon Leong <[email protected]>
net: stmmac: use netif_tx_start|stop_all_queues() function

Aashish Verma <[email protected]>
net: stmmac: Fix incorrect location to set real_num_rx|tx_queues

Tomas Henzl <[email protected]>
scsi: mpt3sas: Fix sync irqs

Eran Ben Elisha <[email protected]>
net/mlx5: Don't call timecounter cyc2time directly from 1PPS flow

Moshe Tal <[email protected]>
net/mlx5: Fix uninitialized variable warning

Luca Weiss <[email protected]>
drm/msm/adreno: fix probe without iommu

Thierry Reding <[email protected]>
pinctrl: devicetree: Keep deferring even on timeout

Thomas Preston <[email protected]>
pinctrl: mcp23s08: Fix mcp23x17 precious range

Thomas Preston <[email protected]>
pinctrl: mcp23s08: Fix mcp23x17_regmap initialiser

Abhishek Pandit-Subedi <[email protected]>
Bluetooth: Re-order clearing suspend tasks

Kees Cook <[email protected]>
selftests/lkdtm: Use "comm" instead of "diff" for dmesg

Matthew Wilcox (Oracle) <[email protected]>
iomap: Mark read blocks uptodate in write_begin

Matthew Wilcox (Oracle) <[email protected]>
iomap: Clear page error before beginning a write

Steven Price <[email protected]>
drm/panfrost: Ensure GPU quirks are always initialised

Stephen Boyd <[email protected]>
drm/msm: Avoid div-by-zero in dpu_crtc_atomic_check()

Dan Carpenter <[email protected]>
HID: roccat: add bounds checking in kone_sysfs_write_settings()

Stanley Chu <[email protected]>
scsi: ufs: ufs-mediatek: Fix HOST_PA_TACTIVATE quirk

Yu Kuai <[email protected]>

    ASoC: fsl: imx-es8328: add missing put_device() call in imx_es8328_probe()

Dinghao Liu <[email protected]>
video: fbdev: radeon: Fix memleak in radeonfb_pci_register

Tom Rix <[email protected]>
video: fbdev: sis: fix null ptr dereference

Colin Ian King <[email protected]>
video: fbdev: vga16fb: fix setting of pixclock because a pass-by-value error

Tom Rix <[email protected]>
ath11k: fix a double free and a memory leak

Souptick Joarder <[email protected]>
drivers/virt/fsl_hypervisor: Fix error handling path

Hans de Goede <[email protected]>
pwm: lpss: Add range limit check for the base_unit register value

Hans de Goede <[email protected]>
pwm: lpss: Fix off by one error in base_unit math in pwm_lpss_prepare()

Artem Savkov <[email protected]>

    pty: do tty_flip_buffer_push without port->lock in pty_write

Tyrel Datwyler <[email protected]>

    tty: hvcs: Don't NULL tty->driver_data until hvcs_cleanup()

Tong Zhang <[email protected]>
tty: serial: earlycon dependency

Jann Horn <[email protected]>
binder: Remove bogus warning on failed same-process transaction

Eric Biggers <[email protected]>
scsi: ufs: Make ufshcd_print_trs() consider UFSHCD_QUIRK_PRDT_BYTE_GRAN

Anatoly Pugachev <[email protected]>
selftests: vm: add fragment CONFIG_GUP_BENCHMARK

Abhishek Pandit-Subedi <[email protected]>
Bluetooth: Clear suspend tasks on unregister

Dinghao Liu <[email protected]>
drm/crc-debugfs: Fix memleak in crc_control_write

Weqaar Janjua <[email protected]>
samples/bpf: Fix to xdpsock to avoid recycling frames

Laurent Pinchart <[email protected]>
drm: panel: Fix bpc for OrtusTech COM43H4M85ULC panel

Alexei Starovoitov <[email protected]>
mm/error_inject: Fix allow_error_inject function signatures.

Alex Dewar <[email protected]>
VMCI: check return value of get_user_pages_fast() for errors

Alex Dewar <[email protected]>
staging: emxx_udc: Fix passing of NULL to dma_alloc_coherent()

[email protected] <[email protected]>
backlight: sky81452-backlight: Fix refcount imbalance on error

Brian Norris <[email protected]>
rtw88: don't treat NULL pointer as an array

Dinghao Liu <[email protected]>
wilc1000: Fix memleak in wilc_bus_probe

Dinghao Liu <[email protected]>
wilc1000: Fix memleak in wilc_sdio_probe

Alex Gartrell <[email protected]>
libbpf: Fix unintentional success return code in bpf_object__load

Tianjia Zhang <[email protected]>
scsi: csiostor: Fix wrong return value in csio_hw_prep_fw()

Tianjia Zhang <[email protected]>
scsi: qla2xxx: Fix wrong return value in qla_nvme_register_hba()

Tianjia Zhang <[email protected]>
scsi: qla2xxx: Fix wrong return value in qlt_chk_unresolv_exchg()

Christophe JAILLET <[email protected]>
scsi: qla2xxx: Fix the size used in a 'dma_free_coherent()' call

Christophe JAILLET <[email protected]>
scsi: qla4xxx: Fix an error handling path in 'qla4xxx_get_host_stats()'

Tom Rix <[email protected]>
drm/gma500: fix error check

Andrii Nakryiko <[email protected]>
selftests/bpf: Fix test_vmlinux test to use bpf_probe_read_user()

Colin Ian King <[email protected]>
drm/amd/display: fix potential integer overflow when shifting 32 bit variable bl_pwm

Christophe JAILLET <[email protected]>
staging: rtl8192u: Do not use GFP_KERNEL in atomic context

Christophe JAILLET <[email protected]>
mwifiex: Do not use GFP_KERNEL in atomic context

Tom Rix <[email protected]>
brcmfmac: check ndev pointer

Wang Yufen <[email protected]>
ath11k: Fix possible memleak in ath11k_qmi_init_service

Rohit kumar <[email protected]>
ASoC: qcom: lpass-cpu: fix concurrency issue

Rohit kumar <[email protected]>
ASoC: qcom: lpass-platform: fix memory leak

Bryan O'Donoghue <[email protected]>

    wcn36xx: Fix reported 802.11n rx_highest rate wcn3660/wcn3680

Christophe JAILLET <[email protected]>
ath10k: Fix the size used in a 'dma_free_coherent()' call in an error handling path

Dan Carpenter <[email protected]>
ath9k: Fix potential out of bounds in ath9k_htc_txcompletion_cb()

Dan Carpenter <[email protected]>
ath6kl: prevent potential array overflow in ath6kl_add_new_sta()

Laurent Pinchart <[email protected]>
drm: panel: Fix bus format for OrtusTech COM43H4M85ULC panel

Qinglang Miao <[email protected]>
drm/vkms: add missing platform_device_unregister() in vkms_init()

Qinglang Miao <[email protected]>
drm/vgem: add missing platform_device_unregister() in vgem_init()

Tianjia Zhang <[email protected]>
drm/amd/display: Fix wrong return value in dm_update_plane_state()

Samuel Holland <[email protected]>
Bluetooth: hci_uart: Cancel init work before unregistering

Melissa Wen <[email protected]>
drm/vkms: fix xrgb on compute crc

Venkateswara Naralasetty <[email protected]>
ath10k: provide survey info as accumulated data

Yang Yang <[email protected]>

    blk-mq: move cancel of hctx->run_work to the front of blk_exit_queue

Qu Wenruo <[email protected]>
btrfs: add owner and fs_info to alloc_state io_tree

Serge Semin <[email protected]>
hwmon: (bt1-pvt) Wait for the completion with timeout

Serge Semin <[email protected]>
hwmon: (bt1-pvt) Cache current update timeout

Serge Semin <[email protected]>
hwmon: (bt1-pvt) Test sensor power supply on probe

Łukasz Stelmach <[email protected]>
spi: spi-s3c64xx: Check return values

Łukasz Stelmach <[email protected]>

    spi: spi-s3c64xx: swap s3c64xx_spi_set_cs() and s3c64xx_enable_datapath()

Necip Fazil Yildiran <[email protected]>
pinctrl: bcm: fix kconfig dependency warning when !GPIOLIB

Michał Mirosław <[email protected]>
regulator: resolve supply after creating regulator

Qiushi Wu <[email protected]>
media: ti-vpe: Fix a missing check and reference count leak

Qiushi Wu <[email protected]>
media: stm32-dcmi: Fix a reference count leak

Qiushi Wu <[email protected]>
media: s5p-mfc: Fix a reference count leak

Qiushi Wu <[email protected]>
media: camss: Fix a reference count leak.

Qiushi Wu <[email protected]>
media: platform: fcp: Fix a reference count leak.

Qiushi Wu <[email protected]>
media: rockchip/rga: Fix a reference count leak.

Qiushi Wu <[email protected]>
media: rcar-vin: Fix a reference count leak.

Tom Rix <[email protected]>

    media: tc358743: cleanup tc358743_cec_isr

Tom Rix <[email protected]>
media: tc358743: initialize variable

Dinghao Liu <[email protected]>
media: mx2_emmaprp: Fix memleak in emmaprp_probe

Corentin Labbe <[email protected]>
crypto: sun8i-ce - handle endianness of t_common_ctl

Nicolas Toromanoff <[email protected]>
crypto: stm32/crc32 - Avoid lock if hardware is already used

Xiaoliang Pang <[email protected]>
cypto: mediatek - fix leaks in mtk_desc_ring_alloc

Dan Carpenter <[email protected]>
hwmon: (w83627ehf) Fix a resource leak in probe

Guenter Roeck <[email protected]>

    hwmon: (pmbus/max34440) Fix status register reads for MAX344{51,60,61}

Tero Kristo <[email protected]>
crypto: omap-sham - fix digcnt register handling with export/import

Jay Fang <[email protected]>

    spi: dw-pci: free previously allocated IRQs if desc->setup() fails

Eddie James <[email protected]>
spi: fsi: Implement restricted size for certain controllers

Brad Bishop <[email protected]>
spi: fsi: Fix use of the bneq+ sequencer instruction

Brad Bishop <[email protected]>
spi: fsi: Handle 9 to 15 byte transfers lengths

Laurent Pinchart <[email protected]>
media: rcar-csi2: Allocate v4l2_async_subdev dynamically

Laurent Pinchart <[email protected]>
media: rcar_drif: Allocate v4l2_async_subdev dynamically

Laurent Pinchart <[email protected]>
media: rcar_drif: Fix fwnode reference leak when parsing DT

Lad Prabhakar <[email protected]>
media: i2c: ov5640: Enable data pins on poweron for DVP mode

Lad Prabhakar <[email protected]>
media: i2c: ov5640: Separate out mipi configuration from s_power

Lad Prabhakar <[email protected]>
media: i2c: ov5640: Remain in power down for DVP mode unless streaming

Dinghao Liu <[email protected]>
media: omap3isp: Fix memleak in isp_probe

Christophe JAILLET <[email protected]>
media: staging/intel-ipu3: css: Correctly reset some memory

Laurent Pinchart <[email protected]>
media: uvcvideo: Silence shift-out-of-bounds warning

Laurent Pinchart <[email protected]>
media: uvcvideo: Set media controller entity functions

Eric Biggers <[email protected]>
fscrypt: restrict IV_INO_LBLK_32 to ino_bits <= 32

Tom Rix <[email protected]>
media: m5mols: Check function pointer in m5mols_sensor_power

Paul Kocialkowski <[email protected]>
media: ov5640: Correct Bit Div register in clock tree diagram

Ezequiel Garcia <[email protected]>
media: hantro: postproc: Fix motion vector space allocation

Ezequiel Garcia <[email protected]>
media: hantro: h264: Get the correct fallback reference buffer

Sylwester Nawrocki <[email protected]>
media: Revert "media: exynos4-is: Add missed check for pinctrl_lookup_state()"

[email protected] <[email protected]>
crypto: ccree - fix runtime PM imbalance on error

Tom Rix <[email protected]>
media: tuner-simple: fix regression in simple_set_radio_freq

Peilin Ye <[email protected]>
media: vivid: Fix global-out-of-bounds read in precalculate_color()

Madhuparna Bhowmik <[email protected]>
crypto: picoxcell - Fix potential race condition bug

Christophe JAILLET <[email protected]>
crypto: ixp4xx - Fix the size used in a 'dma_free_coherent()' call

Tianjia Zhang <[email protected]>
crypto: mediatek - Fix wrong return value in mtk_desc_ring_alloc()

Herbert Xu <[email protected]>
crypto: algif_skcipher - EBUSY on aio should be an error

Jiri Olsa <[email protected]>
perf/core: Fix race in the perf_mmap_close() function

Sasha Levin <[email protected]>
perf/x86: Fix n_pair for cancelled txn

Maulik Shah <[email protected]>
pinctrl: qcom: Use return value from irq_set_wake() call

Maulik Shah <[email protected]>
pinctrl: qcom: Set IRQCHIP_SET_TYPE_MASKED and IRQCHIP_MASK_ON_SUSPEND flags

Colin Ian King <[email protected]>
x86/events/amd/iommu: Fix sizeof mismatch

Libing Zhou <[email protected]>
x86/nmi: Fix nmi_handle() duration miscalculation

Kan Liang <[email protected]>
perf/x86/intel/uncore: Fix the scale of the IMC free-running events

Kan Liang <[email protected]>
perf/x86/intel/uncore: Reduce the number of CBOX counters

Kan Liang <[email protected]>
perf/x86/intel/uncore: Update Ice Lake uncore units

Alexandru Elisei <[email protected]>
arm64: perf: Add missing ISB in armv8pmu_enable_counter()

Barry Song <[email protected]>
sched/fair: Use dst group while checking imbalance for NUMA balancer

Xunlei Pang <[email protected]>
sched/fair: Fix wrong cpu selecting from isolated domain

Mark Salter <[email protected]>
drivers/perf: thunderx2_pmu: Fix memory resource error handling

Mark Salter <[email protected]>
drivers/perf: xgene_pmu: Fix uninitialized resource struct

Amit Daniel Kachhap <[email protected]>
arm64: kprobe: add checks for ARMv8.3-PAuth combined instructions

Arvind Sankar <[email protected]>
x86/fpu: Allow multiple bits in clearcpuid= parameter

Kan Liang <[email protected]>
perf/x86/intel/ds: Fix x86_pmu_stop warning for large PEBS

Krzysztof Kozlowski <[email protected]>
EDAC/ti: Fix handling of platform_get_irq() error

Krzysztof Kozlowski <[email protected]>
EDAC/aspeed: Fix handling of platform_get_irq() error

Dinghao Liu <[email protected]>
EDAC/i5100: Fix error handling order in i5100_init_one()

Randy Dunlap <[email protected]>
microblaze: fix kbuild redundant file warning

Lukasz Luba <[email protected]>
sched/fair: Fix wrong negative conversion in find_energy_efficient_cpu()

Luca Stefani <[email protected]>
RAS/CEC: Fix cec_init() prototype

Andrei Botila <[email protected]>
crypto: caam/qi - add support for more XTS key lengths

Andrei Botila <[email protected]>
crypto: caam/qi - add fallback for XTS with more than 8B IV

Herbert Xu <[email protected]>
crypto: algif_aead - Do not set MAY_BACKLOG on the async path

Roberto Sassu <[email protected]>
ima: Don't ignore errors from crypto_shash_update()

Suravee Suthikulpanit <[email protected]>
KVM: SVM: Initialize prev_ga_tag before use

Lai Jiangshan <[email protected]>
KVM: x86: Intercept LA57 to inject #GP fault when it's reserved

Sean Christopherson <[email protected]>
KVM: x86/mmu: Commit zap of remaining invalid pages when recovering lpages

Sean Christopherson <[email protected]>
KVM: nVMX: Reload vmcs01 if getting vmcs12's pages fails

Sean Christopherson <[email protected]>
KVM: nVMX: Reset the segment cache when stuffing guest segs

Sean Christopherson <[email protected]>
KVM: nVMX: Morph notification vector IRQ on nested VM-Enter to pending PI

Marc Zyngier <[email protected]>
arm64: Make use of ARCH_WORKAROUND_1 even when KVM is not enabled

Steve French <[email protected]>
smb3: fix stat when special device file and mounted with modefromsid

Steve French <[email protected]>
smb3: do not try to cache root directory if dir leases not supported

Steve French <[email protected]>
SMB3.1.1: Fix ids returned in POSIX query dir

Rohith Surabattula <[email protected]>
SMB3: Resolve data corruption of TCP server info fields

Shyam Prasad N <[email protected]>
cifs: Return the error from crypt_message when enc/dec key not found.

Dan Carpenter <[email protected]>
cifs: remove bogus debug code

Jian-Hong Pan <[email protected]>
ALSA: hda/realtek: Enable audio jacks of ASUS D700SA with ALC887

Qiu Wenbo <[email protected]>
ALSA: hda/realtek - Add mute Led support for HP Elitebook 845 G7

Hui Wang <[email protected]>
ALSA: hda/realtek - set mic to auto detect on a HP AIO machine

Jeremy Szu <[email protected]>
ALSA: hda/realtek - The front Mic on a HP machine doesn't work

Lukasz Halman <[email protected]>
ALSA: usb-audio: Line6 Pod Go interface requires static clock rate quirk

Hui Wang <[email protected]>
ALSA: hda - Fix the return value if cb func is already registered

Hui Wang <[email protected]>
ALSA: hda - Don't register a cb func if it is registered already

Guillaume Nault <[email protected]>

    net/sched: act_gate: Unlock ->tcfa_lock in tc_setup_flow_action()

Bartosz Golaszewski <[email protected]>
net: ethernet: mtk-star-emac: select REGMAP_MMIO

Neal Cardwell <[email protected]>
tcp: fix to update snd_wl1 in bulk receiver fast path

Po-Hsu Lin <[email protected]>
selftests: rtnetlink: load fou module for kci_test_encap_fou() test

Ido Schimmel <[email protected]>
selftests: forwarding: Add missing 'rp_filter' configuration

Heiner Kallweit <[email protected]>
r8169: fix operation under forced interrupt threading

Defang Bo <[email protected]>
nfc: Ensure presence of NFC_ATTR_FIRMWARE_NAME attribute in nfc_genl_fw_download()

Ido Schimmel <[email protected]>
nexthop: Fix performance regression in nexthop deletion

Davide Caratti <[email protected]>
net/sched: act_tunnel_key: fix OOB write in case of IPv6 ERSPAN tunnels

Roi Dayan <[email protected]>
net/sched: act_ct: Fix adding udp port mangle operation

Ke Li <[email protected]>
net: Properly typecast int values to set sk_max_pacing_rate

Xie He <[email protected]>
net: hdlc_raw_eth: Clear the IFF_TX_SKB_SHARING flag after calling ether_setup

Xie He <[email protected]>
net: hdlc: In hdlc_rcv, check to make sure dev is an HDLC device

Dylan Hung <[email protected]>
net: ftgmac100: Fix Aspeed ast2600 TX hang issue

Geliang Tang <[email protected]>
mptcp: initialize mptcp_options_received's ahmac

Eric Dumazet <[email protected]>
icmp: randomize the global rate limiter

Lijun Pan <[email protected]>

    ibmvnic: save changed mac address to adapter->mac_addr

Vinay Kumar Yadav <[email protected]>
chelsio/chtls: fix writing freed memory

Vinay Kumar Yadav <[email protected]>
chelsio/chtls: correct function return and return type

Vinay Kumar Yadav <[email protected]>
chelsio/chtls: Fix panic when listen on multiadapter

Vinay Kumar Yadav <[email protected]>
chelsio/chtls: fix panic when server is on ipv6

Vinay Kumar Yadav <[email protected]>
chelsio/chtls: correct netdevice for vlan interface

Vinay Kumar Yadav <[email protected]>
chelsio/chtls: fix socket lock

Hoang Huu Le <[email protected]>
tipc: fix incorrect setting window for bcast link

Hoang Huu Le <[email protected]>
tipc: re-configure queue limit for broadcast link

Kai Vehmanen <[email protected]>
ALSA: hda/hdmi: fix incorrect locking in hdmi_pcm_close

Kai Vehmanen <[email protected]>
ALSA: hda: fix jack detection with Realtek codecs when in D3

Dan Carpenter <[email protected]>
ALSA: bebob: potential info leak in hwdep_read()

Todd Kjos <[email protected]>
binder: fix UAF when releasing todo list

Heiner Kallweit <[email protected]>
r8169: fix data corruption issue on RTL8402

Cong Wang <[email protected]>
net_sched: remove a redundant goto chain check

Maciej Żenczykowski <[email protected]>
net/ipv4: always honour route mtu during forwarding

Marc Kleine-Budde <[email protected]>
net: j1939: j1939_session_fresh_new(): fix missing initialization of skbcnt

Cong Wang <[email protected]>
can: j1935: j1939_tp_tx_dat_new(): fix missing initialization of skbcnt

Lucas Stach <[email protected]>
can: m_can_platform: don't call m_can_class_suspend in runtime suspend

Christian Eggers <[email protected]>
socket: don't clear SOCK_TSTAMP_NEW when SO_TIMESTAMPNS is disabled

Christian Eggers <[email protected]>
socket: fix option SO_TIMESTAMPING_NEW

Cong Wang <[email protected]>
tipc: fix the skb_unshare() in tipc_buf_append()

Wilken Gottwalt <[email protected]>
net: usb: qmi_wwan: add Cellient MPL200 card

Rohit Maheshwari <[email protected]>
net/tls: sendfile fails with ktls offload

Karsten Graul <[email protected]>
net/smc: fix valid DMBE buffer sizes

Karsten Graul <[email protected]>
net/smc: fix use-after-free of delayed events

Leon Romanovsky <[email protected]>
net: sched: Fix suspicious RCU usage while accessing tcf_tunnel_info

Davide Caratti <[email protected]>
net: mptcp: make DACK4/DACK8 usage consistent among all subflows

Alex Elder <[email protected]>
net: ipa: skip suspend/resume activities if not set up

Yonghong Song <[email protected]>
net: fix pos incrementment in ipv6_route_seq_next

Marek Vasut <[email protected]>
net: fec: Fix PHY init after phy_reset_after_clk_enable()

Marek Vasut <[email protected]>
net: fec: Fix phy_device lookup for phy_reset_after_clk_enable()

Christian Eggers <[email protected]>
net: dsa: microchip: fix race condition

Jonathan Lemon <[email protected]>
mlx4: handle non-napi callers to napi_poll

David Ahern <[email protected]>
ipv4: Restore flowi4_oif update before call to xfrm_lookup_route

David Wilder <[email protected]>
ibmveth: Identify ingress large send packets.

David Wilder <[email protected]>
ibmveth: Switch order of ibmveth_helper calls.

Herat Ramani <[email protected]>
xgb4: handle 4-tuple PEDIT to NAT mode translation

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

Diffstat:

 Documentation/admin-guide/kernel-parameters.txt    |   2 +-
 .../crypto/allwinner,sun4i-a10-crypto.yaml         |   7 +-
 .../devicetree/bindings/net/socionext-netsec.txt   |   4 +-
 Documentation/networking/ip-sysctl.rst             |   4 +-
 Makefile                                           |   4 +-
 arch/arc/plat-hsdk/Kconfig                         |   1 +
 arch/arm/boot/dts/imx6sl.dtsi                      |   2 +
 arch/arm/boot/dts/iwg20d-q7-common.dtsi            |  15 +-
 arch/arm/boot/dts/meson8.dtsi                      |   2 -
 arch/arm/boot/dts/owl-s500.dtsi                    |   6 +-
 arch/arm/boot/dts/stm32mp157c-lxa-mc1.dts          |   2 -
 arch/arm/boot/dts/stm32mp15xx-dhcom-pdk2.dtsi      |  35 +--
 arch/arm/boot/dts/stm32mp15xx-dhcom-som.dtsi       |  38 ++-
 arch/arm/boot/dts/stm32mp15xx-dhcor-avenger96.dtsi |   6 +-
 arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts  |  10 +-
 arch/arm/mach-at91/pm.c                            |   1 +
 arch/arm/mach-omap2/cpuidle44xx.c                  |   4 +-
 arch/arm/mach-s3c24xx/mach-at2440evb.c             |   2 +-
 arch/arm/mach-s3c24xx/mach-h1940.c                 |   4 +-
 arch/arm/mach-s3c24xx/mach-mini2440.c              |   4 +-
 arch/arm/mach-s3c24xx/mach-n30.c                   |   4 +-
 arch/arm/mach-s3c24xx/mach-rx1950.c                |   4 +-
 arch/arm/mm/cache-l2x0.c                           |  16 +-
 arch/arm64/boot/dts/actions/s700.dtsi              |   2 +-
 arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi       |   6 +-
 arch/arm64/boot/dts/amlogic/meson-khadas-vim3.dtsi |   4 +-
 arch/arm64/boot/dts/freescale/imx8mq.dtsi          |   1 +
 arch/arm64/boot/dts/mediatek/mt8173-elm.dtsi       |   5 +-
 arch/arm64/boot/dts/qcom/msm8916.dtsi              |  10 +-
 arch/arm64/boot/dts/qcom/pm8916.dtsi               |   2 +-
 arch/arm64/boot/dts/qcom/sc7180.dtsi               |   6 +-
 arch/arm64/boot/dts/renesas/r8a774c0.dtsi          |   5 +-
 arch/arm64/boot/dts/renesas/r8a77990.dtsi          |   5 +-
 arch/arm64/boot/dts/xilinx/zynqmp.dtsi             |   4 +-
 arch/arm64/include/asm/insn.h                      |   4 +
 arch/arm64/include/asm/memory.h                    |   5 +-
 arch/arm64/include/asm/pgtable.h                   |   4 +-
 arch/arm64/kernel/cpu_errata.c                     |   7 +-
 arch/arm64/kernel/insn.c                           |   5 +-
 arch/arm64/kernel/perf_event.c                     |   5 +
 arch/arm64/kernel/probes/decode-insn.c             |   3 +-
 arch/arm64/mm/init.c                               |  30 +--
 arch/m68k/coldfire/device.c                        |   6 +-
 arch/microblaze/include/asm/Kbuild                 |   1 -
 arch/powerpc/include/asm/book3s/64/hash-4k.h       |  13 +-
 arch/powerpc/include/asm/drmem.h                   |  39 ++-
 arch/powerpc/include/asm/hw_breakpoint.h           |   1 +
 arch/powerpc/include/asm/reg.h                     |   2 +-
 arch/powerpc/include/asm/svm.h                     |   4 +
 arch/powerpc/include/asm/tlb.h                     |  13 -
 arch/powerpc/kernel/hw_breakpoint.c                |  14 +-
 arch/powerpc/kernel/irq.c                          |   9 +-
 arch/powerpc/kernel/ptrace/ptrace-noadv.c          |   1 +
 arch/powerpc/kernel/tau_6xx.c                      | 147 ++++------
 arch/powerpc/mm/book3s64/radix_tlb.c               |  23 +-
 arch/powerpc/mm/drmem.c                            |   6 +-
 arch/powerpc/mm/kasan/kasan_init_32.c              |  12 +-
 arch/powerpc/mm/mem.c                              |   6 +-
 arch/powerpc/perf/hv-gpci-requests.h               |   6 +-
 arch/powerpc/perf/isa207-common.c                  |  10 +
 arch/powerpc/platforms/Kconfig                     |  14 +-
 arch/powerpc/platforms/powernv/opal-dump.c         |  41 ++-
 arch/powerpc/platforms/pseries/hotplug-memory.c    |  24 +-
 arch/powerpc/platforms/pseries/papr_scm.c          |   3 +
 arch/powerpc/platforms/pseries/ras.c               | 118 ++++----
 arch/powerpc/platforms/pseries/rng.c               |   1 +
 arch/powerpc/platforms/pseries/svm.c               |  26 ++
 arch/powerpc/sysdev/xics/icp-hv.c                  |   1 +
 arch/powerpc/xmon/xmon.c                           |   1 +
 arch/s390/pci/pci_bus.c                            |   5 +-
 arch/um/drivers/vector_kern.c                      |   4 +-
 arch/um/kernel/time.c                              |  14 +-
 arch/x86/boot/compressed/pgtable_64.c              |   9 -
 arch/x86/events/amd/iommu.c                        |   2 +-
 arch/x86/events/core.c                             |   6 +-
 arch/x86/events/intel/ds.c                         |  32 ++-
 arch/x86/events/intel/uncore_snb.c                 |  31 ++-
 arch/x86/events/intel/uncore_snbep.c               |  12 +-
 arch/x86/events/perf_event.h                       |   1 +
 arch/x86/include/asm/special_insns.h               |  28 +-
 arch/x86/kernel/cpu/common.c                       |   4 +-
 arch/x86/kernel/cpu/mce/core.c                     |  99 +++++--
 arch/x86/kernel/cpu/mce/internal.h                 |  10 +
 arch/x86/kernel/cpu/mce/severity.c                 |  28 +-
 arch/x86/kernel/dumpstack.c                        |   3 +-
 arch/x86/kernel/fpu/init.c                         |  30 ++-
 arch/x86/kernel/nmi.c                              |   5 +-
 arch/x86/kvm/emulate.c                             |   2 +-
 arch/x86/kvm/ioapic.c                              |   5 +-
 arch/x86/kvm/kvm_cache_regs.h                      |   2 +-
 arch/x86/kvm/lapic.c                               |   7 +
 arch/x86/kvm/lapic.h                               |   1 +
 arch/x86/kvm/mmu/mmu.c                             |   1 +
 arch/x86/kvm/svm/avic.c                            |   1 +
 arch/x86/kvm/vmx/nested.c                          |  14 +-
 block/blk-core.c                                   |   9 +-
 block/blk-mq-sysfs.c                               |   2 -
 block/blk-sysfs.c                                  |   9 +-
 crypto/algif_aead.c                                |   7 +-
 crypto/algif_skcipher.c                            |   2 +-
 drivers/android/binder.c                           |  37 +--
 drivers/bluetooth/btusb.c                          |   1 +
 drivers/bluetooth/hci_ldisc.c                      |   1 +
 drivers/bluetooth/hci_serdev.c                     |   2 +
 drivers/bus/mhi/core/Makefile                      |   2 +-
 drivers/char/ipmi/ipmi_si_intf.c                   |   2 +-
 drivers/clk/at91/clk-main.c                        |  11 +-
 drivers/clk/bcm/clk-bcm2835.c                      |   4 +-
 drivers/clk/imx/clk-imx8mq.c                       |   4 +-
 drivers/clk/keystone/sci-clk.c                     |   2 +-
 drivers/clk/mediatek/clk-mt6779.c                  |   2 +
 drivers/clk/meson/axg-audio.c                      | 135 +++++++++-
 drivers/clk/meson/g12a.c                           |  11 +
 drivers/clk/qcom/gcc-sdm660.c                      |   2 +-
 drivers/clk/rockchip/clk-half-divider.c            |   2 +-
 drivers/clocksource/hyperv_timer.c                 |   4 +-
 drivers/cpufreq/armada-37xx-cpufreq.c              |   6 +
 drivers/cpufreq/powernv-cpufreq.c                  |   9 +-
 drivers/crypto/allwinner/sun8i-ce/sun8i-ce-core.c  |   5 +-
 drivers/crypto/caam/Kconfig                        |   1 +
 drivers/crypto/caam/caamalg_qi.c                   |  81 +++++-
 drivers/crypto/ccp/ccp-ops.c                       |   2 +-
 drivers/crypto/ccree/cc_pm.c                       |   6 +-
 drivers/crypto/chelsio/chtls/chtls_cm.c            |  19 +-
 drivers/crypto/chelsio/chtls/chtls_io.c            |   5 +-
 drivers/crypto/hisilicon/sec2/sec_crypto.c         |  16 +-
 drivers/crypto/ixp4xx_crypto.c                     |   2 +-
 drivers/crypto/mediatek/mtk-platform.c             |   8 +-
 drivers/crypto/omap-sham.c                         |   3 +
 drivers/crypto/picoxcell_crypto.c                  |   9 +-
 drivers/crypto/stm32/Kconfig                       |   1 +
 drivers/crypto/stm32/stm32-crc32.c                 |  15 +-
 drivers/dma/dmatest.c                              |   5 +-
 drivers/dma/dw/core.c                              |   4 +
 drivers/dma/dw/dw.c                                |   2 +-
 drivers/dma/dw/of.c                                |   7 +-
 drivers/dma/ioat/dma.c                             |   2 +-
 drivers/edac/aspeed_edac.c                         |   4 +-
 drivers/edac/i5100_edac.c                          |  11 +-
 drivers/edac/ti_edac.c                             |   3 +-
 drivers/firmware/arm_scmi/mailbox.c                |   2 +-
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c  |   3 +-
 drivers/gpu/drm/amd/display/dc/core/dc.c           |   2 +-
 .../gpu/drm/amd/display/dc/dce/dce_panel_cntl.c    |   2 +-
 .../gpu/drm/amd/display/dc/dcn20/dcn20_resource.c  |   3 +
 .../gpu/drm/amd/display/dc/dcn21/dcn21_resource.c  |   3 +
 drivers/gpu/drm/drm_debugfs_crc.c                  |   4 +-
 drivers/gpu/drm/drm_gem_vram_helper.c              |  28 +-
 drivers/gpu/drm/gma500/cdv_intel_dp.c              |   2 +-
 drivers/gpu/drm/mediatek/mtk_drm_crtc.c            |   2 +-
 drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c        |   2 +-
 drivers/gpu/drm/msm/adreno/adreno_gpu.c            |  10 +-
 drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c           |   8 +-
 drivers/gpu/drm/mxsfb/mxsfb_drv.c                  |  21 +-
 drivers/gpu/drm/panel/panel-simple.c               |   4 +-
 drivers/gpu/drm/panfrost/panfrost_device.h         |   3 +
 drivers/gpu/drm/panfrost/panfrost_drv.c            |  11 +
 drivers/gpu/drm/panfrost/panfrost_gpu.c            |  22 +-
 drivers/gpu/drm/panfrost/panfrost_gpu.h            |   2 +
 drivers/gpu/drm/panfrost/panfrost_regs.h           |   4 +
 drivers/gpu/drm/rcar-du/rcar_du_vsp.c              |  12 +
 drivers/gpu/drm/vgem/vgem_drv.c                    |   2 +-
 drivers/gpu/drm/virtio/virtgpu_kms.c               |   2 +
 drivers/gpu/drm/virtio/virtgpu_vq.c                |  10 +-
 drivers/gpu/drm/vkms/vkms_composer.c               |   2 +-
 drivers/gpu/drm/vkms/vkms_drv.c                    |   2 +-
 drivers/hid/hid-ids.h                              |   2 +
 drivers/hid/hid-input.c                            |   4 +-
 drivers/hid/hid-ite.c                              |   4 +
 drivers/hid/hid-multitouch.c                       |   6 +
 drivers/hid/hid-roccat-kone.c                      |  23 +-
 drivers/hwmon/bt1-pvt.c                            | 138 +++++++---
 drivers/hwmon/bt1-pvt.h                            |   3 +
 drivers/hwmon/pmbus/max34440.c                     |   3 -
 drivers/hwmon/w83627ehf.c                          |   6 +-
 drivers/hwtracing/coresight/coresight-cti.c        |  41 +--
 drivers/hwtracing/coresight/coresight-etm-perf.c   |  14 +-
 .../hwtracing/coresight/coresight-etm4x-sysfs.c    |   2 +-
 drivers/hwtracing/coresight/coresight-etm4x.c      | 105 ++++----
 drivers/hwtracing/coresight/coresight-etm4x.h      |   3 +
 drivers/hwtracing/coresight/coresight-platform.c   |  10 +-
 drivers/hwtracing/coresight/coresight.c            |   2 +-
 drivers/i2c/busses/Kconfig                         |   1 +
 drivers/i2c/i2c-core-acpi.c                        |  11 +-
 drivers/i3c/master.c                               |  19 +-
 drivers/i3c/master/i3c-master-cdns.c               |   4 +-
 drivers/iio/adc/stm32-adc-core.c                   |   9 +-
 drivers/infiniband/core/cma.c                      | 300 +++++++++------------
 drivers/infiniband/core/cq.c                       |  30 +--
 drivers/infiniband/core/ucma.c                     |   6 +-
 drivers/infiniband/core/umem.c                     |  15 +-
 drivers/infiniband/core/verbs.c                    |   9 +-
 drivers/infiniband/hw/bnxt_re/ib_verbs.c           |   3 +-
 drivers/infiniband/hw/bnxt_re/ib_verbs.h           |   2 +-
 drivers/infiniband/hw/cxgb4/cq.c                   |   3 +-
 drivers/infiniband/hw/cxgb4/iw_cxgb4.h             |   2 +-
 drivers/infiniband/hw/efa/efa.h                    |   2 +-
 drivers/infiniband/hw/efa/efa_verbs.c              |   3 +-
 drivers/infiniband/hw/hns/hns_roce_cq.c            |   3 +-
 drivers/infiniband/hw/hns/hns_roce_device.h        |   4 +-
 drivers/infiniband/hw/hns/hns_roce_hw_v1.c         |   4 +-
 drivers/infiniband/hw/hns/hns_roce_hw_v2.c         |  41 ++-
 drivers/infiniband/hw/hns/hns_roce_hw_v2.h         |   2 +
 drivers/infiniband/hw/hns/hns_roce_qp.c            |   6 +-
 drivers/infiniband/hw/i40iw/i40iw.h                |   9 +-
 drivers/infiniband/hw/i40iw/i40iw_cm.c             |  10 +-
 drivers/infiniband/hw/i40iw/i40iw_hw.c             |   4 +-
 drivers/infiniband/hw/i40iw/i40iw_utils.c          |  59 +---
 drivers/infiniband/hw/i40iw/i40iw_verbs.c          |  34 ++-
 drivers/infiniband/hw/i40iw/i40iw_verbs.h          |   3 +-
 drivers/infiniband/hw/mlx4/cm.c                    |   3 +
 drivers/infiniband/hw/mlx4/cq.c                    |   3 +-
 drivers/infiniband/hw/mlx4/mad.c                   |  34 ++-
 drivers/infiniband/hw/mlx4/mlx4_ib.h               |   4 +-
 drivers/infiniband/hw/mlx5/cq.c                    |  14 +-
 drivers/infiniband/hw/mlx5/main.c                  |   4 +-
 drivers/infiniband/hw/mlx5/mlx5_ib.h               |   2 +-
 drivers/infiniband/hw/mlx5/mr.c                    |  64 ++---
 drivers/infiniband/hw/mthca/mthca_provider.c       |   3 +-
 drivers/infiniband/hw/ocrdma/ocrdma_verbs.c        |   3 +-
 drivers/infiniband/hw/ocrdma/ocrdma_verbs.h        |   2 +-
 drivers/infiniband/hw/qedr/main.c                  |   2 +-
 drivers/infiniband/hw/qedr/qedr_iw_cm.c            |   6 +-
 drivers/infiniband/hw/qedr/verbs.c                 |  63 +++--
 drivers/infiniband/hw/qedr/verbs.h                 |   2 +-
 drivers/infiniband/hw/usnic/usnic_ib_verbs.c       |   4 +-
 drivers/infiniband/hw/usnic/usnic_ib_verbs.h       |   2 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c       |   3 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h    |   2 +-
 drivers/infiniband/sw/rdmavt/cq.c                  |   3 +-
 drivers/infiniband/sw/rdmavt/cq.h                  |   2 +-
 drivers/infiniband/sw/rdmavt/vt.c                  |   4 +-
 drivers/infiniband/sw/rxe/rxe_recv.c               |  20 +-
 drivers/infiniband/sw/rxe/rxe_verbs.c              |   3 +-
 drivers/infiniband/sw/siw/siw_verbs.c              |   3 +-
 drivers/infiniband/sw/siw/siw_verbs.h              |   2 +-
 drivers/infiniband/ulp/ipoib/ipoib_main.c          |   2 +
 drivers/infiniband/ulp/ipoib/ipoib_netlink.c       |  11 +
 drivers/infiniband/ulp/ipoib/ipoib_vlan.c          |   2 +
 drivers/infiniband/ulp/rtrs/rtrs-srv.c             |  76 +++++-
 drivers/infiniband/ulp/rtrs/rtrs-srv.h             |   7 +
 drivers/input/keyboard/ep93xx_keypad.c             |   4 +-
 drivers/input/keyboard/omap4-keypad.c              |   6 +-
 drivers/input/keyboard/twl4030_keypad.c            |   8 +-
 drivers/input/serio/sun4i-ps2.c                    |   9 +-
 drivers/input/touchscreen/elants_i2c.c             |   2 +-
 drivers/input/touchscreen/imx6ul_tsc.c             |  27 +-
 drivers/input/touchscreen/stmfts.c                 |   2 +-
 drivers/iommu/qcom_iommu.c                         |   8 +-
 drivers/lightnvm/core.c                            |   5 +-
 drivers/mailbox/mailbox.c                          |  12 +-
 drivers/mailbox/mtk-cmdq-mailbox.c                 |   8 +-
 drivers/md/md-bitmap.c                             |   3 +-
 drivers/md/md-cluster.c                            |   1 +
 drivers/media/firewire/firedtv-fw.c                |   6 +-
 drivers/media/i2c/m5mols/m5mols_core.c             |   3 +-
 drivers/media/i2c/ov5640.c                         | 196 ++++++++------
 drivers/media/i2c/tc358743.c                       |  14 +-
 drivers/media/pci/bt8xx/bttv-driver.c              |  13 +-
 drivers/media/pci/saa7134/saa7134-tvaudio.c        |   3 +-
 drivers/media/platform/exynos4-is/fimc-isp.c       |   4 +-
 drivers/media/platform/exynos4-is/fimc-lite.c      |   2 +-
 drivers/media/platform/exynos4-is/media-dev.c      |   8 +-
 drivers/media/platform/exynos4-is/mipi-csis.c      |   4 +-
 drivers/media/platform/mx2_emmaprp.c               |   7 +-
 drivers/media/platform/omap3isp/isp.c              |   6 +-
 drivers/media/platform/qcom/camss/camss-csiphy.c   |   4 +-
 drivers/media/platform/qcom/venus/core.c           |  20 +-
 drivers/media/platform/qcom/venus/vdec.c           |  10 +-
 drivers/media/platform/rcar-fcp.c                  |   4 +-
 drivers/media/platform/rcar-vin/rcar-csi2.c        |  24 +-
 drivers/media/platform/rcar-vin/rcar-dma.c         |   4 +-
 drivers/media/platform/rcar_drif.c                 |  30 +--
 drivers/media/platform/rockchip/rga/rga-buf.c      |   1 +
 drivers/media/platform/s3c-camif/camif-core.c      |   5 +-
 drivers/media/platform/s5p-mfc/s5p_mfc_pm.c        |   4 +-
 drivers/media/platform/sti/bdisp/bdisp-v4l2.c      |   3 +-
 drivers/media/platform/sti/delta/delta-v4l2.c      |   4 +-
 drivers/media/platform/sti/hva/hva-hw.c            |   4 +-
 drivers/media/platform/stm32/stm32-dcmi.c          |   4 +-
 drivers/media/platform/ti-vpe/vpe.c                |   2 +
 drivers/media/platform/vsp1/vsp1_drv.c             |  11 +-
 drivers/media/rc/ati_remote.c                      |   4 +
 drivers/media/test-drivers/vivid/vivid-meta-out.c  |   9 +-
 drivers/media/tuners/tuner-simple.c                |   5 +-
 drivers/media/usb/uvc/uvc_ctrl.c                   |   6 +-
 drivers/media/usb/uvc/uvc_entity.c                 |  35 +++
 drivers/media/usb/uvc/uvc_v4l2.c                   |  30 +++
 drivers/memory/fsl-corenet-cf.c                    |   6 +-
 drivers/memory/omap-gpmc.c                         |   8 +-
 drivers/mfd/sm501.c                                |   8 +-
 drivers/misc/cardreader/rtsx_pcr.c                 |   4 +-
 drivers/misc/eeprom/at25.c                         |   2 +-
 drivers/misc/habanalabs/gaudi/gaudi.c              |   8 +-
 drivers/misc/habanalabs/goya/goya.c                |   8 +-
 drivers/misc/mic/scif/scif_rma.c                   |   4 +-
 drivers/misc/mic/vop/vop_main.c                    |   2 +-
 drivers/misc/mic/vop/vop_vringh.c                  |  24 +-
 drivers/misc/ocxl/Kconfig                          |   3 +-
 drivers/misc/vmw_vmci/vmci_queue_pair.c            |  10 +-
 drivers/mmc/core/sdio_cis.c                        |   3 +
 drivers/mtd/hyperbus/hbmc-am654.c                  |   4 +-
 drivers/mtd/lpddr/lpddr2_nvm.c                     |  35 +--
 drivers/mtd/mtdoops.c                              |  11 +-
 drivers/mtd/nand/raw/ams-delta.c                   |   2 +
 drivers/mtd/nand/raw/stm32_fmc2_nand.c             |   2 +-
 drivers/mtd/nand/raw/vf610_nfc.c                   |   6 +-
 drivers/mtd/nand/spi/gigadevice.c                  |  14 +-
 drivers/net/can/flexcan.c                          |  34 ++-
 drivers/net/can/m_can/m_can_platform.c             |   2 -
 drivers/net/dsa/microchip/ksz_common.c             |  16 +-
 drivers/net/dsa/realtek-smi-core.h                 |   4 +-
 drivers/net/dsa/rtl8366.c                          | 280 ++++++++++---------
 drivers/net/dsa/rtl8366rb.c                        |   2 +-
 .../net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c   | 175 +++++++++++-
 .../net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.h   |  15 ++
 drivers/net/ethernet/cisco/enic/enic.h             |   1 +
 drivers/net/ethernet/cisco/enic/enic_api.c         |   6 +
 drivers/net/ethernet/cisco/enic/enic_main.c        |  27 +-
 drivers/net/ethernet/faraday/ftgmac100.c           |   5 +
 drivers/net/ethernet/faraday/ftgmac100.h           |   8 +
 drivers/net/ethernet/freescale/fec_main.c          |  35 ++-
 drivers/net/ethernet/ibm/ibmveth.c                 |  19 +-
 drivers/net/ethernet/ibm/ibmvnic.c                 |  10 +-
 drivers/net/ethernet/ibm/ibmvnic.h                 |   2 +-
 drivers/net/ethernet/korina.c                      |   3 +-
 drivers/net/ethernet/mediatek/Kconfig              |   1 +
 drivers/net/ethernet/mellanox/mlx4/en_rx.c         |   3 +
 drivers/net/ethernet/mellanox/mlx4/en_tx.c         |   2 +-
 .../net/ethernet/mellanox/mlx5/core/en/health.c    |   2 +-
 .../net/ethernet/mellanox/mlx5/core/lib/clock.c    |   5 +-
 drivers/net/ethernet/realtek/r8169_main.c          |  12 +-
 drivers/net/ethernet/socionext/netsec.c            |  24 +-
 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c  |  41 +--
 drivers/net/ipa/ipa_endpoint.c                     |   6 +
 drivers/net/usb/qmi_wwan.c                         |   1 +
 drivers/net/wan/hdlc.c                             |  10 +-
 drivers/net/wan/hdlc_raw_eth.c                     |   1 +
 drivers/net/wireless/ath/ath10k/ce.c               |   2 +-
 drivers/net/wireless/ath/ath10k/htt_rx.c           |   8 +
 drivers/net/wireless/ath/ath10k/mac.c              |   2 +-
 drivers/net/wireless/ath/ath11k/ahb.c              |  10 +-
 drivers/net/wireless/ath/ath11k/mac.c              |   4 +-
 drivers/net/wireless/ath/ath11k/qmi.c              |   1 +
 drivers/net/wireless/ath/ath6kl/main.c             |   3 +
 drivers/net/wireless/ath/ath6kl/wmi.c              |   5 +
 drivers/net/wireless/ath/ath9k/hif_usb.c           |  19 ++
 drivers/net/wireless/ath/ath9k/htc_hst.c           |   2 +
 drivers/net/wireless/ath/wcn36xx/main.c            |   2 +-
 .../wireless/broadcom/brcm80211/brcmfmac/core.c    |   2 +-
 .../wireless/broadcom/brcm80211/brcmfmac/msgbuf.c  |   2 +
 .../broadcom/brcm80211/brcmsmac/phy/phy_lcn.c      |   4 +-
 drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c   |   8 +-
 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c  |   9 +-
 drivers/net/wireless/marvell/mwifiex/scan.c        |   2 +-
 drivers/net/wireless/marvell/mwifiex/sdio.c        |   2 +
 drivers/net/wireless/marvell/mwifiex/usb.c         |   3 +-
 drivers/net/wireless/mediatek/mt76/mt7915/mcu.c    |  18 +-
 drivers/net/wireless/quantenna/qtnfmac/commands.c  |   2 +
 .../net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c  |  10 +-
 drivers/net/wireless/realtek/rtw88/main.c          |   5 +
 drivers/net/wireless/realtek/rtw88/pci.c           |   2 +
 drivers/net/wireless/realtek/rtw88/pci.h           |   4 +-
 drivers/net/wireless/realtek/rtw88/phy.c           |   5 +-
 drivers/ntb/hw/amd/ntb_hw_amd.c                    |   1 +
 drivers/ntb/hw/intel/ntb_hw_gen1.c                 |   2 +-
 drivers/nvme/target/core.c                         |   3 +-
 drivers/nvmem/core.c                               |  38 ++-
 drivers/opp/core.c                                 |   6 +
 drivers/pci/controller/dwc/pcie-designware-ep.c    |   3 +-
 drivers/pci/controller/pci-aardvark.c              |  13 +-
 drivers/pci/controller/pci-hyperv.c                |  50 +++-
 drivers/pci/controller/pcie-iproc-msi.c            |  13 +-
 drivers/pci/iov.c                                  |   1 +
 drivers/perf/thunderx2_pmu.c                       |   7 +-
 drivers/perf/xgene_pmu.c                           |  32 +--
 drivers/pinctrl/aspeed/pinctrl-aspeed.c            |   2 +-
 drivers/pinctrl/bcm/Kconfig                        |   1 +
 drivers/pinctrl/devicetree.c                       |   5 +-
 drivers/pinctrl/pinctrl-mcp23s08.c                 |  24 +-
 drivers/pinctrl/qcom/pinctrl-msm.c                 |  10 +-
 drivers/platform/chrome/cros_ec_lightbar.c         |   2 +
 drivers/platform/x86/mlx-platform.c                |  15 +-
 drivers/pwm/pwm-img.c                              |   3 +-
 drivers/pwm/pwm-lpss.c                             |   7 +-
 drivers/pwm/pwm-rockchip.c                         |   5 +-
 drivers/rapidio/devices/rio_mport_cdev.c           |  18 +-
 drivers/ras/cec.c                                  |   9 +-
 drivers/regulator/core.c                           |  21 +-
 drivers/remoteproc/mtk_scp_ipi.c                   |   4 +-
 drivers/rpmsg/mtk_rpmsg.c                          |   9 +-
 drivers/rpmsg/qcom_smd.c                           |  32 ++-
 drivers/rtc/rtc-ds1307.c                           |   4 +
 drivers/s390/net/qeth_core.h                       |   6 +
 drivers/s390/net/qeth_l2_main.c                    |  59 +++-
 drivers/s390/net/qeth_l2_sys.c                     |   1 +
 drivers/scsi/be2iscsi/be_main.c                    |   4 +-
 drivers/scsi/bfa/bfad.c                            |   1 +
 drivers/scsi/csiostor/csio_hw.c                    |   2 +-
 drivers/scsi/ibmvscsi/ibmvfc.c                     |   1 +
 drivers/scsi/mpt3sas/mpt3sas_base.c                |  14 +-
 drivers/scsi/mvumi.c                               |   1 +
 drivers/scsi/qedf/qedf_main.c                      |   2 +-
 drivers/scsi/qedi/qedi_fw.c                        |  23 +-
 drivers/scsi/qedi/qedi_iscsi.c                     |   2 +
 drivers/scsi/qedi/qedi_main.c                      |  10 +
 drivers/scsi/qla2xxx/qla_init.c                    |  10 +
 drivers/scsi/qla2xxx/qla_inline.h                  |   5 +
 drivers/scsi/qla2xxx/qla_mbx.c                     |   2 +-
 drivers/scsi/qla2xxx/qla_nvme.c                    |   2 +-
 drivers/scsi/qla2xxx/qla_target.c                  |   2 +-
 drivers/scsi/qla4xxx/ql4_os.c                      |   2 +-
 drivers/scsi/smartpqi/smartpqi.h                   |   2 +-
 drivers/scsi/smartpqi/smartpqi_init.c              | 101 ++++---
 drivers/scsi/ufs/ufs-mediatek.c                    |   6 -
 drivers/scsi/ufs/ufs-qcom.c                        |   5 -
 drivers/scsi/ufs/ufshcd.c                          |   3 +
 drivers/slimbus/core.c                             |   6 +-
 drivers/slimbus/qcom-ngd-ctrl.c                    |   4 +
 drivers/soc/fsl/qbman/bman.c                       |   2 +-
 drivers/soc/mediatek/mtk-cmdq-helper.c             |   5 +-
 drivers/soc/qcom/apr.c                             |   2 +-
 drivers/soc/qcom/pdr_internal.h                    |   2 +-
 drivers/soc/xilinx/zynqmp_power.c                  |   2 +-
 drivers/spi/spi-dw-pci.c                           |  16 +-
 drivers/spi/spi-fsi.c                              |  99 +++++--
 drivers/spi/spi-omap2-mcspi.c                      |  17 +-
 drivers/spi/spi-s3c64xx.c                          |  52 +++-
 drivers/staging/emxx_udc/emxx_udc.c                |   4 +-
 drivers/staging/media/atomisp/pci/sh_css.c         |   2 +-
 drivers/staging/media/hantro/hantro_h264.c         |   2 +-
 drivers/staging/media/hantro/hantro_postproc.c     |   4 +-
 drivers/staging/media/ipu3/ipu3-css-params.c       |   2 +-
 .../phy-rockchip-dphy-rx0/phy-rockchip-dphy-rx0.c  |   1 +
 drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c  |   2 +-
 drivers/staging/wfx/data_rx.c                      |   2 +-
 drivers/staging/wilc1000/mon.c                     |   3 +-
 drivers/staging/wilc1000/sdio.c                    |   5 +-
 drivers/staging/wilc1000/spi.c                     |   5 +-
 drivers/target/target_core_user.c                  |   2 +-
 drivers/tty/hvc/Kconfig                            |   1 +
 drivers/tty/hvc/hvcs.c                             |  14 +-
 drivers/tty/ipwireless/network.c                   |   4 +-
 drivers/tty/ipwireless/tty.c                       |   2 +-
 drivers/tty/pty.c                                  |   2 +-
 drivers/tty/serial/Kconfig                         |   1 +
 drivers/tty/serial/fsl_lpuart.c                    |  16 +-
 drivers/usb/cdns3/gadget.c                         |   2 +-
 drivers/usb/class/cdc-acm.c                        |  23 ++
 drivers/usb/class/cdc-wdm.c                        |  72 +++--
 drivers/usb/core/urb.c                             |  89 +++---
 drivers/usb/dwc2/gadget.c                          |  40 ++-
 drivers/usb/dwc2/params.c                          |   2 +-
 drivers/usb/dwc2/platform.c                        |   6 +-
 drivers/usb/dwc3/core.c                            |  60 +++--
 drivers/usb/dwc3/core.h                            |   7 +
 drivers/usb/dwc3/dwc3-of-simple.c                  |   1 +
 drivers/usb/gadget/function/f_ncm.c                |   8 +-
 drivers/usb/gadget/function/f_printer.c            |  16 +-
 drivers/usb/gadget/function/u_ether.c              |   2 +-
 drivers/usb/gadget/function/u_serial.c             |   1 +
 drivers/usb/gadget/udc/bcm63xx_udc.c               |   1 +
 drivers/usb/host/ohci-hcd.c                        |  16 +-
 drivers/usb/host/xhci.c                            |   3 +-
 drivers/vfio/pci/vfio_pci_config.c                 |  24 +-
 drivers/vfio/pci/vfio_pci_intrs.c                  |   4 +-
 drivers/vfio/vfio.c                                |   9 +-
 drivers/vfio/vfio_iommu_type1.c                    |   6 +-
 drivers/video/backlight/sky81452-backlight.c       |   1 +
 drivers/video/fbdev/aty/radeon_base.c              |   2 +-
 drivers/video/fbdev/core/fbmem.c                   |   4 +
 drivers/video/fbdev/sis/init.c                     |  11 +-
 drivers/video/fbdev/vga16fb.c                      |  14 +-
 drivers/virt/fsl_hypervisor.c                      |  17 +-
 drivers/watchdog/sp5100_tco.h                      |   2 +-
 drivers/watchdog/watchdog_dev.c                    |   6 +-
 fs/afs/cell.c                                      | 283 +++++++++++--------
 fs/afs/dynroot.c                                   |  23 +-
 fs/afs/internal.h                                  |  15 +-
 fs/afs/main.c                                      |   2 +-
 fs/afs/mntpt.c                                     |   4 +-
 fs/afs/proc.c                                      |  23 +-
 fs/afs/super.c                                     |  16 +-
 fs/afs/vl_alias.c                                  |   8 +-
 fs/afs/vl_rotate.c                                 |   2 +-
 fs/afs/volume.c                                    |   4 +-
 fs/btrfs/extent-io-tree.h                          |   1 +
 fs/btrfs/volumes.c                                 |   7 +-
 fs/cifs/asn1.c                                     |  16 +-
 fs/cifs/cifsacl.c                                  |   5 +-
 fs/cifs/cifsproto.h                                |   2 +
 fs/cifs/connect.c                                  |   5 +-
 fs/cifs/readdir.c                                  |   5 +-
 fs/cifs/smb2ops.c                                  |  21 +-
 fs/crypto/policy.c                                 |   9 +-
 fs/d_path.c                                        |   6 +-
 fs/dlm/config.c                                    |   3 +
 fs/ext4/ext4.h                                     |   2 +-
 fs/ext4/fsmap.c                                    |   3 +
 fs/ext4/mballoc.c                                  |  37 ++-
 fs/f2fs/inode.c                                    |   7 +
 fs/f2fs/sysfs.c                                    |   1 +
 fs/iomap/buffered-io.c                             |  25 +-
 fs/iomap/direct-io.c                               |  10 +
 fs/nfs/fs_context.c                                |   1 +
 fs/ntfs/inode.c                                    |   6 +
 fs/proc/base.c                                     |   3 +-
 fs/quota/quota_v2.c                                |   1 +
 fs/ramfs/file-nommu.c                              |   2 +-
 fs/reiserfs/inode.c                                |   3 +-
 fs/reiserfs/super.c                                |   8 +-
 fs/udf/inode.c                                     |  25 +-
 fs/udf/super.c                                     |   6 +
 fs/xfs/libxfs/xfs_rtbitmap.c                       |  11 +-
 fs/xfs/xfs_buf_item_recover.c                      |   2 +
 fs/xfs/xfs_file.c                                  |  17 +-
 fs/xfs/xfs_fsmap.c                                 |  48 ++--
 fs/xfs/xfs_fsmap.h                                 |   6 +-
 fs/xfs/xfs_ioctl.c                                 | 144 ++++++----
 fs/xfs/xfs_rtalloc.c                               |  11 +
 include/linux/bpf_verifier.h                       |   1 +
 include/linux/mailbox/mtk-cmdq-mailbox.h           |   3 +-
 include/linux/oom.h                                |   1 +
 include/linux/overflow.h                           |   1 +
 include/linux/page_owner.h                         |   6 +-
 include/linux/pci.h                                |   1 +
 include/linux/platform_data/dma-dw.h               |   2 +
 include/linux/sched/coredump.h                     |   1 +
 include/linux/soc/mediatek/mtk-cmdq.h              |   5 +-
 include/net/ip.h                                   |   6 +
 include/net/netfilter/nf_log.h                     |   1 +
 include/net/tc_act/tc_tunnel_key.h                 |   5 +-
 include/rdma/ib_umem.h                             |   9 +-
 include/rdma/ib_verbs.h                            |  68 +----
 include/scsi/scsi_common.h                         |   7 +
 include/sound/hda_codec.h                          |   1 +
 include/trace/events/target.h                      |  12 +-
 include/uapi/linux/pci_regs.h                      |   1 +
 include/uapi/linux/perf_event.h                    |   2 +-
 kernel/bpf/percpu_freelist.c                       | 101 ++++++-
 kernel/bpf/percpu_freelist.h                       |   1 +
 kernel/bpf/verifier.c                              |  34 +++
 kernel/debug/kdb/kdb_io.c                          |   8 +-
 kernel/events/core.c                               |   7 +-
 kernel/fork.c                                      |  21 ++
 kernel/module.c                                    |  13 +-
 kernel/power/hibernate.c                           |  11 -
 kernel/rcu/rcutorture.c                            |  13 +-
 kernel/rcu/tree.c                                  |   2 +-
 kernel/sched/core.c                                |   2 +-
 kernel/sched/fair.c                                |  20 +-
 kernel/sched/sched.h                               |  13 +-
 kernel/trace/trace_events_synth.c                  |  18 +-
 lib/crc32.c                                        |   2 +-
 lib/idr.c                                          |   1 +
 mm/filemap.c                                       |   8 +-
 mm/huge_memory.c                                   |   2 +-
 mm/memcontrol.c                                    |   5 +-
 mm/oom_kill.c                                      |   2 +
 mm/page_alloc.c                                    |   4 +-
 mm/page_owner.c                                    |   4 +-
 mm/swapfile.c                                      |   4 +-
 net/bluetooth/hci_core.c                           |  11 +
 net/bluetooth/l2cap_sock.c                         |   7 +-
 net/bridge/netfilter/ebt_dnat.c                    |   2 +-
 net/bridge/netfilter/ebt_redirect.c                |   2 +-
 net/bridge/netfilter/ebt_snat.c                    |   2 +-
 net/can/j1939/transport.c                          |   2 +
 net/core/filter.c                                  |   3 +-
 net/core/skmsg.c                                   |  14 +-
 net/core/sock.c                                    |  13 +-
 net/ipv4/icmp.c                                    |   7 +-
 net/ipv4/ip_gre.c                                  |  15 +-
 net/ipv4/netfilter/nf_log_arp.c                    |  19 +-
 net/ipv4/netfilter/nf_log_ipv4.c                   |   6 +-
 net/ipv4/nexthop.c                                 |   2 +-
 net/ipv4/route.c                                   |   4 +-
 net/ipv4/tcp_input.c                               |   2 +
 net/ipv6/ip6_fib.c                                 |   4 +-
 net/ipv6/netfilter/nf_log_ipv6.c                   |   8 +-
 net/mac80211/cfg.c                                 |   3 +-
 net/mac80211/sta_info.c                            |   4 +
 net/mptcp/options.c                                |   3 +-
 net/mptcp/protocol.h                               |   2 +-
 net/mptcp/subflow.c                                |   3 +-
 net/netfilter/ipvs/ip_vs_ctl.c                     |   7 +-
 net/netfilter/ipvs/ip_vs_xmit.c                    |   6 +
 net/netfilter/nf_conntrack_proto_tcp.c             |  19 +-
 net/netfilter/nf_dup_netdev.c                      |   1 +
 net/netfilter/nf_log_common.c                      |  12 +
 net/netfilter/nft_fwd_netdev.c                     |   1 +
 net/nfc/netlink.c                                  |   2 +-
 net/sched/act_api.c                                |  14 -
 net/sched/act_ct.c                                 |   4 +-
 net/sched/act_tunnel_key.c                         |   2 +-
 net/sched/cls_api.c                                |   2 +-
 net/smc/smc_core.c                                 |   2 +-
 net/smc/smc_llc.c                                  |  13 +-
 net/sunrpc/auth_gss/svcauth_gss.c                  |  27 +-
 net/sunrpc/xprtrdma/svc_rdma_sendto.c              |   3 +-
 net/tipc/bcast.c                                   |  10 +-
 net/tipc/msg.c                                     |   3 +-
 net/tls/tls_device.c                               |  11 +-
 net/wireless/nl80211.c                             |  21 +-
 samples/bpf/xdpsock_user.c                         |  10 +-
 samples/mic/mpssd/mpssd.c                          |   4 +-
 scripts/package/builddeb                           |   6 +-
 scripts/package/mkdebian                           |  19 +-
 security/integrity/ima/ima_crypto.c                |   2 +
 security/integrity/ima/ima_main.c                  |  10 +
 sound/core/seq/oss/seq_oss.c                       |   7 +-
 sound/firewire/bebob/bebob_hwdep.c                 |   3 +-
 sound/pci/hda/hda_intel.c                          |  14 +-
 sound/pci/hda/hda_jack.c                           |  22 +-
 sound/pci/hda/patch_ca0132.c                       |  24 +-
 sound/pci/hda/patch_hdmi.c                         |  20 +-
 sound/pci/hda/patch_realtek.c                      |  56 ++++
 sound/soc/codecs/Kconfig                           |   1 +
 sound/soc/codecs/tas2770.c                         |  93 +++----
 sound/soc/codecs/tlv320adcx140.c                   |   2 +-
 sound/soc/codecs/tlv320aic32x4.c                   |   9 +-
 sound/soc/codecs/wm_adsp.c                         |  20 +-
 sound/soc/fsl/fsl_sai.c                            |  19 +-
 sound/soc/fsl/fsl_sai.h                            |   1 +
 sound/soc/fsl/imx-es8328.c                         |  12 +-
 sound/soc/intel/boards/sof_rt5682.c                |  13 +
 sound/soc/qcom/lpass-cpu.c                         |  16 --
 sound/soc/qcom/lpass-platform.c                    |   3 +-
 sound/soc/soc-topology.c                           |  11 +
 sound/soc/sof/control.c                            |  11 +
 sound/soc/sof/intel/hda.c                          |   8 +-
 sound/soc/sof/sof-pci-dev.c                        |  24 ++
 sound/usb/format.c                                 |   1 +
 tools/build/Makefile.feature                       |   5 +-
 tools/build/feature/Makefile                       |   2 +-
 tools/build/feature/test-all.c                     |  10 -
 tools/lib/bpf/libbpf.c                             |  57 ++--
 tools/lib/perf/evlist.c                            |   3 +
 tools/perf/Makefile.config                         |   4 +-
 tools/perf/Makefile.perf                           |   6 +-
 tools/perf/builtin-stat.c                          |   4 +-
 tools/perf/builtin-trace.c                         |   6 +-
 tools/perf/builtin-version.c                       |   1 -
 tools/perf/util/intel-pt.c                         |   8 +-
 tools/testing/radix-tree/idr-test.c                |  29 ++
 tools/testing/selftests/bpf/bench.c                |   3 -
 tools/testing/selftests/bpf/benchs/bench_rename.c  |  17 --
 tools/testing/selftests/bpf/prog_tests/bpf_iter.c  |  14 +-
 tools/testing/selftests/bpf/prog_tests/sk_assign.c |   2 +-
 .../testing/selftests/bpf/prog_tests/sockopt_sk.c  |   4 +-
 .../selftests/bpf/prog_tests/test_overhead.c       |  14 +-
 tools/testing/selftests/bpf/progs/test_overhead.c  |   6 -
 .../selftests/bpf/progs/test_sysctl_loop1.c        |   4 +-
 .../selftests/bpf/progs/test_sysctl_loop2.c        |   4 +-
 tools/testing/selftests/bpf/progs/test_vmlinux.c   |  12 +-
 .../trigger-inter-event-combined-hist.tc           |   8 +-
 tools/testing/selftests/lkdtm/run.sh               |   2 +-
 tools/testing/selftests/net/config                 |   1 +
 .../selftests/net/forwarding/vxlan_asymmetric.sh   |  10 +
 .../selftests/net/forwarding/vxlan_symmetric.sh    |  10 +
 tools/testing/selftests/net/mptcp/mptcp_connect.sh |   4 +-
 tools/testing/selftests/net/mptcp/mptcp_join.sh    |   4 +-
 tools/testing/selftests/net/rtnetlink.sh           |   5 +
 tools/testing/selftests/powerpc/eeh/eeh-basic.sh   |   9 +-
 tools/testing/selftests/vm/config                  |   1 +
 665 files changed, 5459 insertions(+), 2941 deletions(-)
Signature · 2 lines
software engineer
rajagiri school of engineering and technology - autonomous
maintainer Tested-by on the v1 series
#637 lore raw
In reply to Greg Kroah-Hartman
Quoted 9 lines · Greg Kroah-Hartman

This is the start of the stable review cycle for the 5.8.17 release. There are 633 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 Thu, 29 Oct 2020 13:53:43 +0000. Anything received after that time might be too late.

The whole patch series can be found in one patch at:

Quoted 8 lines
	https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.8.17-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.8.y
and the diffstat can be found below.

thanks,

greg k-h

All tests passing for Tegra ...

Test results for stable-v5.8:

    15 builds:	15 pass, 0 fail
    26 boots:	26 pass, 0 fail
    60 tests:	60 pass, 0 fail

Linux version: 5.8.17-rc1-g5be39e9f29ce
Boards tested: tegra124-jetson-tk1, tegra186-p2771-0000,

                tegra194-p2972-0000, tegra20-ventana,
                tegra210-p2371-2180, tegra210-p3450-0000,
                tegra30-cardhu-a04

Jon

A message that is not in the archive (sent off-list or not yet received): [email protected]

#639 lore raw

Retry

Quoted 18 lines · Guenter Roeck
Quoted 8 lines · Greg Kroah-Hartman

This is the start of the stable review cycle for the 5.8.17 release. There are 633 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 Thu, 29 Oct 2020 13:53:43 +0000. Anything received after that time might be too late.

Build results:

	total: 154 pass: 154 fail: 0
Qemu test results:
	total: 426 pass: 426 fail: 0

Guenter

Tested-by Linux Kernel Functional Testing on the v1 series
#640 lore raw
In reply to Greg Kroah-Hartman
Quoted 10 lines · Greg Kroah-Hartman

This is the start of the stable review cycle for the 5.8.17 release. There are 633 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 Thu, 29 Oct 2020 13:53:43 +0000. Anything received after that time might be too late.

The whole patch series can be found in one patch at:

Quoted 8 lines
        https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.8.17-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.8.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.

NOTE:
The Kunit test is a part of the LKFT test plan from now on 5.8, 5.9 and Linus mainline and Linux next master branches.

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

kernel: 5.8.17-rc1
git repo: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
git branch: linux-5.8.y
git commit: 5be39e9f29ceb931a3c8bfa71a3f18345bb6d3d5
git describe: v5.8.16-634-g5be39e9f29ce
Test details: https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-5.8.y/build/v5.8.16-634-g5be39e9f29ce

No regressions (compared to build v5.8.16)

No fixes (compared to build v5.8.16)

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

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

Test Suites
-----------
* build
* install-android-platform-tools-r2600
* kselftest
* linux-log-parser
* ltp-containers-tests
* ltp-cve-tests
* ltp-dio-tests
* ltp-io-tests
* ltp-ipc-tests
* ltp-syscalls-tests
* perf
* v4l2-compliance
* libhugetlbfs
* ltp-commands-tests
* ltp-controllers-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-math-tests
* ltp-mm-tests
* ltp-nptl-tests
* ltp-pty-tests
* ltp-securebits-tests
* ltp-tracing-tests
* network-basic-tests
* ltp-cap_bounds-tests
* ltp-cpuhotplug-tests
* ltp-crypto-tests
* ltp-open-posix-tests
* ltp-sched-tests
* kunit
* kselftest-vsyscall-mode-native
* kselftest-vsyscall-mode-none

Signature · 2 lines
Linaro LKFT
https://lkft.linaro.org