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 6932BCFB43F for ; Mon, 7 Oct 2024 15:00:55 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D722B6B00A8; Mon, 7 Oct 2024 11:00:54 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D22376B00A9; Mon, 7 Oct 2024 11:00:54 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BC2896B00AA; Mon, 7 Oct 2024 11:00:54 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 9D6836B00A8 for ; Mon, 7 Oct 2024 11:00:54 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 584D414172D for ; Mon, 7 Oct 2024 15:00:54 +0000 (UTC) X-FDA: 82647118428.02.73C1FF4 Received: from mail-oa1-f53.google.com (mail-oa1-f53.google.com [209.85.160.53]) by imf23.hostedemail.com (Postfix) with ESMTP id 87C5C140024 for ; Mon, 7 Oct 2024 15:00:52 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=B66CF0we; spf=pass (imf23.hostedemail.com: domain of jeffxu@chromium.org designates 209.85.160.53 as permitted sender) smtp.mailfrom=jeffxu@chromium.org; dmarc=pass (policy=none) header.from=chromium.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1728313119; 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=Wc57RBPlFJ6sr22T7uR9ml2TEcMyvPjZh/UA86D9Fkw=; b=amGAIYX0Si4rBRIrforB/7viLQG1gX+nJvUDLLTpk6mGpQnmx0F108+4zYRdQDmlGy8MsH 5C1uMGDpIZkil6FBgJnLgw7dmvjVV6kMzYbm3GSZZxKt8SaOKxfThnPXAozEWJq/1r1Zrj F2Wwokxpu2nSkgp5P2FImd0g8OyinHI= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1728313119; a=rsa-sha256; cv=none; b=hMm5xR+IHI8GBQzEmbPzmz2rndAnMxoHyb0MKoXnUdeP9/1dMWCJ7Org8VHRk7q8SxWXK6 xzC1HJP4PEExUgc5z+a1Pi246EGytA/XT4b3qqqqWNe+bXuVjFBkOHP1LLzZWbFBQ6sIfQ gC2l92cX0ZNg6eZSjTa+z8yMsaniCUE= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=B66CF0we; spf=pass (imf23.hostedemail.com: domain of jeffxu@chromium.org designates 209.85.160.53 as permitted sender) smtp.mailfrom=jeffxu@chromium.org; dmarc=pass (policy=none) header.from=chromium.org Received: by mail-oa1-f53.google.com with SMTP id 586e51a60fabf-26456710cfdso298516fac.0 for ; Mon, 07 Oct 2024 08:00:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1728313251; x=1728918051; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=Wc57RBPlFJ6sr22T7uR9ml2TEcMyvPjZh/UA86D9Fkw=; b=B66CF0we4qglv3Lq2h3JN/DHSUifOMKfUVce0y885bGi6OqJpuavMQMZUPEqWsaHRT GjVyiFSRcFZ2ZvNvl6oWvNcjzn5zrnKgbnlK1ll0JsxBtHz6ieuhv0YKRZwNlsab29ZV QuDbpA4boO0nreUf6HjzAMr4HACwAel2VzAqY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1728313251; x=1728918051; h=content-transfer-encoding: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=Wc57RBPlFJ6sr22T7uR9ml2TEcMyvPjZh/UA86D9Fkw=; b=b6mO4WGDiiwrgq15UJwtQ7MIpBKzmgb6azpezLOmYz78UYapIl+dyPrWHzEio/l3Ry L4na0PRqWbHRRRPlQ5Se8Z/ktJCCAh88RpJi8ZcRmMQpXnKbLLfaB2RX7TEf8CCNliMB 8JFnHcEG4DW1ovSqtDdb8d/AAJnbOxWQi6+HZlULCwYPmZ5r+1KdRwjyGyFKY+4nRLGi /ZKEZ2O6VjoejHy4igQW7y9D0JMxRuaPReJyrl+Rg4xLtChQRK0X+iDQlomwyrYPe23B ah/J073XrHpA2rWy6XSGTTisXqqwjoCKtIrLbDNU2oTEXKhwGSzq5ox70QiWtPcjbJIe 4Cng== X-Forwarded-Encrypted: i=1; AJvYcCUBl1W1dzOCifrTbdUoy9K0LgOlW1jVUPWjRv1gAXfifS+t1YiWJH7j35cLGWxMr6C6kSXfcpmQAg==@kvack.org X-Gm-Message-State: AOJu0YyB9OnuXafpg5WHT0rq6uc8XzIo5YJVsEnJhwoGpMU1oUmOf3O7 9bYCBa89NKF/0exU03sTaRxrMPDF/DjB7Qsk1NEbT22WcrlTrJ505prMsPVQiq6vwoB9zPfrWPl q41l99UweaL/5VI3ddnmjDzE0+opBpITnlp/b X-Google-Smtp-Source: AGHT+IHFS/U+IzTBLUlqNS98m4n1M2wUlsBQufb/OJIUKIaVZlSRTFRaFeWPqL3+7T+d/Wx/XC6deEwpzONz55ZPW/Q= X-Received: by 2002:a05:6871:58a8:b0:269:1020:a8a0 with SMTP id 586e51a60fabf-287c1e0d926mr2733439fac.4.1728313251339; Mon, 07 Oct 2024 08:00:51 -0700 (PDT) MIME-Version: 1.0 References: <20241004163155.3493183-1-jeffxu@google.com> <20241004163155.3493183-2-jeffxu@google.com> <20241005200741.GA24353@redhat.com> In-Reply-To: <20241005200741.GA24353@redhat.com> From: Jeff Xu Date: Mon, 7 Oct 2024 08:00:00 -0700 Message-ID: Subject: Re: [RFC PATCH v1 1/1] exec: seal system mappings To: Oleg Nesterov Cc: akpm@linux-foundation.org, keescook@chromium.org, jannh@google.com, torvalds@linux-foundation.org, adhemerval.zanella@linaro.org, linux-kernel@vger.kernel.org, linux-hardening@vger.kernel.org, linux-mm@kvack.org, jorgelo@chromium.org, sroettger@google.com, ojeda@kernel.org, adobriyan@gmail.com, anna-maria@linutronix.de, mark.rutland@arm.com, linus.walleij@linaro.org, mike.kravetz@oracle.com, Jason@zx2c4.com, deller@gmx.de, rdunlap@infradead.org, davem@davemloft.net, hch@lst.de, peterx@redhat.com, hca@linux.ibm.com, f.fainelli@gmail.com, gerg@kernel.org, dave.hansen@linux.intel.com, mingo@kernel.org, ardb@kernel.org, nathan_lynch@mentor.com, dsafonov@virtuozzo.com, Liam.Howlett@oracle.com, mhocko@suse.com, 42.hyeyoo@gmail.com, peterz@infradead.org, ardb@google.com, enh@google.com, rientjes@google.com, groeck@chromium.org, lorenzo.stoakes@oracle.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 87C5C140024 X-Stat-Signature: fydyjr6cir8i3e3hykhw3t5b4a9kqmjt X-Rspamd-Server: rspam09 X-Rspam-User: X-HE-Tag: 1728313252-101124 X-HE-Meta: U2FsdGVkX1/asFDJjzu6COlB+4oBFQK1nNP257XjdIt8ygrn2nIrhgnbJcR9Wh15wySOCxlQjIMSXl5cAonX7gEImJCfyWKXk/PoHuHHqV+qJrrrklzk/poOXM9n+77bpYde2EsYxZmCGXkOdCwy2978iOMUMvb4GYvdsqSr1IFOjeOnomFJwbDhwXZGAokjiGoRtycbTx4f8lt7eyS2myEZ7nGP5uEf4vfv7djdKSYMQjxnX88oLPqb/MD93tR0OKBN5b1fPNyVDHhCbt2x9savCu7IXwi0p2qH3FwVcI4itFL/y84oFIgKYqZC1O/AF6DQqb90BqLb9vbDPuQmV/rA4B0ULsahluE2t3arbJU0DBvSk7QLj7Ir+BsxcAYJq/7iBwqjDE3wq+VqGnabnOPAaZO2KDqKvDBs4OFUE6fmlJm6dMFJqNY/iJt59vc3QK+FBlelibcUd7MuMCMBGRnnpvPCLoSPcqui0TV2ugQ9jf5kZSR6UJmY5bXOxCIOw4qqbjOHJTv/Uu3NR2n+1l8x/Dr/6YWnhWfDhlz1XmZkDd7mveSdNMcaOfA2pLEQZvxRVULHjhfrYs9g4/wSy/lXHZAqQSpYgfzrIa6Be1RYTaj8/pexibSOjavmD9NOG/7S9DeZVKnn6fuwWzUqmmI8zPrRTo4DhgBt+Qgm6Q1SlWtJLlG9OvfQ2CMn1segnchqvrZ+iG1pqfdLFbh1mPVjCfhM3aLO/wTasAr8jLuRkywXApOmotK/6geL7SUGD4mVvP329FTAgToGcFxtXreq8DqmrP0GqHwCbkdwaWuLJlLawq03ZQURpEeqYL5tlivamB0DZJYEDn1hDt3yJTrMekKDZQ+4elGg91n6k7h73AtlC+6Y929DuhYVyRZvxuUxNiqA/kDPcCOts+cuaGBoxlg9o/c8whM976kNbV631cNCRnMSeGEs0HL1hWSwFrcUroqIMu/utotcegG dGp65gbT P/ev0iK5iSxlZRc9sSUPLeBCAmllrfXJ/NB+k5PaiDJG5t0oAdh+0RP5TZYTDcmsCWq9mn3ql2lD+xik2H3abR2VAhV5KIXxqi6dzpevTCSrhLJNqfuexZafWc7k6CcnKkAo6KI2j9NpNmr0A+FjRry4a7hPJ2xgzf1Yn1OQelMm8tWDjjFdCemzMa7QFJznai5Al9nfhRVoaxd1VXP4FfWmwQkWO3zFBXwNUP8UXGT/LMRvR8GUa+BY0685z2YFoiTmTY+EJM0oXow8JNQ7snZIGoVmcDp2NzDmgB56cZuy96l5DmyFu3S5TRRwEn2BH4RRA 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 Sat, Oct 5, 2024 at 1:08=E2=80=AFPM Oleg Nesterov wrot= e: > > On 10/04, jeffxu@chromium.org wrote: > > > > It is important to note that the CHECKPOINT_RESTORE feature (CRIU) may > > alter the mapping of vdso, vvar, and sigpage during restore > > operations. Consequently, this feature cannot be universally enabled > > across all systems. > > Can't review. > > But as for uprobes, I'd prefer a simpler patch which doesn't need the new > CONFIG_ and/or kernel boot options, something like the patch below. > Ok. > And I don't really like the fact that this patch changes the behaviour > of the "generic" _install_special_mapping() helper, but I won't argue. > This makes the minimum code change currently. If in the future, there is a special mapping type that can't be sealed, we can refactor _install_special_mapping() to support that. > Oleg. > > > --- a/include/linux/mm.h > +++ b/include/linux/mm.h > @@ -430,6 +430,8 @@ extern unsigned int kobjsize(const void *objp); > #ifdef CONFIG_64BIT > /* VM is sealed, in vm_flags */ > #define VM_SEALED _BITUL(63) > +#else > +#define VM_SEALED 0 > #endif > > /* Bits set in the VMA until the stack is in its final location */ > diff --git a/kernel/events/uprobes.c b/kernel/events/uprobes.c > index 40ecab0971ff..388373c11593 100644 > --- a/kernel/events/uprobes.c > +++ b/kernel/events/uprobes.c > @@ -1510,7 +1510,7 @@ static int xol_add_vma(struct mm_struct *mm, struct= xol_area *area) > } > > vma =3D _install_special_mapping(mm, area->vaddr, PAGE_SIZE, > - VM_EXEC|VM_MAYEXEC|VM_DONTCOPY|VM_IO, > + VM_EXEC|VM_MAYEXEC|VM_DONTCOPY|VM_IO|VM_S= EALED, > &xol_mapping); OK. > if (IS_ERR(vma)) { > ret =3D PTR_ERR(vma); >