2004-06-14 16:24:26

by Chris Wright

[permalink] [raw]
Subject: [PATCH 1/3] __user annotation for shm_shmat hook declaration

Add proper __user annotation for shm_shmat hook in security.h.

CHECK ipc/shm.c
include/linux/security.h:1831:38: warning: incorrect type in argument 2 (different address spaces)
include/linux/security.h:1831:38: expected char *shmaddr
include/linux/security.h:1831:38: got char [noderef] *shmaddr<asn:1>
CC ipc/shm.o

From: Mika Kukkonen <[email protected]>
Signed-off-by: Chris Wright <[email protected]>

===== include/linux/security.h 1.34 vs edited =====
--- 1.34/include/linux/security.h 2004-05-08 15:00:18 -07:00
+++ edited/include/linux/security.h 2004-06-14 08:56:50 -07:00
@@ -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);


2004-06-14 16:28:16

by Chris Wright

[permalink] [raw]
Subject: [PATCH 2/3] __user annotation for selinux_shm_shmat

Add proper __user annotation to selinux_shm_shmat.

CHECK security/selinux/hooks.c
security/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]>
Signed-off-by: Chris Wright <[email protected]>

===== security/selinux/hooks.c 1.41 vs edited =====
--- 1.41/security/selinux/hooks.c 2004-06-12 20:52:29 -07:00
+++ edited/security/selinux/hooks.c 2004-06-14 09:00:37 -07:00
@@ -3781,7 +3781,7 @@
}

static int selinux_shm_shmat(struct shmid_kernel *shp,
- char *shmaddr, int shmflg)
+ char __user *shmaddr, int shmflg)
{
u32 perms;

2004-06-14 16:29:54

by Chris Wright

[permalink] [raw]
Subject: [PATCH 3/3] __user annotation for dummy_shm_shmat

Add proper __user annotation to dummy_shm_shmat.

CHECK security/dummy.c
security/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

Signed-off-by: Chris Wright <[email protected]>

===== security/dummy.c 1.39 vs edited =====
--- 1.39/security/dummy.c 2004-05-10 04:25:52 -07:00
+++ edited/security/dummy.c 2004-06-14 09:09:51 -07:00
@@ -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;