21 Sep, 2020

5 commits


05 Sep, 2020

1 commit


29 May, 2020

1 commit


21 May, 2019

1 commit

  • Add SPDX license identifiers to all files which:

    - Have no license information of any form

    - Have EXPORT_.*_SYMBOL_GPL inside which was used in the
    initial scan/conversion to ignore the file

    These files fall under the project license, GPL v2 only. The resulting SPDX
    license identifier is:

    GPL-2.0-only

    Signed-off-by: Thomas Gleixner
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

27 Apr, 2019

1 commit


26 Apr, 2019

1 commit


03 Jan, 2019

2 commits

  • It's OK to sleep here, we just don't want to recurse into the filesystem
    as a writeout could be waiting on this.

    Future work: the documentation for GFP_NOFS says "Please try to avoid
    using this flag directly and instead use memalloc_nofs_{save,restore} to
    mark the whole scope which cannot/shouldn't recurse into the FS layer
    with a short explanation why. All allocation requests will inherit
    GFP_NOFS implicitly."

    But I'm not sure where to do this. Should the workqueue be arranging
    that for us in the case of workqueues created with WQ_MEM_RECLAIM?

    Reported-by: Trond Myklebust
    Signed-off-by: J. Bruce Fields
    Signed-off-by: Anna Schumaker

    J. Bruce Fields
     
  • If we ignore the error we'll hit a null dereference a little later.

    Reported-by: syzbot+4b98281f2401ab849f4b@syzkaller.appspotmail.com
    Signed-off-by: J. Bruce Fields
    Signed-off-by: Anna Schumaker

    J. Bruce Fields
     

01 Aug, 2018

1 commit


18 Nov, 2017

1 commit

  • Publishing of net pointer is not safe, use net->ns.inum as net ID
    [ 171.391947] RPC: created new rpcb local clients
    (rpcb_local_clnt: ..., rpcb_local_clnt4: ...) for net f00001e7
    [ 171.767188] NFSD: starting 90-second grace period (net f00001e7)

    Signed-off-by: Vasily Averin
    Signed-off-by: Anna Schumaker

    Vasily Averin
     

15 May, 2017

4 commits


06 Feb, 2016

2 commits


04 Feb, 2015

1 commit


25 Nov, 2014

1 commit


08 Aug, 2013

1 commit

  • If rpcbind causes our connection to the AF_LOCAL socket to close after
    we've registered a service, then we want to be careful about reconnecting
    since the mount namespace may have changed.

    By simply refusing to reconnect the AF_LOCAL socket in the case of
    unregister, we avoid the need to somehow save the mount namespace. While
    this may lead to some services not unregistering properly, it should
    be safe.

    Signed-off-by: Trond Myklebust
    Cc: Nix
    Cc: Jeff Layton
    Cc: stable@vger.kernel.org # 3.9.x

    Trond Myklebust
     

06 Aug, 2013

1 commit


05 Feb, 2013

1 commit


21 Dec, 2012

1 commit

  • Pull nfsd update from Bruce Fields:
    "Included this time:

    - more nfsd containerization work from Stanislav Kinsbursky: we're
    not quite there yet, but should be by 3.9.

    - NFSv4.1 progress: implementation of basic backchannel security
    negotiation and the mandatory BACKCHANNEL_CTL operation. See

    http://wiki.linux-nfs.org/wiki/index.php/Server_4.0_and_4.1_issues

    for remaining TODO's

    - Fixes for some bugs that could be triggered by unusual compounds.
    Our xdr code wasn't designed with v4 compounds in mind, and it
    shows. A more thorough rewrite is still a todo.

    - If you've ever seen "RPC: multiple fragments per record not
    supported" logged while using some sort of odd userland NFS client,
    that should now be fixed.

    - Further work from Jeff Layton on our mechanism for storing
    information about NFSv4 clients across reboots.

    - Further work from Bryan Schumaker on his fault-injection mechanism
    (which allows us to discard selective NFSv4 state, to excercise
    rarely-taken recovery code paths in the client.)

    - The usual mix of miscellaneous bugs and cleanup.

    Thanks to everyone who tested or contributed this cycle."

    * 'for-3.8' of git://linux-nfs.org/~bfields/linux: (111 commits)
    nfsd4: don't leave freed stateid hashed
    nfsd4: free_stateid can use the current stateid
    nfsd4: cleanup: replace rq_resused count by rq_next_page pointer
    nfsd: warn on odd reply state in nfsd_vfs_read
    nfsd4: fix oops on unusual readlike compound
    nfsd4: disable zero-copy on non-final read ops
    svcrpc: fix some printks
    NFSD: Correct the size calculation in fault_inject_write
    NFSD: Pass correct buffer size to rpc_ntop
    nfsd: pass proper net to nfsd_destroy() from NFSd kthreads
    nfsd: simplify service shutdown
    nfsd: replace boolean nfsd_up flag by users counter
    nfsd: simplify NFSv4 state init and shutdown
    nfsd: introduce helpers for generic resources init and shutdown
    nfsd: make NFSd service structure allocated per net
    nfsd: make NFSd service boot time per-net
    nfsd: per-net NFSd up flag introduced
    nfsd: move per-net startup code to separated function
    nfsd: pass net to __write_ports() and down
    nfsd: pass net to nfsd_set_nrthreads()
    ...

    Linus Torvalds
     

11 Dec, 2012

1 commit


05 Nov, 2012

1 commit


31 Jul, 2012

1 commit


01 Jun, 2012

2 commits

  • Pull the rest of the nfsd commits from Bruce Fields:
    "... and then I cherry-picked the remainder of the patches from the
    head of my previous branch"

    This is the rest of the original nfsd branch, rebased without the
    delegation stuff that I thought really needed to be redone.

    I don't like rebasing things like this in general, but in this situation
    this was the lesser of two evils.

    * 'for-3.5' of git://linux-nfs.org/~bfields/linux: (50 commits)
    nfsd4: fix, consolidate client_has_state
    nfsd4: don't remove rebooted client record until confirmation
    nfsd4: remove some dprintk's and a comment
    nfsd4: return "real" sequence id in confirmed case
    nfsd4: fix exchange_id to return confirm flag
    nfsd4: clarify that renewing expired client is a bug
    nfsd4: simpler ordering of setclientid_confirm checks
    nfsd4: setclientid: remove pointless assignment
    nfsd4: fix error return in non-matching-creds case
    nfsd4: fix setclientid_confirm same_cred check
    nfsd4: merge 3 setclientid cases to 2
    nfsd4: pull out common code from setclientid cases
    nfsd4: merge last two setclientid cases
    nfsd4: setclientid/confirm comment cleanup
    nfsd4: setclientid remove unnecessary terms from a logical expression
    nfsd4: move rq_flavor into svc_cred
    nfsd4: stricter cred comparison for setclientid/exchange_id
    nfsd4: move principal name into svc_cred
    nfsd4: allow removing clients not holding state
    nfsd4: rearrange exchange_id logic to simplify
    ...

    Linus Torvalds
     
  • This new routine is responsible for service registration in a specified
    network context.

    The idea is to separate service creation from per-net operations.

    Note also: since registering service with svc_bind() can fail, the
    service will be destroyed and during destruction it will try to
    unregister itself from rpcbind. In this case unregistration has to be
    skipped.

    Signed-off-by: Stanislav Kinsbursky
    Signed-off-by: J. Bruce Fields

    Stanislav Kinsbursky
     

15 May, 2012

1 commit

  • Fix kernel-doc warnings in sunrpc/rpc_pipe.c and
    sunrpc/rpcb_clnt.c:

    Warning(net/sunrpc/rpcb_clnt.c:428): No description found for parameter 'net'
    Warning(net/sunrpc/rpcb_clnt.c:567): No description found for parameter 'net'

    Warning(net/sunrpc/rpc_pipe.c:133): No description found for parameter 'pipe'
    Warning(net/sunrpc/rpc_pipe.c:133): Excess function parameter 'inode' description in 'rpc_queue_upcall'
    Warning(net/sunrpc/rpc_pipe.c:839): No description found for parameter 'pipe'
    Warning(net/sunrpc/rpc_pipe.c:839): Excess function parameter 'ops' description in 'rpc_mkpipe_dentry'
    Warning(net/sunrpc/rpc_pipe.c:839): Excess function parameter 'flags' description in 'rpc_mkpipe_dentry'
    Warning(net/sunrpc/rpc_pipe.c:949): No description found for parameter 'dentry'
    Warning(net/sunrpc/rpc_pipe.c:949): Excess function parameter 'clnt' description in 'rpc_remove_client_dir'

    Signed-off-by: Randy Dunlap
    Signed-off-by: Trond Myklebust

    Randy Dunlap
     

28 Mar, 2012

1 commit

  • rbcb_getport_async() was looking up the rpc_xprt (reference++) and then
    later looking it up again (reference++) to pass through the
    rpcbind_args. The xprt would only be dereferenced once, when we were
    done with the rpcbind_args (reference--). This leaves an extra
    reference to the transport that would never go away.

    Signed-off-by: Bryan Schumaker
    Signed-off-by: Trond Myklebust

    Bryan Schumaker
     

21 Mar, 2012

1 commit

  • Stephen Rothwell reports:
    net/sunrpc/rpcb_clnt.c: In function 'rpcb_enc_mapping':
    net/sunrpc/rpcb_clnt.c:820:19: warning: unused variable 'task' [-Wunused-variable]
    net/sunrpc/rpcb_clnt.c: In function 'rpcb_dec_getport':
    net/sunrpc/rpcb_clnt.c:837:19: warning: unused variable 'task' [-Wunused-variable]
    net/sunrpc/rpcb_clnt.c: In function 'rpcb_dec_set':
    net/sunrpc/rpcb_clnt.c:860:19: warning: unused variable 'task' [-Wunused-variable]
    net/sunrpc/rpcb_clnt.c: In function 'rpcb_enc_getaddr':
    net/sunrpc/rpcb_clnt.c:892:19: warning: unused variable 'task' [-Wunused-variable]
    net/sunrpc/rpcb_clnt.c: In function 'rpcb_dec_getaddr':
    net/sunrpc/rpcb_clnt.c:914:19: warning: unused variable 'task' [-Wunused-variable]
    fs/lockd/svclock.c:49:20: warning: 'nlmdbg_cookie2a' declared 'static' but never defined [-Wunused-function]

    Reported-by: Stephen Rothwell
    Signed-off-by: Trond Myklebust

    Trond Myklebust
     

03 Mar, 2012

2 commits

  • When the cl_xprt field is updated, the cl_server field will also have
    to change. Since the contents of cl_server follow the remote endpoint
    of cl_xprt, just move that field to the rpc_xprt.

    Signed-off-by: Trond Myklebust
    [ cel: simplify check_gss_callback_principal(), whitespace changes ]
    [ cel: forward ported to 3.4 ]
    Signed-off-by: Chuck Lever
    Signed-off-by: Trond Myklebust

    Trond Myklebust
     
  • A migration event will replace the rpc_xprt used by an rpc_clnt. To
    ensure this can be done safely, all references to cl_xprt must now use
    a form of rcu_dereference().

    Special care is taken with rpc_peeraddr2str(), which returns a pointer
    to memory whose lifetime is the same as the rpc_xprt.

    Signed-off-by: Trond Myklebust
    [ cel: fix lockdep splats and layering violations ]
    [ cel: forward ported to 3.4 ]
    [ cel: remove rpc_max_reqs(), add rpc_net_ns() ]
    Signed-off-by: Chuck Lever
    Signed-off-by: Trond Myklebust

    Trond Myklebust
     

01 Feb, 2012

4 commits