[Intel-xe] [PATCH v2 3/7] drm/xe: Use symbol namespace for kunit tests

Mauro Carvalho Chehab mauro.chehab at linux.intel.com
Mon Apr 3 17:00:14 UTC 2023


On 4/1/23 10:51, Lucas De Marchi wrote:
> Instead of simply using EXPORT_SYMBOL() to export the functions needed
> in xe.ko to be be called across modules, use EXPORT_SYMBOL_IF_KUNIT()
> which will export the symbol under the EXPORTED_FOR_KUNIT_TESTING
> namespace.
>
> This avoids accidentally "leaking" these functions and letting them be
> called from outside the kunit tests. If these functiosn are accidentally
> called from another module, they receive a modpost error like below:
>
> 	ERROR: modpost: module XXXXXXX uses symbol
> 	xe_ccs_migrate_kunit from namespace EXPORTED_FOR_KUNIT_TESTING,
> 	but does not import it.
>
> Signed-off-by: Lucas De Marchi <lucas.demarchi at intel.com>

LGTM.
Reviewed-by:  Mauro Carvalho Chehab <mchehab at kernel.org>

> ---
>   drivers/gpu/drm/xe/tests/xe_bo.c           | 5 +++--
>   drivers/gpu/drm/xe/tests/xe_bo_test.c      | 1 +
>   drivers/gpu/drm/xe/tests/xe_dma_buf.c      | 3 ++-
>   drivers/gpu/drm/xe/tests/xe_dma_buf_test.c | 1 +
>   drivers/gpu/drm/xe/tests/xe_migrate.c      | 3 ++-
>   drivers/gpu/drm/xe/tests/xe_migrate_test.c | 1 +
>   6 files changed, 10 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/tests/xe_bo.c b/drivers/gpu/drm/xe/tests/xe_bo.c
> index aa433a7b59b7..9bd381e5b7a6 100644
> --- a/drivers/gpu/drm/xe/tests/xe_bo.c
> +++ b/drivers/gpu/drm/xe/tests/xe_bo.c
> @@ -4,6 +4,7 @@
>    */
>   
>   #include <kunit/test.h>
> +#include <kunit/visibility.h>
>   
>   #include "tests/xe_bo_test.h"
>   #include "tests/xe_pci_test.h"
> @@ -166,7 +167,7 @@ void xe_ccs_migrate_kunit(struct kunit *test)
>   {
>   	xe_call_for_each_device(ccs_test_run_device);
>   }
> -EXPORT_SYMBOL(xe_ccs_migrate_kunit);
> +EXPORT_SYMBOL_IF_KUNIT(xe_ccs_migrate_kunit);
>   
>   static int evict_test_run_gt(struct xe_device *xe, struct xe_gt *gt, struct kunit *test)
>   {
> @@ -304,4 +305,4 @@ void xe_bo_evict_kunit(struct kunit *test)
>   {
>   	xe_call_for_each_device(evict_test_run_device);
>   }
> -EXPORT_SYMBOL(xe_bo_evict_kunit);
> +EXPORT_SYMBOL_IF_KUNIT(xe_bo_evict_kunit);
> diff --git a/drivers/gpu/drm/xe/tests/xe_bo_test.c b/drivers/gpu/drm/xe/tests/xe_bo_test.c
> index 92dda4fca21b..1c868e3635bc 100644
> --- a/drivers/gpu/drm/xe/tests/xe_bo_test.c
> +++ b/drivers/gpu/drm/xe/tests/xe_bo_test.c
> @@ -22,3 +22,4 @@ kunit_test_suite(xe_bo_test_suite);
>   
>   MODULE_AUTHOR("Intel Corporation");
>   MODULE_LICENSE("GPL");
> +MODULE_IMPORT_NS(EXPORTED_FOR_KUNIT_TESTING);
> diff --git a/drivers/gpu/drm/xe/tests/xe_dma_buf.c b/drivers/gpu/drm/xe/tests/xe_dma_buf.c
> index cf9dddf1a8d7..513a3b3362e9 100644
> --- a/drivers/gpu/drm/xe/tests/xe_dma_buf.c
> +++ b/drivers/gpu/drm/xe/tests/xe_dma_buf.c
> @@ -4,6 +4,7 @@
>    */
>   
>   #include <kunit/test.h>
> +#include <kunit/visibility.h>
>   
>   #include "tests/xe_dma_buf_test.h"
>   #include "tests/xe_pci_test.h"
> @@ -259,4 +260,4 @@ void xe_dma_buf_kunit(struct kunit *test)
>   {
>   	xe_call_for_each_device(dma_buf_run_device);
>   }
> -EXPORT_SYMBOL(xe_dma_buf_kunit);
> +EXPORT_SYMBOL_IF_KUNIT(xe_dma_buf_kunit);
> diff --git a/drivers/gpu/drm/xe/tests/xe_dma_buf_test.c b/drivers/gpu/drm/xe/tests/xe_dma_buf_test.c
> index a1adfd1e1605..35312bfd5fb7 100644
> --- a/drivers/gpu/drm/xe/tests/xe_dma_buf_test.c
> +++ b/drivers/gpu/drm/xe/tests/xe_dma_buf_test.c
> @@ -21,3 +21,4 @@ kunit_test_suite(xe_dma_buf_test_suite);
>   
>   MODULE_AUTHOR("Intel Corporation");
>   MODULE_LICENSE("GPL");
> +MODULE_IMPORT_NS(EXPORTED_FOR_KUNIT_TESTING);
> diff --git a/drivers/gpu/drm/xe/tests/xe_migrate.c b/drivers/gpu/drm/xe/tests/xe_migrate.c
> index d410305c9b59..95985c9c9392 100644
> --- a/drivers/gpu/drm/xe/tests/xe_migrate.c
> +++ b/drivers/gpu/drm/xe/tests/xe_migrate.c
> @@ -4,6 +4,7 @@
>    */
>   
>   #include <kunit/test.h>
> +#include <kunit/visibility.h>
>   
>   #include "tests/xe_migrate_test.h"
>   #include "tests/xe_pci_test.h"
> @@ -407,4 +408,4 @@ void xe_migrate_sanity_kunit(struct kunit *test)
>   {
>   	xe_call_for_each_device(migrate_test_run_device);
>   }
> -EXPORT_SYMBOL(xe_migrate_sanity_kunit);
> +EXPORT_SYMBOL_IF_KUNIT(xe_migrate_sanity_kunit);
> diff --git a/drivers/gpu/drm/xe/tests/xe_migrate_test.c b/drivers/gpu/drm/xe/tests/xe_migrate_test.c
> index d6be360c3b6d..39179eae890b 100644
> --- a/drivers/gpu/drm/xe/tests/xe_migrate_test.c
> +++ b/drivers/gpu/drm/xe/tests/xe_migrate_test.c
> @@ -21,3 +21,4 @@ kunit_test_suite(xe_migrate_test_suite);
>   
>   MODULE_AUTHOR("Intel Corporation");
>   MODULE_LICENSE("GPL");
> +MODULE_IMPORT_NS(EXPORTED_FOR_KUNIT_TESTING);


More information about the Intel-xe mailing list