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 3370FC001DF for ; Fri, 4 Aug 2023 17:17:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6C5256B0072; Fri, 4 Aug 2023 13:17:41 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 674A38D0001; Fri, 4 Aug 2023 13:17:41 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 515136B0075; Fri, 4 Aug 2023 13:17:41 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 3F3906B0072 for ; Fri, 4 Aug 2023 13:17:41 -0400 (EDT) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id F084414041F for ; Fri, 4 Aug 2023 17:17:40 +0000 (UTC) X-FDA: 81087079080.20.D83F27A Received: from mail-ed1-f52.google.com (mail-ed1-f52.google.com [209.85.208.52]) by imf25.hostedemail.com (Postfix) with ESMTP id EF684A000D for ; Fri, 4 Aug 2023 17:17:37 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b=hmS6ejEY; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf25.hostedemail.com: domain of emmir@google.com designates 209.85.208.52 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=1691169458; 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=2T7SZZ0QByC9mXWRPlKUQtKM6dHFG9MmvGQY+HbLzlI=; b=nw3TBK/Wxe8nsWgURqAUtjZdHknzb54fNqDybHyVzS65SQ71XUPClnmQA3qFmtoK7k5a3U R7f7uOl7qb+dvjj1FTDVf1oNKiR+84fIrJ5DjSgXMSnh0I1wXkV2xxycNkBbscl69WtOlZ AjX05pt01quUZCoKW30PTGquWdWeJM0= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b=hmS6ejEY; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf25.hostedemail.com: domain of emmir@google.com designates 209.85.208.52 as permitted sender) smtp.mailfrom=emmir@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1691169458; a=rsa-sha256; cv=none; b=QPPkilEn8COZyfm61MlTc0rDnFlf/Qw9lyXyPYuq9DVhLSKlzosEAZkBbQXf6M3cpveLVq uDJ6O2EHxt9BAQFMyPpGB9/JbKJOn8ZpI+Mig+RtyF1KTsXM+zB2DpeaovLBwx30h8BxHc KR9ixa9x/R0Bgt/VL56n5gcNTVUcnu8= Received: by mail-ed1-f52.google.com with SMTP id 4fb4d7f45d1cf-5223910acf2so872a12.0 for ; Fri, 04 Aug 2023 10:17:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1691169456; x=1691774256; 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=2T7SZZ0QByC9mXWRPlKUQtKM6dHFG9MmvGQY+HbLzlI=; b=hmS6ejEYooO73Y1iHy9ByBdsVNCWHhIXOmkn86Mpa2uIhVYifsMqtqRwFHXLw/ex06 7oFeaY4aQ/qnfIVyspO+UKW5YG709KzIf154oIbVuXABHG+pSDHlG1gVvIR1Hfl7hJug //45rV4vbvwomgdKJjj/XPpv2ceSPFrIHzDSgLK3+R1Wt5fVPcBFmcjs3uis7aTQzkgt kGRHQs/CsbSOOMee/gSnPungVo+QlAaPXW9rJ1nV4aQrdcfEnPjEO5I5KaisoGeymxqL rbe5rObHIcOApfBUD1UkUBHby2p3hJw4TPnXVRiQolYKTVfcOnGO8E+giH8NQKotR+v0 EbYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691169456; x=1691774256; 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=2T7SZZ0QByC9mXWRPlKUQtKM6dHFG9MmvGQY+HbLzlI=; b=Qsvppv10lPtpG0ltJ1DUBiXWG8zuxc/PBIvLtl4WdSVkpZrKilRWnMXzf+DdFGozCO suXdhokY6q0ugO5uq7L1kRYKoqZTXFnwkM7uYhkG6VOH7uFCTTinVYS9XtU6QDf+ivFf Qv0HKyvJKQqi2jwfPkvQ/xfWEMdKvNA2cG+KhmFkRufYu20hihQXol4rABbMMO6Nkbb/ Jg0Mv2HBsIc65mO+eDOnwsG/cPpUqUUPjbORy7XnDvB9cUOk9vXzD4Adp2ugSyabc6xc kPauL2ZRTiKJloWa+hVWMa7vaqwDh3ADXhITkId2uJ6CjlGhEHBnQoVJReq7Ng5Dss01 eN8Q== X-Gm-Message-State: AOJu0YxsjEPlLF5lC+2EnXxraYb3f6COnjeqcSMLvWtzBBRaH31H91ci aharlRpdR+GBz3cPyO0tWqI3cH/fvzuwpwQZeDjr6A== X-Google-Smtp-Source: AGHT+IFIK7TPHCce2Qe4wF8yiMXNXYDY1TdJ/LxM9hHDEm980z2PUH32FJWyzAfwa5rUA9j0fY/RVeEM/1u2sys5awU= X-Received: by 2002:a50:a6cf:0:b0:523:13df:297b with SMTP id f15-20020a50a6cf000000b0052313df297bmr5477edc.1.1691169456301; Fri, 04 Aug 2023 10:17:36 -0700 (PDT) MIME-Version: 1.0 References: <20230727093637.1262110-1-usama.anjum@collabora.com> <20230727093637.1262110-3-usama.anjum@collabora.com> In-Reply-To: From: =?UTF-8?B?TWljaGHFgiBNaXJvc8WCYXc=?= Date: Fri, 4 Aug 2023 19:17:24 +0200 Message-ID: Subject: Re: [PATCH v26 2/5] fs/proc/task_mmu: Implement IOCTL to get and optionally clear info about PTEs To: Andrei Vagin Cc: Muhammad Usama Anjum , 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, =?UTF-8?B?TWljaGHFgiBNaXJvc8WCYXc=?= Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: EF684A000D X-Stat-Signature: jfikaso9ttye5j8kr3psenykj77815ba X-Rspam-User: X-HE-Tag: 1691169457-986305 X-HE-Meta: U2FsdGVkX19lcyl8YmNNGRbgdnxxYtj+ouENj61tqaTgmIN0HtTbKWPY0kHPgWal1jeOW3WxhOqXdLM+3lCi3TTwT6jd8v6GO2mcnRT6TFivsnz5OZN5so4b39ECrti1Q4ZNW06yXtRMevmlvjabWEf3LR1MnDryivL3ZfLZY7AbozR7EQJqKA2zhcgzyXfJ5NT82cwRnUVA3DcbaDIha7M+oPpWaraGZ5O95uvvAyowhxVMjYNRK2nmiDmA6a8EdU327ATYGCStEY1laiz2B/arm2O9ia0M+RPA3HIpdRnHiROMe83qZ+BGj0oEo4NrW5h9Is1Bfv6V0Lu9c7A6/HrhnERVHN1Mb0/IlBIW/Ez5ZIaT5gNRyFH4A49Nrc0MYiS7+O6BYcyRlE9gYEumRPOxcaoB422W+ScMpoyzSkqP4XiL0rR7Ax+nh/IUtOF00XJcNo0Yzihx0lCIP+fIXC/gyZ8a8K3A8ca90PQtft8Z594sIPq7+I9Bynt9WuPIT66DyADImwRGZU4IfW4Rg4QBpeDQSlol470/7mFEOaIPl0NAobBvHA8KlieGKFEbP/CMzb9HrV8opSYiHnkjvE1fS0UX0Fw4vo2nUVBbjlflxf5nuiORz0MmbuMV+Tl/riBFGRHcQHqXFjYrzT+d47B0gKi8trvHu6PAGKk3GJCMOVnwDarROqL6eOurv+lv+tQyEQ4PyrXbryKa4vOU4Mfrq4EMF9s8e9duPiiY++ro9I/eUvi63J+j+YTYzaqTmoex+I61zlfCVjg2NdbECpJfpSNatMDfcWBk3+/w4tVDz5ZbL3hqxoWm7F4WuzPqlR3PQJjH56xd0cze4u56KHH7vrH8NR3AzaNgxsvoooZP19Bq8Z5IjYfy110jJpfUswb2H7U+yyPlOu/P+igNJfyqjbdU69GeSxg0qDQeXafXvpLf0jkUWf4veApngcQbIvQl9NiDhfgHCeg8AyH GM+Qmoed wIakCFu9DlY4c7DYzyAollgcNG2o7qbOk7j39P8q4RweRl6lftj26+eH6Bs4GWBgjnd8H062RxJOWMwphpHdY0PH51JxtdRFuB1MVUwp/ES33ygLjpTRI+MW9/v+ZgTgd6kuaL60tiY9uRIpJDH+L2zNHrpUO91bWmWm4ln1trhcJbmNf0K31QUaMWy/6t4riyHIMYaWFzvLKgnUNQ5rSoCugqkyCdfNdbC7/VZb9t3JthNGZZa0tsoE1/a5yJrTKRuS8q2RXGKY+RlWM1Z2uZLQBwnpWWUHumtJKEvzNAlM7gLVNJBbsfbhHwFFMSqCNsxjb7H2JZFdfdTVcOpu5RWvigAk22JCPJqSMskBuFZVeUiKLHrmdEZopXiNfPqaZi6HO516otNA9RM3UVq+46F+iCQ== 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 Fri, 4 Aug 2023 at 17:59, Andrei Vagin wrote: > > On Thu, Aug 3, 2023 at 8:25=E2=80=AFAM Micha=C5=82 Miros=C5=82aw wrote: > > > > On Thu, 3 Aug 2023 at 17:09, Andrei Vagin wrote: > > > On Thu, Jul 27, 2023 at 02:36:34PM +0500, Muhammad Usama Anjum wrote: > > [...] > > > > + n_pages =3D (*end - addr) / PAGE_SIZE; > > > > + if (check_add_overflow(p->found_pages, n_pages, &total_pages)= || > > > > + total_pages > p->arg.max_pages) { > > > > > > why do we need to use check_add_overflow here? > > > > > > > + size_t n_too_much =3D total_pages - p->arg.max_pages; > > > > > > it is unsafe to use total_pages if check_add_overflow returns non-zer= o. > > > > Since we're adding unsigned integers, this is well defined even after o= verflow. > > The description of check_add_overflow declares that is unsafe: > https://elixir.bootlin.com/linux/latest/source/include/linux/overflow.h#L= 62 > > It actually doesn't matter, because it should be impossible to > overflow total_pages > and we can consider not to use check_add_overflow here. It seems the doc warning is quite new (d219d2a9a92e / Mon Aug 29 13:37:17 2022 -0700). The underlying __builtin_add_overflow() is well-defined for any integer type, though. Even staying with C99, arithmetic on unsigned integers is always defined as being done modulo 2^n. Best Regards Micha=C5=82 Miros=C5=82aw