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]
Date:   Wed, 19 May 2021 17:24:01 -0700
From:   Dan Williams <dan.j.williams@...el.com>
To:     "Weiny, Ira" <ira.weiny@...el.com>
Cc:     Ben Widawsky <ben.widawsky@...el.com>,
        Alison Schofield <alison.schofield@...el.com>,
        Vishal Verma <vishal.l.verma@...el.com>,
        Jonathan Cameron <Jonathan.Cameron@...wei.com>,
        linux-cxl@...r.kernel.org,
        Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 0/4] Map register blocks individually

On Thu, May 6, 2021 at 3:37 PM <ira.weiny@...el.com> wrote:
>
> From: Ira Weiny <ira.weiny@...el.com>
>
> User space will want to map some register blocks.

The motivation is not to allow userspace access. The motivation is a
bug fix for hardware implementations that mix component and device
registers into the same BAR and the fact that the driver stack has
independent mapping implementations for those 2 cases. It is a happy
side-effect that this also allows finer grained pci-mmap exclusion.

> Currently BARs are mapped in
> their entirety and pointers to the register blocks are created into those
> mappings.  This will prevent mappings from user space.
>
> This series has 3 clean up patches followed by a patch to mapping the register
> blocks individually.
>
> Unfortunately, the information for the register blocks is contained inside the
> BARs themselves.  Which means the BAR must be mapped, probed, and unmapped
> prior to the registers being mapped individually.
>
> The probe stage creates list of register maps which is then iterated to map
> the individual register blocks.
>
> Ira Weiny (4):
>   cxl/mem: Fully decode device capability header
>   cxl/mem: Reserve all device regions at once
>   cxl/mem: Introduce cxl_decode_register_block()
>   cxl/mem: Map registers based on capabilities
>
>  drivers/cxl/core.c |  84 ++++++++++++++++++++------
>  drivers/cxl/cxl.h  |  34 +++++++++--
>  drivers/cxl/pci.c  | 147 +++++++++++++++++++++++++++++++++++----------
>  3 files changed, 211 insertions(+), 54 deletions(-)
>
> --
> 2.28.0.rc0.12.gb6a658bd00c9
>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ