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 A675AC61DA2 for ; Wed, 25 Jan 2023 08:56:28 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1DE626B0078; Wed, 25 Jan 2023 03:56:28 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 1409E6B0072; Wed, 25 Jan 2023 03:56:28 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id ED5586B0075; Wed, 25 Jan 2023 03:56:27 -0500 (EST) 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 DAF8D6B0072 for ; Wed, 25 Jan 2023 03:56:27 -0500 (EST) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id ACE8C40ACD for ; Wed, 25 Jan 2023 08:56:27 +0000 (UTC) X-FDA: 80392715214.06.1C9147A Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29]) by imf21.hostedemail.com (Postfix) with ESMTP id 6EA481C0002; Wed, 25 Jan 2023 08:56:24 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=suse.com header.s=susede1 header.b=sP3k2vbL; spf=pass (imf21.hostedemail.com: domain of mhocko@suse.com designates 195.135.220.29 as permitted sender) smtp.mailfrom=mhocko@suse.com; dmarc=pass (policy=quarantine) header.from=suse.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1674636985; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=HlfVezvAjFmKLztHMOaZ+yji8Nsqp9vLwu4LVliFLNo=; b=sr5LMwzhw4Lxms5pZyqwIex7bDLHK34PprtftDjqUiy/gMUdlwMaw7Fqdle+6/SjCfcRES jur8ifxbD2vRt7ExUKpDW0zfP2Z0NELo9CuifMfgxFEoDdzATmRopB85/D9VVFM6X46nsG P6FusR1b9LD8zsHP7ByBr9S4SB0rt8s= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=suse.com header.s=susede1 header.b=sP3k2vbL; spf=pass (imf21.hostedemail.com: domain of mhocko@suse.com designates 195.135.220.29 as permitted sender) smtp.mailfrom=mhocko@suse.com; dmarc=pass (policy=quarantine) header.from=suse.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1674636985; a=rsa-sha256; cv=none; b=t1XNoLFbX0Xowr5kBU1/5sgxZEwHT+jZq13XbiYCyoJoQokgkODF9l4slYnWEImA0SVRbv KOILc5KAYuryf7GErjkgBGhMpfZ3gPZ7LjYSKFB5OEWrNaw77QvlOgPxxZXaVlkpvvW5wS mqw9oe5NhI+nUngANU3DkDpowE2b6So= Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 0B83B1FEC6; Wed, 25 Jan 2023 08:56:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1674636983; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=HlfVezvAjFmKLztHMOaZ+yji8Nsqp9vLwu4LVliFLNo=; b=sP3k2vbL/TMjnnanRjZuUO51OPKL7NCAE7wor1COt2s99RKg6YGTByegVuny2bFzwE3+s6 UutXKdgKZ+JCm3/zcJc6jOoDAopdP55BVOpdwrjI4e178jvtCsfm11DvfUjHyJJs6l60Lo ZwU2a8676f0/M9W0HO3obY7BVSmDGjU= Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id B78841339E; Wed, 25 Jan 2023 08:56:22 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id ZJ2WLLbu0GN/CQAAMHmgww (envelope-from ); Wed, 25 Jan 2023 08:56:22 +0000 Date: Wed, 25 Jan 2023 09:56:22 +0100 From: Michal Hocko To: Suren Baghdasaryan Cc: akpm@linux-foundation.org, michel@lespinasse.org, jglisse@google.com, vbabka@suse.cz, hannes@cmpxchg.org, mgorman@techsingularity.net, dave@stgolabs.net, willy@infradead.org, liam.howlett@oracle.com, peterz@infradead.org, ldufour@linux.ibm.com, paulmck@kernel.org, luto@kernel.org, songliubraving@fb.com, peterx@redhat.com, david@redhat.com, dhowells@redhat.com, hughd@google.com, bigeasy@linutronix.de, kent.overstreet@linux.dev, punit.agrawal@bytedance.com, lstoakes@gmail.com, peterjung1337@gmail.com, rientjes@google.com, axelrasmussen@google.com, joelaf@google.com, minchan@google.com, jannh@google.com, shakeelb@google.com, tatashin@google.com, edumazet@google.com, gthelen@google.com, gurua@google.com, arjunroy@google.com, soheil@google.com, hughlynch@google.com, leewalsh@google.com, posk@google.com, will@kernel.org, aneesh.kumar@linux.ibm.com, npiggin@gmail.com, chenhuacai@kernel.org, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, richard@nod.at, anton.ivanov@cambridgegreys.com, johannes@sipsolutions.net, qianweili@huawei.com, wangzhou1@hisilicon.com, herbert@gondor.apana.org.au, davem@davemloft.net, vkoul@kernel.org, airlied@gmail.com, daniel@ffwll.ch, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, l.stach@pengutronix.de, krzysztof.kozlowski@linaro.org, patrik.r.jakobsson@gmail.com, matthias.bgg@gmail.com, robdclark@gmail.com, quic_abhinavk@quicinc.com, dmitry.baryshkov@linaro.org, tomba@kernel.org, hjc@rock-chips.com, heiko@sntech.de, ray.huang@amd.com, kraxel@redhat.com, sre@kernel.org, mcoquelin.stm32@gmail.com, alexandre.torgue@foss.st.com, tfiga@chromium.org, m.szyprowski@samsung.com, mchehab@kernel.org, dimitri.sivanich@hpe.com, zhangfei.gao@linaro.org, jejb@linux.ibm.com, martin.petersen@oracle.com, dgilbert@interlog.com, hdegoede@redhat.com, mst@redhat.com, jasowang@redhat.com, alex.williamson@redhat.com, deller@gmx.de, jayalk@intworks.biz, viro@zeniv.linux.org.uk, nico@fluxnic.net, xiang@kernel.org, chao@kernel.org, tytso@mit.edu, adilger.kernel@dilger.ca, miklos@szeredi.hu, mike.kravetz@oracle.com, muchun.song@linux.dev, bhe@redhat.com, andrii@kernel.org, yoshfuji@linux-ipv6.org, dsahern@kernel.org, kuba@kernel.org, pabeni@redhat.com, perex@perex.cz, tiwai@suse.com, haojian.zhuang@gmail.com, robert.jarzmik@free.fr, linux-mm@kvack.org, linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org, x86@kernel.org, linux-kernel@vger.kernel.org, linux-graphics-maintainer@vmware.com, linux-ia64@vger.kernel.org, linux-arch@vger.kernel.org, loongarch@lists.linux.dev, kvm@vger.kernel.org, linux-s390@vger.kernel.org, linux-sgx@vger.kernel.org, linux-um@lists.infradead.org, linux-acpi@vger.kernel.org, linux-crypto@vger.kernel.org, nvdimm@lists.linux.dev, dmaengine@vger.kernel.org, amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, etnaviv@lists.freedesktop.org, linux-samsung-soc@vger.kernel.org, intel-gfx@lists.freedesktop.org, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-tegra@vger.kernel.org, virtualization@lists.linux-foundation.org, xen-devel@lists.xenproject.org, linux-stm32@st-md-mailman.stormreply.com, linux-rdma@vger.kernel.org, linux-media@vger.kernel.org, linux-accelerators@lists.ozlabs.org, sparclinux@vger.kernel.org, linux-scsi@vger.kernel.org, linux-staging@lists.linux.dev, target-devel@vger.kernel.org, linux-usb@vger.kernel.org, netdev@vger.kernel.org, linux-fbdev@vger.kernel.org, linux-aio@kvack.org, linux-fsdevel@vger.kernel.org, linux-erofs@lists.ozlabs.org, linux-ext4@vger.kernel.org, devel@lists.orangefs.org, kexec@lists.infradead.org, linux-xfs@vger.kernel.org, bpf@vger.kernel.org, linux-perf-users@vger.kernel.org, kasan-dev@googlegroups.com, selinux@vger.kernel.org, alsa-devel@alsa-project.org, kernel-team@android.com Subject: Re: [PATCH v2 1/6] mm: introduce vma->vm_flags modifier functions Message-ID: References: <20230125083851.27759-1-surenb@google.com> <20230125083851.27759-2-surenb@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230125083851.27759-2-surenb@google.com> X-Rspamd-Queue-Id: 6EA481C0002 X-Stat-Signature: t48mhmrjq79q6nddi1r5fffws4ozn8rw X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1674636984-990948 X-HE-Meta: U2FsdGVkX192Wsi7KgN4rxmjQ72Y+8h0IQ0VdgmvXToH470k9AP3fs5ZoWVbP4SaEEcVqF8KXQFqsreha2ZGzuoVPkr+YCconwFE1RKnPUYChKa1ygheAfS35TT+CgNh1rWUt1V8O4RhRC330XJH0nWPtCQFVXfl883W8awECr6ot3zYrAdX2SeGVSziUI85E9BsnqvxHFXSI5RAMC2p/W4QAvit5R40gNduharSFk8ujlvVB3s8ftAqA0O6TFy8tJn8tmOgdDOOzUGJ8JUEhR7ZxG+n22tAAksIYOJwn8PugAMFfRh60F0lEs/+UxnJ2M8cnpeG9ycciak125EMa6cZcOPq8W22dQizNG+et35oLEQVo8Zx1Wq0R/E2h9dOSkA1iUmn0HR8hLP6kWdWt1I9+sRKfeYRkXTg6uQxH5BnVV5+vrcbRHWmRMLxGClaIdmTFWW+NWKdebFu1tkyZQYFMXRSexFgnzuNjcGeLQaS0ITAVll3tyJi8V5z6I6esxVBuwbs0JVmDK+DwI6C1a6qI5u0nPp2Ot4EXQhRJHc43ymczEatgMeVCipAJQBzAmYNUvaZCls0E/Cup9GINKhyITg4UsPPLCba41eTLGV4jtdHE99h7KJfEXFZGHf1eKaGg98+HPF2wVbv1oe0klV2GeyQ9uyFFhEpgQtSni98PrvAWlB1gUPkatwPS1CvURCeB6W2mHQBaBqw3DJc4UzvNCv0SDOLFMnZJHZ1aebZ24qwS74wF0vxmDn7sI7+YdozproWv6wB4Vjb5AZUqD4GZNm79TpMfa5fcSpdcQqXWTLH8P0htaBgUSChConAjabgiO9BgkDgkzZWb0SFyAO6jXNsaiv86kx2KcsVzuxaqq0GdxODDOSlxWa/5UWkKiF4x7B2bKnZ1X2NzdL3tquPbbT/nxfM2H3xW1/iIpilOuX1Tg+WW9hKRI+ts9VMwJ4yUTjLMoAC4Slv2TI vomRz149 balXV91lcw889r1auKU7OgXgqQR5jour7JV1Xtz6LOcwdmtiqN6wZQnP/Yi7g1r4TTBYEq7IBtuXdQ/mMRzHPEvnDTU1EqMAFeKQ/Dy8oFAlLLEXdTnrnRF4j0t536opZbDXyFQGUNI2DNCSTFp5i3VM7OJTotDgBfc7xN76clxQKy3ok1YJm0VCtJhjweU+pdwok6CnnAl8m5Y6oOeiCuQin3BvvXoxq0f4E23BlbgPh7GTQ7/XxDpTFX9Lk5KkhcfhOc8MO1IL75cRUIJhQV+ZzrjyTaVFP9cxnUo0dWzFD3Gkaag0nbq+ieum4BStuPLH870oDDulQIN6uISHmuaFS2ANSBUGd935ESRsMU2E5KKx2VAMZzhigc+UDZQWthadOuDmQO38XSnCv15fA1sVRAKU2uREjWFEc0ZWiRhqsGfmY6BiatEtj5eaLGrBMip9IfkJncgkJo39upgedfHmQS9QiA7/unEq+AErdTx+Rs3PClrL604oi4Mv1qucHyW9SE7QpX/MOe4hNG4x19D/EZ2JtEwu0dYuU4vQSJvznK5B7ZHn+DsA3u599bA8MclQZ8g6cv8MA8E9EFSlvopbgx3HjoMInAXx1xWhaa09YVsdLMizclPKRPKMUdDvYvgSHXPHBlHYK/F9I/dT0fj/GBrcT29a5nN9KxdibcclC2htH6UL1ji06sLx/L+t1UlmTuskAaXQVeVafjWAOLnBN9/aL4SsoNmJzVP2/dcombJ+ibSeSIwrJcYg0MPpwxOzNigo76nv5ulG/Orow4EvwgF3upVrHQSJ/Jv44A9XDWPrmgQBsX916xQosXbkUTIzbcdWXE7+ZmF1ietOSgKOPPvD2QRv3D2qFXS5BygSW/jJSJk9PtRiWG88WBIUkTr3kN/n1GVa1tQ5r8DnVmh0rqkwsF1wWHs1cQjWBegHNR3Icb688n3FGh1HYkx9NJshvOH/wQidJBEQYv2GSMPmaQqL8 JoyZJZ+6 Pgf4/Zi1hKNjuCI6h5XlwyF7Zeu7dUyCDPQWnWwjU9g7MWkT+R1Uk4M5GevqaHUqrYRIzc3pfkDSA528wZ/Eob8X3nJ9T3Y/vGYjklzMvEM9qHoalgmk4XfKExbbGgZbVWTZnlFKSjNGlhg/Uw/S2zGnhdKsstjohZ27sXh15aD76O3WtIDvu1giwgLoRaC/Kh/oZWdpb6KnPxx6iU6HEFzzjdncs2dWcy/F+L/yYxtvotlaoXTW6J+wHoLf6Rk44nnXj0M97Mt2KZblLc+6Fqw3qpyb40g1oNKZ4FYEBGOWLIifJleJMgmcOx3b3o6jSFQY1ViKotLt+qAEMObFbbrx5U9bZbPOM1SRCN1PidhUAzm6O9yL3lshkPZSI3ryvKzl1/UXikjq7+adwaWkDa4SjH7gd3tSs3Cv+RoOhBfe93/W4hj6C095n94zRR5cTiKkNSx7irORGq3uSCHhwdg76HM5qlbu/ZAHeA3AJByc2Rtzwhd60z1B621cMHdW9z2owCSOYJvoTfvWKIe1wL+4sgGoDymUdQLZql7Us6LzUXxacPhcd64wvwNy2/G+dWWusNZVprFoJmGy7oSdr2boKeVkhCBrs+9LQ6o8jTABTzW42Pvi/3MnTH36uyyi+zc3CpyQvvzskTgwjHCDtxnTRez7LoAbQhkQobvr/MFbJGlH8gn4kToFLbYhrIqXw/7DieWB8dpJQ5cztsKJagtFpp8pHxba+8WtNEHKn6EUTVktixNfz3cfnfhLWd2HBYonJ41lcV2Ubn0iAKOsJMGUtBu70AYoHERUWOmytizdwXNkkjXSyIUmc1WkSvfM0m93hrCAUpM8g0zliJIjg/ISbohcwxU+NMDBKTAYwj2Wb9mNCleuElv1VvIFviZCLc0kdKGIWq1AeXgnFuAQKQpUrEMlofuGzHE5idLuNJ1XgMFR4SLiFA5SkT4l8CoXrxPZAp3tEYOXcfzBVuSS5rN0qT+4L ppyx4xdo L4XIHWaa9OCxrc2IGoi5pPYHrGD4kJBmH0lmuuN9uWmF+HBohPZ6B6+Hut+btumkxY5tdGVWAr95cRl19SzT826Xo555x3aKmNRxTRx48cQnRlmxpdRPc4an+RpomKOkg5+wKpy9cotilirnyQTLpPnTLsoiUZbRT0749dKZeDVTri91hWsELNMLISP/+eiWf9B/FvMhBktROowGpzCm6sgMY+etrQzcglxY+r+FB6lUIPWXa9qd2as9e+73hxl2YE36AXr2pPYN1cGYeYKUnTehgEixuw6NH99ow+wdL+sddbaj00I8wcvauHufNG/6nsEY+wjNgnZhQWtsrWf80uwOibD0A1Rn4h712dd61ky2GDyXLtbMwXSzrj4a/7mynNveTsc+JwHDwBEXyPTs49GSmLpV7xjz1Ldx4hq19vlupKfEE4YRGf+7A4C6lFfG9HOaDw9+tOnOGKUOa5Jesh+UauqpYw7XQjrYGWWn0090/t/e7p7MTGUZAImrjI1h1gf3TVXw4xIp61jHicIsNJ2OIAG0MCdZ+4SoCKqSZ2fso0YTJlwfA9CrqkAoYbE+7b5ej0yByh3L240sGtiiIZSLkthVSCyYCFckReqCg8UgNvpO64GnRuEuRakNNH+OA5u9f7riKuvel3y87JSY0ei3D1W00pmvP1gmoJTunL6tZkTLuXwOUlnorhT8jevPIoNzkaqJLLJSBS1Na4KtTqNV1DjZe+7nxB0f9Y+gNw3CnSC40RHz9S3oPtyZp2pCCQi4DqcT9IVCiGwIDAyveNgPjPqM9EHdEarILFjK+f8TtlLD8NCWHVWKpnZfrWD1x025qSJD4vWFtIff1CaZZiVcdYT9M9q0ABJ6bEs4c3Fpb0qRh3o5+b5ZWBLh9wpl4XjRcf1luo3qL/6DvKAG1gJDj2eRsJTtzx3s2XG6MIblSK16SzwOt7xKz1hGOP23ItebbAWX86TNe9NS0pWutGNouw+Eg 3w/eM6EZ rbeMvuYKThaBmvXt7t9fP6+sj6mPyT6A2+WtjkmxEvtyp6hOdf3x2aY4mLbQ7Xq3AxS8amdAdRMI4IlWbtwBh/jA/psXetELJjKEqerSUfOUqYZOk3zqVXO32Z6bGCa/a6eKU0P/98+PRBew6vJ1T538w49/Q1x9Vh9o5suRBkjFBuYEcJc5+LT7QrAtgmrGW9ZANVz42TZBVyI4OL/+G72qg88+eAE0uSSZA9Rc/7fWyqG8ottqvnuvn6Sh2mKUAlIQ1OxpToeltEHMKpFzSjUbc5b/98ykUWJ+ZtqhkEklZQK5IZJD7m9eZ7f9ucRC9DhfcVefiR4LljAqDOK14pxksxDXAUyqvWPFtbV2sl6UauG34a8f5mkAlSiUKJX/1aZVd4ERhUPF57JF5ij+0wdQslbpHp/EXNMVjt8ef6RN96cx7EHj2ZMpmlCjdu6urRdVC1FbBzfXLBI0oOKpiI 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: On Wed 25-01-23 00:38:46, Suren Baghdasaryan wrote: > vm_flags are among VMA attributes which affect decisions like VMA merging > and splitting. Therefore all vm_flags modifications are performed after > taking exclusive mmap_lock to prevent vm_flags updates racing with such > operations. Introduce modifier functions for vm_flags to be used whenever > flags are updated. This way we can better check and control correct > locking behavior during these updates. > > Signed-off-by: Suren Baghdasaryan Acked-by: Michal Hocko > --- > include/linux/mm.h | 37 +++++++++++++++++++++++++++++++++++++ > include/linux/mm_types.h | 8 +++++++- > 2 files changed, 44 insertions(+), 1 deletion(-) > > diff --git a/include/linux/mm.h b/include/linux/mm.h > index c2f62bdce134..b71f2809caac 100644 > --- a/include/linux/mm.h > +++ b/include/linux/mm.h > @@ -627,6 +627,43 @@ static inline void vma_init(struct vm_area_struct *vma, struct mm_struct *mm) > INIT_LIST_HEAD(&vma->anon_vma_chain); > } > > +/* Use when VMA is not part of the VMA tree and needs no locking */ > +static inline void init_vm_flags(struct vm_area_struct *vma, > + unsigned long flags) > +{ > + vma->vm_flags = flags; > +} > + > +/* Use when VMA is part of the VMA tree and modifications need coordination */ > +static inline void reset_vm_flags(struct vm_area_struct *vma, > + unsigned long flags) > +{ > + mmap_assert_write_locked(vma->vm_mm); > + init_vm_flags(vma, flags); > +} > + > +static inline void set_vm_flags(struct vm_area_struct *vma, > + unsigned long flags) > +{ > + mmap_assert_write_locked(vma->vm_mm); > + vma->vm_flags |= flags; > +} > + > +static inline void clear_vm_flags(struct vm_area_struct *vma, > + unsigned long flags) > +{ > + mmap_assert_write_locked(vma->vm_mm); > + vma->vm_flags &= ~flags; > +} > + > +static inline void mod_vm_flags(struct vm_area_struct *vma, > + unsigned long set, unsigned long clear) > +{ > + mmap_assert_write_locked(vma->vm_mm); > + vma->vm_flags |= set; > + vma->vm_flags &= ~clear; > +} > + > static inline void vma_set_anonymous(struct vm_area_struct *vma) > { > vma->vm_ops = NULL; > diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h > index 2d6d790d9bed..6c7c70bf50dd 100644 > --- a/include/linux/mm_types.h > +++ b/include/linux/mm_types.h > @@ -491,7 +491,13 @@ struct vm_area_struct { > * See vmf_insert_mixed_prot() for discussion. > */ > pgprot_t vm_page_prot; > - unsigned long vm_flags; /* Flags, see mm.h. */ > + > + /* > + * Flags, see mm.h. > + * WARNING! Do not modify directly. > + * Use {init|reset|set|clear|mod}_vm_flags() functions instead. > + */ > + unsigned long vm_flags; > > /* > * For areas with an address space and backing store, > -- > 2.39.1 -- Michal Hocko SUSE Labs