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 BFE31C7EE23 for ; Thu, 18 May 2023 00:20:41 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CBBBA900004; Wed, 17 May 2023 20:20:40 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C921D900003; Wed, 17 May 2023 20:20:40 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B5A31900004; Wed, 17 May 2023 20:20:40 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id A5FF3900003 for ; Wed, 17 May 2023 20:20:40 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 5EAE8C0559 for ; Thu, 18 May 2023 00:20:40 +0000 (UTC) X-FDA: 80801469840.18.D813961 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by imf02.hostedemail.com (Postfix) with ESMTP id 3A87A8000C for ; Thu, 18 May 2023 00:20:38 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=WoCUumNV; spf=pass (imf02.hostedemail.com: domain of peterx@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=peterx@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=1684369238; 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=Ctm+oHZ88OJx9RdDqhhRf0OhM0Skp+u6Ga9xqH4ST4w=; b=Z9HpfartyGs2RB8SRRlWu3ZOeuujAoZnFk/NIctH9om7+fbeSG2vfte6D0MeI7EYLYKpAG gfgKI7/1jUbX4RQmMHMIeGgaxSr3ST1c8m+cL/8wmk9mZO6bqiKOtdIbVDg9c/WkpU6lS3 eIfNlzM/KKuMMnq3U7FKXM/6tm0ChiA= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1684369238; a=rsa-sha256; cv=none; b=GhKV8on4m/2H12iIML9BGS1fHDoGHRC/Mpsq0hzNnczh1LHjl0tn3jiZP5Fd8wEBrqtHqS rFxEcatfpXycefEipdcR/PIgokSas+cI7w5iMOs5L/LZgkevWM/L4C4Wl59gijKiA5P6BU 9OVUY90NmAqgBUehVGnRJu4tgUFapQU= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=WoCUumNV; spf=pass (imf02.hostedemail.com: domain of peterx@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=peterx@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=1684369237; 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: in-reply-to:in-reply-to:references:references; bh=Ctm+oHZ88OJx9RdDqhhRf0OhM0Skp+u6Ga9xqH4ST4w=; b=WoCUumNV7GRGeIkQheQvMwNyT8ULEjcDNXmNaPE0ixete+cJXvan2ioIZuq1FWPaP4msXX 2GZlC/yYW5qSAjNhPUIIhOvyu643AvlbaR/Tz9qHHNfWgSV46kTofGlTnVqj3FrIeXEmrO 8d2jEY4RbcM1C++mrrW3GuBzE6SgqJE= Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-86-qF1ia9T6PBSIeijMGd8KMg-1; Wed, 17 May 2023 20:20:34 -0400 X-MC-Unique: qF1ia9T6PBSIeijMGd8KMg-1 Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-3f38280ec63so2543751cf.1 for ; Wed, 17 May 2023 17:20:34 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684369234; x=1686961234; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=Ctm+oHZ88OJx9RdDqhhRf0OhM0Skp+u6Ga9xqH4ST4w=; b=N3ifMCGgVxw2urFqybwx0lfYYnbu/ZAGZmmc+WLYN7CJhhr/Aljyk0501TDrD5PL2h SfNyia5w68u2ZvLP/7y1SLUAulgXTgad6fAmJz3x8/YSGIjtwpQPJrs7r95W9jn6IJ4v SU+cCAw5/cY+uJkwKzGGIXd5caMRglORZL3zN4uUgMA/hxARrfxqRINpf8ybfCnDPx32 AEonV6onhr7NqSGjTGPXBWdUmYAo88lsWO5BQpa69K0TrNAkIMWZSBxHeFv1BVMZQCJo z9Mg71pjKBcvE4EWzqPdcR2FJyjv7RELRZklHwuGXxXdd4XlOTk8klhJUk96qnbI2dk3 FmVg== X-Gm-Message-State: AC+VfDwrDMB2ucTgH6Rb0TvjOEB8nCC+FDkcke45gyRhlcYcYWGtNEwR Rmcc8HGa3qnasyC0hFhr7Uqnaj85I3UT0FWree/rBCkm9Dutm1k+S5JvuvbVfRKTRH6nKpr9bT1 sAP/Wwolbzvg= X-Received: by 2002:ac8:5707:0:b0:3e3:1d31:e37 with SMTP id 7-20020ac85707000000b003e31d310e37mr8013659qtw.1.1684369233897; Wed, 17 May 2023 17:20:33 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5uCwwNk/Gtb9I7N6Wt9AMm8Uc3BeJUVAUIZEhidZKrahY1/OGxGLT0sKfPQ9PRHymHcL6anw== X-Received: by 2002:ac8:5707:0:b0:3e3:1d31:e37 with SMTP id 7-20020ac85707000000b003e31d310e37mr8013634qtw.1.1684369233657; Wed, 17 May 2023 17:20:33 -0700 (PDT) Received: from x1n (bras-base-aurron9127w-grc-62-70-24-86-62.dsl.bell.ca. [70.24.86.62]) by smtp.gmail.com with ESMTPSA id c8-20020ac853c8000000b003e69c51cf53sm65569qtq.72.2023.05.17.17.20.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 17 May 2023 17:20:32 -0700 (PDT) Date: Wed, 17 May 2023 20:20:31 -0400 From: Peter Xu To: Axel Rasmussen Cc: James Houghton , Alexander Viro , Andrew Morton , Christian Brauner , David Hildenbrand , Hongchen Zhang , Huang Ying , "Liam R. Howlett" , Miaohe Lin , "Mike Rapoport (IBM)" , Nadav Amit , Naoya Horiguchi , Shuah Khan , ZhangPeng , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-kselftest@vger.kernel.org, Anish Moorthy , Jiaqi Yan Subject: Re: [PATCH 1/3] mm: userfaultfd: add new UFFDIO_SIGBUS ioctl Message-ID: References: <20230511182426.1898675-1-axelrasmussen@google.com> MIME-Version: 1.0 In-Reply-To: X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Disposition: inline X-Rspamd-Queue-Id: 3A87A8000C X-Rspam-User: X-Rspamd-Server: rspam06 X-Stat-Signature: e8ecuwktsosgdssif9wbaehkxz5fhk6c X-HE-Tag: 1684369238-378311 X-HE-Meta: U2FsdGVkX1+M3sp46z0heKMP8PuN3ylqXejADnCherlrYFpjrSFaWxXfZ/vf1a9lL+14klHb5otYHFv/M5by3SJO3qxTk+cK9aEpzsrs/pyY5+l8uwi8x0hM4PA3cFwpsDEsFhns+GSh2mb+VMys/gbAkAIZSxZOV62i9RTiuulOjXtnozUXgBGvPQ/CeB6jgWZdmwSSRTvPszSf0qEsfrE78N0QRAYQ8nMPj20395W+m+vDLVWzCEgrdANNOxY9JWmBcknLenJiJyw/VDYAwYHNFXMBL1z5arDAhs2D7uKoUjv80ecJCXIVkM3NgmwhY9dpQvRmA6qy9Sx47+EyYcgfgJKtGKmDO9CroRS7uQ1l96e4ntM7KtGZwoz9S08yFUHRXLML+eRWMwFv9PPCPFH745/t4dv+mUo+FXWVGgT5pOO8ulh60UHCrPrjefMjLXkUAAwwGpjQHs7vwE9BaqBpWkWQE3UAiRpfjl7ZEjzmIx4SPyLiPND/llipw45SGtVoxageIlrBwTWL1i/dpMp6rpu1uI9s27JnZcFvP/yRbb9D3ak3d7JM8SUsDOyjSgpLh+UBl+s11LI0HtTu5zzlrrafEHCzo0civVwbUNxP4NiPhEWh9szh59urfH3w6cSYiSTPu7l60DIGHWhu6igvqW6xvlKp/lMJh52YpVv2/pOsbgsLic5XlstbUkreSu8XkXp1jEMLO4CmaimHi2bR7Ymfk6weQooXiX/euvfIyABd3KzcUmOOodgzcqgmVhfB287HysZcqHxk2lPWxNzP8VF/igyUxPIlSi970/E8eZvDVkJwddwlQPkclRx4gJvC1jd2qpDkum19EC8KLoooVxkFviFojglYOp/HktTBwzkW9PiOEUDXwFUIN8oeNB+APydtlIRUvmhvURXwTsBVVZ/V3rPHK/khpJ5dD9U42r1fPjjpdP9IEv7Pm0xzBaRWyqMz8Aw30efVs/7 HgCY1hU2 BKWrrqINmybtacYmGPQf2j9Dcj7CTIQ3US4U1zZWocPW1yim0GNeuQMm+H7KEHTH8bJY0nxvQZkCTRaQw9ffKimY/4rYkXtPCAfRcyFilrYiID74ppM2oNGuaRQV2VuGBEp+kFxBFQzo7uTdsGo7vIy7G6p1ihoLC89g7gJU9ozOfrQ5bsj6rIEI01xMIWK5/b9ivF8bLcn6vs8cUlORfddyOH6nE80nHZCwUXfK/8wyyxMMkRgNLLBdAu7Of7SqlbUlOAISvi9GgEFc74DVgXBtQGJ/3pOuO210MesV4lkovTos28+ra0JedBPPTAbSWMV3PB8VtL3azcHTlhN+6IcZIi327Hk0KiNsohOEqEFdnMlOFR5KTgU99JwQ0QTOmOXvEC+Uw0ZNJwZcPa+77Wwfx+bwcl7MzskbJ 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: Hi, Axel, On Wed, May 17, 2023 at 03:28:36PM -0700, Axel Rasmussen wrote: > I do plan a v2, if for no other reason than to update the > documentation. Happy to add a cover letter with it as well. > > +Jiaqi back to CC, this is one piece of a larger memory poisoning / > recovery design Jiaqi is working on, so he may have some ideas why > MADV_HWPOISON or MADV_PGER will or won't work. > > One idea is, at least for our use case, we have to have the range be > userfaultfd registered, because we need to intercept the first access > and check at that point whether or not it should be poisoned. But, I > think in principle a scheme like this could work: > > 1. Intercept first access with UFFD > 2. Issue MADV_HWPOISON or MADV_PGERR or etc to put a pte denoting the > poisoned page in place > 3. UFFDIO_WAKE to have the faulting thread retry, see the new entry, and SIGBUS > > It's arguably slightly weird, since normally UFFD events are resolved > with UFFDIO_* operations, but I don't see why it *couldn't* work. > > Then again I am not super familiar with MADV_HWPOISON, I will have to > do a bit of reading to understand if its semantics are the same > (future accesses to this address get SIGBUS). Yes, it'll be great if this can be checked up before sending v2. What you said match exactly what I was in mind. I hope it will already work, or we can always discuss what is missing. -- Peter Xu