1*2d543d20SAndroid Build Coastguard Worker #include <unistd.h> 2*2d543d20SAndroid Build Coastguard Worker #include <sys/types.h> 3*2d543d20SAndroid Build Coastguard Worker #include <fcntl.h> 4*2d543d20SAndroid Build Coastguard Worker #include <stdlib.h> 5*2d543d20SAndroid Build Coastguard Worker #include <errno.h> 6*2d543d20SAndroid Build Coastguard Worker #include <string.h> 7*2d543d20SAndroid Build Coastguard Worker #include "selinux_internal.h" 8*2d543d20SAndroid Build Coastguard Worker #include "policy.h" 9*2d543d20SAndroid Build Coastguard Worker #include <stdio.h> 10*2d543d20SAndroid Build Coastguard Worker #include <limits.h> 11*2d543d20SAndroid Build Coastguard Worker security_disable(void)12*2d543d20SAndroid Build Coastguard Workerint security_disable(void) 13*2d543d20SAndroid Build Coastguard Worker { 14*2d543d20SAndroid Build Coastguard Worker int fd, ret; 15*2d543d20SAndroid Build Coastguard Worker char path[PATH_MAX]; 16*2d543d20SAndroid Build Coastguard Worker char buf[20]; 17*2d543d20SAndroid Build Coastguard Worker 18*2d543d20SAndroid Build Coastguard Worker if (!selinux_mnt) { 19*2d543d20SAndroid Build Coastguard Worker errno = ENOENT; 20*2d543d20SAndroid Build Coastguard Worker return -1; 21*2d543d20SAndroid Build Coastguard Worker } 22*2d543d20SAndroid Build Coastguard Worker 23*2d543d20SAndroid Build Coastguard Worker snprintf(path, sizeof path, "%s/disable", selinux_mnt); 24*2d543d20SAndroid Build Coastguard Worker fd = open(path, O_WRONLY | O_CLOEXEC); 25*2d543d20SAndroid Build Coastguard Worker if (fd < 0) 26*2d543d20SAndroid Build Coastguard Worker return -1; 27*2d543d20SAndroid Build Coastguard Worker 28*2d543d20SAndroid Build Coastguard Worker buf[0] = '1'; 29*2d543d20SAndroid Build Coastguard Worker buf[1] = '\0'; 30*2d543d20SAndroid Build Coastguard Worker ret = write(fd, buf, strlen(buf)); 31*2d543d20SAndroid Build Coastguard Worker close(fd); 32*2d543d20SAndroid Build Coastguard Worker if (ret < 0) 33*2d543d20SAndroid Build Coastguard Worker return -1; 34*2d543d20SAndroid Build Coastguard Worker 35*2d543d20SAndroid Build Coastguard Worker return 0; 36*2d543d20SAndroid Build Coastguard Worker } 37*2d543d20SAndroid Build Coastguard Worker 38