[PATCH] drm/ttm: handle undefined printf arg evaluation order in debugfs
Christian König
christian.koenig at amd.com
Wed Jun 4 08:58:44 UTC 2025
On 6/4/25 00:09, Dave Airlie wrote:
> From: Dave Airlie <airlied at redhat.com>
>
> When you read this debugfs file it's isn't guaranteed the count
> will happen before the scan, but I think the intent is that it does.
>
> printf argument evaluation order is undefined.
>
> Cc: Christian Koenig <christian.koenig at amd.com>
> Signed-off-by: Dave Airlie <airlied at redhat.com>
Reviewed-by: Christian König <christian.koenig at amd.com>
> ---
> drivers/gpu/drm/ttm/ttm_pool.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/ttm/ttm_pool.c b/drivers/gpu/drm/ttm/ttm_pool.c
> index 4b16946d3248..14f5aee69ee5 100644
> --- a/drivers/gpu/drm/ttm/ttm_pool.c
> +++ b/drivers/gpu/drm/ttm/ttm_pool.c
> @@ -1280,9 +1280,11 @@ static int ttm_pool_debugfs_shrink_show(struct seq_file *m, void *data)
> .gfp_mask = GFP_NOFS,
> .nr_to_scan = TTM_SHRINKER_BATCH,
> };
> + unsigned long count;
>
> fs_reclaim_acquire(GFP_KERNEL);
> - seq_printf(m, "%lu/%lu\n", ttm_pool_shrinker_count(mm_shrinker, &sc),
> + count = ttm_pool_shrinker_count(mm_shrinker, &sc),
> + seq_printf(m, "%lu/%lu\n", count,
> ttm_pool_shrinker_scan(mm_shrinker, &sc));
> fs_reclaim_release(GFP_KERNEL);
>
More information about the dri-devel
mailing list