1. 27 7月, 2008 1 次提交
  2. 01 7月, 2008 1 次提交
    • N
      nfsd: fix spurious EACCESS in reconnect_path() · 496d6c32
      Neil Brown 提交于
      Thanks to Frank Van Maarseveen for the original problem report: "A
      privileged process on an NFS client which drops privileges after using
      them to change the current working directory, will experience incorrect
      EACCES after an NFS server reboot. This problem can also occur after
      memory pressure on the server, particularly when the client side is
      quiet for some time."
      
      This occurs because the filehandle points to a directory whose parents
      are no longer in the dentry cache, and we're attempting to reconnect the
      directory to its parents without adequate permissions to perform lookups
      in the parent directories.
      
      We can therefore fix the problem by acquiring the necessary capabilities
      before attempting the reconnection.  We do this only in the
      no_subtree_check case, since the documented behavior of the
      subtree_check export option requires the server to check that the user
      has lookup permissions on all parents.
      
      The subtree_check case still has a problem, since reconnect_path()
      unnecessarily requires both read and lookup permissions on all parent
      directories.  However, a fix in that case would be more delicate, and
      use of subtree_check is already discouraged for other reasons.
      Signed-off-by: NNeil Brown <neilb@suse.de>
      Cc: Frank van Maarseveen <frankvm@frankvm.com>
      Signed-off-by: NJ. Bruce Fields <bfields@citi.umich.edu>
      496d6c32
  3. 24 6月, 2008 1 次提交
  4. 24 4月, 2008 1 次提交
    • J
      nfsd: move most of fh_verify to separate function · 03550fac
      J. Bruce Fields 提交于
      Move the code that actually parses the filehandle and looks up the
      dentry and export to a separate function.  This simplifies the reference
      counting a little and moves fh_verify() a little closer to the kernel
      ideal of small, minimally-indentended functions.  Clean up a few other
      minor style sins along the way.
      Signed-off-by: NJ. Bruce Fields <bfields@citi.umich.edu>
      Cc: Neil Brown <neilb@suse.de>
      03550fac
  5. 15 3月, 2008 1 次提交
    • J
      nfsd: fix oops on access from high-numbered ports · b663c6fd
      J. Bruce Fields 提交于
      This bug was always here, but before my commit 6fa02839
      ("recheck for secure ports in fh_verify"), it could only be triggered by
      failure of a kmalloc().  After that commit it could be triggered by a
      client making a request from a non-reserved port for access to an export
      marked "secure".  (Exports are "secure" by default.)
      
      The result is a struct svc_export with a reference count one too low,
      resulting in likely oopses next time the export is accessed.
      
      The reference counting here is not straightforward; a later patch will
      clean up fh_verify().
      
      Thanks to Lukas Hejtmanek for the bug report and followup.
      Signed-off-by: NJ. Bruce Fields <bfields@citi.umich.edu>
      Cc: Lukas Hejtmanek <xhejtman@ics.muni.cz>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      b663c6fd
  6. 22 2月, 2008 1 次提交
  7. 15 2月, 2008 1 次提交
  8. 02 2月, 2008 1 次提交
  9. 13 11月, 2007 1 次提交
    • J
      nfsd4: recheck for secure ports in fh_verify · 6fa02839
      J. Bruce Fields 提交于
      As with commit 7fc90ec9 ("knfsd: nfsd:
      call nfsd_setuser() on fh_compose(), fix nfsd4 permissions problem")
      this is a case where we need to redo a security check in fh_verify()
      even though the filehandle already has an associated dentry--if the
      filehandle was created by fh_compose() in an earlier operation of the
      nfsv4 compound, then we may not have done these checks yet.
      
      Without this fix it is possible, for example, to traverse from an export
      without the secure ports requirement to one with it in a single
      compound, and bypass the secure port check on the new export.
      
      While we're here, fix up some minor style problems and change a printk()
      to a dprintk(), to make it harder for random unprivileged users to spam
      the logs.
      Signed-off-by: NJ. Bruce Fields <bfields@citi.umich.edu>
      Reviewed-By: NNeilBrown <neilb@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      6fa02839
  10. 22 10月, 2007 1 次提交
    • C
      exportfs: add fid type · 6e91ea2b
      Christoph Hellwig 提交于
      This patchset is a medium scale rewrite of the export operations interface.
      The goal is to make the interface less complex, and easier to understand from
      the filesystem side, aswell as preparing generic support for exporting of
      64bit inode numbers.
      
      This touches all nfs exporting filesystems, and I've done testing on all of
      the filesystems I have here locally (xfs, ext2, ext3, reiserfs, jfs)
      
      This patch:
      
      Add a structured fid type so that we don't have to pass an array of u32 values
      around everywhere.  It's a union of possible layouts.
      
      As a start there's only the u32 array and the traditional 32bit inode format,
      but there will be more in one of my next patchset when I start to document the
      various filehandle formats we have in lowlevel filesystems better.
      
      Also add an enum that gives the various filehandle types human- readable
      names.
      
      Note: Some people might think the struct containing an anonymous union is
      ugly, but I didn't want to pass around a raw union type.
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Cc: Neil Brown <neilb@suse.de>
      Cc: "J. Bruce Fields" <bfields@fieldses.org>
      Cc: <linux-ext4@vger.kernel.org>
      Cc: Dave Kleikamp <shaggy@austin.ibm.com>
      Cc: Anton Altaparmakov <aia21@cantab.net>
      Cc: David Chinner <dgc@sgi.com>
      Cc: Timothy Shimmin <tes@sgi.com>
      Cc: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
      Cc: Hugh Dickins <hugh@veritas.com>
      Cc: Chris Mason <mason@suse.com>
      Cc: Jeff Mahoney <jeffm@suse.com>
      Cc: "Vladimir V. Saveliev" <vs@namesys.com>
      Cc: Steven Whitehouse <swhiteho@redhat.com>
      Cc: Mark Fasheh <mark.fasheh@oracle.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      6e91ea2b
  11. 11 9月, 2007 1 次提交
  12. 18 7月, 2007 8 次提交
  13. 10 5月, 2007 1 次提交
  14. 09 5月, 2007 1 次提交
  15. 15 3月, 2007 1 次提交
  16. 15 2月, 2007 3 次提交
  17. 13 2月, 2007 1 次提交
  18. 02 2月, 2007 1 次提交
  19. 31 1月, 2007 1 次提交
  20. 14 12月, 2006 1 次提交
    • J
      [PATCH] knfsd: nfsd: don't drop silently on upcall deferral · e0bb89ef
      J.Bruce Fields 提交于
      To avoid tying up server threads when nfsd makes an upcall (to mountd, to get
      export options, to idmapd, for nfsv4 name<->id mapping, etc.), we temporarily
      "drop" the request and save enough information so that we can revisit it
      later.
      
      Certain failures during the deferral process can cause us to really drop the
      request and never revisit it.
      
      This is often less than ideal, and is unacceptable in the NFSv4 case--rfc 3530
      forbids the server from dropping a request without also closing the
      connection.
      
      As a first step, we modify the deferral code to return -ETIMEDOUT (which is
      translated to nfserr_jukebox in the v3 and v4 cases, and remains a drop in the
      v2 case).
      Signed-off-by: NJ. Bruce Fields <bfields@citi.umich.edu>
      Signed-off-by: NNeil Brown <neilb@suse.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      e0bb89ef
  21. 21 10月, 2006 1 次提交
  22. 01 8月, 2006 1 次提交
  23. 01 7月, 2006 3 次提交
  24. 28 3月, 2006 1 次提交
  25. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4