From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 44BF0CCF9E9 for ; Thu, 26 Sep 2024 09:22:09 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AC8316B009E; Thu, 26 Sep 2024 05:22:08 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A51966B009F; Thu, 26 Sep 2024 05:22:08 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 855866B00A0; Thu, 26 Sep 2024 05:22:08 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 5D92E6B009E for ; Thu, 26 Sep 2024 05:22:08 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 08EB314101A for ; Thu, 26 Sep 2024 09:22:08 +0000 (UTC) X-FDA: 82606347936.03.A6A0C8D Received: from mout.gmx.net (mout.gmx.net [212.227.15.18]) by imf05.hostedemail.com (Postfix) with ESMTP id E60C4100003 for ; Thu, 26 Sep 2024 09:22:05 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=gmx.de header.s=s31663417 header.b=EFeVnH22; spf=pass (imf05.hostedemail.com: domain of deller@gmx.de designates 212.227.15.18 as permitted sender) smtp.mailfrom=deller@gmx.de; dmarc=pass (policy=quarantine) header.from=gmx.de ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1727342406; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=fK8D4anG++VQfYV7RQFyfXZI4RbsCsLG7Bg0m1QFYs0=; b=7DkhehL1e5rWVmQcRSxVN2lSf7vTxp1bsj+T1lWGvcFX01/EGTmUtJPZvKJk+ry3YvY28/ h7lDHYhSGbHu+qeGic3ZdODezSiIlpKr2xMPsLfP5jVyfpO8zATvA3ztQ1zMJL+NFbSqcE QzdeJpuBOOf8qTE977cVt0nh8l2PHvA= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1727342406; a=rsa-sha256; cv=none; b=kbYy1+wvvuCQ/ZzcH6Ve7rguE0YGkMwdeWyzqsfi36Scczgx7ImCenkD0ZLujd7/3HiyJd L/wnGReOWJIWZ1APFDQabUDvwmzEHzqsVtYQdAvvsQkggpxqzP2D+KrHw2AeuTT/wD7Udc qXywVV9g+apcdz/wT9e8Sq2A1FY2ogU= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=gmx.de header.s=s31663417 header.b=EFeVnH22; spf=pass (imf05.hostedemail.com: domain of deller@gmx.de designates 212.227.15.18 as permitted sender) smtp.mailfrom=deller@gmx.de; dmarc=pass (policy=quarantine) header.from=gmx.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de; s=s31663417; t=1727342521; x=1727947321; i=deller@gmx.de; bh=fK8D4anG++VQfYV7RQFyfXZI4RbsCsLG7Bg0m1QFYs0=; h=X-UI-Sender-Class:Message-ID:Date:MIME-Version:Subject:To:Cc: References:From:In-Reply-To:Content-Type: Content-Transfer-Encoding:cc:content-transfer-encoding: content-type:date:from:message-id:mime-version:reply-to:subject: to; b=EFeVnH22LQuLAQEyum005QZ6OeHS0IKnMYvnC12/bAQsnfuE/Jfekp0VJVD7nart pMPxMFQZrvzBBHkHgYqNMvgVXvIQSRtbezHKBnBndsYnK1HIJAKPm2SgmHsJHB3IC yUliF97EGqrccP3OsfRRjd1TEnSrvh98SzKa+O/V/T43zlTCJL8yu3c//IYtAWveH sa3IFWBYM5BWJ8WTt4Gzw9sPOJHRGjmRpznncABkiNMwxxmYdJ15X6CSbZB66aNB6 QHPqHn5A6NT3d73r8fI9QcxqWXYyLsJLh8fUHOjGydwz3kWElJY4MfaDyw7nx8aFW anYr7MW1QcePXjOnzQ== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from [10.8.0.6] ([78.94.87.245]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MaJ3n-1sNcqL2wdh-00SYXv; Thu, 26 Sep 2024 11:22:00 +0200 Message-ID: Date: Thu, 26 Sep 2024 11:21:57 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 1/5] asm-generic: cosmetic updates to uapi/asm/mman.h To: Arnd Bergmann , linux-mm@kvack.org Cc: Arnd Bergmann , "Jason A. Donenfeld" , Alexander Viro , Alexandre Torgue , Andreas Larsson , Andrew Morton , Ard Biesheuvel , Christian Brauner , Christoph Hellwig , Christophe Leroy , Damien Le Moal , David Hildenbrand , Greg Ungerer , Kees Cook , "Liam R . Howlett" , Lorenzo Stoakes , Matt Turner , Max Filippov , Michael Ellerman , Michal Hocko , Nicholas Piggin , Richard Henderson , Thomas Bogendoerfer , Vladimir Murzin , Vlastimil Babka , linux-stm32@st-md-mailman.stormreply.com, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-arch@vger.kernel.org References: <20240925210615.2572360-1-arnd@kernel.org> <20240925210615.2572360-2-arnd@kernel.org> Content-Language: en-US From: Helge Deller Autocrypt: addr=deller@gmx.de; keydata= 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 In-Reply-To: <20240925210615.2572360-2-arnd@kernel.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:HBJiicMOkwCkT3OfqQB6llMXeigneNaSiMoNKO5SaWSQ0C1aSEb w4OsjvHbC61vm+32m3dtSQHUW0V6v8b7gAKBAcqxXRL7ocoXi6e15qteany9sLOs5GA2ELl 4KxAjinT0w9J3xCmMyKyoznyVlKyfkka/xFysOG+9AFpuxFggA4l5J5sBWAbgWpSp+GHc9d ltDhBRGjaMZ64oWggFIrA== UI-OutboundReport: notjunk:1;M01:P0:Pv4bYgTtFS0=;0Bw5BkGY/bj+lojD8zuCvpMTXgN uwY9w4AoVWnZMIqcbMze06gpE0qFMAHOJPaQ0wr5lIVQAude7G0V1BQDtwe5jNVUF6VL6QcGJ WXf2P7kO3QahaNpGkFpmr6YihV0CHbTeDOwJ8BHv1T/QV3WyQxruCiAd3rp0VR1Ol0IRYjzNS Zx292kahTjcqnA7YDdinkDUltsPu6fMHNTNGxSFxs7T0DQ3AXOlC41ynqNBUS2b19n7Dloq5P uL+ViSqHOiAk/vciOYICAMY5rFdI2u0kEAgQEjU1weS72czGjJEm+HHPNleq01e9IrPqob0UP EaBw+6hK5BOj8LZzfgCiBKPzrJ2DFIgEL8u1H5YWmEQP60I0bM3kpy8kDaLJYu6wrdCzRubYu /cf0uopaJkxd7m3jMpyr4sPZtpijqVdGtOZYoOG0Sjqxse6ZoAh4UnkCoQuICZV2NTpVJvQ0+ HH54NRiNbaEciixqlmZu0jyjjD8f5/V4CaGtJs5gLcmX41MmEQSI5y90jq1y6POLJ3del4BmM nIZkIvf2SuOIlMQFghAqAS4TbjuvTjXl4/s1hNi18IPfO/G284YVm3/oVVj3bbMuwS5GzMrsN gLtjHj6kI40eBUoZrKy55fVx1tYIHrvWZfndjoqqUnpAKeWlA3XDYpB8Co6B0+70idVxAJRof eoIpRvyZHHg9BtCWbNqbjOHvc2hDsIJLk7pr3Yl/FXDowB5HmDTOl6y3YAz678Fc3GuSP5l26 NajQ6zD/EvogJFayytofAF/OXHIVTnFFSqwB61JRXhnrlYYr2+FuBblCp5fFCPyGVPeDx8Ui4 8jY8Rj3FNfX6iz7ulE5FCdXcwHePViKFfjRjYNtE3z5/I= X-Rspamd-Queue-Id: E60C4100003 X-Stat-Signature: o8peqxi8gjy4e4awc6krih1hkumxn19o X-Rspamd-Server: rspam09 X-Rspam-User: X-HE-Tag: 1727342525-805427 X-HE-Meta: U2FsdGVkX1/qN08YJjzXjMYqAICCEPjwfwc8lEO2M3cImdeAAPgkcVKFGmhEMKdDY34omcpLY1lCQ19qg0iDTIWcJwn5pN2Yz80tJvtx4s4s7F5HTE15Vkp8Xt2ZaBDM5c3PKVYGj2wPY4c5kFtwQGt1hMrVbiJF+BE+dzk48Q8H+LgLnFSNMszIhB/8qm4CYohwXR1rEM0Z4lMfeNiBJ37w3kog85QI3p48fAQ1ik4mBGAdqQI4uRW1tlcV6s6YN9D8r1mWt+x8kbAiZzg4BqWy1YvOnW1F7S307UldCa0IhB0xf/L0o4nTrKdxchuThV8BGlvwhVP2N/ITTQ7VVOck2PuUO0LVQo8s1oPyedu0CQk4kJZ5Rr+SZpT5gs/ZCMX8l3FwB/Ys8UetzBADLwjUqM9obeAvvspwIt2KxqjjgxIp/HjTxSGZc19cKDiuyp59v8+gAJzc1YRrigNOEzAAG6KPEEQPxrDGptYhvZPDgTq9HYC2RDDzHVhdikzeUTuutWHxcEkgnU5lllv4/N0kskBwwmgexZipJ70b2T20EFAiIfLsIoiTba5iUNyz8STX/HZjKR6kL7/Z7SbCnEE16Fq7ZyF4cliK5bQdYY3p0MLgeAr60PoAQb3ZFo3kQ6Zpe1T2oTOYPWDHRyqF+uKUSD1zQouZGFlBWAcYU80aTrtE0F717bCAQcvsb4GD9s8Y7JuT6Y+1ZYV8+7riz39M/j5u2QcW9Xl9xjAGLinktB90/FmwFksaahrp8LYisjnS8bYCJGioOVp5cOfJYOsGesDkCgq5t0cy8mZFQGaSy9bdbUoPHhe55LWbeBNEXgG8UeHi2odEYeKi7GgH8bimfl1aiCFhL2Icc6ADy5jVkYl0v019G9PCseH/BQPRn3cUf2ImIQYrzzh72lRRjlEJXvWPdzyIS8tSNEeF5WNVfu8K6opjYZlfzu6R8ii7AWju3ctmA2ChnZeMLoM RdMxES60 X7+CEC7QWyAWZRh8G++AY0BRuEjeQCfcKlWRU9eCATyx2cjhUZzfxDvCi8wub4OxxrJmT+XaUqVBmXC1aCSmJpyPq1mO7ZaXp/Te8wUCqnYi7KhJrXgv+AWsmaGw1QQ+x+q7Rb/L21D3yUQeC6H5N3TM38k0clpO58sFTT746AJj05ZQ3tDk10JHm+OT0Iknt+Q0XQDOLadk8fUbnsFOAK1Y6MF8Pb0NG10AXLnISua4dmxATkSULBT2/2DgsJULCb62BQZ2aXWcsOt7qHEKt8xZxH1/HP613DumBp/NEjj7IXrIYZSDBy+VcjeHUMdHprcyj X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On 9/25/24 23:06, Arnd Bergmann wrote: > From: Arnd Bergmann > > All but four architectures use asm-generic/mman-common.h, and the > differences between these are mostly accidental. Rearrange them > slightly to make it possible to 'vimdiff' them to see the actual > relevant differences: > > - Move MADV_HWPOISON/MADV_SOFT_OFFLINE to the end of the list > and ensure that all architectures include definitions > > - Use the exact same amount of whitespace and leading digits > in each architecture > > - Synchronize comments, replacing historic defines that were > never used with appropriate comments > > - explicitly point out MAP_SYNC and MAP_UNINITIALIZED as > unsupported > > Signed-off-by: Arnd Bergmann > --- > arch/alpha/include/uapi/asm/mman.h | 53 ++++++++++++------- > arch/mips/include/uapi/asm/mman.h | 72 ++++++++++++-------------- > arch/parisc/include/uapi/asm/mman.h | 50 +++++++++++------- > arch/xtensa/include/uapi/asm/mman.h | 61 ++++++++++------------ > include/uapi/asm-generic/mman-common.h | 8 ++- > 5 files changed, 129 insertions(+), 115 deletions(-) > > diff --git a/arch/alpha/include/uapi/asm/mman.h b/arch/alpha/include/uap= i/asm/mman.h > index 763929e814e9..8946a13ce858 100644 > --- a/arch/alpha/include/uapi/asm/mman.h > +++ b/arch/alpha/include/uapi/asm/mman.h > @@ -6,6 +6,8 @@ > #define PROT_WRITE 0x2 /* page can be written */ > #define PROT_EXEC 0x4 /* page can be executed */ > #define PROT_SEM 0x8 /* page may be used for atomic ops */ > +/* 0x10 reserved for arch-specific use */ > +/* 0x20 reserved for arch-specific use */ > #define PROT_NONE 0x0 /* page can not be accessed */ > #define PROT_GROWSDOWN 0x01000000 /* mprotect flag: extend change to s= tart of growsdown vma */ > #define PROT_GROWSUP 0x02000000 /* mprotect flag: extend change to end= of growsup vma */ > @@ -15,41 +17,49 @@ > #define MAP_FIXED 0x100 /* Interpret addr exactly */ > #define MAP_ANONYMOUS 0x10 /* don't use a file */ > > -/* not used by linux, but here to make sure we don't clash with OSF/1 d= efines */ > -#define _MAP_HASSEMAPHORE 0x0200 > -#define _MAP_INHERIT 0x0400 > -#define _MAP_UNALIGNED 0x0800 I suggest to keep ^^ those. It's useful information which isn't easily visible otherwise. > -/* These are linux-specific */ > -#define MAP_GROWSDOWN 0x01000 /* stack-like segment */ > -#define MAP_DENYWRITE 0x02000 /* ETXTBSY */ > -#define MAP_EXECUTABLE 0x04000 /* mark it as an executable */ > -#define MAP_LOCKED 0x08000 /* lock the mapping */ > +/* 0x200 through 0x800 originally for OSF-1 compat */ > +#define MAP_GROWSDOWN 0x1000 /* stack-like segment */ > +#define MAP_DENYWRITE 0x2000 /* ETXTBSY */ > +#define MAP_EXECUTABLE 0x4000 /* mark it as an executable */ > +#define MAP_LOCKED 0x8000 /* pages are locked */ > #define MAP_NORESERVE 0x10000 /* don't check for reservations */ > -#define MAP_POPULATE 0x20000 /* populate (prefault) pagetables */ > -#define MAP_NONBLOCK 0x40000 /* do not block on IO */ > -#define MAP_STACK 0x80000 /* give out an address that is best suited f= or process/thread stacks */ > -#define MAP_HUGETLB 0x100000 /* create a huge page mapping */ > + > +#define MAP_POPULATE 0x020000 /* populate (prefault) pagetables */ > +#define MAP_NONBLOCK 0x040000 /* do not block on IO */ > +#define MAP_STACK 0x080000 /* give out an address that is best suited = for process/thread stacks */ > +#define MAP_HUGETLB 0x100000 /* create a huge page mapping */ > +/* MAP_SYNC not supported */ > #define MAP_FIXED_NOREPLACE 0x200000/* MAP_FIXED which doesn't unmap u= nderlying mapping */ > > -#define MS_ASYNC 1 /* sync memory asynchronously */ > -#define MS_SYNC 2 /* synchronous memory sync */ > -#define MS_INVALIDATE 4 /* invalidate the caches */ > +/* MAP_UNINITIALIZED not supported */ > > +/* > + * Flags for mlockall > + */ > #define MCL_CURRENT 8192 /* lock all currently mapped pages */ > #define MCL_FUTURE 16384 /* lock all additions to address space */ > #define MCL_ONFAULT 32768 /* lock all pages that are faulted in */ > > +/* > + * Flags for mlock > + */ > #define MLOCK_ONFAULT 0x01 /* Lock pages in range after they are faul= ted in, do not prefault */ > > +/* > + * Flags for msync > + */ > +#define MS_ASYNC 1 /* sync memory asynchronously */ > +#define MS_SYNC 2 /* synchronous memory sync */ > +#define MS_INVALIDATE 4 /* invalidate the caches */ > + > #define MADV_NORMAL 0 /* no further special treatment */ > #define MADV_RANDOM 1 /* expect random page references */ > #define MADV_SEQUENTIAL 2 /* expect sequential page references */ > #define MADV_WILLNEED 3 /* will need these pages */ > -#define MADV_SPACEAVAIL 5 /* ensure resources are available */ > #define MADV_DONTNEED 6 /* don't need these pages */ > +/* originally MADV_SPACEAVAIL 5 */ > > -/* common/generic parameters */ > +/* common parameters: try to keep these consistent across architectures= */ > #define MADV_FREE 8 /* free pages only if memory pressure */ > #define MADV_REMOVE 9 /* remove these pages & resources */ > #define MADV_DONTFORK 10 /* don't inherit across fork */ > @@ -63,7 +73,7 @@ > > #define MADV_DONTDUMP 16 /* Explicity exclude from the core dump, > overrides the coredump filter bits */ > -#define MADV_DODUMP 17 /* Clear the MADV_NODUMP flag */ > +#define MADV_DODUMP 17 /* Clear the MADV_DONTDUMP flag */ > > #define MADV_WIPEONFORK 18 /* Zero memory on fork, child only */ > #define MADV_KEEPONFORK 19 /* Undo MADV_WIPEONFORK */ > @@ -78,6 +88,9 @@ > > #define MADV_COLLAPSE 25 /* Synchronous hugepage collapse */ > > +#define MADV_HWPOISON 100 /* poison a page for testing */ > +#define MADV_SOFT_OFFLINE 101 /* soft offline page for testing */ > + > /* compatibility flags */ > #define MAP_FILE 0 > > diff --git a/arch/mips/include/uapi/asm/mman.h b/arch/mips/include/uapi/= asm/mman.h > index 9c48d9a21aa0..399937cefaa6 100644 > --- a/arch/mips/include/uapi/asm/mman.h > +++ b/arch/mips/include/uapi/asm/mman.h > @@ -9,53 +9,36 @@ > #ifndef _ASM_MMAN_H > #define _ASM_MMAN_H > > -/* > - * Protections are chosen from these bits, OR'd together. The > - * implementation does not necessarily support PROT_EXEC or PROT_WRITE > - * without PROT_READ. The only guarantees are that no writing will be > - * allowed without PROT_WRITE and no access will be allowed for PROT_NO= NE. > - */ > -#define PROT_NONE 0x00 /* page can not be accessed */ > -#define PROT_READ 0x01 /* page can be read */ > -#define PROT_WRITE 0x02 /* page can be written */ > -#define PROT_EXEC 0x04 /* page can be executed */ > -/* 0x08 reserved for PROT_EXEC_NOFLUSH */ > +#define PROT_READ 0x1 /* page can be read */ > +#define PROT_WRITE 0x2 /* page can be written */ > +#define PROT_EXEC 0x4 /* page can be executed */ > +/* 0x8 reserved for PROT_EXEC_NOFLUSH */ > #define PROT_SEM 0x10 /* page may be used for atomic ops */ > +/* 0x20 reserved for arch-specific use */ > +#define PROT_NONE 0x0 /* page can not be accessed */ > #define PROT_GROWSDOWN 0x01000000 /* mprotect flag: extend change to s= tart of growsdown vma */ > #define PROT_GROWSUP 0x02000000 /* mprotect flag: extend change to end= of growsup vma */ > > -/* > - * Flags for mmap > - */ > /* 0x01 - 0x03 are defined in linux/mman.h */ > -#define MAP_TYPE 0x00f /* Mask for type of mapping */ > -#define MAP_FIXED 0x010 /* Interpret addr exactly */ > +#define MAP_TYPE 0x0f /* Mask for type of mapping */ > +#define MAP_FIXED 0x10 /* Interpret addr exactly */ > > -/* not used by linux, but here to make sure we don't clash with ABI def= ines */ > -#define MAP_RENAME 0x020 /* Assign page to file */ > -#define MAP_AUTOGROW 0x040 /* File may grow by writing */ > -#define MAP_LOCAL 0x080 /* Copy on fork/sproc */ > -#define MAP_AUTORSRV 0x100 /* Logical swap reserved on demand */ same here. I think they should be preserved. > - > -/* These are linux-specific */ > +/* 0x20 through 0x100 originally reserved for other unix compat */ > #define MAP_NORESERVE 0x0400 /* don't check for reservations */ > #define MAP_ANONYMOUS 0x0800 /* don't use a file */ > #define MAP_GROWSDOWN 0x1000 /* stack-like segment */ > #define MAP_DENYWRITE 0x2000 /* ETXTBSY */ > #define MAP_EXECUTABLE 0x4000 /* mark it as an executable */ > #define MAP_LOCKED 0x8000 /* pages are locked */ > -#define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */ > -#define MAP_NONBLOCK 0x20000 /* do not block on IO */ > -#define MAP_STACK 0x40000 /* give out an address that is best suited f= or process/thread stacks */ > -#define MAP_HUGETLB 0x80000 /* create a huge page mapping */ > -#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED which doesn't unmap u= nderlying mapping */ > > -/* > - * Flags for msync > - */ > -#define MS_ASYNC 0x0001 /* sync memory asynchronously */ > -#define MS_INVALIDATE 0x0002 /* invalidate mappings & caches */ > -#define MS_SYNC 0x0004 /* synchronous memory sync */ > +#define MAP_POPULATE 0x010000 /* populate (prefault) pagetables */ > +#define MAP_NONBLOCK 0x020000 /* do not block on IO */ > +#define MAP_STACK 0x040000 /* give out an address that is best suited = for process/thread stacks */ > +#define MAP_HUGETLB 0x080000 /* create a huge page mapping */ > +/* MAP_SYNC not supported */ > +#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED which doesn't unmap u= nderlying mapping */ > + > +/* MAP_UNINITIALIZED not supported */ > > /* > * Flags for mlockall > @@ -69,9 +52,16 @@ > */ > #define MLOCK_ONFAULT 0x01 /* Lock pages in range after they are faul= ted in, do not prefault */ > > +/* > + * Flags for msync > + */ > +#define MS_ASYNC 1 /* sync memory asynchronously */ > +#define MS_INVALIDATE 2 /* invalidate the caches */ > +#define MS_SYNC 4 /* synchronous memory sync */ > + > #define MADV_NORMAL 0 /* no further special treatment */ > #define MADV_RANDOM 1 /* expect random page references */ > -#define MADV_SEQUENTIAL 2 /* expect sequential page references */ > +#define MADV_SEQUENTIAL 2 /* expect sequential page references */ > #define MADV_WILLNEED 3 /* will need these pages */ > #define MADV_DONTNEED 4 /* don't need these pages */ > > @@ -81,16 +71,15 @@ > #define MADV_DONTFORK 10 /* don't inherit across fork */ > #define MADV_DOFORK 11 /* do inherit across fork */ > > -#define MADV_MERGEABLE 12 /* KSM may merge identical pages */ > +#define MADV_MERGEABLE 12 /* KSM may merge identical pages */ > #define MADV_UNMERGEABLE 13 /* KSM may not merge identical pages */ > -#define MADV_HWPOISON 100 /* poison a page for testing */ > > #define MADV_HUGEPAGE 14 /* Worth backing with hugepages */ > -#define MADV_NOHUGEPAGE 15 /* Not worth backing with hugepages */ > +#define MADV_NOHUGEPAGE 15 /* Not worth backing with hugepages */ > > -#define MADV_DONTDUMP 16 /* Explicitly exclude from core dump, > +#define MADV_DONTDUMP 16 /* Explicity exclude from the core dump, > overrides the coredump filter bits */ > -#define MADV_DODUMP 17 /* Clear the MADV_NODUMP flag */ > +#define MADV_DODUMP 17 /* Clear the MADV_DONTDUMP flag */ > > #define MADV_WIPEONFORK 18 /* Zero memory on fork, child only */ > #define MADV_KEEPONFORK 19 /* Undo MADV_WIPEONFORK */ > @@ -105,6 +94,9 @@ > > #define MADV_COLLAPSE 25 /* Synchronous hugepage collapse */ > > +#define MADV_HWPOISON 100 /* poison a page for testing */ > +#define MADV_SOFT_OFFLINE 101 /* soft offline page for testing */ > + > /* compatibility flags */ > #define MAP_FILE 0 > > diff --git a/arch/parisc/include/uapi/asm/mman.h b/arch/parisc/include/u= api/asm/mman.h > index 68c44f99bc93..80f4a55763a0 100644 > --- a/arch/parisc/include/uapi/asm/mman.h > +++ b/arch/parisc/include/uapi/asm/mman.h > @@ -6,6 +6,8 @@ > #define PROT_WRITE 0x2 /* page can be written */ > #define PROT_EXEC 0x4 /* page can be executed */ > #define PROT_SEM 0x8 /* page may be used for atomic ops */ > +/* 0x10 reserved for arch-specific use */ > +/* 0x20 reserved for arch-specific use */ > #define PROT_NONE 0x0 /* page can not be accessed */ > #define PROT_GROWSDOWN 0x01000000 /* mprotect flag: extend change to s= tart of growsdown vma */ > #define PROT_GROWSUP 0x02000000 /* mprotect flag: extend change to end= of growsup vma */ > @@ -20,30 +22,42 @@ > #define MAP_LOCKED 0x2000 /* pages are locked */ > #define MAP_NORESERVE 0x4000 /* don't check for reservations */ > #define MAP_GROWSDOWN 0x8000 /* stack-like segment */ > -#define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */ > -#define MAP_NONBLOCK 0x20000 /* do not block on IO */ > -#define MAP_STACK 0x40000 /* give out an address that is best suited f= or process/thread stacks */ > -#define MAP_HUGETLB 0x80000 /* create a huge page mapping */ > -#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED which doesn't unmap u= nderlying mapping */ > -#define MAP_UNINITIALIZED 0 /* uninitialized anonymous mmap */ > > -#define MS_SYNC 1 /* synchronous memory sync */ > -#define MS_ASYNC 2 /* sync memory asynchronously */ > -#define MS_INVALIDATE 4 /* invalidate the caches */ > +#define MAP_POPULATE 0x010000 /* populate (prefault) pagetables */ > +#define MAP_NONBLOCK 0x020000 /* do not block on IO */ > +#define MAP_STACK 0x040000 /* give out an address that is best suited = for process/thread stacks */ > +#define MAP_HUGETLB 0x080000 /* create a huge page mapping */ > +/* MAP_SYNC not supported */ > +#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED which doesn't unmap u= nderlying mapping */ > + > +/* MAP_UNINITIALIZED not supported */ > > +/* > + * Flags for mlockall > + */ > #define MCL_CURRENT 1 /* lock all current mappings */ > #define MCL_FUTURE 2 /* lock all future mappings */ > #define MCL_ONFAULT 4 /* lock all pages that are faulted in */ > > +/* > + * Flags for mlock > + */ > #define MLOCK_ONFAULT 0x01 /* Lock pages in range after they are faul= ted in, do not prefault */ > > -#define MADV_NORMAL 0 /* no further special treatment= */ > -#define MADV_RANDOM 1 /* expect random page reference= s */ > -#define MADV_SEQUENTIAL 2 /* expect sequential page refer= ences */ > -#define MADV_WILLNEED 3 /* will need these pages */ > -#define MADV_DONTNEED 4 /* don't need these pages */ > +/* > + * Flags for msync > + */ > +#define MS_SYNC 1 /* synchronous memory sync */ > +#define MS_ASYNC 2 /* sync memory asynchronously */ > +#define MS_INVALIDATE 4 /* invalidate the caches */ > + > +#define MADV_NORMAL 0 /* no further special treatment */ > +#define MADV_RANDOM 1 /* expect random page references */ > +#define MADV_SEQUENTIAL 2 /* expect sequential page references */ > +#define MADV_WILLNEED 3 /* will need these pages */ > +#define MADV_DONTNEED 4 /* don't need these pages */ > > -/* common/generic parameters */ > +/* common parameters: try to keep these consistent across architectures= */ > #define MADV_FREE 8 /* free pages only if memory pressure */ > #define MADV_REMOVE 9 /* remove these pages & resources */ > #define MADV_DONTFORK 10 /* don't inherit across fork */ > @@ -53,11 +67,11 @@ > #define MADV_UNMERGEABLE 13 /* KSM may not merge identical pages */ > > #define MADV_HUGEPAGE 14 /* Worth backing with hugepages */ > -#define MADV_NOHUGEPAGE 15 /* Not worth backing with hugepages */ > +#define MADV_NOHUGEPAGE 15 /* Not worth backing with hugepages */ > > #define MADV_DONTDUMP 16 /* Explicity exclude from the core dump, > overrides the coredump filter bits */ > -#define MADV_DODUMP 17 /* Clear the MADV_NODUMP flag */ > +#define MADV_DODUMP 17 /* Clear the MADV_DONTDUMP flag */ > > #define MADV_WIPEONFORK 18 /* Zero memory on fork, child only */ > #define MADV_KEEPONFORK 19 /* Undo MADV_WIPEONFORK */ > @@ -72,7 +86,7 @@ > > #define MADV_COLLAPSE 25 /* Synchronous hugepage collapse */ > > -#define MADV_HWPOISON 100 /* poison a page for testing */ > +#define MADV_HWPOISON 100 /* poison a page for testing */ > #define MADV_SOFT_OFFLINE 101 /* soft offline page for testing */ > > /* compatibility flags */ > diff --git a/arch/xtensa/include/uapi/asm/mman.h b/arch/xtensa/include/u= api/asm/mman.h > index 1ff0c858544f..ad6bc56a7aef 100644 > --- a/arch/xtensa/include/uapi/asm/mman.h > +++ b/arch/xtensa/include/uapi/asm/mman.h > @@ -15,57 +15,38 @@ > #ifndef _XTENSA_MMAN_H > #define _XTENSA_MMAN_H > > -/* > - * Protections are chosen from these bits, OR'd together. The > - * implementation does not necessarily support PROT_EXEC or PROT_WRITE > - * without PROT_READ. The only guarantees are that no writing will be > - * allowed without PROT_WRITE and no access will be allowed for PROT_NO= NE. > - */ > - > -#define PROT_NONE 0x0 /* page can not be accessed */ > #define PROT_READ 0x1 /* page can be read */ > #define PROT_WRITE 0x2 /* page can be written */ > #define PROT_EXEC 0x4 /* page can be executed */ > - > +/* 0x8 reserved for arch-specific use */ > #define PROT_SEM 0x10 /* page may be used for atomic ops */ > +/* 0x20 reserved for arch-specific use */ > +#define PROT_NONE 0x0 /* page can not be accessed */ > #define PROT_GROWSDOWN 0x01000000 /* mprotect flag: extend change to s= tart of growsdown vma */ > -#define PROT_GROWSUP 0x02000000 /* mprotect flag: extend change to end = fo growsup vma */ > +#define PROT_GROWSUP 0x02000000 /* mprotect flag: extend change to end = of growsup vma */ > > -/* > - * Flags for mmap > - */ > /* 0x01 - 0x03 are defined in linux/mman.h */ > -#define MAP_TYPE 0x00f /* Mask for type of mapping */ > -#define MAP_FIXED 0x010 /* Interpret addr exactly */ > +#define MAP_TYPE 0x0f /* Mask for type of mapping */ > +#define MAP_FIXED 0x10 /* Interpret addr exactly */ > > -/* not used by linux, but here to make sure we don't clash with ABI def= ines */ > -#define MAP_RENAME 0x020 /* Assign page to file */ > -#define MAP_AUTOGROW 0x040 /* File may grow by writing */ > -#define MAP_LOCAL 0x080 /* Copy on fork/sproc */ > -#define MAP_AUTORSRV 0x100 /* Logical swap reserved on demand */ If xtensa had those, those should be kept as well IMHO. Looks good otherwise. Helge