1. 01 May, 2013 1 commit
    • Dave Kleikamp's avatar
      jfs: fix a couple races · 73aaa22d
      Dave Kleikamp authored
      This patch fixes races uncovered by xfstests testcase 068.
      One race is the result of jfs_sync() trying to write a sync point to the
      journal after it has been frozen (or possibly in the process). Since
      freezing sync's the journal, there is no need to write a sync point so
      we simply want to return.
      The second involves jfs_write_inode() being called on a deleted inode.
      It calls jfs_flush_journal which is held up by the jfs_commit thread
      doing the final iput on the same deleted inode, which itself is
      waiting for the I_SYNC flag to be cleared. jfs_write_inode need not
      do anything when i_nlink is zero, which is the easy fix.
      Reported-by: default avatarMichael L. Semon <mlsemon35@gmail.com>
      Signed-off-by: default avatarDave Kleikamp <dave.kleikamp@oracle.com>
  2. 03 Mar, 2013 1 commit
    • Eric W. Biederman's avatar
      fs: Limit sys_mount to only request filesystem modules. · 7f78e035
      Eric W. Biederman authored
      Modify the request_module to prefix the file system type with "fs-"
      and add aliases to all of the filesystems that can be built as modules
      to match.
      A common practice is to build all of the kernel code and leave code
      that is not commonly needed as modules, with the result that many
      users are exposed to any bug anywhere in the kernel.
      Looking for filesystems with a fs- prefix limits the pool of possible
      modules that can be loaded by mount to just filesystems trivially
      making things safer with no real cost.
      Using aliases means user space can control the policy of which
      filesystem modules are auto-loaded by editing /etc/modprobe.d/*.conf
      with blacklist and alias directives.  Allowing simple, safe,
      well understood work-arounds to known problematic software.
      This also addresses a rare but unfortunate problem where the filesystem
      name is not the same as it's module name and module auto-loading
      would not work.  While writing this patch I saw a handful o...
  3. 22 Feb, 2013 1 commit
  4. 17 Jan, 2013 1 commit
  5. 07 Jan, 2013 1 commit
  6. 20 Dec, 2012 1 commit
  7. 17 Oct, 2012 1 commit
  8. 02 Oct, 2012 1 commit
  9. 21 Sep, 2012 1 commit
  10. 18 Sep, 2012 2 commits
    • Dave Kleikamp's avatar
      jfs: Fix do_div precision in commit b40c2e66 · 84f4141e
      Dave Kleikamp authored
      In a hasty fix to replace a 64-bit division with do_div, I
      unintentionally assigned the divisor to a 32-bit variable.
      Signed-off-by: default avatarDave Kleikamp <dave.kleikamp@oracle.com>
      Cc: Tino Reichardt <milky-kernel@mcmilk.de>
    • Eric W. Biederman's avatar
      userns: Pass a userns parameter into posix_acl_to_xattr and posix_acl_from_xattr · 5f3a4a28
      Eric W. Biederman authored
       - Pass the user namespace the uid and gid values in the xattr are stored
         in into posix_acl_from_xattr.
       - Pass the user namespace kuid and kgid values should be converted into
         when storing uid and gid values in an xattr in posix_acl_to_xattr.
      - Modify all callers of posix_acl_from_xattr and posix_acl_to_xattr to
        pass in &init_user_ns.
      In the short term this change is not strictly needed but it makes the
      code clearer.  In the longer term this change is necessary to be able to
      mount filesystems outside of the initial user namespace that natively
      store posix acls in the linux xattr format.
      Cc: Theodore Tso <tytso@mit.edu>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Andreas Dilger <adilger.kernel@dilger.ca>
      Cc: Jan Kara <jack@suse.cz>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
  11. 17 Sep, 2012 2 commits
  12. 22 Jul, 2012 2 commits
    • Al Viro's avatar
      don't expose I_NEW inodes via dentry->d_inode · 8fc37ec5
      Al Viro authored
      	d_instantiate(dentry, inode);
      is a bad idea; do it the other way round...
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
    • Jan Kara's avatar
      quota: Move quota syncing to ->sync_fs method · a1177825
      Jan Kara authored
      Since the moment writes to quota files are using block device page cache and
      space for quota structures is reserved at the moment they are first accessed we
      have no reason to sync quota before inode writeback. In fact this order is now
      only harmful since quota information can easily change during inode writeback
      (either because conversion of delayed-allocated extents or simply because of
      allocation of new blocks for simple filesystems not using page_mkwrite).
      So move syncing of quota information after writeback of inodes into ->sync_fs
      method. This way we do not have to use ->quota_sync callback which is primarily
      intended for use by quotactl syscall anyway and we get rid of calling
      ->sync_fs() twice unnecessarily. We skip quota syncing for OCFS2 since it does
      proper quota journalling in all cases (unlike ext3, ext4, and reiserfs which
      also support legacy non-journalled quotas) and thus there are no dirty quota
      CC: "Theodore Ts'o" <tytso@mit.edu>
      CC: Joel Becker <jlbec@evilplan.org>
      CC: reiserfs-devel@vger.kernel.org
      Acked-by: default avatarSteven Whitehouse <swhiteho@redhat.com>
      Acked-by: default avatarDave Kleikamp <shaggy@kernel.org>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
  13. 14 Jul, 2012 3 commits
  14. 05 May, 2012 1 commit
  15. 20 Mar, 2012 3 commits
  16. 06 Jan, 2012 1 commit
  17. 03 Jan, 2012 6 commits
  18. 21 Nov, 2011 1 commit
    • Tejun Heo's avatar
      freezer: unexport refrigerator() and update try_to_freeze() slightly · a0acae0e
      Tejun Heo authored
      There is no reason to export two functions for entering the
      refrigerator.  Calling refrigerator() instead of try_to_freeze()
      doesn't save anything noticeable or removes any race condition.
      * Rename refrigerator() to __refrigerator() and make it return bool
        indicating whether it scheduled out for freezing.
      * Update try_to_freeze() to return bool and relay the return value of
        __refrigerator() if freezing().
      * Convert all refrigerator() users to try_to_freeze().
      * Update documentation accordingly.
      * While at it, add might_sleep() to try_to_freeze().
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Cc: Samuel Ortiz <samuel@sortiz.org>
      Cc: Chris Mason <chris.mason@oracle.com>
      Cc: "Theodore Ts'o" <tytso@mit.edu>
      Cc: Steven Whitehouse <swhiteho@redhat.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Jan Kara <jack@suse.cz>
      Cc: KONISHI Ryusuke <konishi.ryusuke@lab.ntt.co.jp>
      Cc: Christoph Hellwig <hch@infradead.org>
  19. 02 Nov, 2011 3 commits
  20. 31 Oct, 2011 1 commit
  21. 01 Aug, 2011 3 commits
  22. 25 Jul, 2011 3 commits