OSDN Git Service

iommu/fsl: Really fix init section(s) content
authorEmil Medve <Emilian.Medve@Freescale.com>
Wed, 25 Mar 2015 05:28:48 +0000 (00:28 -0500)
committerJoerg Roedel <jroedel@suse.de>
Tue, 18 Aug 2015 09:30:46 +0000 (11:30 +0200)
commit57fb907da89977640ef183556a621336c1348fa0
treec7d0eb1305ac72cca0f8c3d80d014b9027557e70
parentbc465aa9d045feb0e13b4a8f32cc33c1943f62d6
iommu/fsl: Really fix init section(s) content

'0f1fb99 iommu/fsl: Fix section mismatch' was intended to address the modpost
warning and the potential crash. Crash which is actually easy to trigger with a
'unbind' followed by a 'bind' sequence. The fix is wrong as
fsl_of_pamu_driver.driver gets added by bus_add_driver() to a couple of
klist(s) which become invalid/corrupted as soon as the init sections are freed.
Depending on when/how the init sections storage is reused various/random errors
and crashes will happen

'cd70d46 iommu/fsl: Various cleanups' contains annotations that go further down
the wrong path laid by '0f1fb99 iommu/fsl: Fix section mismatch'

Now remove all the incorrect annotations from the above mentioned patches (not
exactly a revert) and those previously existing in the code, This fixes the
modpost warning(s), the unbind/bind sequence crashes and the random
errors/crashes

Fixes: 0f1fb99b62ce ("iommu/fsl: Fix section mismatch")
Fixes: cd70d4659ff3 ("iommu/fsl: Various cleanups")
Signed-off-by: Emil Medve <Emilian.Medve@Freescale.com>
Acked-by: Varun Sethi <Varun.Sethi@freescale.com>
Cc: stable@vger.kernel.org
Tested-by: Madalin Bucur <Madalin.Bucur@freescale.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/fsl_pamu.c