samples/landlock: Add support for LANDLOCK_ACCESS_FS_IOCTL_DEV
Add IOCTL support to the Landlock sample tool. The IOCTL right is grouped with the read-write rights in the sample tool, as some IOCTL requests provide features that mutate state. Signed-off-by: Günther Noack <gnoack@google.com> Link: https://lore.kernel.org/r/20240419161122.2023765-9-gnoack@google.com Signed-off-by: Mickaël Salaün <mic@digikod.net>
This commit is contained in:
parent
bce605e0cf
commit
cd13738d44
@ -81,7 +81,8 @@ static int parse_path(char *env_path, const char ***const path_list)
|
||||
LANDLOCK_ACCESS_FS_EXECUTE | \
|
||||
LANDLOCK_ACCESS_FS_WRITE_FILE | \
|
||||
LANDLOCK_ACCESS_FS_READ_FILE | \
|
||||
LANDLOCK_ACCESS_FS_TRUNCATE)
|
||||
LANDLOCK_ACCESS_FS_TRUNCATE | \
|
||||
LANDLOCK_ACCESS_FS_IOCTL_DEV)
|
||||
|
||||
/* clang-format on */
|
||||
|
||||
@ -202,11 +203,12 @@ out_free_name:
|
||||
LANDLOCK_ACCESS_FS_MAKE_BLOCK | \
|
||||
LANDLOCK_ACCESS_FS_MAKE_SYM | \
|
||||
LANDLOCK_ACCESS_FS_REFER | \
|
||||
LANDLOCK_ACCESS_FS_TRUNCATE)
|
||||
LANDLOCK_ACCESS_FS_TRUNCATE | \
|
||||
LANDLOCK_ACCESS_FS_IOCTL_DEV)
|
||||
|
||||
/* clang-format on */
|
||||
|
||||
#define LANDLOCK_ABI_LAST 4
|
||||
#define LANDLOCK_ABI_LAST 5
|
||||
|
||||
int main(const int argc, char *const argv[], char *const *const envp)
|
||||
{
|
||||
@ -320,6 +322,11 @@ int main(const int argc, char *const argv[], char *const *const envp)
|
||||
ruleset_attr.handled_access_net &=
|
||||
~(LANDLOCK_ACCESS_NET_BIND_TCP |
|
||||
LANDLOCK_ACCESS_NET_CONNECT_TCP);
|
||||
__attribute__((fallthrough));
|
||||
case 4:
|
||||
/* Removes LANDLOCK_ACCESS_FS_IOCTL_DEV for ABI < 5 */
|
||||
ruleset_attr.handled_access_fs &= ~LANDLOCK_ACCESS_FS_IOCTL_DEV;
|
||||
|
||||
fprintf(stderr,
|
||||
"Hint: You should update the running kernel "
|
||||
"to leverage Landlock features "
|
||||
|
Loading…
Reference in New Issue
Block a user