GSS context init requests can happen even after a client has been
unmounted, because they are coming from userspace (request-key,
lgss_keyring).
In this case they must be ignored, and code must be robust to survive
improper, already or partially shutdown import.
Test-Parameters: kerberos=true testlist=sanity-krb5
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: I06d031c28c769d1383d37de1d2c94ef64eb0eda3
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58454
Reviewed-by: Aurelien Degremont <adegremont@nvidia.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
LASSERT(req->rq_cli_ctx);
LASSERT(req->rq_cli_ctx->cc_sec);
+ if (!imp->imp_sec) {
+ CDEBUG(D_SEC,
+ "%s: no sec on import, ctx init request is too late or too soon: rc = %d\n",
+ imp->imp_obd->obd_name, -EINVAL);
+ return -EINVAL;
+ }
+
/* gss hdr */
ghdr = lustre_msg_buf(msg, 0, sizeof(*ghdr));
ghdr->gh_version = PTLRPC_GSS_VERSION;