@@ -160,7 +160,7 @@ void integrity_inode_free(struct inode *inode)
static void init_once(void *foo)
{
- struct integrity_iint_cache *iint = (struct integrity_iint_cache *) foo;
+ struct integrity_iint_cache *iint = foo;
memset(iint, 0, sizeof(*iint));
iint->ima_file_status = INTEGRITY_UNKNOWN;
@@ -177,6 +177,9 @@ static int __init integrity_iintcache_init(void)
iint_cache =
kmem_cache_create("iint_cache", sizeof(struct integrity_iint_cache),
0, SLAB_PANIC, init_once);
+ if (!iint_cache)
+ return -ENOMEM;
+
return 0;
}
DEFINE_LSM(integrity) = {
These functions are optimized as follows. 1. Remove void * variable foo cast type. 2. iint_cache Added memory allocation check. Signed-off-by: Li zeming <zeming@nfschina.com> --- security/integrity/iint.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)