flo: Move QCamera sockets from /data to /dev/socket/qcamera

Change-Id: I0241f6e0a3f56f0bbe34bb44997596d074efcec9
Signed-off-by: Daniel Jarai <jaraidaniel@gmail.com>
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
This commit is contained in:
Daniel Jarai
2020-10-13 23:51:11 +03:00
committed by Nolen Johnson
parent 556f8bda41
commit e5d5f31b86
5 changed files with 18 additions and 8 deletions

View File

@@ -75,7 +75,7 @@ int mm_camera_socket_create(int cam_id, mm_camera_sock_type_t sock_type)
memset(&sock_addr, 0, sizeof(sock_addr));
sock_addr.sun_family = AF_UNIX;
snprintf(sock_addr.sun_path, UNIX_PATH_MAX, "/data/cam_socket%d", cam_id);
snprintf(sock_addr.sun_path, UNIX_PATH_MAX, "/dev/socket/qcamera/cam%d", cam_id);
if((rc = connect(socket_fd, (struct sockaddr *) &sock_addr,
sizeof(sock_addr))) != 0) {
close(socket_fd);

View File

@@ -80,6 +80,9 @@ on boot
# Create sensors daemon socket area
mkdir /dev/socket/sensors 2770 system system
# Create QCamera daemon socket area
mkdir /dev/socket/qcamera 2770 camera camera
# Remove write permissions to video related nodes
chmod 0664 /sys/devices/virtual/graphics/fb1/hpd
chmod 0664 /sys/devices/virtual/graphics/fb1/video_mode

View File

@@ -12,18 +12,16 @@ allow camera video_device:chr_file rw_file_perms;
allow camera { surfaceflinger mediaserver cameraserver }:fd use;
hal_client_domain(camera, hal_graphics_allocator)
# Create front and back camera sockets (/data/cam_socket[12])
type_transition camera system_data_file:sock_file camera_socket "cam_socket1";
type_transition camera system_data_file:sock_file camera_socket "cam_socket2";
allow camera camera_socket:sock_file { create unlink };
allow camera system_data_file:dir w_dir_perms;
allow camera system_data_file:sock_file unlink;
# Create camera sockets
allow camera camera_socket:dir w_dir_perms;
allow camera camera_socket:sock_file create_file_perms;
type_transition camera system_data_file:file camera_data_file "fdAlbum";
allow camera camera_data_file:file create_file_perms;
# Connect to sensor socket
unix_socket_connect(camera, sensors, sensors)
allow camera sensors_socket:dir search;
allow camera sensors_socket:sock_file read;
# Read camera files from persist filesystem

View File

@@ -54,7 +54,7 @@
/system/vendor/bin/ks u:object_r:kickstart_exec:s0
/system/vendor/bin/kickstart_checker\.sh u:object_r:kickstart_exec:s0
/data/cam_socket[0-9] u:object_r:camera_socket:s0
/dev/socket/qcamera(/.*)? u:object_r:camera_socket:s0
/dev/socket/sensors(/.*)? u:object_r:sensors_socket:s0
/data/vendor/sensors(/.*)? u:object_r:sensors_vendor_data_file:s0

View File

@@ -0,0 +1,9 @@
vndbinder_use(hal_camera_default);
# Text relocations in libmmjpeg
allow hal_camera_default vendor_file:file execmod;
allow hal_camera_default hal_graphics_mapper_hwservice:hwservice_manager find;
allow hal_camera_default camera_socket:dir search;
unix_socket_send(hal_camera_default, camera, camera)