Patchwork Synchronize <sys/personality.h> with kernel headers

login
register
mail settings
Submitter Aurelien Jarno
Date March 24, 2016, 6:35 p.m.
Message ID <1458844558-15949-1-git-send-email-aurelien@aurel32.net>
Download mbox | patch
Permalink /patch/11503/
State New
Headers show

Comments

Aurelien Jarno - March 24, 2016, 6:35 p.m.
<sys/personality.h> is out of sync with kernel headers, missing the
UNAME26, FDPIC_FUNCPTRS and PER_LINUX_FDPIC entries. Fix that.

Changelog:
	* sysdeps/unix/sysv/linux/sys/personality.h (UNAME26, FDPIC_FUNCPTRS,
	PER_LINUX_FDPIC): Add.
---
 ChangeLog                                 | 5 +++++
 sysdeps/unix/sysv/linux/sys/personality.h | 3 +++
 2 files changed, 8 insertions(+)
Adhemerval Zanella Netto - March 25, 2016, 3:54 p.m.
LGTM. I wonder if you should include PER_CLEAR_ON_SETID as well, thoughts? 

On 24-03-2016 15:35, Aurelien Jarno wrote:
> <sys/personality.h> is out of sync with kernel headers, missing the
> UNAME26, FDPIC_FUNCPTRS and PER_LINUX_FDPIC entries. Fix that.
> 
> Changelog:
> 	* sysdeps/unix/sysv/linux/sys/personality.h (UNAME26, FDPIC_FUNCPTRS,
> 	PER_LINUX_FDPIC): Add.
> ---
>  ChangeLog                                 | 5 +++++
>  sysdeps/unix/sysv/linux/sys/personality.h | 3 +++
>  2 files changed, 8 insertions(+)
> 
> diff --git a/ChangeLog b/ChangeLog
> index 1739a0f..6ec0ca1 100644
> --- a/ChangeLog
> +++ b/ChangeLog
> @@ -1,3 +1,8 @@
> +2016-03-24  Aurelien Jarno  <aurelien@aurel32.net>
> +
> +	* sysdeps/unix/sysv/linux/sys/personality.h (UNAME26, FDPIC_FUNCPTRS,
> +	PER_LINUX_FDPIC): Add.
> +
>  2016-03-24  Joseph Myers  <joseph@codesourcery.com>
>  
>  	[BZ #19848]
> diff --git a/sysdeps/unix/sysv/linux/sys/personality.h b/sysdeps/unix/sysv/linux/sys/personality.h
> index af2ece6..ad2258f 100644
> --- a/sysdeps/unix/sysv/linux/sys/personality.h
> +++ b/sysdeps/unix/sysv/linux/sys/personality.h
> @@ -26,7 +26,9 @@
>     These occupy the top three bytes.  */
>  enum
>    {
> +    UNAME26 = 0x0020000,
>      ADDR_NO_RANDOMIZE = 0x0040000,
> +    FDPIC_FUNCPTRS = 0x0080000,
>      MMAP_PAGE_ZERO = 0x0100000,
>      ADDR_COMPAT_LAYOUT = 0x0200000,
>      READ_IMPLIES_EXEC = 0x0400000,
> @@ -45,6 +47,7 @@ enum
>    {
>      PER_LINUX = 0x0000,
>      PER_LINUX_32BIT = 0x0000 | ADDR_LIMIT_32BIT,
> +    PER_LINUX_FDPIC = 0x0000 | FDPIC_FUNCPTRS,
>      PER_SVR4 = 0x0001 | STICKY_TIMEOUTS | MMAP_PAGE_ZERO,
>      PER_SVR3 = 0x0002 | STICKY_TIMEOUTS | SHORT_INODE,
>      PER_SCOSVR3 = 0x0003 | STICKY_TIMEOUTS | WHOLE_SECONDS | SHORT_INODE,
>
Aurelien Jarno - March 25, 2016, 4:19 p.m.
On 2016-03-25 12:54, Adhemerval Zanella wrote:
> LGTM. I wonder if you should include PER_CLEAR_ON_SETID as well, thoughts? 

I don't really know either. It is define upstream as a macro and not an
enum, I don't really know why.

Looking at codesearch.debian.net it doesn't seem to be use by userland,
contrary to the three others (though in very few places). So I would
rather got for not including it for now.
Adhemerval Zanella Netto - March 25, 2016, 4:41 p.m.
On 25-03-2016 13:19, Aurelien Jarno wrote:
> On 2016-03-25 12:54, Adhemerval Zanella wrote:
>> LGTM. I wonder if you should include PER_CLEAR_ON_SETID as well, thoughts? 
> 
> I don't really know either. It is define upstream as a macro and not an
> enum, I don't really know why.
> 
> Looking at codesearch.debian.net it doesn't seem to be use by userland,
> contrary to the three others (though in very few places). So I would
> rather got for not including it for now.
> 

Fair enough then.

Patch

diff --git a/ChangeLog b/ChangeLog
index 1739a0f..6ec0ca1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@ 
+2016-03-24  Aurelien Jarno  <aurelien@aurel32.net>
+
+	* sysdeps/unix/sysv/linux/sys/personality.h (UNAME26, FDPIC_FUNCPTRS,
+	PER_LINUX_FDPIC): Add.
+
 2016-03-24  Joseph Myers  <joseph@codesourcery.com>
 
 	[BZ #19848]
diff --git a/sysdeps/unix/sysv/linux/sys/personality.h b/sysdeps/unix/sysv/linux/sys/personality.h
index af2ece6..ad2258f 100644
--- a/sysdeps/unix/sysv/linux/sys/personality.h
+++ b/sysdeps/unix/sysv/linux/sys/personality.h
@@ -26,7 +26,9 @@ 
    These occupy the top three bytes.  */
 enum
   {
+    UNAME26 = 0x0020000,
     ADDR_NO_RANDOMIZE = 0x0040000,
+    FDPIC_FUNCPTRS = 0x0080000,
     MMAP_PAGE_ZERO = 0x0100000,
     ADDR_COMPAT_LAYOUT = 0x0200000,
     READ_IMPLIES_EXEC = 0x0400000,
@@ -45,6 +47,7 @@  enum
   {
     PER_LINUX = 0x0000,
     PER_LINUX_32BIT = 0x0000 | ADDR_LIMIT_32BIT,
+    PER_LINUX_FDPIC = 0x0000 | FDPIC_FUNCPTRS,
     PER_SVR4 = 0x0001 | STICKY_TIMEOUTS | MMAP_PAGE_ZERO,
     PER_SVR3 = 0x0002 | STICKY_TIMEOUTS | SHORT_INODE,
     PER_SCOSVR3 = 0x0003 | STICKY_TIMEOUTS | WHOLE_SECONDS | SHORT_INODE,