Commit 3ad2522c authored by Eric Biggers's avatar Eric Biggers

statx: define STATX_ATTR_VERITY

Add a statx attribute bit STATX_ATTR_VERITY which will be set if the
file has fs-verity enabled.  This is the statx() equivalent of
FS_VERITY_FL which is returned by FS_IOC_GETFLAGS.

This is useful because it allows applications to check whether a file is
a verity file without opening it.  Opening a verity file can be
expensive because the fsverity_info is set up on open, which involves
parsing metadata and optionally verifying a cryptographic signature.

This is analogous to how various other bits are exposed through both
FS_IOC_GETFLAGS and statx(), e.g. the encrypt bit.
Reviewed-by: default avatarAndreas Dilger <adilger@dilger.ca>
Acked-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: default avatarEric Biggers <ebiggers@google.com>
parent c0d782a3
...@@ -33,7 +33,8 @@ struct kstat { ...@@ -33,7 +33,8 @@ struct kstat {
STATX_ATTR_IMMUTABLE | \ STATX_ATTR_IMMUTABLE | \
STATX_ATTR_APPEND | \ STATX_ATTR_APPEND | \
STATX_ATTR_NODUMP | \ STATX_ATTR_NODUMP | \
STATX_ATTR_ENCRYPTED \ STATX_ATTR_ENCRYPTED | \
STATX_ATTR_VERITY \
)/* Attrs corresponding to FS_*_FL flags */ )/* Attrs corresponding to FS_*_FL flags */
u64 ino; u64 ino;
dev_t dev; dev_t dev;
......
...@@ -167,8 +167,8 @@ struct statx { ...@@ -167,8 +167,8 @@ struct statx {
#define STATX_ATTR_APPEND 0x00000020 /* [I] File is append-only */ #define STATX_ATTR_APPEND 0x00000020 /* [I] File is append-only */
#define STATX_ATTR_NODUMP 0x00000040 /* [I] File is not to be dumped */ #define STATX_ATTR_NODUMP 0x00000040 /* [I] File is not to be dumped */
#define STATX_ATTR_ENCRYPTED 0x00000800 /* [I] File requires key to decrypt in fs */ #define STATX_ATTR_ENCRYPTED 0x00000800 /* [I] File requires key to decrypt in fs */
#define STATX_ATTR_AUTOMOUNT 0x00001000 /* Dir: Automount trigger */ #define STATX_ATTR_AUTOMOUNT 0x00001000 /* Dir: Automount trigger */
#define STATX_ATTR_VERITY 0x00100000 /* [I] Verity protected file */
#endif /* _UAPI_LINUX_STAT_H */ #endif /* _UAPI_LINUX_STAT_H */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment