Message ID | 20201010215431.GA30936@ls3530.fritz.box (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | parisc: Add MAP_UNINITIALIZED define | expand |
On 10/10/20 11:54 PM, Helge Deller wrote: > Define MAP_UNINITIALIZED and use same value as other architectures. > Fixes build of debian foot package. I'm tempted to #define MAP_UNINITIALIZED to zero. That flag was invented for embedded usage, and becaue of security reasons we probably will never deliver uninitialized pages to userspace on parisc. So, defining it as 0 should be fine, as this fixes build errors and won't have any other (negative) effect. Thoughts? Helge > Suggested-by: John David Anglin <dave.anglin@bell.net> > Signed-off-by: Helge Deller <deller@gmx.de> > > diff --git a/arch/parisc/include/uapi/asm/mman.h b/arch/parisc/include/uapi/asm/mman.h > index 6fd8871e4081..d828b293b6de 100644 > --- a/arch/parisc/include/uapi/asm/mman.h > +++ b/arch/parisc/include/uapi/asm/mman.h > @@ -25,6 +25,8 @@ > #define MAP_STACK 0x40000 /* give out an address that is best suited for process/thread stacks */ > #define MAP_HUGETLB 0x80000 /* create a huge page mapping */ > #define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED which doesn't unmap underlying mapping */ > +#define MAP_UNINITIALIZED 0x4000000 /* For anonymous mmap, memory could be > + * uninitialized */ > > #define MS_SYNC 1 /* synchronous memory sync */ > #define MS_ASYNC 2 /* sync memory asynchronously */ > diff --git a/tools/arch/parisc/include/uapi/asm/mman.h b/tools/arch/parisc/include/uapi/asm/mman.h > index f9fd1325f5bd..c7af0f2292fc 100644 > --- a/tools/arch/parisc/include/uapi/asm/mman.h > +++ b/tools/arch/parisc/include/uapi/asm/mman.h > @@ -39,6 +39,5 @@ > #define MADV_SOFT_OFFLINE 101 > /* MAP_32BIT is undefined on parisc, fix it for perf */ > #define MAP_32BIT 0 > -/* MAP_UNINITIALIZED is undefined on parisc, fix it for perf */ > -#define MAP_UNINITIALIZED 0 > +#define MAP_UNINITIALIZED 0x4000000 > #endif >
Yes, I believe it only should be nonzero in nommu case. Dave On 2020-10-11 7:56 a.m., Helge Deller wrote: > On 10/10/20 11:54 PM, Helge Deller wrote: >> Define MAP_UNINITIALIZED and use same value as other architectures. >> Fixes build of debian foot package. > I'm tempted to #define MAP_UNINITIALIZED to zero. > That flag was invented for embedded usage, and becaue of security reasons > we probably will never deliver uninitialized pages to userspace on parisc. > So, defining it as 0 should be fine, as this fixes build errors and won't > have any other (negative) effect. > Thoughts? > > Helge > > >> Suggested-by: John David Anglin <dave.anglin@bell.net> >> Signed-off-by: Helge Deller <deller@gmx.de> >> >> diff --git a/arch/parisc/include/uapi/asm/mman.h b/arch/parisc/include/uapi/asm/mman.h >> index 6fd8871e4081..d828b293b6de 100644 >> --- a/arch/parisc/include/uapi/asm/mman.h >> +++ b/arch/parisc/include/uapi/asm/mman.h >> @@ -25,6 +25,8 @@ >> #define MAP_STACK 0x40000 /* give out an address that is best suited for process/thread stacks */ >> #define MAP_HUGETLB 0x80000 /* create a huge page mapping */ >> #define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED which doesn't unmap underlying mapping */ >> +#define MAP_UNINITIALIZED 0x4000000 /* For anonymous mmap, memory could be >> + * uninitialized */ >> >> #define MS_SYNC 1 /* synchronous memory sync */ >> #define MS_ASYNC 2 /* sync memory asynchronously */ >> diff --git a/tools/arch/parisc/include/uapi/asm/mman.h b/tools/arch/parisc/include/uapi/asm/mman.h >> index f9fd1325f5bd..c7af0f2292fc 100644 >> --- a/tools/arch/parisc/include/uapi/asm/mman.h >> +++ b/tools/arch/parisc/include/uapi/asm/mman.h >> @@ -39,6 +39,5 @@ >> #define MADV_SOFT_OFFLINE 101 >> /* MAP_32BIT is undefined on parisc, fix it for perf */ >> #define MAP_32BIT 0 >> -/* MAP_UNINITIALIZED is undefined on parisc, fix it for perf */ >> -#define MAP_UNINITIALIZED 0 >> +#define MAP_UNINITIALIZED 0x4000000 >> #endif >>
diff --git a/arch/parisc/include/uapi/asm/mman.h b/arch/parisc/include/uapi/asm/mman.h index 6fd8871e4081..d828b293b6de 100644 --- a/arch/parisc/include/uapi/asm/mman.h +++ b/arch/parisc/include/uapi/asm/mman.h @@ -25,6 +25,8 @@ #define MAP_STACK 0x40000 /* give out an address that is best suited for process/thread stacks */ #define MAP_HUGETLB 0x80000 /* create a huge page mapping */ #define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED which doesn't unmap underlying mapping */ +#define MAP_UNINITIALIZED 0x4000000 /* For anonymous mmap, memory could be + * uninitialized */ #define MS_SYNC 1 /* synchronous memory sync */ #define MS_ASYNC 2 /* sync memory asynchronously */ diff --git a/tools/arch/parisc/include/uapi/asm/mman.h b/tools/arch/parisc/include/uapi/asm/mman.h index f9fd1325f5bd..c7af0f2292fc 100644 --- a/tools/arch/parisc/include/uapi/asm/mman.h +++ b/tools/arch/parisc/include/uapi/asm/mman.h @@ -39,6 +39,5 @@ #define MADV_SOFT_OFFLINE 101 /* MAP_32BIT is undefined on parisc, fix it for perf */ #define MAP_32BIT 0 -/* MAP_UNINITIALIZED is undefined on parisc, fix it for perf */ -#define MAP_UNINITIALIZED 0 +#define MAP_UNINITIALIZED 0x4000000 #endif
Define MAP_UNINITIALIZED and use same value as other architectures. Fixes build of debian foot package. Suggested-by: John David Anglin <dave.anglin@bell.net> Signed-off-by: Helge Deller <deller@gmx.de>