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 BE09FC001DE for ; Wed, 21 Jun 2023 13:29:36 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 554F38D0005; Wed, 21 Jun 2023 09:29:36 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 505808D0003; Wed, 21 Jun 2023 09:29:36 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3A6358D0005; Wed, 21 Jun 2023 09:29:36 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 28C5F8D0003 for ; Wed, 21 Jun 2023 09:29:36 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id D7D4E160799 for ; Wed, 21 Jun 2023 13:29:35 +0000 (UTC) X-FDA: 80926837110.06.6201F9D Received: from mail-wm1-f45.google.com (mail-wm1-f45.google.com [209.85.128.45]) by imf04.hostedemail.com (Postfix) with ESMTP id 0BFC94001F for ; Wed, 21 Jun 2023 13:29:33 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b=FVWCzeaw; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf04.hostedemail.com: domain of emmir@google.com designates 209.85.128.45 as permitted sender) smtp.mailfrom=emmir@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1687354174; 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=EdD6cJh6qu5svt4tCCc88YcqEs1pBBrW5+aY8WHVANw=; b=ARnqhgFqdwqGovzwL8DnKQa9PIgxFwn4HOjRcyHCiVMpa8YYtNFeLtKjMVu1G0wSYdHviK knCItOpWnkdMY8xDPrwjSbn89O2/uRNFpiFlHl1/D4Ey12PXEZFhdiUw5/7/mC7J1mwICX Ysiixbf8mRnIIBJClovgtCn5wAR8+to= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b=FVWCzeaw; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf04.hostedemail.com: domain of emmir@google.com designates 209.85.128.45 as permitted sender) smtp.mailfrom=emmir@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1687354174; a=rsa-sha256; cv=none; b=DL2/KgzFta4udkh7FC+Xww4Hxx8szEqzvZpeOmtEWMiuJDuNwmfY6V5yhoEMGmYw0R16Qa UJEr2mdMlKvJVKyRl3wL549xF02jbzXwm3ZZxYLQ+XWAB2JnApL8M2b1HEeDKQcqDaHaqP iLAuG2CgQl80L0WFGj1H9smmXNhdlSI= Received: by mail-wm1-f45.google.com with SMTP id 5b1f17b1804b1-3f9b4b286aaso127505e9.0 for ; Wed, 21 Jun 2023 06:29:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1687354172; x=1689946172; 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=EdD6cJh6qu5svt4tCCc88YcqEs1pBBrW5+aY8WHVANw=; b=FVWCzeaws/zcBjOjUu1n3j7WTelwG9JXw5CEnSXuVyoExnw46Vm7mXMycj7Ey0QchI UVjgVZ4W3h5G5DyoOoZIhV8s+QLEGIuDiv7FHV5vIOU910wUI0T7BqJIL3hiUULNn3pB VdLBj/gmBNQfPFQVDSrnzVcXK2S0UMtK8OtAgvQT4uoauo/jz+/SpPUkkiLkSsQxZd2z AEO/hNolEPFpBTzv4Bg80pQfyL3BI9NXzGgzGhDMGTnQxEUxqfg/L5oCp96E0x9VwNVo gpzHx1Oy1YyVpGtZNzIKXvRaHqC7XKKGAEWWjdzzHQPIo3iS6lSAwNv8U3KzzfxEcpnE heFg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687354172; x=1689946172; 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=EdD6cJh6qu5svt4tCCc88YcqEs1pBBrW5+aY8WHVANw=; b=dcN06KNBUOrD+mp8thcn8GozIJxtFewIZL5YdPaGPKaLWan2UiujaDoAkOBhHbJXUq 1LBWX4T+2SMllyVSmu0pKcGh7j+cvYFNwTfESVTFMQFjMP9UwBBiu5qdON+9r5qoAU8P M8E7Na69Zv2BVuVxAdlRxRDwIPfKApDvy60i8HA7JU/6xrmRI3T6zeri7hk0Bxvedd6C 4/8KuwlzjaIlIJbBwfULF7M0d3uPFCVD5Ddxi2r7c0Wxxu8ajq8t+k4r+i08j2HYWIkn OqYJSWDcMUZhVjJOAl7VKQOe1/Lj+6qRN+sdJzzdqz0PueSEWzYyJJgZ7W0uHpZWsnFL gZ2Q== X-Gm-Message-State: AC+VfDz5mR5zzyovMzdPBT1i2FWdnjwsHq01X37pFlSEe2WtOpvuKKsq 2gsgq3bmgpCtq8NAyZauzlKFi974etLxbm/PdcpRDg== X-Google-Smtp-Source: ACHHUZ5oAZ9+8akmbC5AZy2U+cfa4H8NZ/OYc/GWPMsKsUpaTNBCrKI6BrBopugvdCFxO09eZzJcDuVKBMM6NPG7gzE= X-Received: by 2002:a05:600c:3ac9:b0:3f7:3e85:36a with SMTP id d9-20020a05600c3ac900b003f73e85036amr1128926wms.7.1687354172487; Wed, 21 Jun 2023 06:29:32 -0700 (PDT) MIME-Version: 1.0 References: <20230615141144.665148-1-usama.anjum@collabora.com> <20230615141144.665148-3-usama.anjum@collabora.com> <1c1beeda-ceed-fdab-bbf5-1881e0a8b102@collabora.com> In-Reply-To: <1c1beeda-ceed-fdab-bbf5-1881e0a8b102@collabora.com> From: =?UTF-8?B?TWljaGHFgiBNaXJvc8WCYXc=?= Date: Wed, 21 Jun 2023 15:29:20 +0200 Message-ID: Subject: Re: [PATCH v19 2/5] fs/proc/task_mmu: Implement IOCTL to get and optionally clear info about PTEs To: Muhammad Usama Anjum Cc: Andrei Vagin , Peter Xu , David Hildenbrand , Andrew Morton , Danylo Mocherniuk , Paul Gofman , Cyrill Gorcunov , Mike Rapoport , Nadav Amit , Alexander Viro , Shuah Khan , Christian Brauner , Yang Shi , Vlastimil Babka , "Liam R . Howlett" , Yun Zhou , Suren Baghdasaryan , Alex Sierra , Matthew Wilcox , Pasha Tatashin , Axel Rasmussen , "Gustavo A . R . Silva" , Dan Williams , linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-kselftest@vger.kernel.org, Greg KH , kernel@collabora.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 0BFC94001F X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: xo4z53cskf9dsedc7z3b1cs4h8hc4pbu X-HE-Tag: 1687354173-389361 X-HE-Meta: U2FsdGVkX1/VvyIOMAYv/LbLjw9w3CzHaaOr2DKfMm5h3Z0MzrCWvX9HhP/fRK0WT9YqUhtVAOxv131SxwIhLkLQYsrDsOasgqCh2V4FSnaXL5LXkmEO0l1bVEJ4LkxGm7xuLL/pA4xMsxj59k7bbwVe/eFkqkInBOCACM3P+vx7zlG3CZg4jp5FDh17Qgi6Y6CMPzbimtQsXooVurFruykzP88tHN5hdgwDLWxud0ropCynl5HOfN4rAmRbovx22TlN+cGOtBxrJHEsjfnxYd82piMVLyDlXnN0w7VOlCC/pE1yKvJgJbbGE56oRqX1/T+upxKz/W8HTHGWsbF5ICXn1jnKnlxsLg1fwJDhWRWzCkxSBJMn81TfFDkKE0uCLaL2Cv0jk1Vl3/gO/63QDKg3d4PrF0D5fAUY7RSzwLvX+IzlgCvQtJhO6mANXoqzQ5KAhsQYDVXd/9HDeSuEN7nAUiIZegRFS+Nj7CUmNctRr7zH3NJ9BcfbkyTwZ28bxnnD5pM6n0c0dNCn+klMOV41aoUNqCSJVdQEqIEhxluhcy8XzFJ1IPS7Wz3XnCPAgn3CuyluZf0rQfprh2Q+GqXVOW93WVPSbPVJYcUJS7x8HPFWQ0n/LXY0ysXfIuJHDReQks+mLRdabg+vUZ0u1Ks3aNr+LRz8DNO1yqJF1qGDanjWTsrE5/wkDgxs3iUiNbngqfIIB6WoPh9djqAYadlUIMcgekYD4w35vykXjD8xLoXxFXteY5I9rV58smubETbZDvYK8Ew89f1xhRqJ8f0639M9C+gOn+VcXvIQebWP7vfC92iGupDK62JJnTO8ek2bGhAQCJrswM7Cz0y3kdxhIs1Q6oDBUE12AkH1OSqPoS1Sky8gsAD6pUixkDFsOCMshWGx/Ea+E96egxYZH8ylErA0aJ5KbuSSWNnJnRNJZMufcMqb3SDHhchO4zzokUv0U1Ab4T8q0NKhEnP VzXa1MRa TduPJcdxVEYGgOlY0PKSlJoY2veDn+USJzlkr4+LYyVaGyReHeFf0DAyp7f3GE1QBoil3hfzGPIIbYSLCzGcaBtLkZ3R0UskbDaaA8rEZ84gWu1vSkh5KhCV/rNkJLGnv/bHkObwGfBqw6vtr2AuS2CF8aG4GyInN/H8fCsF3WIa7b67tBYPwrzZB0K8btXQTSIgQdL8hg4QdrIXK8L/y45sefz41nRPTRqBLYi7MJfSl9E+omugPChHzCZehvGUeGyGt1rp9uMONpKw7/4DYbs3bSbF9MyaqoEoAuL2MXNr6dKbBt+KmjKQvlDY2OJTlPzJskBmyEc2PpRA+4rWty/28KZVTe8o9jBmT//WmYi85muc2cIgmv2zJu83VTB3r65f6 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, 21 Jun 2023 at 08:35, Muhammad Usama Anjum wrote: > On 6/20/23 11:03=E2=80=AFPM, Andrei Vagin wrote: > ... > >> +struct pagemap_scan_private { > >> + struct page_region *vec_buf, cur_buf; > >> + unsigned long long vec_buf_len, vec_buf_index, max_pages, found_p= ages, flags; > > > > should it be just unsigned long? > These internal values are storing data coming from user in struct > pm_scan_arg in which all variables are 64 bit(__u64) explicitly. This is > why we have unsigned long long here. It is absolutely necessary. vec_buf_len and vec_buf_index can only have values in 0..512 range. flags has only a few lower bits defined (this is checked on ioctl entry) and max_pages can be limited to ULONG_MAX. Actually putting `if (!max_pages || max_pages > ULONG_MAX) max_pages =3D ULONG_MAX` would avoid having to check !max_pages during the walk. Best Regards Micha=C5=82 Miros=C5=82aw