diff --git a/private/bufferhubd.te b/private/bufferhubd.te
index 012eb20270cb536f73ae5c02e199a76706106312..31328ac73229498d1222f43ba4d805357af865d2 100644
--- a/private/bufferhubd.te
+++ b/private/bufferhubd.te
@@ -1,3 +1,7 @@
 typeattribute bufferhubd coredomain;
 
 init_daemon_domain(bufferhubd)
+
+# Permission for create binder service "bufferhubd"
+binder_use(bufferhubd);
+add_service(bufferhubd, buffer_hub_service);
diff --git a/private/compat/26.0/26.0.ignore.cil b/private/compat/26.0/26.0.ignore.cil
index b70b2aba7b71c31f631a83c8db72e17757ce5373..b64e10e911c6065a96311239bf5ad0578e9a350e 100644
--- a/private/compat/26.0/26.0.ignore.cil
+++ b/private/compat/26.0/26.0.ignore.cil
@@ -18,6 +18,8 @@
     bpfloader
     bpfloader_exec
     broadcastradio_service
+    ;; TODO(b/116344577): remove after the issue is resolved
+    buffer_hub_service
     cgroup_bpf
     color_display_service
     crossprofileapps_service
diff --git a/private/compat/27.0/27.0.ignore.cil b/private/compat/27.0/27.0.ignore.cil
index 1e38d2d528385d86eeb679e909b30f3747881875..494e63456912fef633109cc148b6ab038384b57e 100644
--- a/private/compat/27.0/27.0.ignore.cil
+++ b/private/compat/27.0/27.0.ignore.cil
@@ -16,6 +16,8 @@
     bluetooth_a2dp_offload_prop
     bpfloader
     bpfloader_exec
+    ;; TODO(b/116344577): remove after the issue is resolved
+    buffer_hub_service
     cgroup_bpf
     color_display_service
     crossprofileapps_service
diff --git a/private/compat/28.0/28.0.ignore.cil b/private/compat/28.0/28.0.ignore.cil
index 9d9fc2058b5bd055d1bf9a6455bcd047094cb2e6..cd7b7c8927136444f74699699882ca181ccbcac4 100644
--- a/private/compat/28.0/28.0.ignore.cil
+++ b/private/compat/28.0/28.0.ignore.cil
@@ -7,6 +7,8 @@
     adb_service
     app_binding_service
     biometric_service
+    ;; TODO(b/116344577): remove after the issue is resolved
+    buffer_hub_service
     fastbootd
     color_display_service
     hal_health_storage_hwservice
diff --git a/private/service.te b/private/service.te
index 3fec8825a777cbcd7c68feb024999a109ffeab08..660bc1ed7ccee8e296edbbb07365e374baf37943 100644
--- a/private/service.te
+++ b/private/service.te
@@ -1,2 +1,3 @@
+type buffer_hub_service, service_manager_type;
 type stats_service, service_manager_type;
 type statscompanion_service, system_server_service, service_manager_type;
diff --git a/private/service_contexts b/private/service_contexts
index ebd8a362eef3234da042f29ff210129f41055711..e04227b550fdd751fed097f64c7aa009650fbea7 100644
--- a/private/service_contexts
+++ b/private/service_contexts
@@ -22,6 +22,7 @@ biometric                                 u:object_r:biometric_service:s0
 bluetooth_manager                         u:object_r:bluetooth_manager_service:s0
 bluetooth                                 u:object_r:bluetooth_service:s0
 broadcastradio                            u:object_r:broadcastradio_service:s0
+bufferhubd                                u:object_r:buffer_hub_service:s0
 carrier_config                            u:object_r:radio_service:s0
 clipboard                                 u:object_r:clipboard_service:s0
 com.android.net.IProxyService             u:object_r:IProxyService_service:s0
diff --git a/private/shell.te b/private/shell.te
index 130a13015944d70af19907daa7ac2262bdbe256c..121377799bc90d00eed5a2921015dd53e5d000e5 100644
--- a/private/shell.te
+++ b/private/shell.te
@@ -51,3 +51,6 @@ binder_call(shell, statsd);
 # Allow shell to read and unlink traces stored in /data/misc/perfetto-traces.
 allow shell perfetto_traces_data_file:dir rw_dir_perms;
 allow shell perfetto_traces_data_file:file r_file_perms;
+
+# Allow shell-based "dumpsys" to call into bufferhubd.
+binder_call(shell, bufferhubd);
diff --git a/public/bufferhubd.te b/public/bufferhubd.te
index 580462c08feb614cccc7d706727f273ff17d897e..10826d3ddf8e918253c80918eb14fc23a3c40b73 100644
--- a/public/bufferhubd.te
+++ b/public/bufferhubd.te
@@ -4,6 +4,7 @@ type bufferhubd_exec, exec_type, file_type;
 
 hal_client_domain(bufferhubd, hal_graphics_allocator)
 
+# TODO(b/112338294): remove these after migrate to Binder
 pdx_server(bufferhubd, bufferhub_client)
 pdx_client(bufferhubd, performance_client)