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 F01C0EEAA42 for ; Fri, 15 Sep 2023 03:28:40 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 85DFD6B0310; Thu, 14 Sep 2023 23:28:40 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 80E5B6B0311; Thu, 14 Sep 2023 23:28:40 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6D6136B0313; Thu, 14 Sep 2023 23:28:40 -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 5E8306B0310 for ; Thu, 14 Sep 2023 23:28:40 -0400 (EDT) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 2EBB71203D5 for ; Fri, 15 Sep 2023 03:28:40 +0000 (UTC) X-FDA: 81237399600.17.F8920C2 Received: from mail-yb1-f177.google.com (mail-yb1-f177.google.com [209.85.219.177]) by imf01.hostedemail.com (Postfix) with ESMTP id 749AE40009 for ; Fri, 15 Sep 2023 03:28:38 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=HLx0TTBd; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf01.hostedemail.com: domain of surenb@google.com designates 209.85.219.177 as permitted sender) smtp.mailfrom=surenb@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1694748518; 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=aoetoUv4yUreIuSjYjk1T1X4tYlTD7mzIQaWPL4/I1g=; b=Im2p/ZvCZ4zAc6K48sDmr6xI2hPP00QpxheMOzfxJCB68gQ4eZc+F+sw5SwkJAHNJ31pFV mc1XKN+2ZQoPt3m3Pe9SG1aZkdZ0LRBYA12Rc0Zt2bOhiwcV41BR3h8411uaEjuq0oMaSP pWfG2q9TRzaDJ+ydZHzhq6URcE0KpmU= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=HLx0TTBd; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf01.hostedemail.com: domain of surenb@google.com designates 209.85.219.177 as permitted sender) smtp.mailfrom=surenb@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1694748518; a=rsa-sha256; cv=none; b=Zff0INi/ByJgCq7MyMacFgK7KUDvFWSyOtq/q8ZLOPXL/7Icr+bw4LGlJGnAF7LDNXykHz yste+5vVAdpftHjmnXiNRgjdWlweZYdLfIQEBAYfKpAWkUH1Mkp5eV7KN0bpWX0j2hxQfj AiBb4J/jIhEz3OAy9XosbTfOIUwPmRM= Received: by mail-yb1-f177.google.com with SMTP id 3f1490d57ef6-d7ecdb99b7aso1663697276.3 for ; Thu, 14 Sep 2023 20:28:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1694748517; x=1695353317; 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=aoetoUv4yUreIuSjYjk1T1X4tYlTD7mzIQaWPL4/I1g=; b=HLx0TTBd+oMhsRm9T5THgHJsRiaNjoSXVR26QsyNJGQ3AWUf1T9gQ5oQmtHkduwk0u hupexEjqfAUSFmxjh/MZgVouSoRgl2u7KCqyoLMaZCR2DyeQKYaPHrftwsjZu+v8cEjM HBUP/bnj3FCZebn4HOmaYYOUL5RAqyXMtFfdCYTExHq9N7zg+y3WosEW/TPBhJX8AN0i SqTks3h07dqhpmA30ioadCZ0+MI+fhSiLvPinV54lS8M0aY0uX68Mg5mF2nhtUoB145W FBLAbuN7G6Wi1LGwe99GCrEcLrEr2U3JH2r7VLrO8BgRJTioNrYP0OOvDuBKFyKUScq+ ZFoA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694748517; x=1695353317; 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=aoetoUv4yUreIuSjYjk1T1X4tYlTD7mzIQaWPL4/I1g=; b=JF7h7hL+Hn7nWSaGyofsX/THmnnSgFJic3rMzlR8KqSBw4YogdUZnVvOAXnqWpDxdM QpQu9m1mD7TdMXWNCOGenUZwj4gOKgctCmMRokS1vNG6HNOG/ME3J/zvYPeHtGquIQfr vzhZ/8TtUlLBaWs7jRRIAagBfpG9PicqxrFvnZJ+3qxX7Gj2QZwKD4/i80K0oWojzRHv VUOrMyIFpR2JllXCXqW0SvOctko8NGtammjjN8+AsR7rFdrUq8KStZ7gpBdyb5rldvYV zlRYdQb8Pk46KBBbBdwMJWaIYjE/GdiRZFiRZoxh82RpyxxXDG3isXgx3P6P+1YkzkKz pkFA== X-Gm-Message-State: AOJu0YyQoMNmtZy5WBvwvOLleXW66dQjxE25rTid7P4CRDwJy9r2Lcf/ KDJWWN+KTY1vxeDlYtnacHYBt2NkZnWv+6GAkmUBJg== X-Google-Smtp-Source: AGHT+IE123J0ofC5tc7ux3uXbJpHdEduMMUnQ/jGJh8rlWi51MUY0HINvHjs43GbwySqu/kz9rZWjoPEa9FIqeMVCR0= X-Received: by 2002:a25:5c9:0:b0:d81:5436:9896 with SMTP id 192-20020a2505c9000000b00d8154369896mr384787ybf.2.1694748517385; Thu, 14 Sep 2023 20:28:37 -0700 (PDT) MIME-Version: 1.0 References: <20230914152620.2743033-1-surenb@google.com> <20230914152620.2743033-3-surenb@google.com> <4F9BBE45-22D0-4F8D-BA56-CA3459998DC4@gmail.com> In-Reply-To: <4F9BBE45-22D0-4F8D-BA56-CA3459998DC4@gmail.com> From: Suren Baghdasaryan Date: Thu, 14 Sep 2023 20:28:23 -0700 Message-ID: Subject: Re: [PATCH 2/3] userfaultfd: UFFDIO_REMAP uABI To: Nadav Amit Cc: Andrew Morton , viro@zeniv.linux.org.uk, brauner@kernel.org, shuah@kernel.org, Andrea Arcangeli , lokeshgidra@google.com, Peter Xu , David Hildenbrand , Hugh Dickins , mhocko@suse.com, Axel Rasmussen , Mike Rapoport , Matthew Wilcox , Liam.Howlett@oracle.com, Jann Horn , zhangpeng362@huawei.com, bgeffon@google.com, kaleshsingh@google.com, ngeoffray@google.com, jdduke@google.com, linux-mm , linux-fsdevel@vger.kernel.org, Linux Kernel Mailing List , linux-kselftest@vger.kernel.org, kernel-team@android.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 749AE40009 X-Stat-Signature: z8g6f1rcghw5ydphax5cudnkqsfeywjf X-Rspam-User: X-HE-Tag: 1694748518-813388 X-HE-Meta: U2FsdGVkX1+2PzbuPrKS+oyZe31yRPNHmDklA6krA2CBJrqctAs34vnDY1vqfJLvfuoGGo5k0fZ5N9nK2EeOArzoGtPQUvFA2R7aqXC3T2OVvX1WiF4/WjM86Am/kaugetJXpNEAuZ1Pdvv1KzpkLRb006o9nojmY9Z5OgoslW5zn8YpMu1Jc/mek/k8lI8rmB+6/LgXGfbQDAYer9scLGFETAn4n4L+kejV7hpwyeVfX6n+8X9a22wW0VCr1yZMbG1LydQU3WCmRGpaD0XsPbG12T5HAIColXlRIoRDMo0F72kDIB4HeY6i/juiVvS5OLDxGg07c3Zs99kodUzQTpffdtx+LZ5xq8j5yMEpMEiR2rZgDCeVuNfGr+zmAhqNyL3d1GmHDYuqNaFEsuocptWKfbCDcGxnbVd0jIX5klRyeRH/1q8GKYk/pf/ryrwc19k0yQ4OujmkjJmuYyN1cFTJ+L0e9lUiUspkrtjrChYrmlLQ9abzgLfdAkup4jviFhADnf7PqGqeV2iwHs4cdcRb7jh+wCNs9nLbnieHcLO8T94Ly24GYI+aXBlvZMcptVXKjEqMm2er91t1Vau86nEEdat8/+YPRzNRajgOjbTxtRYvmeiPb7VkcrYRlOO9MO6o4qRmxfEZf49oYNRDA2nSQNuhJTEpuz9n+9Gx46LKG8phcAdUcoipBQY7ZZNyjExaJSBQ+UlY4XftTCIpfpG6BMzx4M8kig8n55rudxLOLWTuw69/7yQuFGkVie8OFPmUyH4bnjXA67Cxp9HVv7IVxuTtkdxSuEvVvrRlyJH+XS7Ww8/Bu0cVdEImMyJsML72FBeEnCg9XlJAFaVLi8W9MoyODrLkqSOvioGNsrqNMLMTa1trTeCmFQSlRb5AC1Yn7wOvSdJzoQbExl+ZBHEUtXO5VCZr0vGCy67oa85EBISSDzA4E8sjPS/WLVuILDBHHQzPr5WfPBcy+YX jvkSk4cz knSNW/UlJnx0JuamOgmK2mrdnM0xOkgPvo1l11iVLBNpYL9ShMWlMSjiNI2XBCCgMy6YTtsNzB60W2zX6FJgjLMdr8BR+8FShbiaFTXa8HUz4uAkEj1Nos+KVr1cYRm06E3RdNndfBiS4fyNxvdqEyWOg8+rzLm1ZXRuaNtJxpvG3mOG4LA7LvpcGeRn8E0+6y18lGYrs3kEeX0islFuBi6BAzvrP/FYsSRFGSS06hoj/ces+9fecUi03I4rTPrEbbIMLxtS/s3Z6IDzCIH7Ur55qC9b9nP21FJqIGTyJE4ObRGfoup5yHNEhZK3jPf87taSIpw7sawUuqHeeMdei7wVZ7FbhK+s1QhciInc2ur5R5C1MZTXUY3AK4M6u7cLqZjMCGOCh7wCzxHg= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000016, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Thu, Sep 14, 2023 at 2:57=E2=80=AFPM Nadav Amit w= rote: > > > > On Sep 14, 2023, at 8:26 AM, Suren Baghdasaryan wro= te: > > > > + if (!pte_same(ptep_clear_flush(src_vma, src_addr, src_pte), > > + orig_src_pte)) > > + BUG_ON(1); > > Just a minor detail regarding these few lines: > > Besides the less-than-ideal use of BUG_ON() here, I think that this code > assumes that the PTE cannot change at this point. However, as the PTE was > still mapped at this point, I think the access and dirty bits can be set. At this point we are holding PTLs for both PTEs (see double_pt_lock()). Can a PTE be modified from under us in this situation? > > tl;dr: this appears to be triggerable by userspace. > > [ as for the performance of this code, the lack of batching would mean > that for multithreaded applications where more than a single page is > remapped, performance would suffer ] Thanks for the note! I'll see if it's possible to implement some batching mechanism here. Thanks, Suren.