FBE for Pixel 2
Includes various minor fixes for building in Android 8 trees with r23+ tag Update FBE extended header in libtar to version 2 and include the entire ext4_encryption_policy structure now after translating the policy. See this post for more details: https://plus.google.com/u/1/+DeesTroy/posts/i33ygUi7tiu Change-Id: I2af981e51f459b17fcd895fb8c2d3f6c8200e24b
This commit is contained in:
@@ -64,9 +64,48 @@ static void set_usb_driver(bool enabled) {
|
||||
}
|
||||
}
|
||||
|
||||
// On Android 8.0 for some reason init can't seem to completely stop adbd
|
||||
// so we have to kill it too if it doesn't die on its own.
|
||||
static void kill_adbd() {
|
||||
DIR* dir = opendir("/proc");
|
||||
if (dir) {
|
||||
struct dirent* de = 0;
|
||||
|
||||
while ((de = readdir(dir)) != 0) {
|
||||
if (strcmp(de->d_name, ".") == 0 || strcmp(de->d_name, "..") == 0)
|
||||
continue;
|
||||
|
||||
int pid = -1;
|
||||
int ret = sscanf(de->d_name, "%d", &pid);
|
||||
|
||||
if (ret == 1) {
|
||||
char cmdpath[PATH_MAX];
|
||||
sprintf(cmdpath, "/proc/%d/cmdline", pid);
|
||||
|
||||
FILE* file = fopen(cmdpath, "r");
|
||||
size_t task_size = PATH_MAX;
|
||||
char task[PATH_MAX];
|
||||
char* p = task;
|
||||
if (getline(&p, &task_size, file) > 0) {
|
||||
if (strstr(task, "adbd") != 0) {
|
||||
printf("adbd pid %d found, sending kill.\n", pid);
|
||||
kill(pid, SIGINT);
|
||||
usleep(5000);
|
||||
kill(pid, SIGKILL);
|
||||
}
|
||||
}
|
||||
fclose(file);
|
||||
}
|
||||
}
|
||||
closedir(dir);
|
||||
}
|
||||
}
|
||||
|
||||
static void stop_adbd() {
|
||||
printf("Stopping adbd...\n");
|
||||
property_set("ctl.stop", "adbd");
|
||||
usleep(5000);
|
||||
kill_adbd();
|
||||
set_usb_driver(false);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user