26 Nov, 2019

2 commits


26 Oct, 2019

1 commit


19 Jun, 2019

1 commit

  • Based on 2 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license version 2 as
    published by the free software foundation

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license version 2 as
    published by the free software foundation #

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 4122 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Enrico Weigelt
    Reviewed-by: Kate Stewart
    Reviewed-by: Allison Randal
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190604081206.933168790@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

17 Dec, 2018

1 commit


03 Dec, 2018

1 commit

  • Historically a lot of these existed because we did not have
    a distinction between what was modular code and what was providing
    support to modules via EXPORT_SYMBOL and friends. That changed
    when we forked out support for the latter into the export.h file.
    This means we should be able to reduce the usage of module.h
    in code that is obj-y Makefile or bool Kconfig.

    The advantage in removing such instances is that module.h itself
    sources about 15 other headers; adding significantly to what we feed
    cpp, and it can obscure what headers we are effectively using.

    Since module.h might have been the implicit source for init.h
    (for __init) and for export.h (for EXPORT_SYMBOL) we consider each
    instance for the presence of either and replace as needed.

    Cc: Joerg Roedel
    Cc: iommu@lists.linux-foundation.org
    Signed-off-by: Paul Gortmaker
    Signed-off-by: Joerg Roedel

    Paul Gortmaker
     

15 Aug, 2017

1 commit

  • The struct iommu_device has a 'struct device' embedded into
    it, not as a pointer, but the whole struct. In the
    conversion of the iommu drivers to use struct iommu_device
    it was forgotten that the relase function for that struct
    device simply calls kfree() on the pointer.

    This frees memory that was never allocated and causes memory
    corruption.

    To fix this issue, use a pointer to struct device instead of
    embedding the whole struct. This needs some updates in the
    iommu sysfs code as well as the Intel VT-d and AMD IOMMU
    driver.

    Reported-by: Sebastian Ott
    Fixes: 39ab9555c241 ('iommu: Add sysfs bindings for struct iommu_device')
    Cc: stable@vger.kernel.org # >= v4.11
    Signed-off-by: Joerg Roedel

    Joerg Roedel
     

10 Feb, 2017

2 commits


07 Jul, 2014

1 commit


04 Jul, 2014

1 commit

  • IOMMUs currently have no common representation to userspace, most
    seem to have no representation at all aside from a few printks
    on bootup. There are however features of IOMMUs that are useful
    to know about. For instance the IOMMU might support superpages,
    making use of processor large/huge pages more important in a device
    assignment scenario. It's also useful to create cross links between
    devices and IOMMU hardware units, so that users might be able to
    load balance their devices to avoid thrashing a single hardware unit.

    This patch adds a device create and destroy interface as well as
    device linking, making it very lightweight for an IOMMU driver to add
    basic support. IOMMU drivers can provide additional attributes
    automatically by using an attribute_group.

    The attributes exposed are expected to be relatively device specific,
    the means to retrieve them certainly are, so there are currently no
    common attributes for the new class created here.

    Signed-off-by: Alex Williamson
    Signed-off-by: Joerg Roedel

    Alex Williamson