1. 28 7月, 2012 3 次提交
  2. 15 2月, 2012 2 次提交
  3. 14 9月, 2011 1 次提交
  4. 26 1月, 2011 1 次提交
    • C
      NLM: Fix "kernel BUG at fs/lockd/host.c:417!" or ".../host.c:283!" · 80c30e8d
      Chuck Lever 提交于
      Nick Bowler <nbowler@elliptictech.com> reports:
      
      > We were just having some NFS server troubles, and my client machine
      > running 2.6.38-rc1+ (specifically, commit 2b1caf6e) crashed
      > hard (syslog output appended to this mail).
      >
      > I'm not sure what the exact timeline was or how to reproduce this,
      > but the server was rebooted during all this.  Since I've never seen
      > this happen before, it is possibly a regression from previous kernel
      > releases.  However, I recently updated my nfs-utils (on the client) to
      > version 1.2.3, so that might be related as well.
      
        [ BUG output redacted ]
      
      When done searching, the for_each_host loop in next_host_state() falls
      through and returns the final host on the host chain without bumping
      it's reference count.
      
      Since the host's ref count is only one at that point, releasing the
      host in nlm_host_rebooted() attempts to destroy the host prematurely,
      and therefore hits a BUG().
      
      Likely, the original intent of the for_each_host behavior in
      next_host_state() was to handle the case when the host chain is empty.
      Searching the chain and finding no suitable host to return needs to be
      handled as well.
      
      Defensively restructure next_host_state() always to return NULL when
      the loop falls through.
      
      Introduced by commit b10e30f6 "lockd: reorganize nlm_host_rebooted".
      
      Cc: J. Bruce Fields <bfields@fieldses.org>
      Signed-off-by: NChuck Lever <chuck.lever@oracle.com>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      80c30e8d
  5. 05 1月, 2011 1 次提交
  6. 17 12月, 2010 10 次提交
  7. 16 11月, 2010 1 次提交
    • T
      NLM: Fix a regression in lockd · 8e35f8e7
      Trond Myklebust 提交于
      Nick Bowler reports:
      There are no unusual messages on the client... but I just logged into
      the server and I see lots of messages of the following form:
      
        nfsd: request from insecure port (192.168.8.199:35766)!
        nfsd: request from insecure port (192.168.8.199:35766)!
        nfsd: request from insecure port (192.168.8.199:35766)!
        nfsd: request from insecure port (192.168.8.199:35766)!
        nfsd: request from insecure port (192.168.8.199:35766)!
      
      Bisected to commit 92476850 (SUNRPC:
      Properly initialize sock_xprt.srcaddr in all cases)
      
      Apparently, removing the 'transport->srcaddr.ss_family = family' from
      xs_create_sock() triggers this due to nlmclnt_lookup_host() incorrectly
      initialising the srcaddr family to AF_UNSPEC.
      Reported-by: NNick Bowler <nbowler@elliptictech.com>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      8e35f8e7
  8. 02 10月, 2010 1 次提交
  9. 09 2月, 2010 1 次提交
  10. 21 8月, 2009 1 次提交
  11. 10 8月, 2009 1 次提交
  12. 07 1月, 2009 11 次提交
  13. 24 12月, 2008 1 次提交
  14. 25 11月, 2008 1 次提交
    • C
      NLM: client-side nlm_lookup_host() should avoid matching on srcaddr · a8d82d9b
      Chuck Lever 提交于
      Since commit c98451bd, the loop in nlm_lookup_host() unconditionally
      compares the host's h_srcaddr field to the incoming source address.
      For client-side nlm_host entries, both are always AF_UNSPEC, so this
      check is unnecessary.
      
      Since commit 781b61a6, which added support for AF_INET6 addresses to
      nlm_cmp_addr(), nlm_cmp_addr() now returns FALSE for AF_UNSPEC
      addresses, which causes nlm_lookup_host() to create a fresh nlm_host
      entry every time it is called on the client.
      
      These extra entries will eventually expire once the server is
      unmounted, so the impact of this regression, introduced with lockd
      IPv6 support in 2.6.28, should be minor.
      
      We could fix this by adding an arm in nlm_cmp_addr() for AF_UNSPEC
      addresses, but really, nlm_lookup_host() shouldn't be matching on the
      srcaddr field for client-side nlm_host lookups.
      Signed-off-by: NChuck Lever <chuck.lever@oracle.com>
      Signed-off-by: NJ. Bruce Fields <bfields@citi.umich.edu>
      a8d82d9b
  15. 31 10月, 2008 1 次提交
  16. 30 10月, 2008 1 次提交
  17. 29 10月, 2008 1 次提交
  18. 04 10月, 2008 1 次提交