Skip to contentSkip to conversation

selinux build failure

DISCUSSION Arnd Bergmann 3 participants 3 messages Aug 25, 2003 – Aug 26, 2003 2 messages not in the archive SELinux security module

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]

A message that is not in the archive (sent off-list or not yet received): [email protected]

#2 lore raw
Quoted 7 lines · James Morris
Quoted 3 lines · Christoph Hellwig

Argg, this is b0rked. {asm,linux}/compat.h are for the 32bit compatiblity code. 64bit arches don't have fcntl64 - see the #if BITS_PER_LONG == 32 around sys_fcntl64 in fcntl.c..

Indeed. How about this?

Fixes the problem on 64 bit s390. I still get a __you_cannot_kmalloc_that_much link error in avtab_init() and some more warnings about selinux:

security/selinux/hooks.c: In function `selinux_bprm_set_security':
security/selinux/hooks.c:1384: warning: cast to pointer from integer of different size security/selinux/hooks.c:1430: warning: cast to pointer from integer of different size security/selinux/hooks.c: In function `selinux_bprm_compute_creds':
security/selinux/hooks.c:1520: warning: cast from pointer to integer of different size security/selinux/hooks.c: In function `selinux_getprocattr':
security/selinux/hooks.c:3147: warning: passing arg 3 of security_sid_to_context' from incompatible pointer type security/selinux/ss/ebitmap.c: In function ebitmap_read':
security/selinux/ss/ebitmap.c:255: warning: int format, different type arg (arg 3) security/selinux/ss/ebitmap.c:264: warning: int format, different type arg (arg 3) security/selinux/ss/ebitmap.c:287: warning: int format, different type arg (arg 3) security/selinux/ss/ebitmap.c:293: warning: int format, different type arg (arg 3) security/selinux/ss/policydb.c: In function `policydb_read':
security/selinux/ss/policydb.c:1078: warning: int format, different type arg (arg 3)

The link error can be avoided by using vmalloc for htable, but there may be better solutions.

===== security/selinux/ss/avtab.c 1.1 vs edited =====

security/selinux/ss/avtab.c Sun Aug 24 02:02:24 2003 renamed from security/selinux/ss/avtab.c Thu Jul 17 11:38:01 2003 +2 -2
@@ -106,7 +106,7 @@
                }
                h->htable[i] = NULL;
        }
-       kfree(h->htable);
+       vfree(h->htable);
 }
 
 
@@ -138,7 +138,7 @@
 {
        int i;
 
-       h->htable = kmalloc(sizeof(*(h->htable)) * AVTAB_SIZE, GFP_KERNEL);
+       h->htable = vmalloc(sizeof(*(h->htable)) * AVTAB_SIZE);
        if (!h->htable)
                return -ENOMEM;
        for (i = 0; i < AVTAB_SIZE; i++)

===== security/selinux/ss/global.h 1.2 vs edited =====

security/selinux/ss/global.h Sun Aug 24 02:09:28 2003 renamed from security/selinux/ss/global.h Sun Aug 10 13:22:59 2003 +1 -0
@@ -8,6 +8,7 @@
 #include <linux/in.h>
 #include <linux/spinlock.h>
 #include <linux/sched.h>
+#include <linux/vmalloc.h>
 
 #include "flask.h"
 #include "avc.h"
#3 lore raw

On Sun, 24 Aug 2003 02:21:08 +0200 Arnd Bergmann <[email protected]> wrote:

| James Morris wrote:
| 
| > On Sun, 24 Aug 2003, Christoph Hellwig wrote:
| > 
| >> Argg, this is b0rked.  {asm,linux}/compat.h are for the 32bit compatiblity
| >> code.  64bit arches don't have fcntl64 - see the #if BITS_PER_LONG == 32
| >> around sys_fcntl64 in fcntl.c..
| > 
| > Indeed.  How about this?

Yes, the second patch fixes for me also. [2.6.0-test4 now] I also see the warnings below.

| security/selinux/hooks.c: In function `selinux_bprm_set_security':
| security/selinux/hooks.c:1384: warning: cast to pointer from integer of different size
| security/selinux/hooks.c:1430: warning: cast to pointer from integer of different size
| security/selinux/hooks.c: In function `selinux_bprm_compute_creds':
| security/selinux/hooks.c:1520: warning: cast from pointer to integer of different size
| security/selinux/hooks.c: In function `selinux_getprocattr':
| security/selinux/hooks.c:3147: warning: passing arg 3 of `security_sid_to_context' from incompatible pointer type

Thanks.
--
~Randy [mantra: Always include kernel version.]
"Everything is relative."

#4 lore raw
Quoted 11 lines · Randy.Dunlap

Yes, the second patch fixes for me also. [2.6.0-test4 now] I also see the warnings below.

| security/selinux/hooks.c: In function `selinux_bprm_set_security':
| security/selinux/hooks.c:1384: warning: cast to pointer from integer of different size
| security/selinux/hooks.c:1430: warning: cast to pointer from integer of different size
| security/selinux/hooks.c: In function `selinux_bprm_compute_creds':
| security/selinux/hooks.c:1520: warning: cast from pointer to integer of different size
| security/selinux/hooks.c: In function `selinux_getprocattr':
| security/selinux/hooks.c:3147: warning: passing arg 3 of `security_sid_to_context' from incompatible pointer type

Yep, a fix for this is forthcoming.

- James

Signature · 2 lines
James Morris
<[email protected]>