mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-26 10:49:33 +00:00
![Christian Brauner](/assets/img/avatar_default.png)
Extend some inode methods with an additional user namespace argument. A filesystem that is aware of idmapped mounts will receive the user namespace the mount has been marked with. This can be used for additional permission checking and also to enable filesystems to translate between uids and gids if they need to. We have implemented all relevant helpers in earlier patches. As requested we simply extend the exisiting inode method instead of introducing new ones. This is a little more code churn but it's mostly mechanical and doesnt't leave us with additional inode methods. Link: https://lore.kernel.org/r/20210121131959.646623-25-christian.brauner@ubuntu.com Cc: Christoph Hellwig <hch@lst.de> Cc: David Howells <dhowells@redhat.com> Cc: Al Viro <viro@zeniv.linux.org.uk> Cc: linux-fsdevel@vger.kernel.org Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
51 lines
1.1 KiB
C
51 lines
1.1 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/*
|
|
* fs/f2fs/acl.h
|
|
*
|
|
* Copyright (c) 2012 Samsung Electronics Co., Ltd.
|
|
* http://www.samsung.com/
|
|
*
|
|
* Portions of this code from linux/fs/ext2/acl.h
|
|
*
|
|
* Copyright (C) 2001-2003 Andreas Gruenbacher, <agruen@suse.de>
|
|
*/
|
|
#ifndef __F2FS_ACL_H__
|
|
#define __F2FS_ACL_H__
|
|
|
|
#include <linux/posix_acl_xattr.h>
|
|
|
|
#define F2FS_ACL_VERSION 0x0001
|
|
|
|
struct f2fs_acl_entry {
|
|
__le16 e_tag;
|
|
__le16 e_perm;
|
|
__le32 e_id;
|
|
};
|
|
|
|
struct f2fs_acl_entry_short {
|
|
__le16 e_tag;
|
|
__le16 e_perm;
|
|
};
|
|
|
|
struct f2fs_acl_header {
|
|
__le32 a_version;
|
|
};
|
|
|
|
#ifdef CONFIG_F2FS_FS_POSIX_ACL
|
|
|
|
extern struct posix_acl *f2fs_get_acl(struct inode *, int);
|
|
extern int f2fs_set_acl(struct user_namespace *, struct inode *,
|
|
struct posix_acl *, int);
|
|
extern int f2fs_init_acl(struct inode *, struct inode *, struct page *,
|
|
struct page *);
|
|
#else
|
|
#define f2fs_get_acl NULL
|
|
#define f2fs_set_acl NULL
|
|
|
|
static inline int f2fs_init_acl(struct inode *inode, struct inode *dir,
|
|
struct page *ipage, struct page *dpage)
|
|
{
|
|
return 0;
|
|
}
|
|
#endif
|
|
#endif /* __F2FS_ACL_H__ */
|