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 E93B9C61DB3 for ; Wed, 25 Jan 2023 18:38:56 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7A34D6B0075; Wed, 25 Jan 2023 13:38:56 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 72C2F6B0073; Wed, 25 Jan 2023 13:38:56 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5574C6B007B; Wed, 25 Jan 2023 13:38:56 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 435566B0073 for ; Wed, 25 Jan 2023 13:38:56 -0500 (EST) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 1337440578 for ; Wed, 25 Jan 2023 18:38:56 +0000 (UTC) X-FDA: 80394183072.26.DD09C5C Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf07.hostedemail.com (Postfix) with ESMTP id E70D840022; Wed, 25 Jan 2023 18:38:53 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=uqNynxzu; spf=none (imf07.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1674671934; 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=j8xmcwaWWp8ClSuIcWbfPO9W4DI7+K1SIXYR1hupOAY=; b=AcTPg2jL+TkrTIMO8A0QjrI84U9cwll6TXFOBR8titx44JfCz4AZJmesP0nqtCFDdN1LKe l7LseROjtSnubbQvlTb0k3aCsRiFIioYDGDmzRHaVcMd1bDT8agrdsuIuMcW3KJgTloCJw Kv9O0rDN7wlZAe467NJe2pxmH5XyDys= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=uqNynxzu; spf=none (imf07.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1674671934; a=rsa-sha256; cv=none; b=MmIE4XtQ1t7I7hSFMFEiYO7EXG9GQQgPgTMwdmq2WOpiuDbRS5Bvl1jOjfJcX/nCIzYc0K jR6pNyUPGcbwf+DPLoOZe8biqPg7WWoU7ZziKa9Dwsp2wrnXlS+TUTLW9kaeKmQenUKJF9 mfiHmIXuWjUvN4tcLP46udHlqLSHoKs= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=j8xmcwaWWp8ClSuIcWbfPO9W4DI7+K1SIXYR1hupOAY=; b=uqNynxzucz1vO4Sybud/wnfqlG XxsLNOwKfxMMQq2z+2mEwSQepA2Cgl288rz8ppyGnCDD245OrpnK+lLHo83C85yAJqJOOkyy9NCp4 qmW1PdDBkKx7H5H7CuTrTaW668Ax6XD7hJfO7woN7MoWAjzhSqQRaCuht1RFhZ03cdOhzx8vskmyo utYjRqoPln+RK+MIFkiqDBv2fEqneNERI4c9/pWDfp7yn00dEjgBzAOu+9ajSFVQvgY4Ml53E7t5d 4KvoHjjGbdeWlMlk7Lgwsa8VGdyruWiJYIAak7bpfijYPXdYqIwuOD9Kmo+xWyNX8MhOoxpc82QLY /xONblxA==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1pKkeP-0066hH-0o; Wed, 25 Jan 2023 18:37:37 +0000 Date: Wed, 25 Jan 2023 18:37:36 +0000 From: Matthew Wilcox To: Suren Baghdasaryan Cc: Peter Zijlstra , akpm@linux-foundation.org, michel@lespinasse.org, jglisse@google.com, mhocko@suse.com, vbabka@suse.cz, hannes@cmpxchg.org, mgorman@techsingularity.net, dave@stgolabs.net, liam.howlett@oracle.com, 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: X-Rspam-User: X-Rspamd-Server: rspam03 X-Stat-Signature: 5o9zhn55wmdfmfg71g7m98zazm8zddtn X-Rspamd-Queue-Id: E70D840022 X-HE-Tag: 1674671933-255133 X-HE-Meta: U2FsdGVkX1/nuqrIoS1ryg06Q81JudB4rivikkRFEbny3NBNHne9UuLheIKMS7Pgo7VRFP2gZPah1Lk29YiL8odbRTJGyRRBnPbu5cEUgOTfpsydczbRl8dfjkoK8+C1gbuKu5MdnTo20eyuGZME3A+9GU4uS0GcpQ1WBvoGJvkwtZVDvAqdkRuoWxZ+/Ic5z5GkHjF5x/dHsEEmhR2iuqkro78cbuVWHqvL196zVflwoH86Dsefdckb+STiBdgRkVE2R1XMd0kBrbe2DP8o6uYlJvWfQNO9AdIHEevwgrvc9unYHcAUEM66AE4YBogcsf3nzruBKfNjYfK98Y8tQs24EMvXiP1ReCsq/R4uWejDc7WatK4Wo4+oM17gimpMgJY7SYNGvLJW7H3nk8g1h0OpLWWelvwUpfmY8p1GFPrIzNgVIkepxv5RxL+wdwvg5dp5gTK0q3HmSsQJGHx6zU/S00vLCCvsuIhCGeruwYMQw0XtMKs7Vnze3lvzp8XUshRw/N80KgcPQZ+7xmIGjwsXOlpnPbMwCYeaqPAxs28kyDLdjrI8J33GLxPGJhnU5C8jo8kPqJFohHWEjNosnixm1W+VmHRBrkCVsJg0dEu17Wp5xthb+IB4y0NqdZ8HIe9ZjLfMqvpIUAPaUOAVhkC4A8Keb2sRoVnzK2qcydKi+A+5+Vf6gBrVnhfSlACtZnMhSYpR/pTkPUPcZd5p/Bmnwis6bh1J5wdM74lHB1dbq3o+NYpw/N6z8wthch/+jKGpZQzBq/cuuxdxLU/gCQAkZXDZprBwh+mDILojgnZwZdjpBnOIiAQswxtg0OB1Id2Z/jQmZYVEz2szHmxGYB9PqRklMPe0xxeFuYk2FVHZ/xfBI8xEwkwD7yVTm4Dgzl4z7ZEHMJc7a9BaERFYhS4S+f1+1SR6cLJGV7UbJybU/zIXUVXj9WqHWmgzGNQA4y5xdJiqUjo/TqNWKIY AhtbfBVz GuDihzVTnrpANffDfByVhF1KnlbzYOBDjnTt6hpOqWjVhqTTTkhHdZFSaz1tnt+sQz1AobpgQ3y/UVVnNRzrRcSW8ZjNQU5dYXK8J1ZEW/DtU6Pqu/zLRc9nSLHhrNxDD4TJXz5HpLwXvykSpzvtEXEfFnxutOaapQWVJzG8YmclvlO/J5YAColP75NT1n3tUHXVzY/Amgi+MWONKtf9H7NCJMJbxP5ZR8IqeaqCDJB1FvcWFIbBgQL0VvUbXFNYeTZQC+KTf72egv8ZXQTqoESi7Obj6D8p+EnT3v977rG/dI6/7v8ATVVTq76VnNff2/+mCG01v3t8KNXtnflcM0Lm0SjZAlsszyG3bFWnFmWdr2q4t8tdhwaB1HYj0xMMg9qa3WEhMF4Y1+yUY1mVe3QsqE5oe2DMfOYSpU31jv1WVcXyd5wmWb2tWgVLXGNDFi0mxKSaqudL2m6jnen79qcdQenSfCkPpsp/2sQ5QcPmiQ5v/sHGuTUBPk3hP3pZg3yAAJkDLSowXJVKUZZUyBwlrh0iyXPnCpyReUsbflNo9L/Al6DcP4ZXn1svwCPC8RUxITa7eh37v7YxVqgOAO1Fh7Kxv2/GtZh+W84PwcCNbT1izW0CTWAqUN2ON7duDLOke4WPyaPoiydNSQQKf4wC3NVKVV8pSRPEq8GgCHBtn7d7E5huzr7sX/SMoZI/KE5xERQS0Y34Bjtk6Qe8KM4Jm0H8LTfXyZX7rqPaOQkbYyPrf2wdyXRiWuiN/skiw82GnNUtlZ596JXBFqgKXb5cObndB4jH5z6xLlpWQQlXwEU/dPfqVoAJ8AH5LcIHIiw1k65ph5gBUbe5POYzq5381S6INE701r31g+kLLKMSAn+OrjzMAi6AQWdzJ++9DDPVO1gaGbrs8CF9N5mayJCK6oYUZdJHrWKUcjggjN9WdtHTJU6ZkOy8SvuqBJhNNg8LpLRFTx5BC8w0TEImlXNegMPhx Xv6NPO+B 3WqoR8iHmpyedAHESoMHifLo2vpws44d3uCMfDTiZMRPpsFVEVnkIMLw497IwO+JtI4KP9xvTTdwzBCGgm/B+rucOup6V6V8Z12yY5d5zVdEFomiM54K3D6S67SL4ExMHhEhcULCSrCNYEvt6qyUDG1s4FEImQmTMQqyFxCupNDXvevkE//4pu4irn09ql2FbGNhHA1cAJrQs5q/3McNZ+jZLOrv6FN61nz5Wlzo6GwhoiA5ZP7RCnOjc2kzD+Ozj7rb1rHzKVFn5WElL/mBq8rZqgF2iHql6uS1L3vAU7MFexpGSdibuN/hPY+/L33WfbwqtgvBoWEZyyisewwrow/MBvTKbMozVz03S5837fbKaaheO42lzRkeO7oLA4K3zkGikx6+zUT5Fh6kp6TFyY4rpZTwh/Clh4GBgUaB2QQ4N5/LTBFntxh1px3se1o8+W3T7vgp4o4SNtMZr9I2cB88SA199l8fPmpkj4aM+0PuQhSke58TJaLhmjA6VD1bp/ja8JSBxAQP490ik5EoCZjg2ZKDWGwdhnyf7boOHf1XxeVJ7oGq/aQ4Ry5sX6MYD3YoL35YOxHes1vzisKeDGr1CEEW0zh05O5WT2Ph5XE4zH1wNWaPa1noWUocUYUrILIDIifHltRD9hsSnmptlUTiuc5E+2mo94s7sv2e8xeQvev68minTsFsvc4SuDCx+qiD8WB77/k65HKgzyCJe+s5nXRyl0u4aTimjMJMIa8/GvpCZ7uJgaQA3Sp1sRFwtzVJ647pzfd1+Tivmt1v46KGtcoVP6+xadBnRnhNVJf9SNmF7akilKXCE7mJdcilIBNGiMug8ZVuL9qcyo30WRW5AlOMX26QE6N/ONhwJDNGDXzs5wf+3g/sv4JYtz1/GrH7fRHNnar8SMzgkTLhJmwudA3xrSRnRtH57q0VXcy5vwmhUpokJywouoFjquFPmmlQf3mnAyaAfNnPZM8yOwdkKN/a7 KcARu1CO xydFmrxZvVwe1BuNF5SJhfqRoU0b7BubipXnEgaIglN7iy7kohxXM1y6JRDYkOFFe32GYaYHekvvgdNIJWe2ywE8yPvYBDaMNO0//JRKMabxTVnSLa0zSU2ZfYWYYsnXR/iz7LfnewXZOmNJ954l9bqoXO90POx9OfWlIZ1eNWq+Vk1kzQnF/p7WtG/2WAYDe2oxwi+LPiz8zj4OHzCDr80R/c3VDyss/1998oN3qbSKRHNT+dPGYFxV0L/dDSRK8NWdMQW6STa6TRBjgs2mAcHpgX6o4wzddT7C7nm4tCbszw+Cpo1gabX1wcXOZdPNL9pPfWn5g9pPaFqBcjmpwcO1FmGbt/8Qsk72PZR95JXwKXFqZSmIFxhy+Qf+3J1cuBGmVQgLwWDrKsfnQaPyt4C3hjRFcsd2bJSGTo11WibsUdEoDnIw66KKERMXFFHbiawD+OncSJXbc/o8cUJzXgF0KR6E63BN8eYfaQmMCRbeBFAvyErI+ypiExX4cefINbPq5YQ28rF4+DGssH5BCmA25k9HuTtFjXYx25U4qQb3tYzIjfHvBqvJzj+M9MQJXSoGSg7i3mteHvYCU12QMw8jWqobW9Wje65WaWKvUxn9ForTGfD+LAL0wXxAdOeOdHvB/lzbIezz5Oh+nXx5kJGYt0nWIoOnb3Ov0w5YUNm0mVg6/RH4vOtMBsigjVhuiQrwUaKdNX/7yoeysp07DskpVqRLhattbmGXg16h2HY52XVS+3o4FCuamUtBJdA4RH2pnF4OC7wl2LT4V/YI7PIeOBMptnvm0UfWC4bKHSWNSVWXAcDrMUjrYuURE2Tfh8ZYjddnCRz9xuFWxgRNc3t662ajhaLfc5X3yjLYRxluLahO+TZr6JaZadznltFeVVHudynP0+a9gcdC+0cnTgSLLSWNxYKDn0NNwbmG4xbwvEoT6ETPI8qxnkt48nUlsrH27kxXhr9Sxau74qjyBPPKcq5GK vw+St3Yx bcgWF1srzWos+RdCbYDcSu7Gy6mkL+Vs9tG0FBhg3RAWu8InlbpVDgadzscZ+gyNwouzc4dKBg69Dvru1sYVr3u0sTpYzowz0qs88HTFEIfC3f9jgA208zkbMsQTp8ZjEgb1cddmcmb+qQK7LQNe7t2t2PaD3ZMfjfNsdnW9GiEa1PbCx+4SEpAxNbDfKnBulwgTRixgL1sgA8A6okbNjFbHHIbGvfGdmvV0GhlpeZ2SeiKX1jqUnAaPlxQsgyCECKtjlKXdlpPeH3pNDunBcbvIucKHrebLp0sviRUqfeFHVvnyIii1VI6cSaZvteUhvj03qdjh59a4Y2rBlOZPuLpuXmTkG6Ya58EryfknX77K3ot64T/nlQCjrrfyJkZNvvssmtvE9VBY0zUTrDUwY/ypYqzsBgRBMmrs2w++4pGw== 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, Jan 25, 2023 at 08:49:50AM -0800, Suren Baghdasaryan wrote: > On Wed, Jan 25, 2023 at 1:10 AM Peter Zijlstra wrote: > > > + /* > > > + * Flags, see mm.h. > > > + * WARNING! Do not modify directly. > > > + * Use {init|reset|set|clear|mod}_vm_flags() functions instead. > > > + */ > > > + unsigned long vm_flags; > > > > We have __private and ACCESS_PRIVATE() to help with enforcing this. > > Thanks for pointing this out, Peter! I guess for that I'll need to > convert all read accesses and provide get_vm_flags() too? That will > cause some additional churt (a quick search shows 801 hits over 248 > files) but maybe it's worth it? I think Michal suggested that too in > another patch. Should I do that while we are at it? Here's a trick I saw somewhere in the VFS: union { const vm_flags_t vm_flags; vm_flags_t __private __vm_flags; }; Now it can be read by anybody but written only by those using ACCESS_PRIVATE.