lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CABb0KFH60U5RE9dLfCOEGp5=wLwwxpKaMdzQL8drYEmL3T_itw@mail.gmail.com>
Date:   Tue, 27 Jun 2023 21:54:25 +0200
From:   Michał Mirosław <emmir@...gle.com>
To:     Muhammad Usama Anjum <usama.anjum@...labora.com>
Cc:     Andrei Vagin <avagin@...il.com>, Peter Xu <peterx@...hat.com>,
        David Hildenbrand <david@...hat.com>,
        Andrew Morton <akpm@...ux-foundation.org>,
        Danylo Mocherniuk <mdanylo@...gle.com>,
        Paul Gofman <pgofman@...eweavers.com>,
        Cyrill Gorcunov <gorcunov@...il.com>,
        Mike Rapoport <rppt@...nel.org>, Nadav Amit <namit@...are.com>,
        Alexander Viro <viro@...iv.linux.org.uk>,
        Shuah Khan <shuah@...nel.org>,
        Christian Brauner <brauner@...nel.org>,
        Yang Shi <shy828301@...il.com>,
        Vlastimil Babka <vbabka@...e.cz>,
        "Liam R . Howlett" <Liam.Howlett@...cle.com>,
        Yun Zhou <yun.zhou@...driver.com>,
        Suren Baghdasaryan <surenb@...gle.com>,
        Alex Sierra <alex.sierra@....com>,
        Matthew Wilcox <willy@...radead.org>,
        Pasha Tatashin <pasha.tatashin@...een.com>,
        Axel Rasmussen <axelrasmussen@...gle.com>,
        "Gustavo A . R . Silva" <gustavoars@...nel.org>,
        Dan Williams <dan.j.williams@...el.com>,
        linux-kernel@...r.kernel.org, linux-fsdevel@...r.kernel.org,
        linux-mm@...ck.org, linux-kselftest@...r.kernel.org,
        Greg KH <gregkh@...uxfoundation.org>, kernel@...labora.com
Subject: Re: [PATCH v21 2/5] fs/proc/task_mmu: Implement IOCTL to get and
 optionally clear info about PTEs

On Tue, 27 Jun 2023 at 21:20, Muhammad Usama Anjum
<usama.anjum@...labora.com> wrote:
> Thanks Michał for replying.
>
> On 6/27/23 11:52 PM, Michał Mirosław wrote:
> > On Tue, 27 Jun 2023 at 11:00, Muhammad Usama Anjum
> > <usama.anjum@...labora.com> wrote:
> >>
> >> Hi Andrei and Michal,
> >>
> >> Lets resolve last two points. Please reply below.
> >>
> >> On 6/27/23 6:46 AM, Andrei Vagin wrote:
> > [...]
> >>> And we need to report an address where it stopped scanning.
> >>> We can do that by adding zero length vector.
> >> I don't want to do multiplexing the ending address in vec. Can we add
> >> end_addr variable in struct pm_scan_arg to always return the ending address?
> >>
> >> struct pm_scan_arg {
> >>         ...
> >>         _u64 end_addr;
> >> };
> >
> > The idea to emit a zero-length entry for the end looks nice. This has
> > the disadvantage that we'd need to either reserve one entry for the
> > ending marker or stop the walk after the last entry is no longer
> > matching.
> This is ambiguous.

Can you explain? Both solutions would allow to return the restart
point back to the caller (the second one would need to stop the walk
as soon as the matching page range finishes -- that creates
discontinuity).

> > Another solution would be to rewrite 'start' and 'len'. The caller
> > would be forced to use non-const `pm_scan_arg`, but I expect the `vec`
> > pointer would normally be written anyway (unless using only a
> > statically-allocated buffer).
> > Also, if the 'len' is replaced with 'end' that would make the ioctl
> > easily restartable (just call again if start != end).
> Nice idea. But returning ending address in len seems a bit strange.

I mean that it would update `start` = start value for next call' and
`len` = `len` - (new `start` - original `start`).

By replacing `len` I meant to remove the field and add `end` instead
to make the requested range use begin .. end (iterator range) style
instead of start + len (buffer and length). In this version you only
need to update `start` (or `begin` if you prefer).

Best Regards
Michał Mirosław

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ