diff --git a/file.te b/file.te
index 374ff6bd2ff2d082ec5e4ec00ca82d1902ea8859..0c965a38bdc739fbaee859b8bd264da9835254b7 100644
--- a/file.te
+++ b/file.te
@@ -22,6 +22,7 @@ type selinuxfs, fs_type, mlstrustedobject;
 type cgroup, fs_type, mlstrustedobject;
 type sysfs, fs_type, sysfs_type, mlstrustedobject;
 type sysfs_writable, fs_type, sysfs_type, mlstrustedobject;
+type sysfs_batteryinfo, fs_type, sysfs_type;
 type sysfs_bluetooth_writable, fs_type, sysfs_type, mlstrustedobject;
 type sysfs_nfc_power_writable, fs_type, sysfs_type, mlstrustedobject;
 type sysfs_wake_lock, fs_type, sysfs_type;
diff --git a/healthd.te b/healthd.te
index 48be64d99f612e76d6301b5c811f23f257775887..d09eab49021eaa68ae4a83e8d685f004466c94f1 100644
--- a/healthd.te
+++ b/healthd.te
@@ -16,6 +16,8 @@ binder_call(healthd, system_server)
 # TODO:  Split into a separate type?
 allow healthd sysfs:file write;
 
+allow healthd sysfs_batteryinfo:file r_file_perms;
+
 ###
 ### healthd: charger mode
 ###
diff --git a/shell.te b/shell.te
index 1ae7169e5af0ebc6cdccac55a2c9928c1bf9ff87..cb2bcbe83496655955ab4aa1a7da18ace24fede7 100644
--- a/shell.te
+++ b/shell.te
@@ -119,6 +119,8 @@ allow shell bootchart_data_file:file create_file_perms;
 # Make sure strace works for the non-privileged shell user
 allow shell self:process ptrace;
 
+# allow shell to get battery info
+allow shell sysfs_batteryinfo:file r_file_perms;
 
 # Allow access to ion memory allocation device.
 allow shell ion_device:chr_file rw_file_perms;