All of lore.kernel.org
 help / color / mirror / Atom feed
* re: NFSv4.x: Enforce the ca_maxresponsesize_cached on the back channel
@ 2016-05-12  6:11 Dan Carpenter
  2016-05-12 19:19 ` Olga Kornievskaia
  0 siblings, 1 reply; 2+ messages in thread
From: Dan Carpenter @ 2016-05-12  6:11 UTC (permalink / raw)
  To: trond.myklebust; +Cc: linux-nfs

Hello Trond Myklebust,

The patch 80f9642724af: "NFSv4.x: Enforce the
ca_maxresponsesize_cached on the back channel" from Jan 23, 2016,
leads to the following static checker warning:

  fs/nfs/callback_proc.c:540 nfs4_callback_sequence()
  warn: inconsistent returns 'spin_lock:&tbl->slot_tbl_lock'.
    Locked on:   line 504
    Unlocked on: line 540

fs/nfs/callback_proc.c
   490          res->csr_highestslotid = tbl->server_highest_slotid;
   491          res->csr_target_highestslotid = tbl->target_highest_slotid;
   492  
   493          status = validate_seqid(tbl, slot, args);
   494          if (status)
   495                  goto out_unlock;
   496          if (!nfs4_try_to_lock_slot(tbl, slot)) {
   497                  status = htonl(NFS4ERR_DELAY);
   498                  goto out_unlock;
                        ^^^^^^^^^^^^^^^
   499          }
   500          cps->slot = slot;
   501  
   502          /* The ca_maxresponsesize_cached is 0 with no DRC */
   503          if (args->csa_cachethis != 0)
   504                  return htonl(NFS4ERR_REP_TOO_BIG_TO_CACHE);

This should also unlock and possibly do other unwinding?

   505  
   506          /*
   507           * Check for pending referring calls.  If a match is found, a
   508           * related callback was received before the response to the original
   509           * call.
   510           */
   511          if (referring_call_exists(clp, args->csa_nrclists, args->csa_rclists)) {
   512                  status = htonl(NFS4ERR_DELAY);
   513                  goto out_unlock;
   514          }

regards,
dan carpenter

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2016-05-12 19:19 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-05-12  6:11 NFSv4.x: Enforce the ca_maxresponsesize_cached on the back channel Dan Carpenter
2016-05-12 19:19 ` Olga Kornievskaia

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.