Patch "coresight: etm4x: Remove bogous __exit annotation for some functions" has been added to the 5.15-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    coresight: etm4x: Remove bogous __exit annotation for some functions

to the 5.15-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     coresight-etm4x-remove-bogous-__exit-annotation-for-.patch
and it can be found in the queue-5.15 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit e4ba6ce7761d7d20e162fb8670875e3311dc9186
Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
Date:   Fri Sep 29 10:16:37 2023 +0200

    coresight: etm4x: Remove bogous __exit annotation for some functions
    
    [ Upstream commit 348ddab81f7b0983d9fb158df910254f08d3f887 ]
    
    etm4_platform_driver (which lives in ".data" contains a reference to
    etm4_remove_platform_dev(). So the latter must not be marked with __exit
    which results in the function being discarded for a build with
    CONFIG_CORESIGHT_SOURCE_ETM4X=y which in turn makes the remove pointer
    contain invalid data.
    
    etm4x_amba_driver referencing etm4_remove_amba() has the same issue.
    
    Drop the __exit annotations for the two affected functions and a third
    one that is called by the other two.
    
    For reasons I don't understand this isn't catched by building with
    CONFIG_DEBUG_SECTION_MISMATCH=y.
    
    Fixes: c23bc382ef0e ("coresight: etm4x: Refactor probing routine")
    Fixes: 5214b563588e ("coresight: etm4x: Add support for sysreg only devices")
    Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
    Reviewed-by: James Clark <james.clark@xxxxxxx>
    Link: https://lore.kernel.org/all/20230929081540.yija47lsj35xtj4v@xxxxxxxxxxxxxx/
    Link: https://lore.kernel.org/r/20230929081637.2377335-1-u.kleine-koenig@xxxxxxxxxxxxxx
    Signed-off-by: Suzuki K Poulose <suzuki.poulose@xxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/hwtracing/coresight/coresight-etm4x-core.c b/drivers/hwtracing/coresight/coresight-etm4x-core.c
index e2cccd6ea1f1d..26d0d4485ae99 100644
--- a/drivers/hwtracing/coresight/coresight-etm4x-core.c
+++ b/drivers/hwtracing/coresight/coresight-etm4x-core.c
@@ -2041,7 +2041,7 @@ static void clear_etmdrvdata(void *info)
 	etmdrvdata[cpu] = NULL;
 }
 
-static void __exit etm4_remove_dev(struct etmv4_drvdata *drvdata)
+static void etm4_remove_dev(struct etmv4_drvdata *drvdata)
 {
 	etm_perf_symlink(drvdata->csdev, false);
 	/*
@@ -2064,7 +2064,7 @@ static void __exit etm4_remove_dev(struct etmv4_drvdata *drvdata)
 	coresight_unregister(drvdata->csdev);
 }
 
-static void __exit etm4_remove_amba(struct amba_device *adev)
+static void etm4_remove_amba(struct amba_device *adev)
 {
 	struct etmv4_drvdata *drvdata = dev_get_drvdata(&adev->dev);
 
@@ -2072,7 +2072,7 @@ static void __exit etm4_remove_amba(struct amba_device *adev)
 		etm4_remove_dev(drvdata);
 }
 
-static int __exit etm4_remove_platform_dev(struct platform_device *pdev)
+static int etm4_remove_platform_dev(struct platform_device *pdev)
 {
 	struct etmv4_drvdata *drvdata = dev_get_drvdata(&pdev->dev);
 




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux