Home | History | Annotate | Download | only in fsverity-utils
      1 // SPDX-License-Identifier: GPL-2.0+
      2 /*
      3  * The 'fsverity enable' command
      4  *
      5  * Copyright (C) 2018 Google LLC
      6  *
      7  * Written by Eric Biggers.
      8  */
      9 
     10 #include <fcntl.h>
     11 #include <sys/ioctl.h>
     12 
     13 #include "commands.h"
     14 #include "fsverity_uapi.h"
     15 
     16 int fsverity_cmd_enable(const struct fsverity_command *cmd,
     17 			int argc, char *argv[])
     18 {
     19 	struct filedes file;
     20 
     21 	if (argc != 2) {
     22 		usage(cmd, stderr);
     23 		return 2;
     24 	}
     25 
     26 	if (!open_file(&file, argv[1], O_RDONLY, 0))
     27 		return 1;
     28 	if (ioctl(file.fd, FS_IOC_ENABLE_VERITY, NULL) != 0) {
     29 		error_msg_errno("FS_IOC_ENABLE_VERITY failed on '%s'",
     30 				file.name);
     31 		filedes_close(&file);
     32 		return 1;
     33 	}
     34 	if (!filedes_close(&file))
     35 		return 1;
     36 	return 0;
     37 }
     38