1. 28 7月, 2008 5 次提交
  2. 27 7月, 2008 1 次提交
    • A
      [PATCH] sanitize __user_walk_fd() et.al. · 2d8f3038
      Al Viro 提交于
      * do not pass nameidata; struct path is all the callers want.
      * switch to new helpers:
      	user_path_at(dfd, pathname, flags, &path)
      	user_path(pathname, &path)
      	user_lpath(pathname, &path)
      	user_path_dir(pathname, &path)  (fail if not a directory)
        The last 3 are trivial macro wrappers for the first one.
      * remove nameidata in callers.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      2d8f3038
  3. 29 4月, 2008 2 次提交
  4. 19 4月, 2008 1 次提交
  5. 18 4月, 2008 3 次提交
  6. 10 4月, 2008 1 次提交
  7. 15 2月, 2008 2 次提交
  8. 07 2月, 2008 5 次提交
  9. 10 12月, 2007 1 次提交
    • L
      [XFS] 971064 Various fixups for xfs_bulkstat(). · cd57e594
      Lachlan McIlroy 提交于
      - sanity check for NULL user buffer in xfs_ioc_bulkstat[_compat]()
      - remove the special case for XFS_IOC_FSBULKSTAT with count == 1. This
        special case causes bulkstat to fail because the special case uses
        xfs_bulkstat_single() instead of xfs_bulkstat() and the two functions
        have different semantics.  xfs_bulkstat() will return the next inode
        after the one supplied while skipping internal inodes (ie quota inodes).
        xfs_bulkstate_single() will only lookup the inode supplied and return
        an error if it is an internal inode.
      - in xfs_bulkstat(), need to initialise 'lastino' to the inode supplied
        so in cases were we return without examining any inodes the scan wont
        restart back at zero.
      - sanity check for valid *ubcountp values. Cannot sanity check for valid
        ubuffer here because some users of xfs_bulkstat() don't supply a buffer.
      - checks against 'ubleft' (the space left in the user's buffer) should be
        against 'statstruct_size' which is the supplied minimum object size.
        The mixture of checks against statstruct_size and 0 was one of the
        reasons we were skipping inodes.
      - if the formatter function returns BULKSTAT_RV_NOTHING and an error and
        the error is not ENOENT or EINVAL then we need to abort the scan. ENOENT
        is for inodes that are no longer valid and we just skip them. EINVAL is
        returned if we try to lookup an internal inode so we skip them too. For
        a DMF scan if the inode and DMF attribute cannot fit into the space left
        in the user's buffer it would return ERANGE. We didn't handle this error
        and skipped the inode. We would continue to skip inodes until one fitted
        into the user's buffer or we completed the scan.
      - put back the recalculation of agino (that got removed with the last fix)
        at the end of the while loop. This is because the code at the start of
        the loop expects agino to be the last inode examined if it is non-zero.
      - if we found some inodes but then encountered an error, return success
        this time and the error next time. If the formatter aborted with ENOMEM
        we will now return this error but only if we couldn't read any inodes.
        Previously if we encountered ENOMEM without reading any inodes we
        returned a zero count and no error which falsely indicated the scan was
        complete.
      
      SGI-PV: 973431
      SGI-Modid: xfs-linux-melb:xfs-kern:30089a
      Signed-off-by: NLachlan McIlroy <lachlan@sgi.com>
      Signed-off-by: NDavid Chinner <dgc@sgi.com>
      cd57e594
  10. 19 10月, 2007 1 次提交
    • C
      [XFS] cleanup fid types mess · c6143911
      Christoph Hellwig 提交于
      Currently XFs has three different fid types: struct fid, struct xfs_fid
      and struct xfs_fid2 with hte latter two beeing identicaly and the first
      one beeing the same size but an unstructured array with the same size.
      
      This patch consolidates all this to alway uuse struct xfs_fid.
      
      This patch is required for an upcoming patch series from me that revamps
      the nfs exporting code and introduces a Linux-wide struct fid.
      
      SGI-PV: 970336
      SGI-Modid: xfs-linux-melb:xfs-kern:29651a
      Signed-off-by: NChristoph Hellwig <hch@infradead.org>
      Signed-off-by: NLachlan McIlroy <lachlan@sgi.com>
      Signed-off-by: NTim Shimmin <tes@sgi.com>
      c6143911
  11. 16 10月, 2007 5 次提交
  12. 15 10月, 2007 2 次提交
  13. 14 7月, 2007 1 次提交
    • M
      [XFS] Fix XFS_IOC_FSBULKSTAT{,_SINGLE} & XFS_IOC_FSINUMBERS in compat mode · faa63e95
      Michal Marek 提交于
      * 32bit struct xfs_fsop_bulkreq has different size and layout of
      members, no matter the alignment. Move the code out of the #else
      branch (why was it there in the first place?). Define _32 variants of
      the ioctl constants.
      * 32bit struct xfs_bstat is different because of time_t and on
      i386 because of different padding. Make xfs_bulkstat_one() accept a
      custom "output formatter" in the private_data argument which takes care
      of the xfs_bulkstat_one_compat() that takes care of the different
      layout in the compat case.
      * i386 struct xfs_inogrp has different padding.
      Add a similar "output formatter" mecanism to xfs_inumbers().
      
      SGI-PV: 967354
      SGI-Modid: xfs-linux-melb:xfs-kern:29102a
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      Signed-off-by: NDavid Chinner <dgc@sgi.com>
      Signed-off-by: NTim Shimmin <tes@sgi.com>
      faa63e95
  14. 10 2月, 2007 4 次提交
  15. 09 12月, 2006 1 次提交
  16. 11 11月, 2006 1 次提交
  17. 28 9月, 2006 2 次提交
  18. 20 6月, 2006 1 次提交
  19. 09 6月, 2006 1 次提交