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 4E8C0C54E94 for ; Wed, 25 Jan 2023 21:04:19 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B0B1C6B0071; Wed, 25 Jan 2023 16:04:18 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id ABA8E6B0073; Wed, 25 Jan 2023 16:04:18 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9AA1C6B0074; Wed, 25 Jan 2023 16:04:18 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 8A73A6B0071 for ; Wed, 25 Jan 2023 16:04:18 -0500 (EST) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 54CA9120E7B for ; Wed, 25 Jan 2023 21:04:18 +0000 (UTC) X-FDA: 80394549396.13.FFFC888 Received: from mail-yw1-f175.google.com (mail-yw1-f175.google.com [209.85.128.175]) by imf25.hostedemail.com (Postfix) with ESMTP id 82E74A0004 for ; Wed, 25 Jan 2023 21:04:16 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=nEHwHDOm; spf=pass (imf25.hostedemail.com: domain of surenb@google.com designates 209.85.128.175 as permitted sender) smtp.mailfrom=surenb@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1674680656; a=rsa-sha256; cv=none; b=LOB3YhMWJR0oFDMpc3Si38+jhMZRomhCUqLjjIEyk8euQrzVqER+wsjl+q3jr1eFECydFs 3CPIKgF5DDC6VXGrPAiEklpw4DHM6pk1zW679SUPCy1hZWuf5fK9kHS0bVit+J5W3vvqXs 2eLheW+xsINvTs6b8ZhLfWnR4oRdu/s= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=nEHwHDOm; spf=pass (imf25.hostedemail.com: domain of surenb@google.com designates 209.85.128.175 as permitted sender) smtp.mailfrom=surenb@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1674680656; 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=CCRZufR8wVGp5WleXvBNAeimms5mpPLGX8YwbR7wdQY=; b=Kcv4Zs+MePVd9wZCaFDk7CSNVF23iFihsYkrelWsEVDEq3rNIUBgB1lm6tfopM+H/EkIrE u2dEvnzdAnhzWUr63R/fcCyVoFlS0idMYzs7A/qpo4PSsw9iF+mxVLPSO9ZVL4BcT/cbz7 h4sGpOgF8bH18lsoDVBY/6C0ESo0P2Q= Received: by mail-yw1-f175.google.com with SMTP id 00721157ae682-4fda31c3351so252967297b3.11 for ; Wed, 25 Jan 2023 13:04:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=CCRZufR8wVGp5WleXvBNAeimms5mpPLGX8YwbR7wdQY=; b=nEHwHDOmDO4tKBLdbz+xATqcxiisQLzR2sQgUW7a5qB9uDEQKzetV7fbLx92+b6P0C wXwEPOVjlG6OdEW3sCNHHeBFtvEzK8GxBQJuEgWievOTrBz4m9v4DMsyEycA5oUuh5WD MQkbzOcS1laecq/qS6+u/I0WxyBuZ+ExTVcCsv8nJJ4gHiNPpReGQDsfdzfLW0t2FyC0 HEP3UwOP9cHFXcXQJ/5rHziLqiiqY64GXybi65atYAHvibq+DRzaL928PC9cdMVdUcjl Wu8i9ROgqMq9UPsv23bQRxhdUbo6iccriSZJlglynDZjj9bod0zQRW8pJe2KQ52lFLaS zAnA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=CCRZufR8wVGp5WleXvBNAeimms5mpPLGX8YwbR7wdQY=; b=kpjBg869MtIHcLNname7LH1SK28mJUacGFziVw/M0vkAkNvtrZxqt7pEOJqvr42xcl v0vyXyYuiYuC3V6apoIzzC+W0D8DFSnc8vWuRE+FGp8Ux1kAr5fe/LRs8/yoy3FBoG65 z1FT85ESDzyrM2uyr2/Dax1ENzMjgvE50SBl6IsGqpZ95tkZaToNV+WL4TMXZ8Qhf7Rn 0Lhasx67ZQBplUNWfELKT446oRHZI59EiwEi36ZKzVDJKL11SzW4ALTBt23lx2jpA9pk ab65gUq49NriAZyZ0443CR5wtCSVK2xTTGGeMtTF+cbbf9eD6vRY/rz6GsT0hMwYrXzH lw6g== X-Gm-Message-State: AFqh2krRwlCmC7129nKRH303wCSWNHpeUeRGaDyQ3BXA3RSlGH+4Fxsu CdSW7J1ltEmowXYuaM3DtMO5xyo9ys09HzSG5JOPd5oBCrmObR2n2Eg= X-Google-Smtp-Source: AMrXdXv72aSY4yF3c8NyC2pzhWptntRC6lljzWG2vXv5DF2JGll5PaG/mDDK9Cwyh8gTJjp6krwk8ycwqvf88E/zmcc= X-Received: by 2002:a81:1b8b:0:b0:4ff:774b:7ffb with SMTP id b133-20020a811b8b000000b004ff774b7ffbmr3029046ywb.218.1674680655239; Wed, 25 Jan 2023 13:04:15 -0800 (PST) MIME-Version: 1.0 References: <20230125083851.27759-1-surenb@google.com> <20230125083851.27759-2-surenb@google.com> In-Reply-To: From: Suren Baghdasaryan Date: Wed, 25 Jan 2023 13:04:04 -0800 Message-ID: Subject: Re: [PATCH v2 1/6] mm: introduce vma->vm_flags modifier functions To: Matthew Wilcox Cc: linux-mm@kvack.org Content-Type: text/plain; charset="UTF-8" X-Rspam-User: X-Rspamd-Queue-Id: 82E74A0004 X-Rspamd-Server: rspam01 X-Stat-Signature: pn4njt39cxy4i7k846e4umwzh14bsozs X-HE-Tag: 1674680656-354077 X-HE-Meta: U2FsdGVkX19wtHDvATQf/4gWH/v+dXfJwqFD55EHbqMlXJ9amonux4iObhIxXl2ygiLQpe4/v9bLRjgeFiZidRKBkq6HDM6b4hp41CdNrbkP/umD8h2CIPuSIhakEbmlkd2/X2Rj7YzZijzAWQ1MX2rbUYKI1qaYXkFzXVJr70PP22GBzxpyQAQXW6ac83s75yz81X7I8/bWDBb7PfL86BgScpBAwAmeFvu9UWSt1wO89nlJtXG8wbiZWuqVrSACMomR1nbaGaF3iudjG29UQqY/badJR8PWnhpWzCwVFrxHuRXBTHfzY5OFPcACvNw6a9DOZcWIOfOCqJpA7digh//Ip9uq8+mCZP9xiTi8Z7vVOkA/KGb2cq3j5ZP/Ed5rpaToMet1FICak16jsbuvh/1gXTBxV0vkZYw4gNcc5Ht/rICo9MzJACmxxMkr7Ll0I3McdsMBq3t+MEPeqZ+aosGU2GkiVMUoIOpP3MGW35xWVcRhHIvXbwJeWVmk3XWz3UjesnbB+u4NdgEfde0y9sh3p3HnIck3n9sRSGo2jz64xCZ8+8IN6YIfJWxJ8fdr6OizO3TehCTYZbC8xTbYxNu16NLLuC2Og5eS+RfHmwK1Hzs1kEotCm0DT6gfMQrCw731k5iUj2jYulEMMqCKDiuDgkoCcuPhlD/+vAyErjZB1CywnOlNH/ibeQZRzsBePwa6H/MpWDkGBPk8pQKRWmYekIWqmvAfF+hIUJSrAos8clZXVFbi7pQDpAp7Fdg8LF7D8P4LI9WWkX6CnWuoKLUnonvYMWWwELRBRjRtIbTdethzZIHp+i+x+NN1K39uBgFaUsLHJyzyoFSInBGVW6HB1XM6XXvoL5lmrvnI/eQQGItPzHDLyhtmDRqkpC6twV4Rk2t7Wn7JrY0wrDsXPf6dAfjPuygobr4E+UMB2I+mE2EkJhhXBrMZP96jiXGZWRQ6jIXE7GiikwM+ijX 1c8/YmMV a2EHTNyFlN9r/JaevijkM2soIhRSyGDS2+TU3r2aoVmN5SkJMi0JeHgNOWpJqrFJSnAxZPdVC9dUB/CJeEoc/p+BCtAYzzFCBCR1h5JvS9QBVOI1z7UuEkxzOrcptpvufh9rw8yigW3ChcusVS6evWReqEbvr8XvQRdedOzATrQyrbMRccFCeKFbPcHk3sNuL5O5Wz5I16sKB2gCiztJEb6H1KrSFH3PclPj3NTsJXPAEQldFC/jb12vnq10bWbtomT4vqmZ6SvFrFgzI0jSzbpUpZgkiOJELeZWMxwl9PYwVWicpYfb7ah8PvKExoOq4tNOcIl7kaihZMbv1V/QRWVpf3K5gZjs9b/i3 X-Bogosity: Ham, tests=bogofilter, spamicity=0.004775, 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 12:35 PM Matthew Wilcox wrote: > > [I'm just going to trim the incredibly long list of recipients. Too > many bounces, and I doubt any of them really care] > > On Wed, Jan 25, 2023 at 11:21:56AM -0800, Suren Baghdasaryan wrote: > > On Wed, Jan 25, 2023 at 10:37 AM Matthew Wilcox wrote: > > > 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. > > > > Huh, this is quite nice! I think it does not save us from the cases > > when vma->vm_flags is passed by a reference and modified indirectly, > > like in ksm_madvise()? Though maybe such usecases are so rare (I found > > only 2 cases) that we can ignore this? > > Taking the address of vma->vm_flags will give you a const-qualified > pointer, which gcc will then warn about passing to a non-const-qualified > function argument, so I think we're good? Yes, actually I just realized that too when trying to use &ACCESS_PRIVATE() to get the address of vm->vm_flags in dump_vma(). So, I think your trick gives us an easy way to have a read-only vm_flags. Thanks! >