__user annotation for shm_shmat hook declaration
Subsystems (2)
PATCH 1/3 __user annotation for shm_shmat hook declaration
Add proper __user annotation for shm_shmat hook in security.h.
CHECK ipc/shm.cinclude/linux/security.h:1831:38: warning: incorrect type in argument 2 (different address spaces)include/linux/security.h:1831:38: expected char *shmaddrinclude/linux/security.h:1831:38: got char [noderef] *shmaddr<asn:1>
CC ipc/shm.o
From: Mika Kukkonen <[email protected]>
===== include/linux/security.h 1.34 vs edited =====
include/linux/security.h +1 -1
@@ -1172,7 +1172,7 @@int (*shm_associate) (struct shmid_kernel * shp,int shmflg);int (*shm_shmctl) (struct shmid_kernel * shp,int cmd);int (*shm_shmat) (struct shmid_kernel * shp, -char *shmaddr,int shmflg); +char __user *shmaddr,int shmflg);int (*sem_alloc_security) (struct sem_array * sma);void (*sem_free_security) (struct sem_array * sma);
PATCH 2/3 __user annotation for selinux_shm_shmat
Add proper __user annotation to selinux_shm_shmat.
CHECK security/selinux/hooks.csecurity/selinux/hooks.c:4163:17: warning: incorrect type in initializer (incompatible argument 2 (different address spaces))security/selinux/hooks.c:4163:17: expected int ( *shm_shmat )( ... )security/selinux/hooks.c:4163:17: got int ( static [addressable] [toplevel] *<noident> )( ... )
CC security/selinux/hooks.o
From: Mika Kukkonen <[email protected]>
===== security/selinux/hooks.c 1.41 vs edited =====
security/selinux/hooks.c +1 -1
@@ -3781,7 +3781,7 @@ }static int selinux_shm_shmat (struct shmid_kernel *shp, -char *shmaddr,int shmflg) +char __user *shmaddr,int shmflg) {u32 perms;
PATCH 3/3 __user annotation for dummy_shm_shmat
Add proper __user annotation to dummy_shm_shmat.
CHECK security/dummy.csecurity/dummy.c:995:2: warning: incorrect type in assignment (incompatible argument 2 (different address spaces))security/dummy.c:995:2: expected int ( *[addressable] [toplevel] shm_shmat )( ... )security/dummy.c:995:2: got int ( static [addressable] [toplevel] *<noident> )( ... )
CC security/dummy.o
===== security/dummy.c 1.39 vs edited =====
security/dummy.c +1 -1
@@ -688,7 +688,7 @@return 0 ; } -static int dummy_shm_shmat (struct shmid_kernel *shp,char *shmaddr, +static int dummy_shm_shmat (struct shmid_kernel *shp,char __user *shmaddr,int shmflg) {return 0 ;