1. 26 4月, 2019 2 次提交
  2. 18 4月, 2019 1 次提交
  3. 12 4月, 2019 1 次提交
  4. 23 3月, 2019 1 次提交
  5. 16 3月, 2019 4 次提交
  6. 11 3月, 2019 2 次提交
  7. 10 3月, 2019 3 次提交
  8. 08 3月, 2019 3 次提交
  9. 15 2月, 2019 2 次提交
    • C
      SUNRPC: Use au_rslack when computing reply buffer size · 2c94b8ec
      Chuck Lever 提交于
      au_rslack is significantly smaller than (au_cslack << 2). Using
      that value results in smaller receive buffers. In some cases this
      eliminates an extra segment in Reply chunks (RPC/RDMA).
      Signed-off-by: NChuck Lever <chuck.lever@oracle.com>
      Signed-off-by: NAnna Schumaker <Anna.Schumaker@Netapp.com>
      2c94b8ec
    • C
      SUNRPC: Add rpc_auth::au_ralign field · 35e77d21
      Chuck Lever 提交于
      Currently rpc_inline_rcv_pages() uses au_rslack to estimate the
      size of the upper layer reply header. This is fine for auth flavors
      where au_verfsize == au_rslack.
      
      However, some auth flavors have more going on. krb5i for example has
      two more words after the verifier, and another blob following the
      RPC message. The calculation involving au_rslack pushes the upper
      layer reply header too far into the rcv_buf.
      
      au_rslack is still valuable: it's the amount of buffer space needed
      for the reply, and is used when allocating the reply buffer. We'll
      keep that.
      
      But, add a new field that can be used to properly estimate the
      location of the upper layer header in each RPC reply, based on the
      auth flavor in use.
      Signed-off-by: NChuck Lever <chuck.lever@oracle.com>
      Signed-off-by: NAnna Schumaker <Anna.Schumaker@Netapp.com>
      35e77d21
  10. 14 2月, 2019 6 次提交
  11. 16 1月, 2019 2 次提交
  12. 03 1月, 2019 1 次提交
  13. 20 12月, 2018 4 次提交
    • N
      NFS/NFSD/SUNRPC: replace generic creds with 'struct cred'. · a52458b4
      NeilBrown 提交于
      SUNRPC has two sorts of credentials, both of which appear as
      "struct rpc_cred".
      There are "generic credentials" which are supplied by clients
      such as NFS and passed in 'struct rpc_message' to indicate
      which user should be used to authorize the request, and there
      are low-level credentials such as AUTH_NULL, AUTH_UNIX, AUTH_GSS
      which describe the credential to be sent over the wires.
      
      This patch replaces all the generic credentials by 'struct cred'
      pointers - the credential structure used throughout Linux.
      
      For machine credentials, there is a special 'struct cred *' pointer
      which is statically allocated and recognized where needed as
      having a special meaning.  A look-up of a low-level cred will
      map this to a machine credential.
      Signed-off-by: NNeilBrown <neilb@suse.com>
      Acked-by: NJ. Bruce Fields <bfields@redhat.com>
      Signed-off-by: NAnna Schumaker <Anna.Schumaker@Netapp.com>
      a52458b4
    • N
      SUNRPC: add side channel to use non-generic cred for rpc call. · 1de7eea9
      NeilBrown 提交于
      The credential passed in rpc_message.rpc_cred is always a
      generic credential except in one instance.
      When gss_destroying_context() calls rpc_call_null(), it passes
      a specific credential that it needs to destroy.
      In this case the RPC acts *on* the credential rather than
      being authorized by it.
      
      This special case deserves explicit support and providing that will
      mean that rpc_message.rpc_cred is *always* generic, allowing
      some optimizations.
      
      So add "tk_op_cred" to rpc_task and "rpc_op_cred" to the setup data.
      Use this to pass the cred down from rpc_call_null(), and have
      rpcauth_bindcred() notice it and bind it in place.
      
      Credit to kernel test robot <fengguang.wu@intel.com> for finding
      a bug in earlier version of this patch.
      Signed-off-by: NNeilBrown <neilb@suse.com>
      Signed-off-by: NAnna Schumaker <Anna.Schumaker@Netapp.com>
      1de7eea9
    • N
      SUNRPC: introduce RPC_TASK_NULLCREDS to request auth_none · a68a72e1
      NeilBrown 提交于
      In almost all cases the credential stored in rpc_message.rpc_cred
      is a "generic" credential.  One of the two expections is when an
      AUTH_NULL credential is used such as for RPC ping requests.
      
      To improve consistency, don't pass an explicit credential in
      these cases, but instead pass NULL and set a task flag,
      similar to RPC_TASK_ROOTCREDS, which requests that NULL credentials
      be used by default.
      Signed-off-by: NNeilBrown <neilb@suse.com>
      Signed-off-by: NAnna Schumaker <Anna.Schumaker@Netapp.com>
      a68a72e1
    • N
      NFS/SUNRPC: don't lookup machine credential until rpcauth_bindcred(). · 5e16923b
      NeilBrown 提交于
      When NFS creates a machine credential, it is a "generic" credential,
      not tied to any auth protocol, and is really just a container for
      the princpal name.
      This doesn't get linked to a genuine credential until rpcauth_bindcred()
      is called.
      The lookup always succeeds, so various places that test if the machine
      credential is NULL, are pointless.
      
      As a step towards getting rid of generic credentials, this patch gets
      rid of generic machine credentials.  The nfs_client and rpc_client
      just hold a pointer to a constant principal name.
      When a machine credential is wanted, a special static 'struct rpc_cred'
      pointer is used. rpcauth_bindcred() recognizes this, finds the
      principal from the client, and binds the correct credential.
      Signed-off-by: NNeilBrown <neilb@suse.com>
      Signed-off-by: NAnna Schumaker <Anna.Schumaker@Netapp.com>
      5e16923b
  14. 19 12月, 2018 1 次提交
  15. 02 12月, 2018 2 次提交
  16. 01 10月, 2018 5 次提交