Browse Source

Android 6.0.1 Release 72 (M4B30X)

-----BEGIN PGP SIGNATURE-----
 
 iEYEABECAAYFAlfz3S0ACgkQ6K0/gZqxDnhJWgCfRoySrnvsFMmshmNaBf/EqTzK
 aLcAmQFWLnkHlnHBkOZDYh8SQlmRpqr1
 =qsLC
 -----END PGP SIGNATURE-----

Merge tag 'android-6.0.1_r72' into HEAD

Android 6.0.1 Release 72 (M4B30X)

# gpg: Signature made Tue 04 Oct 2016 09:47:41 AM PDT using DSA key ID 9AB10E78
# gpg: Can't check signature: public key not found
replicant-6.0
Jessica Wagantall 4 years ago
parent
commit
b22bca465e
2 changed files with 10 additions and 3 deletions
  1. +1
    -1
      cmds/servicemanager/Android.mk
  2. +9
    -2
      cmds/servicemanager/service_manager.c

+ 1
- 1
cmds/servicemanager/Android.mk View File

@@ -18,7 +18,7 @@ LOCAL_MODULE_TAGS := optional
include $(BUILD_EXECUTABLE)

include $(CLEAR_VARS)
LOCAL_SHARED_LIBRARIES := liblog libselinux
LOCAL_SHARED_LIBRARIES := liblog libcutils libselinux
LOCAL_SRC_FILES := service_manager.c binder.c
LOCAL_CFLAGS += $(svc_c_flags)
LOCAL_MODULE := servicemanager


+ 9
- 2
cmds/servicemanager/service_manager.c View File

@@ -8,6 +8,8 @@
#include <stdlib.h>
#include <string.h>

#include <cutils/multiuser.h>

#include <private/android_filesystem_config.h>

#include <selinux/android.h>
@@ -107,9 +109,14 @@ static bool check_mac_perms_from_lookup(pid_t spid, const char *perm, const char
return allowed;
}

static int svc_can_register(const uint16_t *name, size_t name_len, pid_t spid)
static int svc_can_register(const uint16_t *name, size_t name_len, pid_t spid, uid_t uid)
{
const char *perm = "add";

if (multiuser_get_app_id(uid) >= AID_APP) {
return 0; /* Don't allow apps to register services */
}

return check_mac_perms_from_lookup(spid, perm, str8(name, name_len)) ? 1 : 0;
}

@@ -204,7 +211,7 @@ int do_add_service(struct binder_state *bs,
if (!handle || (len == 0) || (len > 127))
return -1;

if (!svc_can_register(s, len, spid)) {
if (!svc_can_register(s, len, spid, uid)) {
ALOGE("add_service('%s',%x) uid=%d - PERMISSION DENIED\n",
str8(s, len), handle, uid);
return -1;


Loading…
Cancel
Save