diff --git a/adb/daemon/main.cpp b/adb/daemon/main.cpp index a6d43eaff..1c94298da 100644 --- a/adb/daemon/main.cpp +++ b/adb/daemon/main.cpp @@ -107,10 +107,10 @@ static void drop_privileges(int server_port) { // AID_SDCARD_RW to allow writing to the SD card // AID_NET_BW_STATS to read out qtaguid statistics // AID_READPROC for reading /proc entries across UID boundaries - gid_t groups[] = {AID_ADB, AID_LOG, AID_INPUT, - AID_INET, AID_NET_BT, AID_NET_BT_ADMIN, - AID_SDCARD_R, AID_SDCARD_RW, AID_NET_BW_STATS, - AID_READPROC}; + // AID_UHID for using 'hid' command to read/write to /dev/uhid + gid_t groups[] = {AID_ADB, AID_LOG, AID_INPUT, AID_INET, + AID_NET_BT, AID_NET_BT_ADMIN, AID_SDCARD_R, AID_SDCARD_RW, + AID_NET_BW_STATS, AID_READPROC, AID_UHID}; minijail_set_supplementary_gids(jail.get(), arraysize(groups), groups); // Don't listen on a port (default 5037) if running in secure mode. diff --git a/libcutils/include/private/android_filesystem_config.h b/libcutils/include/private/android_filesystem_config.h index fdead2379..48b50a5da 100644 --- a/libcutils/include/private/android_filesystem_config.h +++ b/libcutils/include/private/android_filesystem_config.h @@ -152,6 +152,7 @@ #define AID_NET_BW_ACCT 3007 /* change bandwidth statistics accounting */ #define AID_READPROC 3009 /* Allow /proc read access */ #define AID_WAKELOCK 3010 /* Allow system wakelock read/write access */ +#define AID_UHID 3011 /* Allow read/write to /dev/uhid node */ /* The range 5000-5999 is also reserved for OEM, and must never be used here. */ #define AID_OEM_RESERVED_2_START 5000 diff --git a/rootdir/ueventd.rc b/rootdir/ueventd.rc index 1609ef2db..efd0da5d5 100644 --- a/rootdir/ueventd.rc +++ b/rootdir/ueventd.rc @@ -68,7 +68,7 @@ subsystem sound /dev/diag 0660 radio radio /dev/diag_arm9 0660 radio radio /dev/ttyMSM0 0600 bluetooth bluetooth -/dev/uhid 0660 system bluetooth +/dev/uhid 0660 uhid uhid /dev/uinput 0660 system bluetooth /dev/alarm 0664 system radio /dev/rtc0 0640 system system