From 30b356a28b5094015963e83457a196584c799558 Mon Sep 17 00:00:00 2001 From: "John L. Hammond" Date: Tue, 5 Jan 2021 16:08:34 -0600 Subject: [PATCH] LU-14296 lnet: use an unbound cred in kiblnd_resolve_addr() In kiblnd_resolve_addr() call prepare_kernel_cred(NULL) rather than prepare_creds() to get a cred with unbound capabilities. Fixes: 1e4bd16acfa ("LU-14006 o2ib: raise bind cap before resolving address") Signed-off-by: John L. Hammond Change-Id: Ib2500d82aa4eab5590fa95ae73fd75b2ab542bcd Reviewed-on: https://review.whamcloud.com/41137 Reviewed-by: Amir Shehata Reviewed-by: Andreas Dilger Tested-by: jenkins Tested-by: Maloo Reviewed-by: Oleg Drokin --- lnet/klnds/o2iblnd/o2iblnd_cb.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/lnet/klnds/o2iblnd/o2iblnd_cb.c b/lnet/klnds/o2iblnd/o2iblnd_cb.c index 055b20b..6bf2b24 100644 --- a/lnet/klnds/o2iblnd/o2iblnd_cb.c +++ b/lnet/klnds/o2iblnd/o2iblnd_cb.c @@ -1317,8 +1317,6 @@ kiblnd_resolve_addr_cap(struct rdma_cm_id *cmid, unsigned short port; int rc; - LASSERT(capable(CAP_NET_BIND_SERVICE)); - /* allow the port to be reused */ rc = rdma_set_reuseaddr(cmid, 1); if (rc != 0) { @@ -1344,8 +1342,9 @@ kiblnd_resolve_addr_cap(struct rdma_cm_id *cmid, } } - CERROR("Failed to bind to a free privileged port\n"); - return rc; + CERROR("cannot bind to a free privileged port: rc = %d\n", rc); + + return rc; } static int @@ -1359,7 +1358,7 @@ kiblnd_resolve_addr(struct rdma_cm_id *cmid, int rc; if (!capable(CAP_NET_BIND_SERVICE)) { - new_creds = prepare_creds(); + new_creds = prepare_kernel_cred(NULL); if (!new_creds) return -ENOMEM; -- 1.8.3.1