lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 16 Sep 2010 15:11:51 -0700
From:	Valerie Aurora <vaurora@...hat.com>
To:	Alexander Viro <viro@...iv.linux.org.uk>
Cc:	Miklos Szeredi <miklos@...redi.hu>,
	Christoph Hellwig <hch@...radead.org>,
	Andreas Gruenbacher <agruen@...e.de>,
	Nick Piggin <npiggin@...nel.dk>, linux-kernel@...r.kernel.org,
	linux-fsdevel@...r.kernel.org, Valerie Aurora <vaurora@...hat.com>
Subject: [PATCH 00/34] Union mount core for review

This series is the core mount and lookup infrastructure from union
mounts, split up into small, easily digestible, bikeshed-friendly
pieces.  All of the (non-documentation, non-whitespace) patches in
this series are less than 140 lines long.  It's like Twitter for
kernel patches.

VFS developers should be able to review each of these patches in 3
minutes or less.  If it takes you longer, email me and I'll post a
video on YouTube making fun of you.

Changes since last posted version:

 - Lower directory entries now in one array, not linked list
 - Use clone_mnt() flags to automate hard read-only counts
 - Actually enforce top-layer-mounted-only-once rule
 - Retune DNAME_INLINE_LEN_MIN to keep 64-byte alignment
 - Updated documentation

Next on the todo list:

 - Rewrite in-kernel copyup to be more awesomer
  * Prevent half-finished copies appearing after crash
  * Set correct owners/perms/etc. of copied up dirs/files
  * Remove races between parent/target lookup
  * On metadata writes, only copyup file data if it succeeds
 - Keep reviewing hybrid union patches

After I finish that (3-4 weeks?), I have nothing major left on my
to-do list.  I'm sure that will change as I get code reviews. :)

Against 2.6.35.  The rest of the series (whiteouts, fallthrus,
soon-to-be-obsolete copyup, etc.) is in branch "split_lookup"
in:

git://git.kernel.org/pub/scm/linux/kernel/git/val/linux-2.6.git

Thanks for reviewing!

-VAL

Jan Blunck (3):
  union-mount: Introduce MNT_UNION and MS_UNION flags
  union-mount: Free union stack on removal of topmost dentry from
    dcache
  union-mount: Create IS_MNT_UNION()

Valerie Aurora (31):
  VFS: Make clone_mnt() and copy_tree() return error codes
  VFS: Add CL_NO_SHARED flag to clone_mnt()/copy_tree()
  VFS: Add CL_NO_SLAVE flag to clone_mnt()/copy_tree()
  VFS: Add CL_MAKE_HARD_READONLY flag to clone_mnt()/copy_tree()
  union-mount: Union mounts documentation
  union-mount: Add CONFIG_UNION_MOUNT option
  union-mount: Create union_stack structure
  union-mount: Add two superblock fields for union mounts
  union-mount: Add union_alloc()
  union-mount: Add union_find_dir()
  union-mount: Create d_free_unions()
  union-mount: Create union_add_dir()
  union-mount: Add union_create_topmost_dir()
  union-mount: Create needs_lookup_union()
  union-mount: Create check_topmost_union_mnt()
  union-mount: Add clone_union_tree() and put_union_sb()
  union-mount: Create build_root_union()
  union-mount: Create prepare_mnt_union() and cleanup_mnt_union()
  union-mount: Prevent improper union-related remounts
  union-mount: Prevent topmost file system from being mounted elsewhere
  union-mount: Prevent bind mounts of union mounts
  union-mount: Implement union mount
  union-mount: Temporarily disable some syscalls
  union-mount: Basic infrastructure of __union_lookup()
  union-mount: Process negative dentries in __union_lookup()
  union-mount: Return files found in lower layers in __union_lookup()
  union-mount: Build union stack in __lookup_union()
  union-mount: Follow mount in __lookup_union()
  union-mount: Add lookup_union() wrapper for __lookup_union()
  union-mount: Add do_lookup_union() wrapper for __lookup_union()
  union-mount: Call union lookup functions in lookup path

 Documentation/filesystems/union-mounts.txt |  744 ++++++++++++++++++++++++++++
 fs/Kconfig                                 |   13 +
 fs/Makefile                                |    1 +
 fs/dcache.c                                |   14 +
 fs/namei.c                                 |  204 ++++++++
 fs/namespace.c                             |  378 ++++++++++++--
 fs/pnode.c                                 |    5 +-
 fs/pnode.h                                 |    3 +
 fs/super.c                                 |    1 +
 fs/union.c                                 |  178 +++++++
 fs/union.h                                 |   80 +++
 include/linux/dcache.h                     |   22 +-
 include/linux/fs.h                         |   13 +
 include/linux/mount.h                      |    4 +
 14 files changed, 1604 insertions(+), 56 deletions(-)
 create mode 100644 Documentation/filesystems/union-mounts.txt
 create mode 100644 fs/union.c
 create mode 100644 fs/union.h

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ