Skip to contentSkip to conversation

include/linux/personality.h

PATCH In review Hannes Reinecke 2 participants 2 messages Jul 21, 2003 Personality handling

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 include/linux/personality.h

Hi all,

the attached patch encloses the kernel-only parts of personality.h with __KERNEL__ to prevent them to be visible in userspace. This also fixes the nameclash between the macro personality() with the syscall personality() if the header file is included in an userspace program. Patch is against 2.4.21, should apply to 2.6.0-test1 equally.

Cheers,

Hannes

Signature · 4 lines
Dr. Hannes Reinecke			[email protected]
SuSE Linux AG				S390 & zSeries
Deutschherrnstr. 15-19			+49 911 74053 688
90429 Nürnberg				http://www.suse.de
include/linux/personality.h renamed from include/linux/personality.h.orig +6 -0
@@ -1,6 +1,8 @@
 #ifndef _LINUX_PERSONALITY_H
 #define _LINUX_PERSONALITY_H
 
+#ifdef __KERNEL__
+
 /*
  * Handling of different ABIs (personalities).
  */
@@ -22,6 +24,7 @@
 extern unsigned long abi_defhandler_libcso;
 extern int abi_fake_utsname;
 
+#endif /* __KERNEL__ */
 
 /*
  * Flags for bug emulation.
@@ -69,6 +72,7 @@
 	PER_MASK =		0x00ff,
 };
 
+#ifdef __KERNEL__
 
 /*
  * Description of an execution domain.
@@ -127,4 +131,6 @@
 		__MOD_DEC_USE_COUNT(ep->module);	\
 } while (0)
 
+#endif /* __KERNEL__ */
+
 #endif /* _LINUX_PERSONALITY_H */
#1 lore raw
Quoted 7 lines · Hannes Reinecke

Hi all,

the attached patch encloses the kernel-only parts of personality.h with __KERNEL__ to prevent them to be visible in userspace. This also fixes the nameclash between the macro personality() with the syscall personality() if the header file is included in an userspace program. Patch is against 2.4.21, should apply to 2.6.0-test1 equally.

Don't do that, the header shouldn't be used from userspace. There's a sys/personality.h for you in glibc 2.3.