From ee3533d78501b868a10c58f029c30db57e409c83 Mon Sep 17 00:00:00 2001 From: Biswajit Paul Date: Thu, 2 Oct 2014 18:40:35 -0700 Subject: ueventd: Add bootdevice links support for selinux Adding bootdevice support to define context on common symlink. Change-Id: I25d7239614539d1ef2c9920e2c321824ee2c664b --- init/devices.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/init/devices.cpp b/init/devices.cpp index 9151f06..ba82f4f 100644 --- a/init/devices.cpp +++ b/init/devices.cpp @@ -487,10 +487,10 @@ static char **get_block_device_symlinks(struct uevent *uevent) return NULL; } - char **links = (char**) malloc(sizeof(char *) * 4); + char **links = (char**) malloc(sizeof(char *) * 6); if (!links) return NULL; - memset(links, 0, sizeof(char *) * 4); + memset(links, 0, sizeof(char *) * 6); INFO("found %s device %s\n", type, device); @@ -505,6 +505,11 @@ static char **get_block_device_symlinks(struct uevent *uevent) link_num++; else links[link_num] = NULL; + if (asprintf(&links[link_num], "/dev/block/bootdevice/by-name/%s", p) > 0) + link_num++; + else + links[link_num] = NULL; + free(p); } @@ -513,6 +518,11 @@ static char **get_block_device_symlinks(struct uevent *uevent) link_num++; else links[link_num] = NULL; + + if (asprintf(&links[link_num], "/dev/block/bootdevice/by-num/p%d", uevent->partition_num) > 0) + link_num++; + else + links[link_num] = NULL; } slash = strrchr(uevent->path, '/'); -- cgit v1.1