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 48AC4C433EF for ; Fri, 21 Jan 2022 02:56:39 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8D4386B007D; Thu, 20 Jan 2022 21:56:38 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 884946B007E; Thu, 20 Jan 2022 21:56:38 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 74BC06B0080; Thu, 20 Jan 2022 21:56:38 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0067.hostedemail.com [216.40.44.67]) by kanga.kvack.org (Postfix) with ESMTP id 62D1E6B007D for ; Thu, 20 Jan 2022 21:56:38 -0500 (EST) Received: from smtpin19.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay03.hostedemail.com (Postfix) with ESMTP id 0FBA6825F059 for ; Fri, 21 Jan 2022 02:56:38 +0000 (UTC) X-FDA: 79052781276.19.18B4229 Received: from mail-pl1-f180.google.com (mail-pl1-f180.google.com [209.85.214.180]) by imf25.hostedemail.com (Postfix) with ESMTP id B12C9A0003 for ; Fri, 21 Jan 2022 02:56:37 +0000 (UTC) Received: by mail-pl1-f180.google.com with SMTP id t18so7113129plg.9 for ; Thu, 20 Jan 2022 18:56:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=l8EP/XZZ7Adn8RrGBv8m4FZeB3iBzLGLU9rPwYoh5yw=; b=Jx0PtvGyAcCNi+Gk6w9sFCqPBN9EXeSFnV2eHAckQsddN3rd6m/i8MAeiAfnTaWRHD 7MwopjlDrvqrlkbsGNtOaWeZr8vw12Oi5AUsgVREu0EQ+zWmmaiMDU2PbXfDLAlQ9/T8 uD80nzTgu71SJkXDlE9DjLbr8Hqv2wyJ9X3XyUMGtGe18FHc3UIw/H5JxqZk++tlsfB9 W/j+12yicImVTjUd5EUHmUVEWtDCofM3gI49gA8541iTX6YswWxnbXqjW21N6VkDmoim M9gDoCysk9QpNoI6LQyis/9hucoJ7tM6rNDO+DJUdrQNCbtm8sAojZx/8zzL3pb25Pwp apmg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=l8EP/XZZ7Adn8RrGBv8m4FZeB3iBzLGLU9rPwYoh5yw=; b=BFdYwSa7vYUHa7+/NI15SzMS1IgyJp9yWNUVLSeQalCFSRIeUFovpr1LgZ5Lr8kGI1 Yw8t1w24zjZ13JwfGUrjptRVLJs93mAXECW8IMWjyeAEEsmP/GQIIhu+f6E+FzHqya4E fCxJ+E4+sCQk6W19JPjTw9FZw/8IiYKDz2ShP6iXuNCAQwB5IGCSYCe+0jXN33z6SW9t mimzCpl9624qWcDbngQ4hScPm0oJEervawEIJBBpDt1AE4/89BKe+0Q6osaiiihlPJOh tGZtQsIm6LO2/Ke7ilTxoGRbocsROjivuWISKLWRwZcPYxXGuQZvPgutEa2a7SiCuT/r WR7A== X-Gm-Message-State: AOAM532oB+3wTc26n/Z4c8bnMMSHN9j9cZRgdtNQVZ5qkGuFdYeUxCLK KhQs8gMQNtdUGxT3xTQQHnsSBcUqxujULn9BAyU= X-Google-Smtp-Source: ABdhPJwgyXeKcusyG2pttm3gH14j8e1vfIMereXIXyoaOsOmzmeK+cPJg6UDQr9Fvqa+2OfU0xsdini5MnmyOKI9e8o= X-Received: by 2002:a17:90a:9104:: with SMTP id k4mr14427919pjo.87.1642733796533; Thu, 20 Jan 2022 18:56:36 -0800 (PST) MIME-Version: 1.0 References: <20220118235244.540103-1-yury.norov@gmail.com> <5b62ed03-8da8-a94d-cc48-a8cac1eae1c9@arm.com> In-Reply-To: <5b62ed03-8da8-a94d-cc48-a8cac1eae1c9@arm.com> From: Yury Norov Date: Thu, 20 Jan 2022 18:56:16 -0800 Message-ID: Subject: Re: [PATCH] vmap(): don't allow invalid pages To: Anshuman Khandual Cc: Matthew Wilcox , Catalin Marinas , Will Deacon , Andrew Morton , Nicholas Piggin , Ding Tianhong , Alexey Klimov , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, Uladzislau Rezki Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: B12C9A0003 X-Stat-Signature: bpk61cfmx37qhxkn96ejf1wwfi9oiuo3 Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=Jx0PtvGy; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf25.hostedemail.com: domain of yury.norov@gmail.com designates 209.85.214.180 as permitted sender) smtp.mailfrom=yury.norov@gmail.com X-Rspamd-Server: rspam02 X-HE-Tag: 1642733797-510980 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 Wed, Jan 19, 2022 at 7:37 PM Anshuman Khandual wrote: > > > > On 1/19/22 10:52 PM, Yury Norov wrote: > >> Why should not this just scan over the entire user provided struct page > >> array and make sure that all pages there in are valid via above method, > >> but in vmap() itself before calling vmap_pages_range(). Because seems > >> like a single invalid page detected in vmap_pages_pte_range() will > >> anyways abort the entire vmap(). This will also enable us to drop the > >> existing NULL check above. > > > > I can do this, but why is it any better than the current approach? > > Because it will just return on the first instance where the valid page > check fails, saving us some CPU cycles and an incomplete mapping ? This should normally never happen, that's why warn_on() is there. If it happens, there is a serious problem, and the code must be fixed. So, no CPU cycles saving in real life.