Thank you for your contribution! Sashiko AI review found 1 potential issue(s) 
to consider:
- [Low] The format specifier `%ld` is incorrectly used for an `unsigned long` 
value.
--

commit 18f63f8d431959e86df8128bf9d2756c13aca8e3
Author: Jonathan Cavitt <[email protected]>

drm/xe/pagefault: Add SRCID to pagefault struct

This commit adds SRCID information to the pagefault struct to report the
hardware unit that resulted in the pagefault. It squashes the SRCID with the
ASID to keep the struct compact.

> diff --git a/drivers/gpu/drm/xe/xe_pagefault.c 
> b/drivers/gpu/drm/xe/xe_pagefault.c
> index dd3c068e1a399..2a21203b1a2a0 100644
> --- a/drivers/gpu/drm/xe/xe_pagefault.c
> +++ b/drivers/gpu/drm/xe/xe_pagefault.c
[ ... ]
> @@ -242,14 +243,16 @@ static bool xe_pagefault_queue_pop(struct 
> xe_pagefault_queue *pf_queue,
>  
>  static void xe_pagefault_print(struct xe_pagefault *pf)
>  {
> -     xe_gt_info(pf->gt, "\n\tASID: %d\n"
> +     xe_gt_info(pf->gt, "\n\tASID: %ld\n"

[Severity: Low]
Should this format specifier be %lu instead of %ld?

In xe_pagefault_print(), the ASID value is now extracted using
FIELD_GET(XE_PAGEFAULT_ASID_MASK, pf->consumer.id). Because 
XE_PAGEFAULT_ASID_MASK is constructed using GENMASK(), the FIELD_GET() macro
evaluates to an unsigned long. 

Passing an unsigned long to %ld causes a format string type mismatch. While
the 24-bit positive ASID value will format without memory corruption at 
runtime, %lu is the correct format specifier for unsigned long values.

>                  "\tFaulted Address: 0x%08x%08x\n"
>                  "\tFaultType: %lu\n"
>                  "\tAccessType: %lu\n"
[ ... ]

-- 
Sashiko AI review ยท 
https://sashiko.dev/#/patchset/[email protected]?part=1

Reply via email to