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:   Sun, 29 Dec 2019 13:11:38 +0100
From:   Bartosz Golaszewski <bgolaszewski@...libre.com>
To:     Yangtao Li <tiny.windzz@...il.com>
Cc:     Jonathan Corbet <corbet@....net>,
        Greg KH <gregkh@...uxfoundation.org>,
        Arnd Bergmann <arnd@...db.de>, Stephen Boyd <sboyd@...nel.org>,
        Mauro Carvalho Chehab <mchehab+samsung@...nel.org>,
        Matti Vaittinen <matti.vaittinen@...rohmeurope.com>,
        Phil Edworthy <phil.edworthy@...esas.com>,
        suzuki.poulose@....com, saravanak@...gle.com,
        Heikki Krogerus <heikki.krogerus@...ux.intel.com>,
        dan.j.williams@...el.com, Joe Perches <joe@...ches.com>,
        Jeff Kirsher <jeffrey.t.kirsher@...el.com>, mans@...sr.com,
        Thomas Gleixner <tglx@...utronix.de>, hdegoede@...hat.com,
        Andrew Morton <akpm@...ux-foundation.org>,
        ulf.hansson@...aro.org, ztuowen@...il.com,
        Sergei Shtylyov <sergei.shtylyov@...entembedded.com>,
        linux-doc <linux-doc@...r.kernel.org>,
        LKML <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 1/2] lib: devres: provide devm_ioremap_resource_nocache()

niedz., 29 gru 2019 o 11:43 Yangtao Li <tiny.windzz@...il.com> napisaƂ(a):
>
> Provide a variant of devm_ioremap_resource() for nocache ioremap.
>
> Signed-off-by: Yangtao Li <tiny.windzz@...il.com>
> ---
>  Documentation/driver-api/driver-model/devres.rst |  1 +
>  include/linux/device.h                           |  2 ++
>  lib/devres.c                                     | 15 +++++++++++++++
>  3 files changed, 18 insertions(+)
>
> diff --git a/Documentation/driver-api/driver-model/devres.rst b/Documentation/driver-api/driver-model/devres.rst
> index 13046fcf0a5d..af1b1b9e3a17 100644
> --- a/Documentation/driver-api/driver-model/devres.rst
> +++ b/Documentation/driver-api/driver-model/devres.rst
> @@ -317,6 +317,7 @@ IOMAP
>    devm_ioremap_uc()
>    devm_ioremap_wc()
>    devm_ioremap_resource() : checks resource, requests memory region, ioremaps
> +  devm_ioremap_resource_nocache()
>    devm_ioremap_resource_wc()
>    devm_platform_ioremap_resource() : calls devm_ioremap_resource() for platform device
>    devm_platform_ioremap_resource_wc()
> diff --git a/include/linux/device.h b/include/linux/device.h
> index 96ff76731e93..3aa353aa52e2 100644
> --- a/include/linux/device.h
> +++ b/include/linux/device.h
> @@ -962,6 +962,8 @@ extern void devm_free_pages(struct device *dev, unsigned long addr);
>
>  void __iomem *devm_ioremap_resource(struct device *dev,
>                                     const struct resource *res);
> +void __iomem *devm_ioremap_resource_nocache(struct device *dev,
> +                                           const struct resource *res);
>  void __iomem *devm_ioremap_resource_wc(struct device *dev,
>                                        const struct resource *res);
>
> diff --git a/lib/devres.c b/lib/devres.c
> index f56070cf970b..a182f8479fbf 100644
> --- a/lib/devres.c
> +++ b/lib/devres.c
> @@ -188,6 +188,21 @@ void __iomem *devm_ioremap_resource(struct device *dev,
>  }
>  EXPORT_SYMBOL(devm_ioremap_resource);
>
> +/**
> + * devm_ioremap_resource_nocache() - nocache variant of
> + *                                   devm_ioremap_resource()
> + * @dev: generic device to handle the resource for
> + * @res: resource to be handled
> + *
> + * Returns a pointer to the remapped memory or an ERR_PTR() encoded error code
> + * on failure.
> + */
> +void __iomem *devm_ioremap_resource_nocache(struct device *dev,
> +                                           const struct resource *res)
> +{
> +       return __devm_ioremap_resource(dev, res, DEVM_IOREMAP_NC);
> +}
> +
>  /**
>   * devm_ioremap_resource_wc() - write-combined variant of
>   *                             devm_ioremap_resource()
> --
> 2.17.1
>

This has been discussed before. The nocache variants of ioremap() are
being phased out as they're only ever needed on one obscure
architecture IIRC. This is not needed, rather we should convert all
nocache calls to regular ioremap().

Bart

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ