the second vfs pile - rebase or no rebase?

From: Al Viro
Date: Wed Aug 01 2012 - 11:13:19 EST


The thing is, there's a couple of trivial conflicts on merge.
One in drivers/staging/gdm72xx/usb_boot.c (my patch has set_fs()
removed, since it's immediately followed by goto restore_fs, where
we do the same set_fs() anyway, and in your tree ret = -ENOENT; right
before that line is replaced with more informative ret = PTR_ERR(filp);
the conflict is resolved by keeping the assignment from your tree
and removing set_fs() call). Another is in drivers/usb/gadget/storage_common.c,
where you have
if (fsg_lun_is_open(curlun))
fsg_lun_close(curlun);

curlun->blksize = blksize;
curlun->blkbits = blkbits;
added around the get_file(filp) line that had been removed in my branch.
Resolved by keeping these added lines and dropping get_file() one...

Alternatively, I can rebase the damn thing; up to you. I would've
done just that (there's very little chance of this stuff having been pulled
anywhere in the few days this part of queue had been public), but considering
the fuckup in the first pile when I hadn't noticed the trouble to nfs.git
caused by rebase...

The stuff in there: fsfreeze deadlock fixes by Jan (essentially,
the deadlock reproduced by xfstests 068), symlink and hardlink
restriction patches (I still think that this is pointless as all
"security sclerosis^Whardening" tends to be, but Kees has addressed the
rest of objections and result is reasonably sane), plus assorted cleanups
and fixes. Note that another fsfreeze deadlock (emergency thaw one) is *not*
dealt with - the series by Fernando conflicts a lot with Jan's, breaks
userland ABI (FIFREEZE semantics gets changed) and trades the deadlock
for massive vfsmount leak; this is going to be handled next cycle. There
probably will be another pull request, but that stuff won't be in it.
Sorry.

In case you prefer to pull it as-is and resolve the conflicts
in merge commit, it's in the usual place -
git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git for-linus

Shortlog:
Al Viro (24):
move spu_forget() into spufs_rmdir()
spufs_create_context(): simplify failure exits
spufs: pull unlock-and-dput() up into spufs_create()
pull unlock+dput() out into do_spu_create()
new helper: done_path_create()
mknod: take sanity checks on mode into the very beginning
pull mnt_want_write()/mnt_drop_write() into kern_path_create()/done_path_create() resp.
clean unix_bind() up a bit
sanitize ecryptfs_lookup()
ecryptfs_lookup_interpose(): allocate dentry_info first
uninline file_free_rcu()
take grabbing f->f_path to do_dentry_open()
consolidate pipe file creation
slightly reduce idiocy in drivers/staging/bcm/Misc.c
slightly reduce lossage in gdm72xx
gadgetfs: clean up
sound_firmware: don't pass crap to filp_close()
brcm80211: pointless current->files passed to filp_close()
lockd: shift grabbing a reference to nlm_host into nlm_alloc_call()
lockd: handle lockowner allocation failure in nlmclnt_proc()
fix O_EXCL handling for devices
simplify lookup_open()/atomic_open() - do the temporary mnt_want_write() early
switch the protection of percpu_counter list to spinlock
delousing target_core_file a bit

Jan Kara (26):
fb_defio: Push file_update_time() into fb_deferred_io_mkwrite()
fs: Push file_update_time() into __block_page_mkwrite()
ceph: Push file_update_time() into ceph_page_mkwrite()
9p: Push file_update_time() into v9fs_vm_page_mkwrite()
gfs2: Push file_update_time() into gfs2_page_mkwrite()
sysfs: Push file_update_time() into bin_page_mkwrite()
mm: Update file times from fault path only if .page_mkwrite is not set
mm: Make default vm_ops provide ->page_mkwrite handler
fs: Push mnt_want_write() outside of i_mutex
fat: Push mnt_want_write() outside of i_mutex
btrfs: Push mnt_want_write() outside of i_mutex
nfsd: Push mnt_want_write() outside of i_mutex
fs: Improve filesystem freezing handling
fs: Add freezing handling to mnt_want_write() / mnt_drop_write()
fs: Skip atime update on frozen filesystem
fs: Protect write paths by sb_start_write - sb_end_write
ext4: Convert to new freezing mechanism
xfs: Convert to new freezing code
ocfs2: Convert to new freezing mechanism
gfs2: Convert to new freezing mechanism
fuse: Convert to new freezing mechanism
ntfs: Convert to new freezing mechanism
nilfs2: Convert to new freezing mechanism
btrfs: Convert to new freezing mechanism
ext2: Implement freezing
fs: Remove old freezing mechanism

Jeff Layton (1):
vfs: don't let do_last pass negative dentry to audit_inode

Kees Cook (2):
fs: add link restrictions
fs: add link restriction audit reporting

Valerie Aurora (1):
Documentation: Correct s_umount state for freeze_fs/unfreeze_fs

Diffstat:
Documentation/filesystems/Locking | 4 +-
Documentation/sysctl/fs.txt | 42 +++
arch/powerpc/platforms/cell/spufs/inode.c | 77 ++----
arch/powerpc/platforms/cell/spufs/syscalls.c | 2 +-
drivers/base/devtmpfs.c | 9 +-
.../net/wireless/brcm80211/brcmfmac/dhd_linux.c | 2 +-
drivers/staging/bcm/Misc.c | 31 +--
drivers/staging/gdm72xx/sdio_boot.c | 7 +-
drivers/staging/gdm72xx/usb_boot.c | 22 +-
drivers/target/target_core_file.c | 32 +--
drivers/usb/gadget/storage_common.c | 12 +-
drivers/usb/gadget/u_uac1.c | 6 +-
drivers/video/fb_defio.c | 2 +
fs/9p/vfs_file.c | 3 +
fs/btrfs/disk-io.c | 3 -
fs/btrfs/file.c | 3 +-
fs/btrfs/inode.c | 6 +-
fs/btrfs/ioctl.c | 23 +-
fs/btrfs/transaction.c | 7 +
fs/buffer.c | 28 +--
fs/ceph/addr.c | 3 +
fs/ecryptfs/inode.c | 30 +--
fs/exec.c | 19 +-
fs/ext2/inode.c | 5 +-
fs/ext2/super.c | 33 ++
fs/ext4/inode.c | 15 +-
fs/ext4/mmp.c | 6 +
fs/ext4/super.c | 31 +--
fs/fat/file.c | 15 +-
fs/file_table.c | 4 +-
fs/fuse/file.c | 4 +-
fs/gfs2/file.c | 18 +-
fs/gfs2/trans.c | 4 +
fs/inode.c | 12 +-
fs/internal.h | 4 +
fs/lockd/clntproc.c | 14 +-
fs/lockd/svc4proc.c | 1 +
fs/lockd/svclock.c | 1 -
fs/lockd/svcproc.c | 1 +
fs/namei.c | 313 +++++++++++++-------
fs/namespace.c | 97 +++++--
fs/nfsd/nfs4recover.c | 9 +-
fs/nfsd/nfsfh.c | 1 +
fs/nfsd/nfsproc.c | 9 +-
fs/nfsd/vfs.c | 79 +++---
fs/nfsd/vfs.h | 11 +-
fs/nilfs2/file.c | 18 +-
fs/nilfs2/ioctl.c | 2 -
fs/nilfs2/segment.c | 5 +-
fs/ntfs/file.c | 3 +-
fs/ocfs2/file.c | 11 +-
fs/ocfs2/ioctl.c | 14 +-
fs/ocfs2/journal.c | 7 +-
fs/ocfs2/mmap.c | 2 +
fs/ocfs2/refcounttree.c | 11 +-
fs/open.c | 15 +-
fs/pipe.c | 75 ++---
fs/splice.c | 3 +
fs/super.c | 252 ++++++++++++++--
fs/sysfs/bin.c | 2 +
fs/xfs/xfs_aops.c | 18 ++
fs/xfs/xfs_file.c | 10 +-
fs/xfs/xfs_ioctl.c | 55 ++++-
fs/xfs/xfs_ioctl32.c | 12 +
fs/xfs/xfs_iomap.c | 4 +-
fs/xfs/xfs_mount.c | 2 +-
fs/xfs/xfs_mount.h | 3 -
fs/xfs/xfs_sync.c | 2 +-
fs/xfs/xfs_trans.c | 17 +-
fs/xfs/xfs_trans.h | 2 +
include/linux/audit.h | 4 +
include/linux/fs.h | 154 +++++++++-
include/linux/mm.h | 1 +
include/linux/namei.h | 1 +
include/linux/nfsd/nfsfh.h | 1 +
include/linux/pipe_fs_i.h | 2 +
kernel/audit.c | 21 ++
kernel/sysctl.c | 18 ++
lib/percpu_counter.c | 14 +-
mm/filemap.c | 31 ++-
mm/filemap_xip.c | 6 +-
mm/memory.c | 14 +-
net/unix/af_unix.c | 93 +++---
sound/sound_firmware.c | 8 +-
84 files changed, 1327 insertions(+), 646 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/