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 779AEEB64DC for ; Mon, 17 Jul 2023 19:00:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id EFFE36B0075; Mon, 17 Jul 2023 15:00:52 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id EB02F6B0078; Mon, 17 Jul 2023 15:00:52 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D51588D0001; Mon, 17 Jul 2023 15:00:52 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id BF0176B0075 for ; Mon, 17 Jul 2023 15:00:52 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 651E78055A for ; Mon, 17 Jul 2023 19:00:52 +0000 (UTC) X-FDA: 81022020744.16.4BA7DF3 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by imf22.hostedemail.com (Postfix) with ESMTP id 8BE38C0003 for ; Mon, 17 Jul 2023 19:00:30 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=jQyrjr6Y; spf=pass (imf22.hostedemail.com: domain of david@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=david@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1689620431; 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=JqQEOv84c+UnnDU8YvvTmNM4mFr4gaeAs15SOenXyqM=; b=jub8d2coRBoXGWuL3r0YeRWgDSyuF3EmOi5dX+M1UeqeEqUFYyrG6dTEjYFPHf6p8M60W9 8g3Y2VnvVsRTEX9LDJ4tSZljfVEhVMJ86buqVKEoBZfgI+/amkghP/D5xoE+cq9TIiEOxi S7t/lTPw/fFCWBQWQeJctBdWCQAFilQ= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1689620431; a=rsa-sha256; cv=none; b=4ZYtfDbPUQUuEMt1fMjrydFYoynOV4VUqn0BaQik0D7MOe3Xaf10KQPGl3plOHv7jr/sVa 1vSOd7z+u9AB2fr3Hq9+5EweyslVw7iJG5Y4fpviLvZVD0uwQqE+ZMmywT57nu0qNIsWTw lC5qoOr2nRhHfESh9vfG00Wx22f7x3s= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=jQyrjr6Y; spf=pass (imf22.hostedemail.com: domain of david@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=david@redhat.com; dmarc=pass (policy=none) header.from=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1689620429; h=from:from: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; bh=JqQEOv84c+UnnDU8YvvTmNM4mFr4gaeAs15SOenXyqM=; b=jQyrjr6YzfHmdjww/B1s0mN1WJ/n9s6UAnbGoWQGMuTEiays/E0JVqk1Ee8gx+CYlOPj+9 eMntJNZEAY2n+15XHpQwvzTnKiKfhKrsNx/ZJjdxbY4bqo7oGXgou3bzZAa2NYXHfYmTBK vAcOKfF+hXr5QY06GdssSfcl/WVdsVU= Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-586-rCeAOLHMNAmw8V2KmGVrGw-1; Mon, 17 Jul 2023 15:00:28 -0400 X-MC-Unique: rCeAOLHMNAmw8V2KmGVrGw-1 Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-3fbb34f7224so28716895e9.2 for ; Mon, 17 Jul 2023 12:00:27 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1689620425; x=1692212425; h=content-transfer-encoding:in-reply-to:organization:from:references :cc:to:content-language:subject:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=JqQEOv84c+UnnDU8YvvTmNM4mFr4gaeAs15SOenXyqM=; b=iV8HEV2cj+Y1NkQthcd4ohff7O4G9TAGO0gblCi7TPObKZ/EvfNfP9u+UPgDGLmJeb LqFsK3QgxwODnCl0pNvX5/p3YB+s126eijaaas6hM3SSOYU41jfSXdVnvJVtSD5Umqbz qfyRz7Oo1eLSkXpfeHX86w3jVdhxiXBsSSyS27iPwhus27na0BCsLbx/uJGI/w3UIcQt JfLQ20/Aj6MmMfkFuRK43aWrDYQF/FC2D/ZqU/vP93bqtpWynS6pILCvkK28OG9byq9M 06wP83Ett4m6Sl57DXq3Z4Psz8OS9IKecM8EOGuFBJNiNHeC4RX9/t/LrtJOydspZuS0 7SWA== X-Gm-Message-State: ABy/qLarklW1zBuELS4UfVF+jo+XiO3AWd89NRtXluoxWl5q6QqAWPOz ciDPEcxAtrJw9Dx9QpURaIPiCopoBoT3HIDHaM/14z6pnk2i3S+7UXHhic3+D5G8xWgvPs/Tel+ Ns3KFKJyJC3E= X-Received: by 2002:a05:600c:ad4:b0:3fc:3f31:4233 with SMTP id c20-20020a05600c0ad400b003fc3f314233mr145968wmr.38.1689620425584; Mon, 17 Jul 2023 12:00:25 -0700 (PDT) X-Google-Smtp-Source: APBJJlFf33Ive8qeWcm7rG/hA2GBcrWvJPaoBhcxDMZNoii0OlusErYeFkFJ3kCybAN0sBdZ756wDw== X-Received: by 2002:a05:600c:ad4:b0:3fc:3f31:4233 with SMTP id c20-20020a05600c0ad400b003fc3f314233mr145953wmr.38.1689620425303; Mon, 17 Jul 2023 12:00:25 -0700 (PDT) Received: from ?IPV6:2003:cb:c735:400:2501:5a2e:13c6:88da? (p200300cbc735040025015a2e13c688da.dip0.t-ipconnect.de. [2003:cb:c735:400:2501:5a2e:13c6:88da]) by smtp.gmail.com with ESMTPSA id o2-20020a1c7502000000b003fc00892c13sm398658wmc.35.2023.07.17.12.00.24 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 17 Jul 2023 12:00:24 -0700 (PDT) Message-ID: Date: Mon, 17 Jul 2023 21:00:24 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.12.0 Subject: Re: mprotect and hugetlb mappings To: Mike Kravetz , Vlastimil Babka Cc: Matthew Wilcox , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Rik van Riel , Michal Hocko , Peter Xu , Dave Hansen References: <20230705230808.GA41006@monkey> <20230705235322.GD41006@monkey> <399a6448-184b-1433-3f23-1a599656a713@suse.cz> <20230717185222.GB4741@monkey> From: David Hildenbrand Organization: Red Hat In-Reply-To: <20230717185222.GB4741@monkey> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 8BE38C0003 X-Rspam-User: X-Stat-Signature: goo8iywob7qm43thdwkptp5s6zfmgghw X-Rspamd-Server: rspam03 X-HE-Tag: 1689620430-270815 X-HE-Meta: U2FsdGVkX1/BVO5cTCfV6frOCcAB7TG6huvMPrjXIxelGf8TAn1qmgbzOsT8sZde89UGkJJmzI5g2yt+Pe0uKvh1koXAcI2Kj5lpkopSzwe+5ue4/LMNrtw4cbOqKDH/ph3j78R6k5zwLU1NGtGkztqDfENDfvzgoWEZPOl0viyPjQfeDu4riiIwt6tvpOFvoJRwvaW0b7FUUsiA2LQS66nR9LGqcrS02GoQdciERRpe/XWz3yXpwdGmEwzNkjmtuH5BnvbOWRysZhA8WDL7XOcWyNJrZu/kg8ElYE6D3yTo/eRByigF9AyOqop+rC4A4nVNdQFIGLCuHnjsK8rgGurDLLEiySkLwZYAsRuVzdS3te8/DnzpP43aSiH5MVbskMaC2Wv5uFPOYf8On0CZw/x8MkUqRCoT7Zg5zGUC84SDBgrD/QzGUZsueybffPXflg8HnYtMNmT3imkWu22IgTUrjul0EMxnw5nwhkqni6rzeWzO+FrMtwwSHfT31zFZob8So99iDOiuzTHyNOjqyI8OUZCPF9npflvMVaullUCChQBYZwo8F++E49QA9bYiUYW0o595yMWacXURdVq8YX9UaCiVikqgL6oNz5Al12ZTTR5z4WTOh6spdolMu52nSFWqLx4IPTUvhHr45VtY7X4IfTQNwz9/f9Qn30fyZVOXC13Ub6XAbH2/6geY/+kRBoPCcy3NAQu2rtV5TPsdaEerECos/PsUBAn4EfwQZqhF0qeFfeUkyf1ZteGfuYv3Cg99L/0S52pvDACJVpe8Xa5uaTcK1/opPtx+b+h02LpAOEgTYogDs0dVH4yM8eZZN4DGkQX4DZr2hGwvqrVv6sQB32edGV/v5o/0s0b9Z/e86Sg5ZCSSbBDNufb+EXnMR1QTLVxspmhMjYr9k/tsqx515MWoa9k2kA3KwKbU3tzpwnYsbH0Rrgkd1bzNqaLxahT8OKJdXLPHm5j1kwr zJTbN1Gm tPMiOI1JFCQ/bBQLwvL90Sh6VMLlmjZu7gRdKcpD1XwROMm73l2pJQw5gnMbFM9jWw+TtAjxy+X3JnpsWCRRHqOMPAzfoRQ6vam4X+MFNKVu5enBQGtCQJGwkrhM+SX7d2xfuigq9t7BimrbsHzdSrB6bwYp1WjBibosNuOt56dUy0xanbeJ9CamC0WEuh/nmLcho1bl6pkkObuKAtGxBUoQzXsq2ZyTliMW/GVpL0Gdo3FGk7gVfr1O6xqoS1P+WHW94iV+TIMtxY381GNszS4YPdGfro8NoL/ihPj8Au0cr5vWUBs7ghu7kkz3GscYRotjv3KUR1H1oubkob0aXXHqo9XFLAx30MRWK9pebw5IrBhuiKfU6XpHfuvnzPMChR1h7GWAzA0ISYyRlnnQdDygVjQ/Ngx28CB8O/AbNGk0a2SEgVKg1aALxnTuDM9CwX2BI1Ei0fBioXA9tbN8SaYVnfqNwiI/K7WsxH75RMAx7852QsL0WbEKwlg== 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 17.07.23 20:52, Mike Kravetz wrote: > On 07/17/23 18:19, Vlastimil Babka wrote: >> On 7/6/23 01:53, Mike Kravetz wrote: >>> On 07/06/23 00:22, Matthew Wilcox wrote: >>>> On Wed, Jul 05, 2023 at 04:08:08PM -0700, Mike Kravetz wrote: >>>>> I was recently asked about the behavior of mprotect on a hugetlb >>>>> mapping where addr or addr+len is not hugetlb page size aligned. As >>>>> one might expect, EINVAL is returned in such cases. However, the man >>>>> page makes no mention of alignment requirements for hugetlb mappings. >>>>> >>>>> I am happy to submit man page updates if people agree this is the correct >>>>> behavior. We might even want to check alignment earlier in the code >>>>> path as we fail when trying to split the vma today. >>>>> >>>>> An alternative behavior would be to operate on whole hugetlb pages within >>>>> the range addr - addr+len. >>>> >>>> After a careful re-reading of the mprotect() man page, I suggest the >>>> following behaviour ... >>>> >>>> addr must be a multiple of the hpage size. Otherwise -EINVAL. >>>> len should be rounded up to hpage size. >>>> >>>> I wonder how likely this change would be to break userspace code. >>>> Maybe some test cases. >>> >>> My concern is that this is the approach I took with huegtlb MADV_DONTNEED, >>> and this caused problems discussed and eventually modified here: >>> https://lore.kernel.org/linux-mm/20221021154546.57df96db@imladris.surriel.com/ >>> >>> In the MADV_DONTNEED case we were throwing away data. With mprotect we are >>> only modifying access to data. >> >> That can still confuse some userspace, no? I think realistically we can only >> document the current implementation better, maybe improve it without >> changing observed behavior as you suggested wrt the split vma fail. But >> changing it would be dangerous. > > Thanks for the comments Vlastimil. > > That would be my thought/preferred path forward. Simply document the > current behavior, and MAYBE update code to be more explicit. > > Any other thoughts? I agree. -- Cheers, David / dhildenb