From 7e0cf11a5bb1280c98e7d7c38010ee1591b262fd Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Mon, 4 May 2020 14:54:04 +0200 Subject: [PATCH] drop queue-5.6/xprtrdma-fix-trace-point-use-after-free-race.patch --- queue-5.6/series | 1 - ...-fix-trace-point-use-after-free-race.patch | 83 ------------------- 2 files changed, 84 deletions(-) delete mode 100644 queue-5.6/xprtrdma-fix-trace-point-use-after-free-race.patch diff --git a/queue-5.6/series b/queue-5.6/series index d134cdf7ee5..bdc1ae45edd 100644 --- a/queue-5.6/series +++ b/queue-5.6/series @@ -64,7 +64,6 @@ i2c-aspeed-avoid-i2c-interrupt-status-clear-race-condition.patch alsa-opti9xx-shut-up-gcc-10-range-warning.patch fix-use-after-free-in-get_tree_bdev.patch nvme-prevent-double-free-in-nvme_alloc_ns-error-handling.patch -xprtrdma-fix-trace-point-use-after-free-race.patch drm-i915-selftests-fix-i915_address_space-refcnt-leak.patch nfs-fix-potential-posix_acl-refcnt-leak-in-nfs3_set_acl.patch dmaengine-dmatest-fix-iteration-non-stop-logic.patch diff --git a/queue-5.6/xprtrdma-fix-trace-point-use-after-free-race.patch b/queue-5.6/xprtrdma-fix-trace-point-use-after-free-race.patch deleted file mode 100644 index d2bfd8ce156..00000000000 --- a/queue-5.6/xprtrdma-fix-trace-point-use-after-free-race.patch +++ /dev/null @@ -1,83 +0,0 @@ -From bdb2ce82818577ba6e57b7d68b698b8d17329281 Mon Sep 17 00:00:00 2001 -From: Chuck Lever -Date: Sun, 19 Apr 2020 20:03:05 -0400 -Subject: xprtrdma: Fix trace point use-after-free race - -From: Chuck Lever - -commit bdb2ce82818577ba6e57b7d68b698b8d17329281 upstream. - -It's not safe to use resources pointed to by the @send_wr of -ib_post_send() _after_ that function returns. Those resources are -typically freed by the Send completion handler, which can run before -ib_post_send() returns. - -Thus the trace points currently around ib_post_send() in the -client's RPC/RDMA transport are a hazard, even when they are -disabled. Rearrange them so that they touch the Work Request only -_before_ ib_post_send() is invoked. - -Fixes: ab03eff58eb5 ("xprtrdma: Add trace points in RPC Call transmit paths") -Signed-off-by: Chuck Lever -Signed-off-by: Anna Schumaker -Signed-off-by: Greg Kroah-Hartman - ---- - include/trace/events/rpcrdma.h | 12 ++++-------- - net/sunrpc/xprtrdma/verbs.c | 2 +- - 2 files changed, 5 insertions(+), 9 deletions(-) - ---- a/include/trace/events/rpcrdma.h -+++ b/include/trace/events/rpcrdma.h -@@ -721,11 +721,10 @@ TRACE_EVENT(xprtrdma_prepsend_failed, - - TRACE_EVENT(xprtrdma_post_send, - TP_PROTO( -- const struct rpcrdma_req *req, -- int status -+ const struct rpcrdma_req *req - ), - -- TP_ARGS(req, status), -+ TP_ARGS(req), - - TP_STRUCT__entry( - __field(const void *, req) -@@ -734,7 +733,6 @@ TRACE_EVENT(xprtrdma_post_send, - __field(unsigned int, client_id) - __field(int, num_sge) - __field(int, signaled) -- __field(int, status) - ), - - TP_fast_assign( -@@ -747,15 +745,13 @@ TRACE_EVENT(xprtrdma_post_send, - __entry->sc = req->rl_sendctx; - __entry->num_sge = req->rl_wr.num_sge; - __entry->signaled = req->rl_wr.send_flags & IB_SEND_SIGNALED; -- __entry->status = status; - ), - -- TP_printk("task:%u@%u req=%p sc=%p (%d SGE%s) %sstatus=%d", -+ TP_printk("task:%u@%u req=%p sc=%p (%d SGE%s) %s", - __entry->task_id, __entry->client_id, - __entry->req, __entry->sc, __entry->num_sge, - (__entry->num_sge == 1 ? "" : "s"), -- (__entry->signaled ? "signaled " : ""), -- __entry->status -+ (__entry->signaled ? "signaled" : "") - ) - ); - ---- a/net/sunrpc/xprtrdma/verbs.c -+++ b/net/sunrpc/xprtrdma/verbs.c -@@ -1526,8 +1526,8 @@ rpcrdma_ep_post(struct rpcrdma_ia *ia, - --ep->rep_send_count; - } - -- rc = frwr_send(ia, req); - trace_xprtrdma_post_send(req, rc); -+ rc = frwr_send(ia, req); - if (rc) - return -ENOTCONN; - return 0; -- 2.47.3