• Suzuki K Poulose's avatar
    coresight: cti: Initialize dynamic sysfs attributes · 80624263
    Suzuki K Poulose authored
    With LOCKDEP enabled, CTI driver triggers the following splat due
    to uninitialized lock class for dynamically allocated attribute
    objects.
    
    [    5.372901] coresight etm0: CPU0: ETM v4.0 initialized
    [    5.376694] coresight etm1: CPU1: ETM v4.0 initialized
    [    5.380785] coresight etm2: CPU2: ETM v4.0 initialized
    [    5.385851] coresight etm3: CPU3: ETM v4.0 initialized
    [    5.389808] BUG: key ffff00000564a798 has not been registered!
    [    5.392456] ------------[ cut here ]------------
    [    5.398195] DEBUG_LOCKS_WARN_ON(1)
    [    5.398233] WARNING: CPU: 1 PID: 32 at kernel/locking/lockdep.c:4623 lockdep_init_map_waits+0x14c/0x260
    [    5.406149] Modules linked in:
    [    5.415411] CPU: 1 PID: 32 Comm: kworker/1:1 Not tainted 5.9.0-12034-gbbe85027 #51
    [    5.418553] Hardware name: Qualcomm Technologies, Inc. APQ 8016 SBC (DT)
    [    5.426453] Workqueue: events amba_deferred_retry_func
    [    5.433299] pstate: 40000005 (nZcv daif -PAN -UAO -TCO BTYPE=--)
    [    5.438252] pc : lockdep_init_map_waits+0x14c/0x260
    [    5.444410] lr : lockdep_init_map_waits+0x14c/0x260
    [    5.449007] sp : ffff800012bbb720
    ...
    
    [    5.531561] Call trace:
    [    5.536847]  lockdep_init_map_waits+0x14c/0x260
    [    5.539027]  __kernfs_create_file+0xa8/0x1c8
    [    5.543539]  sysfs_add_file_mode_ns+0xd0/0x208
    [    5.548054]  internal_create_group+0x118/0x3c8
    [    5.552307]  internal_create_groups+0x58/0xb8
    [    5.556733]  sysfs_create_groups+0x2c/0x38
    [    5.561160]  device_add+0x2d8/0x768
    [    5.565148]  device_register+0x28/0x38
    [    5.568537]  coresight_register+0xf8/0x320
    [    5.572358]  cti_probe+0x1b0/0x3f0
    
    ...
    
    Fix this by initializing the attributes when they are allocated.
    
    Fixes: 3c5597e3 ("coresight: cti: Add connection information to sysfs")
    Reported-by: default avatarLeo Yan <leo.yan@linaro.org>
    Tested-by: default avatarLeo Yan <leo.yan@linaro.org>
    Cc: Mike Leach <mike.leach@linaro.org>
    Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
    Signed-off-by: default avatarSuzuki K Poulose <suzuki.poulose@arm.com>
    Cc: stable <stable@vger.kernel.org>
    Signed-off-by: default avatarMathieu Poirier <mathieu.poirier@linaro.org>
    Link: https://lore.kernel.org/r/20201029164559.1268531-2-mathieu.poirier@linaro.orgSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    80624263
coresight-cti-sysfs.c 32.5 KB