From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
patches@lists.linux.dev,
Brendan Cunningham <bcunningham@cornelisnetworks.com>,
Patrick Kelsey <pat.kelsey@cornelisnetworks.com>,
Dennis Dalessandro <dennis.dalessandro@cornelisnetworks.com>,
Leon Romanovsky <leon@kernel.org>,
Sasha Levin <sashal@kernel.org>
Subject: [PATCH 5.15 312/371] IB/hfi1: Fix bugs with non-PAGE_SIZE-end multi-iovec user SDMA requests
Date: Mon, 8 May 2023 11:48:33 +0200 [thread overview]
Message-ID: <20230508094824.444692166@linuxfoundation.org> (raw)
In-Reply-To: <20230508094811.912279944@linuxfoundation.org>
From: Patrick Kelsey <pat.kelsey@cornelisnetworks.com>
[ Upstream commit 00cbce5cbf88459cd1aa1d60d0f1df15477df127 ]
hfi1 user SDMA request processing has two bugs that can cause data
corruption for user SDMA requests that have multiple payload iovecs
where an iovec other than the tail iovec does not run up to the page
boundary for the buffer pointed to by that iovec.a
Here are the specific bugs:
1. user_sdma_txadd() does not use struct user_sdma_iovec->iov.iov_len.
Rather, user_sdma_txadd() will add up to PAGE_SIZE bytes from iovec
to the packet, even if some of those bytes are past
iovec->iov.iov_len and are thus not intended to be in the packet.
2. user_sdma_txadd() and user_sdma_send_pkts() fail to advance to the
next iovec in user_sdma_request->iovs when the current iovec
is not PAGE_SIZE and does not contain enough data to complete the
packet. The transmitted packet will contain the wrong data from the
iovec pages.
This has not been an issue with SDMA packets from hfi1 Verbs or PSM2
because they only produce iovecs that end short of PAGE_SIZE as the tail
iovec of an SDMA request.
Fixing these bugs exposes other bugs with the SDMA pin cache
(struct mmu_rb_handler) that get in way of supporting user SDMA requests
with multiple payload iovecs whose buffers do not end at PAGE_SIZE. So
this commit fixes those issues as well.
Here are the mmu_rb_handler bugs that non-PAGE_SIZE-end multi-iovec
payload user SDMA requests can hit:
1. Overlapping memory ranges in mmu_rb_handler will result in duplicate
pinnings.
2. When extending an existing mmu_rb_handler entry (struct mmu_rb_node),
the mmu_rb code (1) removes the existing entry under a lock, (2)
releases that lock, pins the new pages, (3) then reacquires the lock
to insert the extended mmu_rb_node.
If someone else comes in and inserts an overlapping entry between (2)
and (3), insert in (3) will fail.
The failure path code in this case unpins _all_ pages in either the
original mmu_rb_node or the new mmu_rb_node that was inserted between
(2) and (3).
3. In hfi1_mmu_rb_remove_unless_exact(), mmu_rb_node->refcount is
incremented outside of mmu_rb_handler->lock. As a result, mmu_rb_node
could be evicted by another thread that gets mmu_rb_handler->lock and
checks mmu_rb_node->refcount before mmu_rb_node->refcount is
incremented.
4. Related to #2 above, SDMA request submission failure path does not
check mmu_rb_node->refcount before freeing mmu_rb_node object.
If there are other SDMA requests in progress whose iovecs have
pointers to the now-freed mmu_rb_node(s), those pointers to the
now-freed mmu_rb nodes will be dereferenced when those SDMA requests
complete.
Fixes: 7be85676f1d1 ("IB/hfi1: Don't remove RB entry when not needed.")
Fixes: 7724105686e7 ("IB/hfi1: add driver files")
Signed-off-by: Brendan Cunningham <bcunningham@cornelisnetworks.com>
Signed-off-by: Patrick Kelsey <pat.kelsey@cornelisnetworks.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@cornelisnetworks.com>
Link: https://lore.kernel.org/r/168088636445.3027109.10054635277810177889.stgit@252.162.96.66.static.eigbox.net
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/infiniband/hw/hfi1/ipoib_tx.c | 1 +
drivers/infiniband/hw/hfi1/mmu_rb.c | 66 +--
drivers/infiniband/hw/hfi1/mmu_rb.h | 8 +-
drivers/infiniband/hw/hfi1/sdma.c | 21 +-
drivers/infiniband/hw/hfi1/sdma.h | 16 +-
drivers/infiniband/hw/hfi1/sdma_txreq.h | 1 +
drivers/infiniband/hw/hfi1/trace_mmu.h | 4 -
drivers/infiniband/hw/hfi1/user_sdma.c | 600 +++++++++++++++---------
drivers/infiniband/hw/hfi1/user_sdma.h | 5 -
drivers/infiniband/hw/hfi1/verbs.c | 4 +-
drivers/infiniband/hw/hfi1/vnic_sdma.c | 1 +
11 files changed, 423 insertions(+), 304 deletions(-)
diff --git a/drivers/infiniband/hw/hfi1/ipoib_tx.c b/drivers/infiniband/hw/hfi1/ipoib_tx.c
index 15b0cb0f363f4..33ffb00c63823 100644
--- a/drivers/infiniband/hw/hfi1/ipoib_tx.c
+++ b/drivers/infiniband/hw/hfi1/ipoib_tx.c
@@ -251,6 +251,7 @@ static int hfi1_ipoib_build_ulp_payload(struct ipoib_txreq *tx,
const skb_frag_t *frag = &skb_shinfo(skb)->frags[i];
ret = sdma_txadd_page(dd,
+ NULL,
txreq,
skb_frag_page(frag),
frag->bv_offset,
diff --git a/drivers/infiniband/hw/hfi1/mmu_rb.c b/drivers/infiniband/hw/hfi1/mmu_rb.c
index af46ff2033426..71b9ac0188875 100644
--- a/drivers/infiniband/hw/hfi1/mmu_rb.c
+++ b/drivers/infiniband/hw/hfi1/mmu_rb.c
@@ -126,7 +126,7 @@ int hfi1_mmu_rb_insert(struct mmu_rb_handler *handler,
spin_lock_irqsave(&handler->lock, flags);
node = __mmu_rb_search(handler, mnode->addr, mnode->len);
if (node) {
- ret = -EINVAL;
+ ret = -EEXIST;
goto unlock;
}
__mmu_int_rb_insert(mnode, &handler->root);
@@ -143,6 +143,19 @@ int hfi1_mmu_rb_insert(struct mmu_rb_handler *handler,
return ret;
}
+/* Caller must hold handler lock */
+struct mmu_rb_node *hfi1_mmu_rb_get_first(struct mmu_rb_handler *handler,
+ unsigned long addr, unsigned long len)
+{
+ struct mmu_rb_node *node;
+
+ trace_hfi1_mmu_rb_search(addr, len);
+ node = __mmu_int_rb_iter_first(&handler->root, addr, (addr + len) - 1);
+ if (node)
+ list_move_tail(&node->list, &handler->lru_list);
+ return node;
+}
+
/* Caller must hold handler lock */
static struct mmu_rb_node *__mmu_rb_search(struct mmu_rb_handler *handler,
unsigned long addr,
@@ -167,34 +180,6 @@ static struct mmu_rb_node *__mmu_rb_search(struct mmu_rb_handler *handler,
return node;
}
-bool hfi1_mmu_rb_remove_unless_exact(struct mmu_rb_handler *handler,
- unsigned long addr, unsigned long len,
- struct mmu_rb_node **rb_node)
-{
- struct mmu_rb_node *node;
- unsigned long flags;
- bool ret = false;
-
- if (current->mm != handler->mn.mm)
- return ret;
-
- spin_lock_irqsave(&handler->lock, flags);
- node = __mmu_rb_search(handler, addr, len);
- if (node) {
- if (node->addr == addr && node->len == len) {
- list_move_tail(&node->list, &handler->lru_list);
- goto unlock;
- }
- __mmu_int_rb_remove(node, &handler->root);
- list_del(&node->list); /* remove from LRU list */
- ret = true;
- }
-unlock:
- spin_unlock_irqrestore(&handler->lock, flags);
- *rb_node = node;
- return ret;
-}
-
void hfi1_mmu_rb_evict(struct mmu_rb_handler *handler, void *evict_arg)
{
struct mmu_rb_node *rbnode, *ptr;
@@ -225,29 +210,6 @@ void hfi1_mmu_rb_evict(struct mmu_rb_handler *handler, void *evict_arg)
}
}
-/*
- * It is up to the caller to ensure that this function does not race with the
- * mmu invalidate notifier which may be calling the users remove callback on
- * 'node'.
- */
-void hfi1_mmu_rb_remove(struct mmu_rb_handler *handler,
- struct mmu_rb_node *node)
-{
- unsigned long flags;
-
- if (current->mm != handler->mn.mm)
- return;
-
- /* Validity of handler and node pointers has been checked by caller. */
- trace_hfi1_mmu_rb_remove(node->addr, node->len);
- spin_lock_irqsave(&handler->lock, flags);
- __mmu_int_rb_remove(node, &handler->root);
- list_del(&node->list); /* remove from LRU list */
- spin_unlock_irqrestore(&handler->lock, flags);
-
- handler->ops->remove(handler->ops_arg, node);
-}
-
static int mmu_notifier_range_start(struct mmu_notifier *mn,
const struct mmu_notifier_range *range)
{
diff --git a/drivers/infiniband/hw/hfi1/mmu_rb.h b/drivers/infiniband/hw/hfi1/mmu_rb.h
index 7417be2b9dc8a..ed75acdb7b839 100644
--- a/drivers/infiniband/hw/hfi1/mmu_rb.h
+++ b/drivers/infiniband/hw/hfi1/mmu_rb.h
@@ -52,10 +52,8 @@ void hfi1_mmu_rb_unregister(struct mmu_rb_handler *handler);
int hfi1_mmu_rb_insert(struct mmu_rb_handler *handler,
struct mmu_rb_node *mnode);
void hfi1_mmu_rb_evict(struct mmu_rb_handler *handler, void *evict_arg);
-void hfi1_mmu_rb_remove(struct mmu_rb_handler *handler,
- struct mmu_rb_node *mnode);
-bool hfi1_mmu_rb_remove_unless_exact(struct mmu_rb_handler *handler,
- unsigned long addr, unsigned long len,
- struct mmu_rb_node **rb_node);
+struct mmu_rb_node *hfi1_mmu_rb_get_first(struct mmu_rb_handler *handler,
+ unsigned long addr,
+ unsigned long len);
#endif /* _HFI1_MMU_RB_H */
diff --git a/drivers/infiniband/hw/hfi1/sdma.c b/drivers/infiniband/hw/hfi1/sdma.c
index 8ed20392e9f0d..bb2552dd29c1e 100644
--- a/drivers/infiniband/hw/hfi1/sdma.c
+++ b/drivers/infiniband/hw/hfi1/sdma.c
@@ -1593,22 +1593,7 @@ static inline void sdma_unmap_desc(
struct hfi1_devdata *dd,
struct sdma_desc *descp)
{
- switch (sdma_mapping_type(descp)) {
- case SDMA_MAP_SINGLE:
- dma_unmap_single(
- &dd->pcidev->dev,
- sdma_mapping_addr(descp),
- sdma_mapping_len(descp),
- DMA_TO_DEVICE);
- break;
- case SDMA_MAP_PAGE:
- dma_unmap_page(
- &dd->pcidev->dev,
- sdma_mapping_addr(descp),
- sdma_mapping_len(descp),
- DMA_TO_DEVICE);
- break;
- }
+ system_descriptor_complete(dd, descp);
}
/*
@@ -3128,7 +3113,7 @@ int ext_coal_sdma_tx_descs(struct hfi1_devdata *dd, struct sdma_txreq *tx,
/* Add descriptor for coalesce buffer */
tx->desc_limit = MAX_DESC;
- return _sdma_txadd_daddr(dd, SDMA_MAP_SINGLE, tx,
+ return _sdma_txadd_daddr(dd, SDMA_MAP_SINGLE, NULL, tx,
addr, tx->tlen);
}
@@ -3167,10 +3152,12 @@ int _pad_sdma_tx_descs(struct hfi1_devdata *dd, struct sdma_txreq *tx)
return rval;
}
}
+
/* finish the one just added */
make_tx_sdma_desc(
tx,
SDMA_MAP_NONE,
+ NULL,
dd->sdma_pad_phys,
sizeof(u32) - (tx->packet_len & (sizeof(u32) - 1)));
tx->num_desc++;
diff --git a/drivers/infiniband/hw/hfi1/sdma.h b/drivers/infiniband/hw/hfi1/sdma.h
index b023fc461bd51..95aaec14c6c28 100644
--- a/drivers/infiniband/hw/hfi1/sdma.h
+++ b/drivers/infiniband/hw/hfi1/sdma.h
@@ -594,6 +594,7 @@ static inline dma_addr_t sdma_mapping_addr(struct sdma_desc *d)
static inline void make_tx_sdma_desc(
struct sdma_txreq *tx,
int type,
+ void *pinning_ctx,
dma_addr_t addr,
size_t len)
{
@@ -612,6 +613,7 @@ static inline void make_tx_sdma_desc(
<< SDMA_DESC0_PHY_ADDR_SHIFT) |
(((u64)len & SDMA_DESC0_BYTE_COUNT_MASK)
<< SDMA_DESC0_BYTE_COUNT_SHIFT);
+ desc->pinning_ctx = pinning_ctx;
}
/* helper to extend txreq */
@@ -643,6 +645,7 @@ static inline void _sdma_close_tx(struct hfi1_devdata *dd,
static inline int _sdma_txadd_daddr(
struct hfi1_devdata *dd,
int type,
+ void *pinning_ctx,
struct sdma_txreq *tx,
dma_addr_t addr,
u16 len)
@@ -652,6 +655,7 @@ static inline int _sdma_txadd_daddr(
make_tx_sdma_desc(
tx,
type,
+ pinning_ctx,
addr, len);
WARN_ON(len > tx->tlen);
tx->num_desc++;
@@ -672,6 +676,7 @@ static inline int _sdma_txadd_daddr(
/**
* sdma_txadd_page() - add a page to the sdma_txreq
* @dd: the device to use for mapping
+ * @pinning_ctx: context to be released at descriptor retirement
* @tx: tx request to which the page is added
* @page: page to map
* @offset: offset within the page
@@ -687,6 +692,7 @@ static inline int _sdma_txadd_daddr(
*/
static inline int sdma_txadd_page(
struct hfi1_devdata *dd,
+ void *pinning_ctx,
struct sdma_txreq *tx,
struct page *page,
unsigned long offset,
@@ -714,8 +720,7 @@ static inline int sdma_txadd_page(
return -ENOSPC;
}
- return _sdma_txadd_daddr(
- dd, SDMA_MAP_PAGE, tx, addr, len);
+ return _sdma_txadd_daddr(dd, SDMA_MAP_PAGE, pinning_ctx, tx, addr, len);
}
/**
@@ -749,7 +754,8 @@ static inline int sdma_txadd_daddr(
return rval;
}
- return _sdma_txadd_daddr(dd, SDMA_MAP_NONE, tx, addr, len);
+ return _sdma_txadd_daddr(dd, SDMA_MAP_NONE, NULL, tx,
+ addr, len);
}
/**
@@ -795,8 +801,7 @@ static inline int sdma_txadd_kvaddr(
return -ENOSPC;
}
- return _sdma_txadd_daddr(
- dd, SDMA_MAP_SINGLE, tx, addr, len);
+ return _sdma_txadd_daddr(dd, SDMA_MAP_SINGLE, NULL, tx, addr, len);
}
struct iowait_work;
@@ -1030,4 +1035,5 @@ extern uint mod_num_sdma;
void sdma_update_lmc(struct hfi1_devdata *dd, u64 mask, u32 lid);
+void system_descriptor_complete(struct hfi1_devdata *dd, struct sdma_desc *descp);
#endif
diff --git a/drivers/infiniband/hw/hfi1/sdma_txreq.h b/drivers/infiniband/hw/hfi1/sdma_txreq.h
index e262fb5c5ec61..fad946cb5e0d8 100644
--- a/drivers/infiniband/hw/hfi1/sdma_txreq.h
+++ b/drivers/infiniband/hw/hfi1/sdma_txreq.h
@@ -19,6 +19,7 @@
struct sdma_desc {
/* private: don't use directly */
u64 qw[2];
+ void *pinning_ctx;
};
/**
diff --git a/drivers/infiniband/hw/hfi1/trace_mmu.h b/drivers/infiniband/hw/hfi1/trace_mmu.h
index 187e9244fe5ed..57900ebb7702e 100644
--- a/drivers/infiniband/hw/hfi1/trace_mmu.h
+++ b/drivers/infiniband/hw/hfi1/trace_mmu.h
@@ -37,10 +37,6 @@ DEFINE_EVENT(hfi1_mmu_rb_template, hfi1_mmu_rb_search,
TP_PROTO(unsigned long addr, unsigned long len),
TP_ARGS(addr, len));
-DEFINE_EVENT(hfi1_mmu_rb_template, hfi1_mmu_rb_remove,
- TP_PROTO(unsigned long addr, unsigned long len),
- TP_ARGS(addr, len));
-
DEFINE_EVENT(hfi1_mmu_rb_template, hfi1_mmu_mem_invalidate,
TP_PROTO(unsigned long addr, unsigned long len),
TP_ARGS(addr, len));
diff --git a/drivers/infiniband/hw/hfi1/user_sdma.c b/drivers/infiniband/hw/hfi1/user_sdma.c
index 5b11c82827445..a932ae1e03af5 100644
--- a/drivers/infiniband/hw/hfi1/user_sdma.c
+++ b/drivers/infiniband/hw/hfi1/user_sdma.c
@@ -24,7 +24,6 @@
#include "hfi.h"
#include "sdma.h"
-#include "mmu_rb.h"
#include "user_sdma.h"
#include "verbs.h" /* for the headers */
#include "common.h" /* for struct hfi1_tid_info */
@@ -39,11 +38,7 @@ static unsigned initial_pkt_count = 8;
static int user_sdma_send_pkts(struct user_sdma_request *req, u16 maxpkts);
static void user_sdma_txreq_cb(struct sdma_txreq *txreq, int status);
static inline void pq_update(struct hfi1_user_sdma_pkt_q *pq);
-static void user_sdma_free_request(struct user_sdma_request *req, bool unpin);
-static int pin_vector_pages(struct user_sdma_request *req,
- struct user_sdma_iovec *iovec);
-static void unpin_vector_pages(struct mm_struct *mm, struct page **pages,
- unsigned start, unsigned npages);
+static void user_sdma_free_request(struct user_sdma_request *req);
static int check_header_template(struct user_sdma_request *req,
struct hfi1_pkt_header *hdr, u32 lrhlen,
u32 datalen);
@@ -81,6 +76,11 @@ static struct mmu_rb_ops sdma_rb_ops = {
.invalidate = sdma_rb_invalidate
};
+static int add_system_pages_to_sdma_packet(struct user_sdma_request *req,
+ struct user_sdma_txreq *tx,
+ struct user_sdma_iovec *iovec,
+ u32 *pkt_remaining);
+
static int defer_packet_queue(
struct sdma_engine *sde,
struct iowait_work *wait,
@@ -412,6 +412,7 @@ int hfi1_user_sdma_process_request(struct hfi1_filedata *fd,
ret = -EINVAL;
goto free_req;
}
+
/* Copy the header from the user buffer */
ret = copy_from_user(&req->hdr, iovec[idx].iov_base + sizeof(info),
sizeof(req->hdr));
@@ -486,9 +487,8 @@ int hfi1_user_sdma_process_request(struct hfi1_filedata *fd,
memcpy(&req->iovs[i].iov,
iovec + idx++,
sizeof(req->iovs[i].iov));
- ret = pin_vector_pages(req, &req->iovs[i]);
- if (ret) {
- req->data_iovs = i;
+ if (req->iovs[i].iov.iov_len == 0) {
+ ret = -EINVAL;
goto free_req;
}
req->data_len += req->iovs[i].iov.iov_len;
@@ -586,7 +586,7 @@ int hfi1_user_sdma_process_request(struct hfi1_filedata *fd,
if (req->seqsubmitted)
wait_event(pq->busy.wait_dma,
(req->seqcomp == req->seqsubmitted - 1));
- user_sdma_free_request(req, true);
+ user_sdma_free_request(req);
pq_update(pq);
set_comp_state(pq, cq, info.comp_idx, ERROR, ret);
}
@@ -698,48 +698,6 @@ static int user_sdma_txadd_ahg(struct user_sdma_request *req,
return ret;
}
-static int user_sdma_txadd(struct user_sdma_request *req,
- struct user_sdma_txreq *tx,
- struct user_sdma_iovec *iovec, u32 datalen,
- u32 *queued_ptr, u32 *data_sent_ptr,
- u64 *iov_offset_ptr)
-{
- int ret;
- unsigned int pageidx, len;
- unsigned long base, offset;
- u64 iov_offset = *iov_offset_ptr;
- u32 queued = *queued_ptr, data_sent = *data_sent_ptr;
- struct hfi1_user_sdma_pkt_q *pq = req->pq;
-
- base = (unsigned long)iovec->iov.iov_base;
- offset = offset_in_page(base + iovec->offset + iov_offset);
- pageidx = (((iovec->offset + iov_offset + base) - (base & PAGE_MASK)) >>
- PAGE_SHIFT);
- len = offset + req->info.fragsize > PAGE_SIZE ?
- PAGE_SIZE - offset : req->info.fragsize;
- len = min((datalen - queued), len);
- ret = sdma_txadd_page(pq->dd, &tx->txreq, iovec->pages[pageidx],
- offset, len);
- if (ret) {
- SDMA_DBG(req, "SDMA txreq add page failed %d\n", ret);
- return ret;
- }
- iov_offset += len;
- queued += len;
- data_sent += len;
- if (unlikely(queued < datalen && pageidx == iovec->npages &&
- req->iov_idx < req->data_iovs - 1)) {
- iovec->offset += iov_offset;
- iovec = &req->iovs[++req->iov_idx];
- iov_offset = 0;
- }
-
- *queued_ptr = queued;
- *data_sent_ptr = data_sent;
- *iov_offset_ptr = iov_offset;
- return ret;
-}
-
static int user_sdma_send_pkts(struct user_sdma_request *req, u16 maxpkts)
{
int ret = 0;
@@ -771,8 +729,7 @@ static int user_sdma_send_pkts(struct user_sdma_request *req, u16 maxpkts)
maxpkts = req->info.npkts - req->seqnum;
while (npkts < maxpkts) {
- u32 datalen = 0, queued = 0, data_sent = 0;
- u64 iov_offset = 0;
+ u32 datalen = 0;
/*
* Check whether any of the completions have come back
@@ -865,27 +822,17 @@ static int user_sdma_send_pkts(struct user_sdma_request *req, u16 maxpkts)
goto free_txreq;
}
- /*
- * If the request contains any data vectors, add up to
- * fragsize bytes to the descriptor.
- */
- while (queued < datalen &&
- (req->sent + data_sent) < req->data_len) {
- ret = user_sdma_txadd(req, tx, iovec, datalen,
- &queued, &data_sent, &iov_offset);
- if (ret)
- goto free_txreq;
- }
- /*
- * The txreq was submitted successfully so we can update
- * the counters.
- */
req->koffset += datalen;
if (req_opcode(req->info.ctrl) == EXPECTED)
req->tidoffset += datalen;
- req->sent += data_sent;
- if (req->data_len)
- iovec->offset += iov_offset;
+ req->sent += datalen;
+ while (datalen) {
+ ret = add_system_pages_to_sdma_packet(req, tx, iovec,
+ &datalen);
+ if (ret)
+ goto free_txreq;
+ iovec = &req->iovs[req->iov_idx];
+ }
list_add_tail(&tx->txreq.list, &req->txps);
/*
* It is important to increment this here as it is used to
@@ -922,133 +869,14 @@ static int user_sdma_send_pkts(struct user_sdma_request *req, u16 maxpkts)
static u32 sdma_cache_evict(struct hfi1_user_sdma_pkt_q *pq, u32 npages)
{
struct evict_data evict_data;
+ struct mmu_rb_handler *handler = pq->handler;
evict_data.cleared = 0;
evict_data.target = npages;
- hfi1_mmu_rb_evict(pq->handler, &evict_data);
+ hfi1_mmu_rb_evict(handler, &evict_data);
return evict_data.cleared;
}
-static int pin_sdma_pages(struct user_sdma_request *req,
- struct user_sdma_iovec *iovec,
- struct sdma_mmu_node *node,
- int npages)
-{
- int pinned, cleared;
- struct page **pages;
- struct hfi1_user_sdma_pkt_q *pq = req->pq;
-
- pages = kcalloc(npages, sizeof(*pages), GFP_KERNEL);
- if (!pages)
- return -ENOMEM;
- memcpy(pages, node->pages, node->npages * sizeof(*pages));
-
- npages -= node->npages;
-retry:
- if (!hfi1_can_pin_pages(pq->dd, current->mm,
- atomic_read(&pq->n_locked), npages)) {
- cleared = sdma_cache_evict(pq, npages);
- if (cleared >= npages)
- goto retry;
- }
- pinned = hfi1_acquire_user_pages(current->mm,
- ((unsigned long)iovec->iov.iov_base +
- (node->npages * PAGE_SIZE)), npages, 0,
- pages + node->npages);
- if (pinned < 0) {
- kfree(pages);
- return pinned;
- }
- if (pinned != npages) {
- unpin_vector_pages(current->mm, pages, node->npages, pinned);
- return -EFAULT;
- }
- kfree(node->pages);
- node->rb.len = iovec->iov.iov_len;
- node->pages = pages;
- atomic_add(pinned, &pq->n_locked);
- return pinned;
-}
-
-static void unpin_sdma_pages(struct sdma_mmu_node *node)
-{
- if (node->npages) {
- unpin_vector_pages(mm_from_sdma_node(node), node->pages, 0,
- node->npages);
- atomic_sub(node->npages, &node->pq->n_locked);
- }
-}
-
-static int pin_vector_pages(struct user_sdma_request *req,
- struct user_sdma_iovec *iovec)
-{
- int ret = 0, pinned, npages;
- struct hfi1_user_sdma_pkt_q *pq = req->pq;
- struct sdma_mmu_node *node = NULL;
- struct mmu_rb_node *rb_node;
- struct iovec *iov;
- bool extracted;
-
- extracted =
- hfi1_mmu_rb_remove_unless_exact(pq->handler,
- (unsigned long)
- iovec->iov.iov_base,
- iovec->iov.iov_len, &rb_node);
- if (rb_node) {
- node = container_of(rb_node, struct sdma_mmu_node, rb);
- if (!extracted) {
- atomic_inc(&node->refcount);
- iovec->pages = node->pages;
- iovec->npages = node->npages;
- iovec->node = node;
- return 0;
- }
- }
-
- if (!node) {
- node = kzalloc(sizeof(*node), GFP_KERNEL);
- if (!node)
- return -ENOMEM;
-
- node->rb.addr = (unsigned long)iovec->iov.iov_base;
- node->pq = pq;
- atomic_set(&node->refcount, 0);
- }
-
- iov = &iovec->iov;
- npages = num_user_pages((unsigned long)iov->iov_base, iov->iov_len);
- if (node->npages < npages) {
- pinned = pin_sdma_pages(req, iovec, node, npages);
- if (pinned < 0) {
- ret = pinned;
- goto bail;
- }
- node->npages += pinned;
- npages = node->npages;
- }
- iovec->pages = node->pages;
- iovec->npages = npages;
- iovec->node = node;
-
- ret = hfi1_mmu_rb_insert(req->pq->handler, &node->rb);
- if (ret) {
- iovec->node = NULL;
- goto bail;
- }
- return 0;
-bail:
- unpin_sdma_pages(node);
- kfree(node);
- return ret;
-}
-
-static void unpin_vector_pages(struct mm_struct *mm, struct page **pages,
- unsigned start, unsigned npages)
-{
- hfi1_release_user_pages(mm, pages + start, npages, false);
- kfree(pages);
-}
-
static int check_header_template(struct user_sdma_request *req,
struct hfi1_pkt_header *hdr, u32 lrhlen,
u32 datalen)
@@ -1390,7 +1218,7 @@ static void user_sdma_txreq_cb(struct sdma_txreq *txreq, int status)
if (req->seqcomp != req->info.npkts - 1)
return;
- user_sdma_free_request(req, false);
+ user_sdma_free_request(req);
set_comp_state(pq, cq, req->info.comp_idx, state, status);
pq_update(pq);
}
@@ -1401,10 +1229,8 @@ static inline void pq_update(struct hfi1_user_sdma_pkt_q *pq)
wake_up(&pq->wait);
}
-static void user_sdma_free_request(struct user_sdma_request *req, bool unpin)
+static void user_sdma_free_request(struct user_sdma_request *req)
{
- int i;
-
if (!list_empty(&req->txps)) {
struct sdma_txreq *t, *p;
@@ -1417,21 +1243,6 @@ static void user_sdma_free_request(struct user_sdma_request *req, bool unpin)
}
}
- for (i = 0; i < req->data_iovs; i++) {
- struct sdma_mmu_node *node = req->iovs[i].node;
-
- if (!node)
- continue;
-
- req->iovs[i].node = NULL;
-
- if (unpin)
- hfi1_mmu_rb_remove(req->pq->handler,
- &node->rb);
- else
- atomic_dec(&node->refcount);
- }
-
kfree(req->tids);
clear_bit(req->info.comp_idx, req->pq->req_in_use);
}
@@ -1449,6 +1260,368 @@ static inline void set_comp_state(struct hfi1_user_sdma_pkt_q *pq,
idx, state, ret);
}
+static void unpin_vector_pages(struct mm_struct *mm, struct page **pages,
+ unsigned int start, unsigned int npages)
+{
+ hfi1_release_user_pages(mm, pages + start, npages, false);
+ kfree(pages);
+}
+
+static void free_system_node(struct sdma_mmu_node *node)
+{
+ if (node->npages) {
+ unpin_vector_pages(mm_from_sdma_node(node), node->pages, 0,
+ node->npages);
+ atomic_sub(node->npages, &node->pq->n_locked);
+ }
+ kfree(node);
+}
+
+static inline void acquire_node(struct sdma_mmu_node *node)
+{
+ atomic_inc(&node->refcount);
+ WARN_ON(atomic_read(&node->refcount) < 0);
+}
+
+static inline void release_node(struct mmu_rb_handler *handler,
+ struct sdma_mmu_node *node)
+{
+ atomic_dec(&node->refcount);
+ WARN_ON(atomic_read(&node->refcount) < 0);
+}
+
+static struct sdma_mmu_node *find_system_node(struct mmu_rb_handler *handler,
+ unsigned long start,
+ unsigned long end)
+{
+ struct mmu_rb_node *rb_node;
+ struct sdma_mmu_node *node;
+ unsigned long flags;
+
+ spin_lock_irqsave(&handler->lock, flags);
+ rb_node = hfi1_mmu_rb_get_first(handler, start, (end - start));
+ if (!rb_node) {
+ spin_unlock_irqrestore(&handler->lock, flags);
+ return NULL;
+ }
+ node = container_of(rb_node, struct sdma_mmu_node, rb);
+ acquire_node(node);
+ spin_unlock_irqrestore(&handler->lock, flags);
+
+ return node;
+}
+
+static int pin_system_pages(struct user_sdma_request *req,
+ uintptr_t start_address, size_t length,
+ struct sdma_mmu_node *node, int npages)
+{
+ struct hfi1_user_sdma_pkt_q *pq = req->pq;
+ int pinned, cleared;
+ struct page **pages;
+
+ pages = kcalloc(npages, sizeof(*pages), GFP_KERNEL);
+ if (!pages)
+ return -ENOMEM;
+
+retry:
+ if (!hfi1_can_pin_pages(pq->dd, current->mm, atomic_read(&pq->n_locked),
+ npages)) {
+ SDMA_DBG(req, "Evicting: nlocked %u npages %u",
+ atomic_read(&pq->n_locked), npages);
+ cleared = sdma_cache_evict(pq, npages);
+ if (cleared >= npages)
+ goto retry;
+ }
+
+ SDMA_DBG(req, "Acquire user pages start_address %lx node->npages %u npages %u",
+ start_address, node->npages, npages);
+ pinned = hfi1_acquire_user_pages(current->mm, start_address, npages, 0,
+ pages);
+
+ if (pinned < 0) {
+ kfree(pages);
+ SDMA_DBG(req, "pinned %d", pinned);
+ return pinned;
+ }
+ if (pinned != npages) {
+ unpin_vector_pages(current->mm, pages, node->npages, pinned);
+ SDMA_DBG(req, "npages %u pinned %d", npages, pinned);
+ return -EFAULT;
+ }
+ node->rb.addr = start_address;
+ node->rb.len = length;
+ node->pages = pages;
+ node->npages = npages;
+ atomic_add(pinned, &pq->n_locked);
+ SDMA_DBG(req, "done. pinned %d", pinned);
+ return 0;
+}
+
+static int add_system_pinning(struct user_sdma_request *req,
+ struct sdma_mmu_node **node_p,
+ unsigned long start, unsigned long len)
+
+{
+ struct hfi1_user_sdma_pkt_q *pq = req->pq;
+ struct sdma_mmu_node *node;
+ int ret;
+
+ node = kzalloc(sizeof(*node), GFP_KERNEL);
+ if (!node)
+ return -ENOMEM;
+
+ node->pq = pq;
+ ret = pin_system_pages(req, start, len, node, PFN_DOWN(len));
+ if (ret == 0) {
+ ret = hfi1_mmu_rb_insert(pq->handler, &node->rb);
+ if (ret)
+ free_system_node(node);
+ else
+ *node_p = node;
+
+ return ret;
+ }
+
+ kfree(node);
+ return ret;
+}
+
+static int get_system_cache_entry(struct user_sdma_request *req,
+ struct sdma_mmu_node **node_p,
+ size_t req_start, size_t req_len)
+{
+ struct hfi1_user_sdma_pkt_q *pq = req->pq;
+ u64 start = ALIGN_DOWN(req_start, PAGE_SIZE);
+ u64 end = PFN_ALIGN(req_start + req_len);
+ struct mmu_rb_handler *handler = pq->handler;
+ int ret;
+
+ if ((end - start) == 0) {
+ SDMA_DBG(req,
+ "Request for empty cache entry req_start %lx req_len %lx start %llx end %llx",
+ req_start, req_len, start, end);
+ return -EINVAL;
+ }
+
+ SDMA_DBG(req, "req_start %lx req_len %lu", req_start, req_len);
+
+ while (1) {
+ struct sdma_mmu_node *node =
+ find_system_node(handler, start, end);
+ u64 prepend_len = 0;
+
+ SDMA_DBG(req, "node %p start %llx end %llu", node, start, end);
+ if (!node) {
+ ret = add_system_pinning(req, node_p, start,
+ end - start);
+ if (ret == -EEXIST) {
+ /*
+ * Another execution context has inserted a
+ * conficting entry first.
+ */
+ continue;
+ }
+ return ret;
+ }
+
+ if (node->rb.addr <= start) {
+ /*
+ * This entry covers at least part of the region. If it doesn't extend
+ * to the end, then this will be called again for the next segment.
+ */
+ *node_p = node;
+ return 0;
+ }
+
+ SDMA_DBG(req, "prepend: node->rb.addr %lx, node->refcount %d",
+ node->rb.addr, atomic_read(&node->refcount));
+ prepend_len = node->rb.addr - start;
+
+ /*
+ * This node will not be returned, instead a new node
+ * will be. So release the reference.
+ */
+ release_node(handler, node);
+
+ /* Prepend a node to cover the beginning of the allocation */
+ ret = add_system_pinning(req, node_p, start, prepend_len);
+ if (ret == -EEXIST) {
+ /* Another execution context has inserted a conficting entry first. */
+ continue;
+ }
+ return ret;
+ }
+}
+
+static int add_mapping_to_sdma_packet(struct user_sdma_request *req,
+ struct user_sdma_txreq *tx,
+ struct sdma_mmu_node *cache_entry,
+ size_t start,
+ size_t from_this_cache_entry)
+{
+ struct hfi1_user_sdma_pkt_q *pq = req->pq;
+ unsigned int page_offset;
+ unsigned int from_this_page;
+ size_t page_index;
+ void *ctx;
+ int ret;
+
+ /*
+ * Because the cache may be more fragmented than the memory that is being accessed,
+ * it's not strictly necessary to have a descriptor per cache entry.
+ */
+
+ while (from_this_cache_entry) {
+ page_index = PFN_DOWN(start - cache_entry->rb.addr);
+
+ if (page_index >= cache_entry->npages) {
+ SDMA_DBG(req,
+ "Request for page_index %zu >= cache_entry->npages %u",
+ page_index, cache_entry->npages);
+ return -EINVAL;
+ }
+
+ page_offset = start - ALIGN_DOWN(start, PAGE_SIZE);
+ from_this_page = PAGE_SIZE - page_offset;
+
+ if (from_this_page < from_this_cache_entry) {
+ ctx = NULL;
+ } else {
+ /*
+ * In the case they are equal the next line has no practical effect,
+ * but it's better to do a register to register copy than a conditional
+ * branch.
+ */
+ from_this_page = from_this_cache_entry;
+ ctx = cache_entry;
+ }
+
+ ret = sdma_txadd_page(pq->dd, ctx, &tx->txreq,
+ cache_entry->pages[page_index],
+ page_offset, from_this_page);
+ if (ret) {
+ /*
+ * When there's a failure, the entire request is freed by
+ * user_sdma_send_pkts().
+ */
+ SDMA_DBG(req,
+ "sdma_txadd_page failed %d page_index %lu page_offset %u from_this_page %u",
+ ret, page_index, page_offset, from_this_page);
+ return ret;
+ }
+ start += from_this_page;
+ from_this_cache_entry -= from_this_page;
+ }
+ return 0;
+}
+
+static int add_system_iovec_to_sdma_packet(struct user_sdma_request *req,
+ struct user_sdma_txreq *tx,
+ struct user_sdma_iovec *iovec,
+ size_t from_this_iovec)
+{
+ struct mmu_rb_handler *handler = req->pq->handler;
+
+ while (from_this_iovec > 0) {
+ struct sdma_mmu_node *cache_entry;
+ size_t from_this_cache_entry;
+ size_t start;
+ int ret;
+
+ start = (uintptr_t)iovec->iov.iov_base + iovec->offset;
+ ret = get_system_cache_entry(req, &cache_entry, start,
+ from_this_iovec);
+ if (ret) {
+ SDMA_DBG(req, "pin system segment failed %d", ret);
+ return ret;
+ }
+
+ from_this_cache_entry = cache_entry->rb.len - (start - cache_entry->rb.addr);
+ if (from_this_cache_entry > from_this_iovec)
+ from_this_cache_entry = from_this_iovec;
+
+ ret = add_mapping_to_sdma_packet(req, tx, cache_entry, start,
+ from_this_cache_entry);
+ if (ret) {
+ /*
+ * We're guaranteed that there will be no descriptor
+ * completion callback that releases this node
+ * because only the last descriptor referencing it
+ * has a context attached, and a failure means the
+ * last descriptor was never added.
+ */
+ release_node(handler, cache_entry);
+ SDMA_DBG(req, "add system segment failed %d", ret);
+ return ret;
+ }
+
+ iovec->offset += from_this_cache_entry;
+ from_this_iovec -= from_this_cache_entry;
+ }
+
+ return 0;
+}
+
+static int add_system_pages_to_sdma_packet(struct user_sdma_request *req,
+ struct user_sdma_txreq *tx,
+ struct user_sdma_iovec *iovec,
+ u32 *pkt_data_remaining)
+{
+ size_t remaining_to_add = *pkt_data_remaining;
+ /*
+ * Walk through iovec entries, ensure the associated pages
+ * are pinned and mapped, add data to the packet until no more
+ * data remains to be added.
+ */
+ while (remaining_to_add > 0) {
+ struct user_sdma_iovec *cur_iovec;
+ size_t from_this_iovec;
+ int ret;
+
+ cur_iovec = iovec;
+ from_this_iovec = iovec->iov.iov_len - iovec->offset;
+
+ if (from_this_iovec > remaining_to_add) {
+ from_this_iovec = remaining_to_add;
+ } else {
+ /* The current iovec entry will be consumed by this pass. */
+ req->iov_idx++;
+ iovec++;
+ }
+
+ ret = add_system_iovec_to_sdma_packet(req, tx, cur_iovec,
+ from_this_iovec);
+ if (ret)
+ return ret;
+
+ remaining_to_add -= from_this_iovec;
+ }
+ *pkt_data_remaining = remaining_to_add;
+
+ return 0;
+}
+
+void system_descriptor_complete(struct hfi1_devdata *dd,
+ struct sdma_desc *descp)
+{
+ switch (sdma_mapping_type(descp)) {
+ case SDMA_MAP_SINGLE:
+ dma_unmap_single(&dd->pcidev->dev, sdma_mapping_addr(descp),
+ sdma_mapping_len(descp), DMA_TO_DEVICE);
+ break;
+ case SDMA_MAP_PAGE:
+ dma_unmap_page(&dd->pcidev->dev, sdma_mapping_addr(descp),
+ sdma_mapping_len(descp), DMA_TO_DEVICE);
+ break;
+ }
+
+ if (descp->pinning_ctx) {
+ struct sdma_mmu_node *node = descp->pinning_ctx;
+
+ release_node(node->rb.handler, node);
+ }
+}
+
static bool sdma_rb_filter(struct mmu_rb_node *node, unsigned long addr,
unsigned long len)
{
@@ -1495,8 +1668,7 @@ static void sdma_rb_remove(void *arg, struct mmu_rb_node *mnode)
struct sdma_mmu_node *node =
container_of(mnode, struct sdma_mmu_node, rb);
- unpin_sdma_pages(node);
- kfree(node);
+ free_system_node(node);
}
static int sdma_rb_invalidate(void *arg, struct mmu_rb_node *mnode)
diff --git a/drivers/infiniband/hw/hfi1/user_sdma.h b/drivers/infiniband/hw/hfi1/user_sdma.h
index ea56eb57e6568..a241836371dc1 100644
--- a/drivers/infiniband/hw/hfi1/user_sdma.h
+++ b/drivers/infiniband/hw/hfi1/user_sdma.h
@@ -112,16 +112,11 @@ struct sdma_mmu_node {
struct user_sdma_iovec {
struct list_head list;
struct iovec iov;
- /* number of pages in this vector */
- unsigned int npages;
- /* array of pinned pages for this vector */
- struct page **pages;
/*
* offset into the virtual address space of the vector at
* which we last left off.
*/
u64 offset;
- struct sdma_mmu_node *node;
};
/* evict operation argument */
diff --git a/drivers/infiniband/hw/hfi1/verbs.c b/drivers/infiniband/hw/hfi1/verbs.c
index ef8e0bdacb516..dcc167dcfc61b 100644
--- a/drivers/infiniband/hw/hfi1/verbs.c
+++ b/drivers/infiniband/hw/hfi1/verbs.c
@@ -778,8 +778,8 @@ static int build_verbs_tx_desc(
/* add icrc, lt byte, and padding to flit */
if (extra_bytes)
- ret = sdma_txadd_daddr(sde->dd, &tx->txreq,
- sde->dd->sdma_pad_phys, extra_bytes);
+ ret = sdma_txadd_daddr(sde->dd, &tx->txreq, sde->dd->sdma_pad_phys,
+ extra_bytes);
bail_txadd:
return ret;
diff --git a/drivers/infiniband/hw/hfi1/vnic_sdma.c b/drivers/infiniband/hw/hfi1/vnic_sdma.c
index c3f0f8d877c37..727eedfba332a 100644
--- a/drivers/infiniband/hw/hfi1/vnic_sdma.c
+++ b/drivers/infiniband/hw/hfi1/vnic_sdma.c
@@ -64,6 +64,7 @@ static noinline int build_vnic_ulp_payload(struct sdma_engine *sde,
/* combine physically continuous fragments later? */
ret = sdma_txadd_page(sde->dd,
+ NULL,
&tx->txreq,
skb_frag_page(frag),
skb_frag_off(frag),
--
2.39.2
next prev parent reply other threads:[~2023-05-08 11:44 UTC|newest]
Thread overview: 385+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-05-08 9:43 [PATCH 5.15 000/371] 5.15.111-rc1 review Greg Kroah-Hartman
2023-05-08 9:43 ` [PATCH 5.15 001/371] ASOC: Intel: sof_sdw: add quirk for Intel Rooks County NUC M15 Greg Kroah-Hartman
2023-05-08 9:43 ` [PATCH 5.15 002/371] ASoC: soc-pcm: fix hw->formats cleared by soc_pcm_hw_init() for dpcm Greg Kroah-Hartman
2023-05-08 9:43 ` [PATCH 5.15 003/371] x86/hyperv: Block root partition functionality in a Confidential VM Greg Kroah-Hartman
2023-05-08 9:43 ` [PATCH 5.15 004/371] iio: adc: palmas_gpadc: fix NULL dereference on rmmod Greg Kroah-Hartman
2023-05-08 9:43 ` [PATCH 5.15 005/371] ASoC: Intel: bytcr_rt5640: Add quirk for the Acer Iconia One 7 B1-750 Greg Kroah-Hartman
2023-05-08 9:43 ` [PATCH 5.15 006/371] selftests mount: Fix mount_setattr_test builds failed Greg Kroah-Hartman
2023-05-08 9:43 ` [PATCH 5.15 007/371] asm-generic/io.h: suppress endianness warnings for readq() and writeq() Greg Kroah-Hartman
2023-05-08 9:43 ` [PATCH 5.15 008/371] x86/cpu: Add model number for Intel Arrow Lake processor Greg Kroah-Hartman
2023-05-08 9:43 ` [PATCH 5.15 009/371] wireguard: timers: cast enum limits members to int in prints Greg Kroah-Hartman
2023-05-08 9:43 ` [PATCH 5.15 010/371] wifi: mt76: mt7921e: Set memory space enable in PCI_COMMAND if unset Greg Kroah-Hartman
2023-05-08 9:43 ` [PATCH 5.15 011/371] arm64: Always load shadow stack pointer directly from the task struct Greg Kroah-Hartman
2023-05-08 9:43 ` [PATCH 5.15 012/371] arm64: Stash shadow stack pointer in the task struct on interrupt Greg Kroah-Hartman
2023-05-08 9:43 ` [PATCH 5.15 013/371] PCI: pciehp: Fix AB-BA deadlock between reset_lock and device_lock Greg Kroah-Hartman
2023-05-08 9:43 ` [PATCH 5.15 014/371] PCI: qcom: Fix the incorrect register usage in v2.7.0 config Greg Kroah-Hartman
2023-05-08 9:43 ` [PATCH 5.15 015/371] IMA: allow/fix UML builds Greg Kroah-Hartman
2023-05-08 9:43 ` [PATCH 5.15 016/371] USB: dwc3: fix runtime pm imbalance on probe errors Greg Kroah-Hartman
2023-05-08 9:43 ` [PATCH 5.15 017/371] USB: dwc3: fix runtime pm imbalance on unbind Greg Kroah-Hartman
2023-05-08 9:43 ` [PATCH 5.15 018/371] hwmon: (k10temp) Check range scale when CUR_TEMP register is read-write Greg Kroah-Hartman
2023-05-08 9:43 ` [PATCH 5.15 019/371] hwmon: (adt7475) Use device_property APIs when configuring polarity Greg Kroah-Hartman
2023-05-08 9:43 ` [PATCH 5.15 020/371] posix-cpu-timers: Implement the missing timer_wait_running callback Greg Kroah-Hartman
2023-05-08 9:43 ` [PATCH 5.15 021/371] blk-mq: release crypto keyslot before reporting I/O complete Greg Kroah-Hartman
2023-05-08 9:43 ` [PATCH 5.15 022/371] blk-crypto: make blk_crypto_evict_key() return void Greg Kroah-Hartman
2023-05-08 9:43 ` [PATCH 5.15 023/371] blk-crypto: make blk_crypto_evict_key() more robust Greg Kroah-Hartman
2023-05-08 9:43 ` [PATCH 5.15 024/371] ext4: use ext4_journal_start/stop for fast commit transactions Greg Kroah-Hartman
2023-05-08 9:43 ` [PATCH 5.15 025/371] staging: iio: resolver: ads1210: fix config mode Greg Kroah-Hartman
2023-05-08 9:43 ` [PATCH 5.15 026/371] tty: Prevent writing chars during tcsetattr TCSADRAIN/FLUSH Greg Kroah-Hartman
2023-05-08 9:43 ` [PATCH 5.15 027/371] xhci: fix debugfs register accesses while suspended Greg Kroah-Hartman
2023-05-08 9:43 ` [PATCH 5.15 028/371] tick/nohz: Fix cpu_is_hotpluggable() by checking with nohz subsystem Greg Kroah-Hartman
2023-05-08 9:43 ` [PATCH 5.15 029/371] MIPS: fw: Allow firmware to pass a empty env Greg Kroah-Hartman
2023-05-08 9:43 ` [PATCH 5.15 030/371] ipmi:ssif: Add send_retries increment Greg Kroah-Hartman
2023-05-08 9:43 ` [PATCH 5.15 031/371] ipmi: fix SSIF not responding under certain cond Greg Kroah-Hartman
2023-05-08 9:43 ` [PATCH 5.15 032/371] kheaders: Use array declaration instead of char Greg Kroah-Hartman
2023-05-08 9:43 ` [PATCH 5.15 033/371] wifi: mt76: add missing locking to protect against concurrent rx/status calls Greg Kroah-Hartman
2023-05-08 9:43 ` [PATCH 5.15 034/371] pwm: meson: Fix axg ao mux parents Greg Kroah-Hartman
2023-05-08 9:43 ` [PATCH 5.15 035/371] pwm: meson: Fix g12a ao clk81 name Greg Kroah-Hartman
2023-05-08 9:43 ` [PATCH 5.15 036/371] soundwire: qcom: correct setting ignore bit on v1.5.1 Greg Kroah-Hartman
2023-05-08 9:43 ` [PATCH 5.15 037/371] pinctrl: qcom: lpass-lpi: set output value before enabling output Greg Kroah-Hartman
2023-05-08 9:43 ` [PATCH 5.15 038/371] ring-buffer: Sync IRQ works before buffer destruction Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 039/371] crypto: api - Demote BUG_ON() in crypto_unregister_alg() to a WARN_ON() Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 040/371] crypto: safexcel - Cleanup ring IRQ workqueues on load failure Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 041/371] rcu: Avoid stack overflow due to __rcu_irq_enter_check_tick() being kprobe-ed Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 042/371] reiserfs: Add security prefix to xattr name in reiserfs_security_write() Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 043/371] KVM: nVMX: Emulate NOPs in L2, and PAUSE if its not intercepted Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 044/371] relayfs: fix out-of-bounds access in relay_file_read Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 045/371] writeback, cgroup: fix null-ptr-deref write in bdi_split_work_to_wbs Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 046/371] ksmbd: call rcu_barrier() in ksmbd_server_exit() Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 047/371] ksmbd: fix NULL pointer dereference in smb2_get_info_filesystem() Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 048/371] ksmbd: fix memleak in session setup Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 049/371] i2c: omap: Fix standard mode false ACK readings Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 050/371] riscv: mm: remove redundant parameter of create_fdt_early_page_table Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 051/371] tracing: Fix permissions for the buffer_percent file Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 052/371] iommu/amd: Fix "Guest Virtual APIC Table Root Pointer" configuration in IRTE Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 053/371] Revert "ubifs: dirty_cow_znode: Fix memleak in error handling path" Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 054/371] ubifs: Fix memleak when insert_old_idx() failed Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 055/371] ubi: Fix return value overwrite issue in try_write_vid_and_data() Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 056/371] ubifs: Free memory for tmpfile name Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 057/371] xfs: dont consider future format versions valid Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 058/371] sound/oss/dmasound: fix build when drivers are mixed =y/=m Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 059/371] rcu: Fix missing TICK_DEP_MASK_RCU_EXP dependency check Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 060/371] selftests/resctrl: Return NULL if malloc_and_init_memory() did not alloc mem Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 061/371] selftests/resctrl: Extend CPU vendor detection Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 062/371] selftests/resctrl: Move ->setup() call outside of test specific branches Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 063/371] selftests/resctrl: Allow ->setup() to return errors Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 064/371] selftests/resctrl: Check for return value after write_schemata() Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 065/371] selinux: fix Makefile dependencies of flask.h Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 066/371] selinux: ensure av_permissions.h is built when needed Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 067/371] tpm, tpm_tis: Do not skip reset of original interrupt vector Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 068/371] tpm, tpm_tis: Claim locality before writing TPM_INT_ENABLE register Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 069/371] tpm, tpm_tis: Disable interrupts if tpm_tis_probe_irq() failed Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 070/371] tpm, tpm_tis: Claim locality before writing interrupt registers Greg Kroah-Hartman
2023-05-15 15:37 ` Felix Riemann
2023-05-24 1:07 ` Jarkko Sakkinen
2023-06-09 9:07 ` Greg KH
2023-06-09 15:42 ` Lino Sanfilippo
2023-06-12 8:50 ` Felix Riemann
2023-06-21 18:45 ` Greg KH
2023-07-14 17:15 ` Lino Sanfilippo
2023-07-16 15:18 ` Greg KH
2023-07-16 15:36 ` Lino Sanfilippo
2023-05-08 9:44 ` [PATCH 5.15 071/371] tpm, tpm: Implement usage counter for locality Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 072/371] tpm, tpm_tis: Claim locality when interrupts are reenabled on resume Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 073/371] erofs: stop parsing non-compact HEAD index if clusterofs is invalid Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 074/371] erofs: fix potential overflow calculating xattr_isize Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 075/371] drm/rockchip: Drop unbalanced obj unref Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 076/371] drm/vgem: add missing mutex_destroy Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 077/371] drm/probe-helper: Cancel previous job before starting new one Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 078/371] tools/x86/kcpuid: Fix avx512bw and avx512lvl fields in Fn00000007 Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 079/371] soc: ti: pm33xx: Fix refcount leak in am33xx_pm_probe Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 080/371] arm64: dts: renesas: r8a77990: Remove bogus voltages from OPP table Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 081/371] arm64: dts: renesas: r8a774c0: " Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 082/371] drm/msm/disp/dpu: check for crtc enable rather than crtc active to release shared resources Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 083/371] EDAC/skx: Fix overflows on the DRAM row address mapping arrays Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 084/371] regulator: core: Shorten off-on-delay-us for always-on/boot-on by time since booted Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 085/371] arm64: dts: ti: k3-j721e-main: Remove ti,strobe-sel property Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 086/371] arm64: dts: broadcom: bcm4908: add DT for Netgear RAXE500 Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 087/371] arm64: dts: Add DTS files for bcmbca SoC BCM63158 Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 088/371] arm64: dts: Add DTS files for bcmbca SoC BCM4912 Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 089/371] ARM64: dts: Add DTS files for bcmbca SoC BCM6858 Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 090/371] arm64: dts: Add base DTS file for bcmbca device Asus GT-AX6000 Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 091/371] arm64: dts: Move BCM4908 dts to bcmbca folder Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 092/371] arm64: dts: broadcom: bcmbca: bcm4908: fix NAND interrupt name Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 093/371] arm64: dts: broadcom: bcmbca: bcm4908: fix procmon nodename Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 094/371] arm64: dts: qcom: msm8998: Fix stm-stimulus-base reg name Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 095/371] arm64: dts: qcom: sdm845: correct dynamic power coefficients Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 096/371] arm64: dts: qcom: sdm845: Fix the PCI I/O port range Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 097/371] arm64: dts: qcom: msm8998: " Greg Kroah-Hartman
2023-05-08 9:44 ` [PATCH 5.15 098/371] arm64: dts: qcom: ipq8074: " Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 099/371] arm64: dts: qcom: ipq6018: " Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 100/371] arm64: dts: qcom: msm8996: " Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 101/371] arm64: dts: qcom: sm8250: " Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 102/371] ARM: dts: qcom: ipq4019: " Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 103/371] ARM: dts: qcom: ipq8064: reduce pci IO size to 64K Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 104/371] ARM: dts: qcom: ipq8064: Fix the PCI I/O port range Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 105/371] x86/MCE/AMD: Use an u64 for bank_map Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 106/371] media: bdisp: Add missing check for create_workqueue Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 107/371] media: av7110: prevent underflow in write_ts_to_decoder() Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 108/371] firmware: qcom_scm: Clear download bit during reboot Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 109/371] drm/bridge: adv7533: Fix adv7533_mode_valid for adv7533 and adv7535 Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 110/371] media: max9286: Free control handler Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 111/371] drm/msm/adreno: Defer enabling runpm until hw_init() Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 112/371] drm/msm/adreno: drop bogus pm_runtime_set_active() Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 113/371] drm: msm: adreno: Disable preemption on Adreno 510 Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 114/371] drm/amd/display/dc/dce60/Makefile: Fix previous attempt to silence known override-init warnings Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 115/371] ACPI: processor: Fix evaluating _PDC method when running as Xen dom0 Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 116/371] mmc: sdhci-of-esdhc: fix quirk to ignore command inhibit for data Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 117/371] drm: rcar-du: Fix a NULL vs IS_ERR() bug Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 118/371] ARM: dts: gta04: fix excess dma channel usage Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 119/371] firmware: arm_scmi: Fix xfers allocation on Rx channel Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 120/371] ACPI: VIOT: Initialize the correct IOMMU fwspec Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 121/371] drm/lima/lima_drv: Add missing unwind goto in lima_pdev_probe() Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 122/371] mailbox: mpfs: switch to txdone_poll Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 123/371] arm64: dts: qcom: sc7180-trogdor-lazor: correct trackpad supply Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 124/371] arm64: dts: qcom: msm8994-kitakami: drop unit address from PMI8994 regulator Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 125/371] arm64: dts: qcom: msm8994-msft-lumia-octagon: " Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 126/371] drm/ttm: optimize pool allocations a bit v2 Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 127/371] drm/ttm/pool: Fix ttm_pool_alloc error path Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 128/371] regulator: core: Consistently set mutex_owner when using ww_mutex_lock_slow() Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 129/371] regulator: core: Avoid lockdep reports when resolving supplies Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 130/371] x86/apic: Fix atomic update of offset in reserve_eilvt_offset() Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 131/371] media: rkvdec: fix use after free bug in rkvdec_remove Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 132/371] media: dm1105: Fix use after free bug in dm1105_remove due to race condition Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 133/371] media: saa7134: fix use after free bug in saa7134_finidev " Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 134/371] media: rcar_fdp1: Make use of the helper function devm_platform_ioremap_resource() Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 135/371] media: rcar_fdp1: Fix the correct variable assignments Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 136/371] platform: Provide a remove callback that returns no value Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 137/371] media: rcar_fdp1: Convert to platform remove callback returning void Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 138/371] media: rcar_fdp1: Fix refcount leak in probe and remove function Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 139/371] drm/amd/display: Fix potential null dereference Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 140/371] media: rc: gpio-ir-recv: Fix support for wake-up Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 141/371] media: venus: dec: Fix handling of the start cmd Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 142/371] regulator: stm32-pwr: fix of_iomap leak Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 143/371] x86/ioapic: Dont return 0 from arch_dynirq_lower_bound() Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 144/371] arm64: kgdb: Set PSTATE.SS to 1 to re-enable single-step Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 145/371] debugobject: Prevent init race with static objects Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 146/371] drm/i915: Make intel_get_crtc_new_encoder() less oopsy Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 147/371] tick/common: Align tick period with the HZ tick Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 148/371] cpufreq: use correct unit when verify cur freq Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 149/371] hwmon: (pmbus/fsp-3y) Fix functionality bitmask in FSP-3Y YM-2151E Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 150/371] wifi: ath6kl: minor fix for allocation size Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 151/371] wifi: ath9k: hif_usb: fix memory leak of remain_skbs Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 152/371] wifi: ath5k: fix an off by one check in ath5k_eeprom_read_freq_list() Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 153/371] wifi: brcmfmac: support CQM RSSI notification with older firmware Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 154/371] wifi: ath6kl: reduce WARN to dev_dbg() in callback Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 155/371] tools: bpftool: Remove invalid \ json escape Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 156/371] wifi: rtw88: mac: Return the original error from rtw_pwr_seq_parser() Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 157/371] wifi: rtw88: mac: Return the original error from rtw_mac_power_switch() Greg Kroah-Hartman
2023-05-08 9:45 ` [PATCH 5.15 158/371] bpf: take into account liveness when propagating precision Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 159/371] bpf: fix precision propagation verbose logging Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 160/371] scm: fix MSG_CTRUNC setting condition for SO_PASSSEC Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 161/371] selftests/bpf: Fix a fd leak in an error path in network_helpers.c Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 162/371] bpf: Remove misleading spec_v1 check on var-offset stack read Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 163/371] net: pcs: xpcs: remove double-read of link state when using AN Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 164/371] vlan: partially enable SIOCSHWTSTAMP in container Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 165/371] net/packet: annotate accesses to po->xmit Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 166/371] net/packet: convert po->origdev to an atomic flag Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 167/371] net/packet: convert po->auxdata " Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 168/371] scsi: target: Fix multiple LUN_RESET handling Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 169/371] scsi: target: iscsit: Fix TAS handling during conn cleanup Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 170/371] scsi: megaraid: Fix mega_cmd_done() CMDID_INT_CMDS Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 171/371] f2fs: handle dqget error in f2fs_transfer_project_quota() Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 172/371] f2fs: enforce single zone capacity Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 173/371] f2fs: apply zone capacity to all zone type Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 174/371] f2fs: compress: fix to call f2fs_wait_on_page_writeback() in f2fs_write_raw_pages() Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 175/371] crypto: caam - Clear some memory in instantiate_rng Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 176/371] crypto: sa2ul - Select CRYPTO_DES Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 177/371] wifi: rtlwifi: fix incorrect error codes in rtl_debugfs_set_write_rfreg() Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 178/371] wifi: rtlwifi: fix incorrect error codes in rtl_debugfs_set_write_reg() Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 179/371] wifi: rt2x00: Fix memory leak when handling surveys Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 180/371] net: qrtr: correct types of trace event parameters Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 181/371] selftests: xsk: Disable IPv6 on VETH1 Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 182/371] selftests/bpf: Wait for receive in cg_storage_multi test Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 183/371] bpftool: Fix bug for long instructions in program CFG dumps Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 184/371] crypto: drbg - make drbg_prepare_hrng() handle jent instantiation errors Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 185/371] crypto: drbg - Only fail when jent is unavailable in FIPS mode Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 186/371] xsk: Fix unaligned descriptor validation Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 187/371] f2fs: fix to avoid use-after-free for cached IPU bio Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 188/371] scsi: lpfc: Fix ioremap issues in lpfc_sli4_pci_mem_setup() Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 189/371] net: ethernet: stmmac: dwmac-rk: fix optional phy regulator handling Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 190/371] bpf, sockmap: fix deadlocks in the sockhash and sockmap Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 191/371] nvmet: use i_size_read() to set size for file-ns Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 192/371] nvmet: move the call to nvmet_ns_changed out of nvmet_ns_revalidate Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 193/371] nvmet: fix error handling in nvmet_execute_identify_cns_cs_ns() Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 194/371] nvmet: fix Identify Namespace handling Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 195/371] nvmet: fix Identify Controller handling Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 196/371] nvmet: fix Identify Active Namespace ID list handling Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 197/371] nvmet: fix I/O Command Set specific Identify Controller Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 198/371] nvme: handle the persistent internal error AER Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 199/371] nvme: fix async event trace event Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 200/371] nvme-fcloop: fix "inconsistent {IN-HARDIRQ-W} -> {HARDIRQ-ON-W} usage" Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 201/371] selftests/bpf: Fix leaked bpf_link in get_stackid_cannot_attach Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 202/371] bpf, sockmap: Revert buggy deadlock fix in the sockhash and sockmap Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 203/371] md: drop queue limitation for RAID1 and RAID10 Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 204/371] md: raid10 add nowait support Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 205/371] md/raid10: factor out code from wait_barrier() to stop_waiting_barrier() Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 206/371] md/raid10: fix task hung in raid10d Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 207/371] md/raid10: fix leak of r10bio->remaining for recovery Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 208/371] md/raid10: fix memleak for conf->bio_split Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 209/371] md/raid10: fix memleak of md thread Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 210/371] md/raid10: dont call bio_start_io_acct twice for bio which experienced read error Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 211/371] wifi: iwlwifi: yoyo: skip dump correctly on hw error Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 212/371] wifi: iwlwifi: yoyo: Fix possible division by zero Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 213/371] wifi: iwlwifi: mvm: initialize seq variable Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 214/371] wifi: iwlwifi: fw: move memset before early return Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 215/371] jdb2: Dont refuse invalidation of already invalidated buffers Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 216/371] wifi: iwlwifi: make the loop for card preparation effective Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 217/371] wifi: mt76: handle failure of vzalloc in mt7615_coredump_work Greg Kroah-Hartman
2023-05-08 9:46 ` [PATCH 5.15 218/371] wifi: mt76: add flexible polling wait-interval support Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 219/371] wifi: mt76: mt7921e: fix probe timeout after reboot Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 220/371] wifi: mt76: fix 6GHz high channel not be scanned Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 221/371] wifi: mt76: mt7921e: improve reliability of dma reset Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 222/371] wifi: iwlwifi: mvm: check firmware response size Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 223/371] wifi: iwlwifi: fw: fix memory leak in debugfs Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 224/371] ixgbe: Allow flow hash to be set via ethtool Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 225/371] ixgbe: Enable setting RSS table to default values Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 226/371] net/mlx5: E-switch, Dont destroy indirect table in split rule Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 227/371] net: stmmac:fix system hang when setting up tag_8021q VLAN for DSA ports Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 228/371] bpf: Dont EFAULT for getsockopt with optval=NULL Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 229/371] netfilter: nf_tables: dont write table validation state without mutex Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 230/371] net/sched: sch_fq: fix integer overflow of "credit" Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 231/371] ipv4: Fix potential uninit variable access bug in __ip_make_skb() Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 232/371] Revert "Bluetooth: btsdio: fix use after free bug in btsdio_remove due to unfinished work" Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 233/371] netlink: Use copy_to_user() for optval in netlink_getsockopt() Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 234/371] net: amd: Fix link leak when verifying config failed Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 235/371] tcp/udp: Fix memleaks of sk and zerocopy skbs with TX timestamp Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 236/371] ipmi: ASPEED_BT_IPMI_BMC: select REGMAP_MMIO instead of depending on it Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 237/371] drivers: staging: rtl8723bs: Fix locking in _rtw_join_timeout_handler() Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 238/371] drivers: staging: rtl8723bs: Fix locking in rtw_scan_timeout_handler() Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 239/371] pstore: Revert pmsg_lock back to a normal mutex Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 240/371] usb: host: xhci-rcar: remove leftover quirk handling Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 241/371] usb: dwc3: gadget: Change condition for processing suspend event Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 242/371] serial: stm32: re-introduce an irq flag condition in usart_receive_chars Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 243/371] serial: stm32: Re-assert RTS/DE GPIO in RS485 mode only if more data are transmitted Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 244/371] fpga: bridge: fix kernel-doc parameter description Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 245/371] iio: light: max44009: add missing OF device matching Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 246/371] serial: 8250_bcm7271: Fix arbitration handling Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 247/371] spi: spi-imx: using pm_runtime_resume_and_get instead of pm_runtime_get_sync Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 248/371] spi: imx: Dont skip cleanup in removes error path Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 249/371] usb: gadget: udc: renesas_usb3: Fix use after free bug in renesas_usb3_remove due to race condition Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 250/371] PCI: imx6: Install the fault handler only on compatible match Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 251/371] ASoC: es8316: Handle optional IRQ assignment Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 252/371] linux/vt_buffer.h: allow either builtin or modular for macros Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 253/371] spi: qup: Dont skip cleanup in removes error path Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 254/371] spi: fsl-spi: Fix CPM/QE mode Litte Endian Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 255/371] vmci_host: fix a race condition in vmci_host_poll() causing GPF Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 256/371] of: Fix modalias string generation Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 257/371] PCI/EDR: Clear Device Status after EDR error recovery Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 258/371] ia64: mm/contig: fix section mismatch warning/error Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 259/371] ia64: salinfo: placate defined-but-not-used warning Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 260/371] scripts/gdb: bail early if there are no clocks Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 261/371] scripts/gdb: bail early if there are no generic PD Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 262/371] HID: amd_sfh: Add support for shutdown operation Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 263/371] coresight: etm_pmu: Set the module field Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 264/371] ASoC: fsl_mqs: move of_node_put() to the correct location Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 265/371] spi: cadence-quadspi: fix suspend-resume implementations Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 266/371] i2c: cadence: cdns_i2c_master_xfer(): Fix runtime PM leak on error path Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 267/371] scripts/gdb: raise error with reduced debugging information Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 268/371] uapi/linux/const.h: prefer ISO-friendly __typeof__ Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 269/371] sh: sq: Fix incorrect element size for allocating bitmap buffer Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 270/371] usb: gadget: tegra-xudc: Fix crash in vbus_draw Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 271/371] usb: chipidea: fix missing goto in `ci_hdrc_probe` Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 272/371] usb: mtu3: fix kernel panic at qmu transfer done irq handler Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 273/371] firmware: stratix10-svc: Fix an NULL vs IS_ERR() bug in probe Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 274/371] tty: serial: fsl_lpuart: adjust buffer length to the intended size Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 275/371] serial: 8250: Add missing wakeup event reporting Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 276/371] staging: rtl8192e: Fix W_DISABLE# does not work after stop/start Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 277/371] spmi: Add a check for remove callback when removing a SPMI driver Greg Kroah-Hartman
2023-05-08 9:47 ` [PATCH 5.15 278/371] virtio_ring: dont update event idx on get_buf Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 279/371] spi: bcm63xx: remove PM_SLEEP based conditional compilation Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 280/371] macintosh/windfarm_smu_sat: Add missing of_node_put() Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 281/371] powerpc/mpc512x: fix resource printk format warning Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 282/371] powerpc/wii: fix resource printk format warnings Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 283/371] powerpc/sysdev/tsi108: " Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 284/371] macintosh: via-pmu-led: requires ATA to be set Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 285/371] powerpc/rtas: use memmove for potentially overlapping buffer copy Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 286/371] sched/fair: Use __schedstat_set() in set_next_entity() Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 287/371] sched: Make struct sched_statistics independent of fair sched class Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 288/371] sched/fair: Fix inaccurate tally of ttwu_move_affine Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 289/371] perf/core: Fix hardlockup failure caused by perf throttle Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 290/371] Revert "objtool: Support addition to set CFA base" Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 291/371] sched/rt: Fix bad task migration for rt tasks Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 292/371] clk: at91: clk-sam9x60-pll: fix return value check Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 293/371] RDMA/siw: Fix potential page_array out of range access Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 294/371] RDMA/rdmavt: Delete unnecessary NULL check Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 295/371] workqueue: Introduce show_one_worker_pool and show_one_workqueue Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 296/371] workqueue: Fix hung time report of worker pools Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 297/371] rtc: omap: include header for omap_rtc_power_off_program prototype Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 298/371] RDMA/mlx4: Prevent shift wrapping in set_user_sq_size() Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 299/371] rtc: meson-vrtc: Use ktime_get_real_ts64() to get the current time Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 300/371] fs/ntfs3: Fix memory leak if ntfs_read_mft failed Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 301/371] fs/ntfs3: Add check for kmemdup Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 302/371] fs/ntfs3: Fix null-ptr-deref on inode->i_op in ntfs_lookup() Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 303/371] fs/ntfs3: Fix OOB read in indx_insert_into_buffer Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 304/371] fs/ntfs3: Fix slab-out-of-bounds read in hdr_delete_de() Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 305/371] power: supply: generic-adc-battery: fix unit scaling Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 306/371] clk: add missing of_node_put() in "assigned-clocks" property parsing Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 307/371] RDMA/siw: Remove namespace check from siw_netdev_event() Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 308/371] clk: qcom: gcc-sm6115: Mark RCGs shared where applicable Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 309/371] RDMA/cm: Trace icm_send_rej event before the cm state is reset Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 310/371] RDMA/srpt: Add a check for valid mad_agent pointer Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 311/371] IB/hfi1: Fix SDMA mmu_rb_node not being evicted in LRU order Greg Kroah-Hartman
2023-05-08 9:48 ` Greg Kroah-Hartman [this message]
2023-05-08 9:48 ` [PATCH 5.15 313/371] NFSv4.1: Always send a RECLAIM_COMPLETE after establishing lease Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 314/371] clk: qcom: regmap: add PHY clock source implementation Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 315/371] clk: qcom: gcc-sm8350: fix PCIe PIPE clocks handling Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 316/371] Input: raspberrypi-ts - fix refcount leak in rpi_ts_probe Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 317/371] RDMA/mlx5: Fix flow counter query via DEVX Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 318/371] SUNRPC: remove the maximum number of retries in call_bind_status Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 319/371] RDMA/mlx5: Use correct device num_ports when modify DC Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 320/371] clocksource/drivers/davinci: Fix memory leak in davinci_timer_register when init fails Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 321/371] openrisc: Properly store r31 to pt_regs on unhandled exceptions Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 322/371] timekeeping: Fix references to nonexistent ktime_get_fast_ns() Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 323/371] SMB3: Add missing locks to protect deferred close file list Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 324/371] SMB3: Close deferred file handles in case of handle lease break Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 325/371] ext4: fix i_disksize exceeding i_size problem in paritally written case Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 326/371] ext4: fix use-after-free read in ext4_find_extent for bigalloc + inline Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 327/371] pinctrl: renesas: r8a779a0: Remove incorrect AVB[01] pinmux configuration Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 328/371] leds: TI_LMU_COMMON: select REGMAP instead of depending on it Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 329/371] dmaengine: mv_xor_v2: Fix an error code Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 330/371] leds: tca6507: Fix error handling of using fwnode_property_read_string Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 331/371] pwm: mtk-disp: Disable shadow registers before setting backlight values Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 332/371] pwm: mtk-disp: Configure double buffering before reading in .get_state() Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 333/371] phy: tegra: xusb: Add missing tegra_xusb_port_unregister for usb2_port and ulpi_port Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 334/371] dma: gpi: remove spurious unlock in gpi_ch_init Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 335/371] dmaengine: dw-edma: Fix to change for continuous transfer Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 336/371] dmaengine: dw-edma: Fix to enable to issue dma request on DMA processing Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 337/371] dmaengine: at_xdmac: Fix concurrency over chans completed_cookie Greg Kroah-Hartman
2023-05-08 9:48 ` [PATCH 5.15 338/371] dmaengine: at_xdmac: Fix race for the tx desc callback Greg Kroah-Hartman
2023-05-08 9:49 ` [PATCH 5.15 339/371] dmaengine: at_xdmac: do not enable all cyclic channels Greg Kroah-Hartman
2023-05-08 9:49 ` [PATCH 5.15 340/371] thermal/drivers/mediatek: Use devm_of_iomap to avoid resource leak in mtk_thermal_probe Greg Kroah-Hartman
2023-05-08 9:49 ` [PATCH 5.15 341/371] mfd: tqmx86: Do not access I2C_DETECT register through io_base Greg Kroah-Hartman
2023-05-08 9:49 ` [PATCH 5.15 342/371] mfd: tqmx86: Specify IO port register range more precisely Greg Kroah-Hartman
2023-05-08 9:49 ` [PATCH 5.15 343/371] mfd: tqmx86: Correct board names for TQMxE39x Greg Kroah-Hartman
2023-05-08 9:49 ` [PATCH 5.15 344/371] afs: Fix updating of i_size with dv jump from server Greg Kroah-Hartman
2023-05-08 9:49 ` [PATCH 5.15 345/371] parisc: Fix argument pointer in real64_call_asm() Greg Kroah-Hartman
2023-05-08 9:49 ` [PATCH 5.15 346/371] ALSA: usb-audio: Add quirk for Pioneer DDJ-800 Greg Kroah-Hartman
2023-05-08 9:49 ` [PATCH 5.15 347/371] nilfs2: do not write dirty data after degenerating to read-only Greg Kroah-Hartman
2023-05-08 9:49 ` [PATCH 5.15 348/371] nilfs2: fix infinite loop in nilfs_mdt_get_block() Greg Kroah-Hartman
2023-05-08 9:49 ` [PATCH 5.15 349/371] md/raid10: fix null-ptr-deref in raid10_sync_request Greg Kroah-Hartman
2023-05-08 9:49 ` [PATCH 5.15 350/371] mtd: core: provide unique name for nvmem device, take two Greg Kroah-Hartman
2023-05-08 9:49 ` [PATCH 5.15 351/371] mtd: core: fix nvmem error reporting Greg Kroah-Hartman
2023-05-08 9:49 ` [PATCH 5.15 352/371] mtd: core: fix error path for nvmem provider Greg Kroah-Hartman
2023-05-08 9:49 ` [PATCH 5.15 353/371] mailbox: zynqmp: Fix IPI isr handling Greg Kroah-Hartman
2023-05-08 9:49 ` [PATCH 5.15 354/371] mailbox: zynqmp: Fix typo in IPI documentation Greg Kroah-Hartman
2023-05-08 9:49 ` [PATCH 5.15 355/371] wifi: rtl8xxxu: RTL8192EU always needs full init Greg Kroah-Hartman
2023-05-08 9:49 ` [PATCH 5.15 356/371] clk: rockchip: rk3399: allow clk_cifout to force clk_cifout_src to reparent Greg Kroah-Hartman
2023-05-08 9:49 ` [PATCH 5.15 357/371] scripts/gdb: fix lx-timerlist for Python3 Greg Kroah-Hartman
2023-05-08 9:49 ` [PATCH 5.15 358/371] btrfs: scrub: reject unsupported scrub flags Greg Kroah-Hartman
2023-05-08 9:49 ` [PATCH 5.15 359/371] s390/dasd: fix hanging blockdevice after request requeue Greg Kroah-Hartman
2023-05-08 9:49 ` [PATCH 5.15 360/371] ia64: fix an addr to taddr in huge_pte_offset() Greg Kroah-Hartman
2023-05-08 9:49 ` [PATCH 5.15 361/371] dm verity: fix error handling for check_at_most_once on FEC Greg Kroah-Hartman
2023-05-08 9:49 ` [PATCH 5.15 362/371] dm clone: call kmem_cache_destroy() in dm_clone_init() error path Greg Kroah-Hartman
2023-05-08 9:49 ` [PATCH 5.15 363/371] dm integrity: call kmem_cache_destroy() in dm_integrity_init() " Greg Kroah-Hartman
2023-05-08 9:49 ` [PATCH 5.15 364/371] dm flakey: fix a crash with invalid table line Greg Kroah-Hartman
2023-05-08 9:49 ` [PATCH 5.15 365/371] dm ioctl: fix nested locking in table_clear() to remove deadlock concern Greg Kroah-Hartman
2023-05-08 9:49 ` [PATCH 5.15 366/371] dm: dont lock fs when the map is NULL in process of resume Greg Kroah-Hartman
2023-05-08 9:49 ` [PATCH 5.15 367/371] perf auxtrace: Fix address filter entire kernel size Greg Kroah-Hartman
2023-05-08 9:49 ` [PATCH 5.15 368/371] perf intel-pt: Fix CYC timestamps after standalone CBR Greg Kroah-Hartman
2023-05-08 9:49 ` [PATCH 5.15 369/371] debugobject: Ensure pool refill (again) Greg Kroah-Hartman
2023-05-08 9:49 ` [PATCH 5.15 370/371] sound/oss/dmasound: fix dmasound_setup defined but not used Greg Kroah-Hartman
2023-05-08 9:49 ` [PATCH 5.15 371/371] arm64: dts: qcom: sdm845: correct dynamic power coefficients - again Greg Kroah-Hartman
2023-05-08 18:01 ` [PATCH 5.15 000/371] 5.15.111-rc1 review Florian Fainelli
2023-05-08 21:30 ` Shuah Khan
2023-05-09 2:07 ` Bagas Sanjaya
2023-05-16 8:21 ` Bagas Sanjaya
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230508094824.444692166@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=bcunningham@cornelisnetworks.com \
--cc=dennis.dalessandro@cornelisnetworks.com \
--cc=leon@kernel.org \
--cc=pat.kelsey@cornelisnetworks.com \
--cc=patches@lists.linux.dev \
--cc=sashal@kernel.org \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox