diff --git a/inputflinger.te b/inputflinger.te
index dd5c08650ede037ab649b79c7330ccb413e0b69b..b08b3453b92c3d14f9da0fa966a8daf3a453c934 100644
--- a/inputflinger.te
+++ b/inputflinger.te
@@ -6,3 +6,5 @@ type inputflinger_exec, exec_type, file_type;
 init_daemon_domain(inputflinger)
 binder_use(inputflinger)
 binder_service(inputflinger)
+
+binder_call(inputflinger, system_server)
diff --git a/system_server.te b/system_server.te
index ecd31b31a4e44a22a4e7d6c9c0ea27b3652d0cbf..e85281cda3232736081b6c855a49ff7347dbbd90 100644
--- a/system_server.te
+++ b/system_server.te
@@ -132,6 +132,7 @@ binder_service(system_server)
 r_dir_file(system_server, mediaserver)
 r_dir_file(system_server, sdcardd)
 r_dir_file(system_server, surfaceflinger)
+r_dir_file(system_server, inputflinger)
 
 # Use sockets received over binder from various services.
 allow system_server mediaserver:tcp_socket rw_socket_perms;