diff mbox series

parisc: Add MAP_UNINITIALIZED define

Message ID 20201010215431.GA30936@ls3530.fritz.box (mailing list archive)
State Superseded
Headers show
Series parisc: Add MAP_UNINITIALIZED define | expand

Commit Message

Helge Deller Oct. 10, 2020, 9:54 p.m. UTC
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>

Comments

Helge Deller Oct. 11, 2020, 11:56 a.m. UTC | #1
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
>
John David Anglin Oct. 11, 2020, 1:21 p.m. UTC | #2
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 mbox series

Patch

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