mbox series

[v4,0/2] Fix lockdep issues seen in CoreSight configfs interface

Message ID 20220622101621.4312-1-mike.leach@linaro.org (mailing list archive)
Headers show
Series Fix lockdep issues seen in CoreSight configfs interface | expand

Message

Mike Leach June 22, 2022, 10:16 a.m. UTC
Issues with lockdep possible deadlock scenarios have been reported when using the
coresight configfs interface handling complex configuration, when unloading modules.

These are due to holding the main configuration mutex during configfs register, but
taking it later when accessing configfs files.

The patches improve the clean up of configurations and update load and unload of
configurations and initialisation of configfs to fix the locking mechanisms.

Applies to coresight/next (5.19-rc2)
Tested on DB410c (with patch [0] also applied to fix separate console boot issue). 

Fixes: eb2ec49606c2 ("coresight: syscfg: Update load API for config loadable modules")
Reported-by: Suzuki Poulose <suzuki.poulose@arm.com>
Signed-off-by: Mike Leach <mike.leach@linaro.org>

[0] https://lkml.kernel.org/r/20220614124618.2830569-1-suzuki.poulose@arm.com

Changes since v3:
Addressed minor issues raised by Suzuki.

Changes since v2:
Added additional work to fix load and unload ops after issue recurred
due to file access.

Mike Leach (2):
  coresight: configfs: Fix unload of configurations on module exit
  coresight: syscfg: Update load and unload operations

 .../hwtracing/coresight/coresight-config.h    |   2 +
 .../hwtracing/coresight/coresight-syscfg.c    | 299 +++++++++++++++---
 .../hwtracing/coresight/coresight-syscfg.h    |  13 +
 3 files changed, 262 insertions(+), 52 deletions(-)

Comments

Suzuki K Poulose June 23, 2022, 9:35 a.m. UTC | #1
Hi Mike

Thanks for the rework. It looks good to me.

On 22/06/2022 11:16, Mike Leach wrote:
> Issues with lockdep possible deadlock scenarios have been reported when using the
> coresight configfs interface handling complex configuration, when unloading modules.
> 
> These are due to holding the main configuration mutex during configfs register, but
> taking it later when accessing configfs files.
> 
> The patches improve the clean up of configurations and update load and unload of
> configurations and initialisation of configfs to fix the locking mechanisms.
> 
> Applies to coresight/next (5.19-rc2)
> Tested on DB410c (with patch [0] also applied to fix separate console boot issue).
> 
> Fixes: eb2ec49606c2 ("coresight: syscfg: Update load API for config loadable modules")
> Reported-by: Suzuki Poulose <suzuki.poulose@arm.com>
> Signed-off-by: Mike Leach <mike.leach@linaro.org>

Reviewed-and-Tested-by: Suzuki K Poulose <suzuki.poulose@arm.com>