diff --git a/security/selinux/include/security.h b/security/selinux/include/security.h
index 2cf6708641474e57b482258cd5abdf2a2bd7b10e..3ba4feba048a0158230620b83ca91d29c2e8ff26 100644
--- a/security/selinux/include/security.h
+++ b/security/selinux/include/security.h
@@ -86,7 +86,7 @@ extern int selinux_policycap_openperm;
 int security_mls_enabled(void);
 
 int security_load_policy(void *data, size_t len);
-int security_read_policy(void **data, ssize_t *len);
+int security_read_policy(void **data, size_t *len);
 size_t security_policydb_len(void);
 
 int security_policycap_supported(unsigned int req_cap);
diff --git a/security/selinux/ss/services.c b/security/selinux/ss/services.c
index f3f5dca810069e757d4e89ca54e37bf9d0960883..211c0ada594c114f6c7b19ab59d9bbe7054f64f9 100644
--- a/security/selinux/ss/services.c
+++ b/security/selinux/ss/services.c
@@ -3189,7 +3189,7 @@ out:
  * @len: length of data in bytes
  *
  */
-int security_read_policy(void **data, ssize_t *len)
+int security_read_policy(void **data, size_t *len)
 {
 	int rc;
 	struct policy_file fp;