- gss_init_upcall_msg(gss_new, gsec, obdname, uid, dest_ip, svc);
-
- if (gss_cred_is_uptodate_ctx(cred)) {
- /* someone else had done it for us, simply cancel
- * our own upcall */
- CDEBUG(D_SEC, "cred("LPU64"/%u) has been refreshed by someone "
- "else, simply drop our request\n",
- cred->pc_pag, cred->pc_uid);
+ gss_init_upcall_msg(gss_new, gsec, obdname, &gmd);
+
+ /* we'v created upcall msg, nobody else should touch the
+ * flag of this cred, unless be set as dead/expire by
+ * administrator via lctl etc.
+ */
+ if (cred->pc_flags & PTLRPC_CRED_FLAGS_MASK) {
+ CWARN("cred %p("LPU64"/%u) was set flags %lx unexpectedly\n",
+ cred, cred->pc_pag, cred->pc_uid, cred->pc_flags);
+ cred->pc_flags |= PTLRPC_CRED_DEAD | PTLRPC_CRED_ERROR;