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 D59F4C4332F for ; Thu, 10 Nov 2022 18:43:30 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 53E446B0071; Thu, 10 Nov 2022 13:43:30 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 4C78A6B0072; Thu, 10 Nov 2022 13:43:30 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 31AD16B0074; Thu, 10 Nov 2022 13:43:30 -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 1FC436B0071 for ; Thu, 10 Nov 2022 13:43:30 -0500 (EST) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id E28BB14036D for ; Thu, 10 Nov 2022 18:43:29 +0000 (UTC) X-FDA: 80118405738.07.6498AF2 Received: from mail-pj1-f49.google.com (mail-pj1-f49.google.com [209.85.216.49]) by imf03.hostedemail.com (Postfix) with ESMTP id 7EE1F20003 for ; Thu, 10 Nov 2022 18:43:29 +0000 (UTC) Received: by mail-pj1-f49.google.com with SMTP id o7so2388062pjj.1 for ; Thu, 10 Nov 2022 10:43:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=H4y0f1haOhrPBjhGk8rnlTxBOovrLu+sXTKkXLaTe0c=; b=JNjyUycW4m606iWp2ge3v+WkMxXT+wEHq8Rr+OTk2iXrhBTtzuLAVPxRXCRiUQJIat e3okiB424bY0sw378TE/cl3qKMCevLRTDk2JlZMS1ZUFkQGqyVjI1gbY5qjQL3WJIPkA m875at0R7T8174/R+LHWWoBuI5BSrAlyHlRY0mHc26ZAlisuO8iLt59+dfjwAHVnffBL tJfOyuZuKPB2wi+m28nNLeCuFFaXysC71zBBJOUusnQ23C/k7ZPjQCfmlUZmSTZ8dGle ePu/lVnDcce3fBcpgKYfrVKiSgs9SEKgDp5FNPQGR8eNTZpGB6DcGn4XuVnIx1RB6Vnq ZczA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=H4y0f1haOhrPBjhGk8rnlTxBOovrLu+sXTKkXLaTe0c=; b=yF2yp288XskJDsobU9BELcJ1lppitS7rtkbyJYY0lizyY/GajldPk5Evt38FrQ+BJn rUL21c7xVeFtt+lMIhsTXiTMawgKMBa9rh1gpixgffNER35kVJbocWk5VQ3rjQwOGKs6 6mJMk0w37YqR1lGcK2suGPiJwC2ohMPFaeqAB4pXpl6JDhCUWizNdpPL2MP6dfo36TOy K7gKHHSYs+EQitr0VWe0ZNxyA79XKpxAVUn7dVzClpVF7gxD2FCVskj/sNeGX1Ybso9o 5qCjvSswDTEGUShgycihoynFw8X3R7X83eWXDpTvu26k3G7LPSLjnr8z8BKmILtUcees K3gA== X-Gm-Message-State: ACrzQf3Bf88mwgFHKQb/KIbs0mXxLIFeB2tRCc+EoZazzjeNUYjET7aC yoRzjwlF3FYQNIdxpVBFIGs= X-Google-Smtp-Source: AMsMyM7Aem+H9YdrwsIErn0vugtUXbZgJqxUJ2j8nJvc1wHy/3yKsiUDsGB3L/gvNRQK02zxFUjbvg== X-Received: by 2002:a17:902:bb8a:b0:185:378d:7c2a with SMTP id m10-20020a170902bb8a00b00185378d7c2amr1719987pls.127.1668105808082; Thu, 10 Nov 2022 10:43:28 -0800 (PST) Received: from smtpclient.apple ([66.170.99.95]) by smtp.gmail.com with ESMTPSA id p1-20020a1709027ec100b00186cf82717fsm6409plb.165.2022.11.10.10.43.26 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 10 Nov 2022 10:43:26 -0800 (PST) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.1\)) Subject: Re: [PATCH 2/2] mm/uffd: Sanity check write bit for uffd-wp protected ptes From: Nadav Amit In-Reply-To: <20221110151702.1478763-3-peterx@redhat.com> Date: Thu, 10 Nov 2022 10:43:25 -0800 Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Mike Rapoport , Andrew Morton , Axel Rasmussen , Andrea Arcangeli , Ives van Hoorne Content-Transfer-Encoding: 7bit Message-Id: <58FFF1A3-DC37-4D9F-ABF0-3C5DA519BFFB@gmail.com> References: <20221110151702.1478763-1-peterx@redhat.com> <20221110151702.1478763-3-peterx@redhat.com> To: Peter Xu X-Mailer: Apple Mail (2.3696.120.41.1.1) ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=JNjyUycW; spf=pass (imf03.hostedemail.com: domain of nadav.amit@gmail.com designates 209.85.216.49 as permitted sender) smtp.mailfrom=nadav.amit@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1668105809; a=rsa-sha256; cv=none; b=AxUkiAuFyOTUdw+8SSJyvsns2KoeM2FZmvArMFai1BYRJsTrbAM6WIhzPzsmOZpZAS5fRJ UrrtH1D5RMcyJeJ7l6tQXDSpdjVcalQA4yp+enZ+vAdQZpqOeuBUNwNibQyZF0zJTKGLxG RZx393+J7qR4lEOY4eCKApUM4LZIBXQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1668105809; 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=H4y0f1haOhrPBjhGk8rnlTxBOovrLu+sXTKkXLaTe0c=; b=IQ6+RO7Oj2EXu43x9Pfu3rwN3Cg2EbwAHjRSkVsA22alm+Ksv5eTiASaXYDbweMgMfK0xw OrBCApsLo004HAne/CgdqsNmVQDYbDDxGotV7XclnmKaZYwbXbPM0IVzN9sP34q/mDqO9S xkOc4qjTUiCt4fn3RbB0a2KJckuLGM4= X-Stat-Signature: n49jna445c1crkyz5rwq8p8wa7doo4b8 X-Rspamd-Queue-Id: 7EE1F20003 X-Rspam-User: Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=JNjyUycW; spf=pass (imf03.hostedemail.com: domain of nadav.amit@gmail.com designates 209.85.216.49 as permitted sender) smtp.mailfrom=nadav.amit@gmail.com; dmarc=pass (policy=none) header.from=gmail.com X-Rspamd-Server: rspam11 X-HE-Tag: 1668105809-560525 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 Nov 10, 2022, at 7:17 AM, Peter Xu wrote: > +#ifdef CONFIG_DEBUG_VM > + /* > + * Having write bit for wr-protect-marked present ptes is fatal, > + * because it means the uffd-wp bit will be ignored and write will > + * just go through. > + * > + * Use any chance of pgtable walking to verify this (e.g., when > + * page swapped out or being migrated for all purposes). It means > + * something is already wrong. Tell the admin even before the > + * process crashes. We also nail it with wrong pgtable setup. > + */ > + WARN_ON_ONCE(wp && pte_write(pte)); How about VM_WARN_ON_ONCE() and no ifdef?