summaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/cpu
diff options
context:
space:
mode:
authorJoerg Roedel <jroedel@suse.de>2017-08-14 17:19:26 +0200
committerJoerg Roedel <jroedel@suse.de>2017-08-15 13:58:48 +0200
commit2926a2aa5c14fb2add75e6584845b1c03022235f (patch)
treeb3137193fd966c32608ffd2adedfdcec1a2671ad /arch/x86/kernel/cpu
parenta7990c647b35415e3dd07a077480a908678947ba (diff)
downloadblackbird-obmc-linux-2926a2aa5c14fb2add75e6584845b1c03022235f.tar.gz
blackbird-obmc-linux-2926a2aa5c14fb2add75e6584845b1c03022235f.zip
iommu: Fix wrong freeing of iommu_device->dev
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 <sebott@linux.vnet.ibm.com> Fixes: 39ab9555c241 ('iommu: Add sysfs bindings for struct iommu_device') Cc: stable@vger.kernel.org # >= v4.11 Signed-off-by: Joerg Roedel <jroedel@suse.de>
Diffstat (limited to 'arch/x86/kernel/cpu')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud