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 0120AD3E2BA for ; Mon, 28 Oct 2024 19:06:08 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 71A8D8D0003; Mon, 28 Oct 2024 15:06:08 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6CB638D0002; Mon, 28 Oct 2024 15:06:08 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 592068D0003; Mon, 28 Oct 2024 15:06:08 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 3D4668D0002 for ; Mon, 28 Oct 2024 15:06:08 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id D728D160D7C for ; Mon, 28 Oct 2024 19:06:07 +0000 (UTC) X-FDA: 82723940712.16.85F33D1 Received: from mail-lj1-f172.google.com (mail-lj1-f172.google.com [209.85.208.172]) by imf26.hostedemail.com (Postfix) with ESMTP id DB15A140021 for ; Mon, 28 Oct 2024 19:05:47 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=AvjP0bf1; dmarc=none; spf=pass (imf26.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.208.172 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1730142323; a=rsa-sha256; cv=none; b=lOPW1ioDMR0KfD6DjBC7t2XzARdylmmfedf5tWdkfeofWq9gHkJC6OWrHYEOfvaOZhOCxk 3FUw2A1+QM48XRAMSJ8bftG/24Py6TNSSQnSwPJIoxbV/MMKVTMBGWy9q0ouUsUC19XRvj t4vVQ+C1hKpdfARGqpdEEJyYAbtVnt0= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=AvjP0bf1; dmarc=none; spf=pass (imf26.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.208.172 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1730142323; 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=sUA383ePY3cLN09IzuAP8lfzOlaIkGWSAwBIwcN9qDM=; b=aycdRQucvLAMXWXdCANVTQZBhiZCawr9oVZJK809NOULEsfQr7juvNl9Vhv62j1wzyla6X uJEYOy7tb8ovAV4Q6pz7nTCowhzc5fkz2b8zN0YlkM+cL2t5Uhw9FHw2QS0Xow6xiR2HR9 PbIco2sGtg0U/pVqfU/3zBhBPv1/IPY= Received: by mail-lj1-f172.google.com with SMTP id 38308e7fff4ca-2fb5fa911aaso62544381fa.2 for ; Mon, 28 Oct 2024 12:06:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=google; t=1730142364; x=1730747164; darn=kvack.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=sUA383ePY3cLN09IzuAP8lfzOlaIkGWSAwBIwcN9qDM=; b=AvjP0bf1zW861oSM/THjhRencOdFOAXGJ9jt5kAp4yeK53l4NtdzQeLTEGlGteBHnR 5MPkximrlcG4g3274Pn8z53QEw81irXbT/c6y6TQd4wNuGZZYsllBSNtvunqHq1eS+Ag CqccpTf67bzcHALOw4WA8HwB0btjhSu9G68dQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730142364; x=1730747164; 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=sUA383ePY3cLN09IzuAP8lfzOlaIkGWSAwBIwcN9qDM=; b=LZB5iKVipwdIpZQjtqJNDj9T39vZNMYpCXGKlIDJsMGN6GSWIxM2Minq4c+iyaLaQi AkroqUXQglkW9FU4BF2BynjBNDTuzfAc18BM0ylup03NPGr7qMylizUUqgk2vCjUMb6T T/vydBxUbfxzHZAU6+VL5R5Sn0xoog/zxhmSohE6OCOZicPZjSJb6Lbu6gzjSJR1xpzr Gex05YLh7yT+CVKYyRz/+P+ar9ixHQu1Qir9i+3OvLI/y0ypbkeEkwHqrsbLeuq6g970 uPAHqchePI05pPBB23GPISEG44b9Zuf+LaqD5axsi0NyqWFFiG9rQ89eyGlFcjLbIzZs 3r7w== X-Forwarded-Encrypted: i=1; AJvYcCURMqL1ZnxdOI5YJyn1oRxkWspCSA9HpXvzIiJPitjc3zWN+FAYRYMUagzPqlt4L6uGyi13zneSRQ==@kvack.org X-Gm-Message-State: AOJu0Yweoa/zg1LIjrK4XUwHEEODJhgnaZjlNO5oqRsz9popqfPhYblT kjihHu4MKrSxmwCJJ10Krl+wC8Z/QXurILLuBWJ4e4HNQKDzPE6slGYQPkkN9+k9Yf6pb1cbx+D WiabQ0g== X-Google-Smtp-Source: AGHT+IE5sMV628naZ51HNA6yIFdmrApJ62ArLiga8JFLDqUISgrLwToxY5GIy/MJ5+YT84+xNxdXZQ== X-Received: by 2002:a2e:a984:0:b0:2f7:7be8:fd89 with SMTP id 38308e7fff4ca-2fcbdf61db9mr72716541fa.6.1730142363657; Mon, 28 Oct 2024 12:06:03 -0700 (PDT) Received: from mail-lf1-f54.google.com (mail-lf1-f54.google.com. [209.85.167.54]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-2fcb4507c4fsm12339781fa.21.2024.10.28.12.06.01 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 28 Oct 2024 12:06:02 -0700 (PDT) Received: by mail-lf1-f54.google.com with SMTP id 2adb3069b0e04-539f58c68c5so7773326e87.3 for ; Mon, 28 Oct 2024 12:06:01 -0700 (PDT) X-Forwarded-Encrypted: i=1; AJvYcCVq2FL8oZJhD4353wPdV6LPBpCACuO3w6A7hr9sdHhWR9PlXQZ+9024PejIPBDvluJ1iY+ln8jVZg==@kvack.org X-Received: by 2002:a05:6512:1189:b0:53b:163a:f279 with SMTP id 2adb3069b0e04-53b34a345f7mr6904745e87.53.1730142360985; Mon, 28 Oct 2024 12:06:00 -0700 (PDT) MIME-Version: 1.0 References: <6e8deda970b982e1e8ffd876e3cef342c292fbb5.1729715266.git.lorenzo.stoakes@oracle.com> <61461dcc-e455-450d-9c01-5465003fc31c@sirena.org.uk> In-Reply-To: From: Linus Torvalds Date: Mon, 28 Oct 2024 09:05:44 -1000 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH hotfix 6.12 v2 4/8] mm: resolve faulty mmap_region() error path behaviour To: Lorenzo Stoakes Cc: Mark Brown , Andrew Morton , "Liam R . Howlett" , Vlastimil Babka , Jann Horn , linux-kernel@vger.kernel.org, linux-mm@kvack.org, Peter Xu , linux-arm-kernel@lists.infradead.org, Catalin Marinas , Will Deacon , Aishwarya TCV Content-Type: text/plain; charset="UTF-8" X-Rspam-User: X-Stat-Signature: jmprt5shmkzhumxd9xmtgc9zzbz57k1n X-Rspamd-Queue-Id: DB15A140021 X-Rspamd-Server: rspam02 X-HE-Tag: 1730142347-497989 X-HE-Meta: U2FsdGVkX1/ijFc58fPzD/Pq+6p/sfEOVndQF/C8gLRrJmTTNuEaRyECYBoyGmktZy2RIR0zAswY4wO/ovmUs2ZbGUBtsbMrZH92y89IRmOAwDo5kzf12wynk3o/RhShPocAip0kAp9DYCyIX+034gjah2xiXQsFsJBo4IM1xDR9V9kfB0ccSPAXeWmvcpvU2qY1XdKhFVs0hCoNwTBxC2PFBnox7Rf/VXX4Ot1z1ZJifv8copwqlxITQDyhiHQ9kCWsE4mdrwxR39J5xSGbzN3WsQBShQmjT+4j3M6cAa2FkG9D/XEmSM22B0EfhpbLuD8E+18/91ZKxEUvoX/lgcirbSUxTesUYFuNGgkut3hd8vTKIpjYrLe5Ep8oZF7XpKERuc5TOHxRZxpG2v6UI/j1nsbbA6MUgc+tEhuocgb4RNIGe3vGpA4kawN6E2TPCxWnfEaqmSAy4hMcZ/Qls8mB8M09IYjgoRRJT2nOfyi+4SJ7aqngQnzApDYQP1I6fsLq4yvqOeFLf4KMazcxSVPWJUBaWKupd1y7qn9eP9TqSEQYX99RAuR5ha9bh6iln49Y+8YL5mC6RwbrP/ybYrP1u7MEUoUHSMxlHEtjaDq32p2YOHbW+Al9p0uvsxVp365qJDWMpxhz/v4yVzjz599A8yUK67c2MzG2UAC7Sw7GaEPca/6i8xUcRUonz8/jhHJcDbERYwucVoMEs0LY57yJEXJNwUNyq6kEwX4CT2qe5v2Hx9pbEuDLQFkF9+FNOymW25fLufGy5Ly/BcaPIir90Xxlp7Qv7TDIP6APpg+D1ATbnfoKbmo1Z8qBrZ5RI2Hn4RWSRvLcdiVej4VR+x3tZ4wvxl+DyVnPQa0bwXk+TPUFPV5OSDqoC2zofqgpkDA0Trt6YS53wqnBgYXV3MYKT+T8eWqWXpIIXbZT+CJNf8Cr2gpjTvgzYRo5njsocpEKZAXPZtaVp442aMt b27ZDkMM 2Q11BsDwfm4gLincRd/bv2IThH2P3Kslq2vtPY+Zd4PHYukVD03XrvUlqYCtbBVOlHaH4xtJXEZqrBsbO4OhBNzLNz3y7xk7+1QxjtqhrxcwILEDPrV2nZbYSxySD9FwmhD+J2PHFBLU3verVK+NFNZ/Y7kydGxAA6b/5eLtu1sTVDV50AjXLj2jKdN3F234d+rNwYjQztRjAAeYIuVGoZxp7UAH++r+/2gyMzf0Wdxoev1++F2kMfdiFiwBEX6oURyDtZnb44TvNjSMzBrkZ7E+yY+Caa1CfohKXsvk1ACvld/XS9aMdrWsbqnBkNo2VWS75BoWFlkHIdyb1jc3jPcUHwVkNSr3Efs1g2l5gF+1QrgSvW6BHWJqlndQdQfWKTaV+DwdS4wVyb99rcqDruWWsx4f618csPtD9eYyukd9EgsvTrQ0ymgKr6naSWAWqfV6aXkjkMSFQyjg4XkjW9Hmwky54LL7VTGUwHr+kwh2QlxbZHwXljBAYElVTmMAumkxKPQrqBCUO8H+H0q2KH2xbnZv8I6mhbYp3F6utepfqGBwLlQtN5qcukNaBrcuSVgaq4Xanvjv0odY= 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 Mon, 28 Oct 2024 at 08:57, Lorenzo Stoakes wrote: > > So likely hook on your mapping changes flags to set VM_MTE | VM_MTE_ALLOWED and > expects this to be checked after (ugh). Gaah. Yes. mm/shmem.c: shmem_mmap() does /* arm64 - allow memory tagging on RAM-based files */ vm_flags_set(vma, VM_MTE_ALLOWED); and while I found the equivalent hack for the VM_SPARC_ADI case, I hadn't noticed that MTE thing. How very annoying. So the arch_validate_flags() case does need to be done after the ->mmap() call. How about just finalizing everything, and then doing a regular munmap() afterwards and returning an error (all still holding the mmap semaphore, of course). That still avoids the whole "partially completed mmap" case. Linus