From 0729dd1edb1e392f60f9a2ad5cc06a84df2ab1f6 Mon Sep 17 00:00:00 2001 From: Siarhei Vishniakou Date: Mon, 8 May 2017 15:50:55 -0700 Subject: [PATCH] Adding 'uhid' permission for access to /dev/uhid. This CL is in support of another CL c/2048848, topic 'Refactor hid command in /frameworks/base/cmds' in internal master. Adding the permissions for shell here to access uhid_node as part of the new 'uhid' group. Bug: 34052337 Test: Tested on angler, bluetooth mouse works OK. Change-Id: If9e100aa1262d689fb8adc5c0ce93f157c96399e --- adb/daemon/main.cpp | 8 ++++---- libcutils/include/private/android_filesystem_config.h | 1 + rootdir/ueventd.rc | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/adb/daemon/main.cpp b/adb/daemon/main.cpp index 7a87df461..7d5352d31 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 bbba8536e..97c497563 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