Merge branch 'work.mount' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull vfs mount infrastructure updates from Al Viro: "The rest of core infrastructure; no new syscalls in that pile, but the old parts are switched to new infrastructure. At that point conversions of individual filesystems can happen independently; some are done here (afs, cgroup, procfs, etc.), there's also a large series outside of that pile dealing with NFS (quite a bit of option-parsing stuff is getting used there - it's one of the most convoluted filesystems in terms of mount-related logics), but NFS bits are the next cycle fodder. It got seriously simplified since the last cycle; documentation is probably the weakest bit at the moment - I considered dropping the commit introducing Documentation/filesystems/mount_api.txt (cutting the size increase by quarter ;-), but decided that it would be better to fix it up after -rc1 instead. That pile allows to do followup work in independent branches, which should make life much easier for the next cycle. fs/super.c size increase is unpleasant; there's a followup series that allows to shrink it considerably, but I decided to leave that until the next cycle" * 'work.mount' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (41 commits) afs: Use fs_context to pass parameters over automount afs: Add fs_context support vfs: Add some logging to the core users of the fs_context log vfs: Implement logging through fs_context vfs: Provide documentation for new mount API vfs: Remove kern_mount_data() hugetlbfs: Convert to fs_context cpuset: Use fs_context kernfs, sysfs, cgroup, intel_rdt: Support fs_context cgroup: store a reference to cgroup_ns into cgroup_fs_context cgroup1_get_tree(): separate "get cgroup_root to use" into a separate helper cgroup_do_mount(): massage calling conventions cgroup: stash cgroup_root reference into cgroup_fs_context cgroup2: switch to option-by-option parsing cgroup1: switch to option-by-option parsing cgroup: take options parsing into ->parse_monolithic() cgroup: fold cgroup1_mount() into cgroup1_get_tree() cgroup: start switching to fs_context ipc: Convert mqueue fs to fs_context proc: Add fs_context support to procfs ...
This commit is contained in:
@@ -76,6 +76,22 @@
|
||||
* changes on the process such as clearing out non-inheritable signal
|
||||
* state. This is called immediately after commit_creds().
|
||||
*
|
||||
* Security hooks for mount using fs_context.
|
||||
* [See also Documentation/filesystems/mounting.txt]
|
||||
*
|
||||
* @fs_context_dup:
|
||||
* Allocate and attach a security structure to sc->security. This pointer
|
||||
* is initialised to NULL by the caller.
|
||||
* @fc indicates the new filesystem context.
|
||||
* @src_fc indicates the original filesystem context.
|
||||
* @fs_context_parse_param:
|
||||
* Userspace provided a parameter to configure a superblock. The LSM may
|
||||
* reject it with an error and may use it for itself, in which case it
|
||||
* should return 0; otherwise it should return -ENOPARAM to pass it on to
|
||||
* the filesystem.
|
||||
* @fc indicates the filesystem context.
|
||||
* @param The parameter
|
||||
*
|
||||
* Security hooks for filesystem operations.
|
||||
*
|
||||
* @sb_alloc_security:
|
||||
@@ -1460,6 +1476,9 @@ union security_list_options {
|
||||
void (*bprm_committing_creds)(struct linux_binprm *bprm);
|
||||
void (*bprm_committed_creds)(struct linux_binprm *bprm);
|
||||
|
||||
int (*fs_context_dup)(struct fs_context *fc, struct fs_context *src_sc);
|
||||
int (*fs_context_parse_param)(struct fs_context *fc, struct fs_parameter *param);
|
||||
|
||||
int (*sb_alloc_security)(struct super_block *sb);
|
||||
void (*sb_free_security)(struct super_block *sb);
|
||||
void (*sb_free_mnt_opts)(void *mnt_opts);
|
||||
@@ -1800,6 +1819,8 @@ struct security_hook_heads {
|
||||
struct hlist_head bprm_check_security;
|
||||
struct hlist_head bprm_committing_creds;
|
||||
struct hlist_head bprm_committed_creds;
|
||||
struct hlist_head fs_context_dup;
|
||||
struct hlist_head fs_context_parse_param;
|
||||
struct hlist_head sb_alloc_security;
|
||||
struct hlist_head sb_free_security;
|
||||
struct hlist_head sb_free_mnt_opts;
|
||||
|
Reference in New Issue
Block a user