| // SPDX-License-Identifier: GPL-2.0+ |
| /* |
| * The 'fsverity enable' command |
| * |
| * Copyright (C) 2018 Google LLC |
| * |
| * Written by Eric Biggers. |
| */ |
| |
| #include <fcntl.h> |
| #include <sys/ioctl.h> |
| |
| #include "commands.h" |
| #include "fsverity_uapi.h" |
| |
| int fsverity_cmd_enable(const struct fsverity_command *cmd, |
| int argc, char *argv[]) |
| { |
| struct filedes file; |
| |
| if (argc != 2) { |
| usage(cmd, stderr); |
| return 2; |
| } |
| |
| if (!open_file(&file, argv[1], O_RDONLY, 0)) |
| return 1; |
| if (ioctl(file.fd, FS_IOC_ENABLE_VERITY, NULL) != 0) { |
| error_msg_errno("FS_IOC_ENABLE_VERITY failed on '%s'", |
| file.name); |
| filedes_close(&file); |
| return 1; |
| } |
| if (!filedes_close(&file)) |
| return 1; |
| return 0; |
| } |