]> git.karo-electronics.de Git - linux-beck.git/commit
xprtrdma: Fix panic in rpcrdma_register_frmr_external()
authorChuck Lever <chuck.lever@oracle.com>
Tue, 29 Jul 2014 21:23:17 +0000 (17:23 -0400)
committerAnna Schumaker <Anna.Schumaker@Netapp.com>
Thu, 31 Jul 2014 20:22:52 +0000 (16:22 -0400)
commit5fc83f470d8ada25927701512cf94a53dab6c4c8
treec5e2b937d425229b1f49d92ab69d2ea2f2c0946e
parentbf858ab0adcb36fc60a1d941749a7dd0a9bf3d8a
xprtrdma: Fix panic in rpcrdma_register_frmr_external()

seg1->mr_nsegs is not yet initialized when it is used to unmap
segments during an error exit. Use the same unmapping logic for
all error exits.

"if (frmr_wr.wr.fast_reg.length < len) {" used to be a BUG_ON check.
The broken code will never be executed under normal operation.

Fixes: c977dea (xprtrdma: Remove BUG_ON() call sites)
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Tested-by: Steve Wise <swise@opengridcomputing.com>
Tested-by: Shirley Ma <shirley.ma@oracle.com>
Tested-by: Devesh Sharma <devesh.sharma@emulex.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
net/sunrpc/xprtrdma/verbs.c