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 2B50DC197A0 for ; Fri, 17 Nov 2023 15:27:56 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A452C6B04E5; Fri, 17 Nov 2023 10:27:55 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 9CF846B04E7; Fri, 17 Nov 2023 10:27:55 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 86F166B04E8; Fri, 17 Nov 2023 10:27:55 -0500 (EST) 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 73B426B04E5 for ; Fri, 17 Nov 2023 10:27:55 -0500 (EST) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 4952940E4C for ; Fri, 17 Nov 2023 15:27:55 +0000 (UTC) X-FDA: 81467826510.25.B937564 Received: from mail-lj1-f175.google.com (mail-lj1-f175.google.com [209.85.208.175]) by imf12.hostedemail.com (Postfix) with ESMTP id 5218E40017 for ; Fri, 17 Nov 2023 15:27:53 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="WO/PgJ6G"; spf=pass (imf12.hostedemail.com: domain of avagin@gmail.com designates 209.85.208.175 as permitted sender) smtp.mailfrom=avagin@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1700234873; 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=WmKxE7AQnOU7KXybCy/9YJt3zqy4mGTqUK/bK6QTE/Y=; b=bErD+AbYjRasjIIYDaUomtQjmG1ZGYvCdkHtUhdDLlCATWQ01tgbY4X06bY31BvqfsfI2T YhEMfaiMvCho3BINUhh8oaQoaYHZkAveSGBZnje6SQe1Y+WiDxPOoHmUfpn62zhVfrOs+M 3sVc30z+hKr0iFI7rUKe9nKDY5q1sso= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1700234873; a=rsa-sha256; cv=none; b=Kitnf/lSmJct/AcU2SgUDuOqkxtwJn0X8qDN8YNsImgGH+xBZce+Ev0TbfT/hArqZq7iBv 8EOgn3EUiK1i7sVeopYysdPw6jJ8q3vsU/OyoW8tEi/zofe2S0dJN7wIDsOxeB6BR1GV8v QqYaD3mPJwCxtRXDoyrp5wUmRho9fHI= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="WO/PgJ6G"; spf=pass (imf12.hostedemail.com: domain of avagin@gmail.com designates 209.85.208.175 as permitted sender) smtp.mailfrom=avagin@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-lj1-f175.google.com with SMTP id 38308e7fff4ca-2c85a5776a0so27952101fa.0 for ; Fri, 17 Nov 2023 07:27:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1700234872; x=1700839672; 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=WmKxE7AQnOU7KXybCy/9YJt3zqy4mGTqUK/bK6QTE/Y=; b=WO/PgJ6G45en0Nnx0uDOF2uL6RuHRwysoR9o4MQ0MZM8tO5x8g2z/hy9oEO8i/wPVm E9NxSl1vxKiZ0iHpZrDNYYmEF3Y3RFJnWQueddK9xZl3SdMXYRTgzvOfhUIUZaAbPeHm 0junzM7NhGK9XN54+DEVofN26zONJRergUUngJLhtxUexLWx5/8nH6qaU+1CvPfPBYko gVPCO4C5qqHcUcU5YKtqoZvzwwBWfUV/Pa0ioj+mm35SEqknWUm/30XdKyVOn51aUsDd 6qj7cGY3EJHK5E6kyW+Tti67J2M0nFs4u1deNCA0M6pvhkFCLHdKPUA8OZJYJ/QQKFTt MrMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1700234872; x=1700839672; 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=WmKxE7AQnOU7KXybCy/9YJt3zqy4mGTqUK/bK6QTE/Y=; b=ExTDN24OxmPWuQt1gTZlL28CDaX9/EeI75uUaa0GB3JfezIbcj11yjbY3T8bnG/jui OBgey2UN9OTGqCB35efy5UuZ0uymb2ZxW05mD5Ap8qxbJgRrlNVe3Zwi3kcVmmJS7QCZ jEkg7pW4fltpz7UdzOqRc+L/qrYJVo5rFkitV9dDYePG7kw/OzxyMvVh5TaD66dbp9Su WOemlErQbfzrhlbzPmK/u5GH+2a3W5hsz2dcel7QuPHvTS/yc5sRjD8DWjm0Qf3kvvxv EruzLxNVcalg3w7wSoLCetHP3fSGOFPHCAO9JUZsbplH8qiY0tGBJnOzxrrlQomb1WbL d+6A== X-Gm-Message-State: AOJu0YwatyeC5xPm8erDscDjZwlYmnzNmtG7ZDA9yLjQjTAFOJNlyeUV RWV6tfCQyqGbFipmhOPcZbCzWpVxc4WoZSQpmkc= X-Google-Smtp-Source: AGHT+IGt+7evUR92SaoSqVq16sbeqKBfYtxYZ3FYS+i0ZIg1hJTonJ3OxqZIVwn9P3HocloR0zBtdy0WyUkdBJSxQLI= X-Received: by 2002:a05:651c:b28:b0:2c8:6f66:27a7 with SMTP id b40-20020a05651c0b2800b002c86f6627a7mr1323835ljr.23.1700234871330; Fri, 17 Nov 2023 07:27:51 -0800 (PST) MIME-Version: 1.0 References: <20231116201547.536857-1-peterx@redhat.com> <20231116201547.536857-3-peterx@redhat.com> In-Reply-To: <20231116201547.536857-3-peterx@redhat.com> From: Andrei Vagin Date: Fri, 17 Nov 2023 07:27:40 -0800 Message-ID: Subject: Re: [PATCH 2/3] mm/pagemap: Fix wr-protect even if PM_SCAN_WP_MATCHING not set To: Peter Xu Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Muhammad Usama Anjum , Andrew Morton , David Hildenbrand , syzbot+7ca4b2719dc742b8d0a4@syzkaller.appspotmail.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 5218E40017 X-Rspam-User: X-Stat-Signature: frgdk9m6n6a5e1n3o3kd9cmcf5rw53ew X-Rspamd-Server: rspam03 X-HE-Tag: 1700234873-697540 X-HE-Meta: U2FsdGVkX18hjwnG+Hexz+S9O4D1HDARyAjXwJiBUK6150NuEWGw5Yv+f4pEixBqH8GJAk/gkvzwclIg/nOiWsjwKzIpqzl/jvKRDYYS7lRWvWE3WuGrbjsR4V7IrZ48HSB87VamjUjwPZmEfeu7XTl6iBYKFflGXwdv355LaEO6HrtPbkyeljCKhydRiOt3AXw5t5US0WIEfIF9rULmybz0tN9gM5uqJ+eZ5GHaUysjzlQRrjPe2nwONgNUA5X6cvukCG9Ynm3GAJO48z5Hjj6XkK6vWyBvW194Sxb+K7dUbkQo7AL7jA7wgwDWPEdzysVqQein2v9wH55IyUjKTOCXTJPbkHbT5WEv/yslPJxpeAIHPebQsTQlqyYogUoQTiiUQRzjMKcT+HZsjC/Y0bG750SShWhgsy5bWZF4jNalv63j3829R/hv+fuehzK66q/bzkt0BH7uV2i3yZVzExOnSRJcoi8KELVnOXeNBufLRtMoPmwyZgyyNz1sy5+4YMB/wcU3f5jKOkRso4e6VB1z81vBd7vmZMZaOIxMN5wLHJi5Eq22a6yes3L2iAGKhViawtjR+ezlqohv2v8M2coC69DEmFWaXi0BMwGA3H9oOeBDHhFuUYT/mjWEA0+lOSXzhxgjz9RMQ15GPRQGvGxA3yQ2xEpFi4aKhv+PzI7mG3tJdmPZ+Fj8XjOCyH5ydmLuMwj6erjED5nPMTbmV2DGIQDAORJwnWCzMx3ZbKvvzDZPT056aqU7Cv2VB/Xsg0Y5JCtKCNte56mUv/nT+bu4U5A/lUZLcH53g/YztrQOar1Ow569YrwZaM7g/9OeoyhP/3vcSpMgZyXM8+x1lgGjtBTCH+v4k3EyZOTXojS82LMb5uZNaPyQy1rGgUTGSwOCB/pVc0pB4q8IxJ2vI7TeyEerTCWeTY3KsPeelc3Cv/FDiidaZN6BU8wIxzqp4Q6q4j61h/kvX2HjVrc VTfqgo2R HrwRsnBQT0JKDG9A7aeH93ZyaHSEWj3/GIeCB6Wx3jdDtc/tKw3thOrl7MZ7E1koo/jIYp6b4rro/adf6q/jzjNPdEKd+HTZYGiz4i6miiGWfYlP8nZoGBmx6y+GQkwrwUn2zA97NtjgAshK4PSXQg0DDeYfms1M4xmz84BGcLi1QAY/yAyJBCKnMshp5b9jwMMXMm7BOPA3Wup9O7bBRSwpv4Rc1thKrjyckU3pYEceThntK+ps+AhdDaoqiagNHUvBt/45R2gqrJqGUVKV8q5VNOyR72g66/7bbWcMBC31GinME8OS44EJBkpQMxKRbF2xy16uX2tW72qaRY8XzGlnSp64G5w2tGmxdD7Ta0Hsgz8TRbOMiUxaR4CBIWhqApDWyel6sQRfmi94aDkpD8v/jDah8kTEc/DZsrS7d7zCgsdA6omRCL7z7+8hT+D4QEl3bi1pZ7ngXayg2j4/YPQw4HiEWE90JH3o9aHTAgr+0axDQB6Ra6lwyUFhajaFLs+AkR4NQV4p2tQJ6nmTj6EKDnbpuAWJ5lwSUyGHaobDRFFkve0dK+9esdBbsz8sl7UmzKJ86U0xhUHUkZFWfItMPNe4UgiQDA6l3 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 Thu, Nov 16, 2023 at 12:15=E2=80=AFPM Peter Xu wrote= : > > The new pagemap ioctl contains a fast path for wr-protections without > looking into category masks. It forgets to check PM_SCAN_WP_MATCHING > before applying the wr-protections. It can cause, e.g., pte markers > installed on archs that do not even support uffd wr-protect. > > WARNING: CPU: 0 PID: 5059 at mm/memory.c:1520 zap_pte_range mm/memory.c:1= 520 [inline] > > Fixes: 12f6b01a0bcb ("fs/proc/task_mmu: add fast paths to get/clear PAGE_= IS_WRITTEN flag") > Reported-by: syzbot+7ca4b2719dc742b8d0a4@syzkaller.appspotmail.com > Signed-off-by: Peter Xu Reviewed-by: Andrei Vagin > --- > fs/proc/task_mmu.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c > index e91085d79926..d19924bf0a39 100644 > --- a/fs/proc/task_mmu.c > +++ b/fs/proc/task_mmu.c > @@ -2171,7 +2171,7 @@ static int pagemap_scan_pmd_entry(pmd_t *pmd, unsig= ned long start, > return 0; > } > > - if (!p->vec_out) { > + if ((p->arg.flags & PM_SCAN_WP_MATCHING) && !p->vec_out) { > /* Fast path for performing exclusive WP */ > for (addr =3D start; addr !=3D end; pte++, addr +=3D PAGE= _SIZE) { > if (pte_uffd_wp(ptep_get(pte))) > -- > 2.41.0 >