[PATCH 2/3] drm/exynos: Don't use %pK through printk

Inki Dae daeinki at gmail.com
Fri Jun 27 02:02:59 UTC 2025


Hi,

2025년 6월 18일 (수) 오후 4:56, Thomas Weißschuh
<thomas.weissschuh at linutronix.de>님이 작성:
>
> In the past %pK was preferable to %p as it would not leak raw pointer
> values into the kernel log.
> Since commit ad67b74d2469 ("printk: hash addresses printed with %p")
> the regular %p has been improved to avoid this issue.
> Furthermore, restricted pointers ("%pK") were never meant to be used
> through printk(). They can still unintentionally leak raw pointers or
> acquire sleeping locks in atomic contexts.
>
> Switch to the regular pointer formatting which is safer and
> easier to reason about.

Applied.

Thanks,
Inki Dae

>
> Signed-off-by: Thomas Weißschuh <thomas.weissschuh at linutronix.de>
> ---
>  drivers/gpu/drm/exynos/exynos_drm_gem.c |  2 +-
>  drivers/gpu/drm/exynos/exynos_drm_ipp.c | 32 ++++++++++++++++----------------
>  2 files changed, 17 insertions(+), 17 deletions(-)
>
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_gem.c b/drivers/gpu/drm/exynos/exynos_drm_gem.c
> index 4787fee4696f8e6f9eecaacb1535765c246688c8..d44401a695e203bd36b3b6678fdeb3572a91bfda 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_gem.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_gem.c
> @@ -174,7 +174,7 @@ static struct exynos_drm_gem *exynos_drm_gem_init(struct drm_device *dev,
>                 return ERR_PTR(ret);
>         }
>
> -       DRM_DEV_DEBUG_KMS(dev->dev, "created file object = %pK\n", obj->filp);
> +       DRM_DEV_DEBUG_KMS(dev->dev, "created file object = %p\n", obj->filp);
>
>         return exynos_gem;
>  }
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_ipp.c b/drivers/gpu/drm/exynos/exynos_drm_ipp.c
> index ea9f66037600e1020da4b0a9c318ca2f2266a871..03c8490af4f45447d123a20777e5362ebd933b46 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_ipp.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_ipp.c
> @@ -271,7 +271,7 @@ static inline struct exynos_drm_ipp_task *
>         task->src.rect.h = task->dst.rect.h = UINT_MAX;
>         task->transform.rotation = DRM_MODE_ROTATE_0;
>
> -       DRM_DEV_DEBUG_DRIVER(task->dev, "Allocated task %pK\n", task);
> +       DRM_DEV_DEBUG_DRIVER(task->dev, "Allocated task %p\n", task);
>
>         return task;
>  }
> @@ -339,7 +339,7 @@ static int exynos_drm_ipp_task_set(struct exynos_drm_ipp_task *task,
>         }
>
>         DRM_DEV_DEBUG_DRIVER(task->dev,
> -                            "Got task %pK configuration from userspace\n",
> +                            "Got task %p configuration from userspace\n",
>                              task);
>         return 0;
>  }
> @@ -394,7 +394,7 @@ static void exynos_drm_ipp_task_release_buf(struct exynos_drm_ipp_buffer *buf)
>  static void exynos_drm_ipp_task_free(struct exynos_drm_ipp *ipp,
>                                  struct exynos_drm_ipp_task *task)
>  {
> -       DRM_DEV_DEBUG_DRIVER(task->dev, "Freeing task %pK\n", task);
> +       DRM_DEV_DEBUG_DRIVER(task->dev, "Freeing task %p\n", task);
>
>         exynos_drm_ipp_task_release_buf(&task->src);
>         exynos_drm_ipp_task_release_buf(&task->dst);
> @@ -559,7 +559,7 @@ static int exynos_drm_ipp_check_format(struct exynos_drm_ipp_task *task,
>                                             DRM_EXYNOS_IPP_FORMAT_DESTINATION);
>         if (!fmt) {
>                 DRM_DEV_DEBUG_DRIVER(task->dev,
> -                                    "Task %pK: %s format not supported\n",
> +                                    "Task %p: %s format not supported\n",
>                                      task, buf == src ? "src" : "dst");
>                 return -EINVAL;
>         }
> @@ -609,7 +609,7 @@ static int exynos_drm_ipp_task_check(struct exynos_drm_ipp_task *task)
>         bool rotate = (rotation != DRM_MODE_ROTATE_0);
>         bool scale = false;
>
> -       DRM_DEV_DEBUG_DRIVER(task->dev, "Checking task %pK\n", task);
> +       DRM_DEV_DEBUG_DRIVER(task->dev, "Checking task %p\n", task);
>
>         if (src->rect.w == UINT_MAX)
>                 src->rect.w = src->buf.width;
> @@ -625,7 +625,7 @@ static int exynos_drm_ipp_task_check(struct exynos_drm_ipp_task *task)
>             dst->rect.x + dst->rect.w > (dst->buf.width) ||
>             dst->rect.y + dst->rect.h > (dst->buf.height)) {
>                 DRM_DEV_DEBUG_DRIVER(task->dev,
> -                                    "Task %pK: defined area is outside provided buffers\n",
> +                                    "Task %p: defined area is outside provided buffers\n",
>                                      task);
>                 return -EINVAL;
>         }
> @@ -642,7 +642,7 @@ static int exynos_drm_ipp_task_check(struct exynos_drm_ipp_task *task)
>             (!(ipp->capabilities & DRM_EXYNOS_IPP_CAP_SCALE) && scale) ||
>             (!(ipp->capabilities & DRM_EXYNOS_IPP_CAP_CONVERT) &&
>              src->buf.fourcc != dst->buf.fourcc)) {
> -               DRM_DEV_DEBUG_DRIVER(task->dev, "Task %pK: hw capabilities exceeded\n",
> +               DRM_DEV_DEBUG_DRIVER(task->dev, "Task %p: hw capabilities exceeded\n",
>                                      task);
>                 return -EINVAL;
>         }
> @@ -655,7 +655,7 @@ static int exynos_drm_ipp_task_check(struct exynos_drm_ipp_task *task)
>         if (ret)
>                 return ret;
>
> -       DRM_DEV_DEBUG_DRIVER(ipp->dev, "Task %pK: all checks done.\n",
> +       DRM_DEV_DEBUG_DRIVER(ipp->dev, "Task %p: all checks done.\n",
>                              task);
>
>         return ret;
> @@ -667,25 +667,25 @@ static int exynos_drm_ipp_task_setup_buffers(struct exynos_drm_ipp_task *task,
>         struct exynos_drm_ipp_buffer *src = &task->src, *dst = &task->dst;
>         int ret = 0;
>
> -       DRM_DEV_DEBUG_DRIVER(task->dev, "Setting buffer for task %pK\n",
> +       DRM_DEV_DEBUG_DRIVER(task->dev, "Setting buffer for task %p\n",
>                              task);
>
>         ret = exynos_drm_ipp_task_setup_buffer(src, filp);
>         if (ret) {
>                 DRM_DEV_DEBUG_DRIVER(task->dev,
> -                                    "Task %pK: src buffer setup failed\n",
> +                                    "Task %p: src buffer setup failed\n",
>                                      task);
>                 return ret;
>         }
>         ret = exynos_drm_ipp_task_setup_buffer(dst, filp);
>         if (ret) {
>                 DRM_DEV_DEBUG_DRIVER(task->dev,
> -                                    "Task %pK: dst buffer setup failed\n",
> +                                    "Task %p: dst buffer setup failed\n",
>                                      task);
>                 return ret;
>         }
>
> -       DRM_DEV_DEBUG_DRIVER(task->dev, "Task %pK: buffers prepared.\n",
> +       DRM_DEV_DEBUG_DRIVER(task->dev, "Task %p: buffers prepared.\n",
>                              task);
>
>         return ret;
> @@ -764,7 +764,7 @@ void exynos_drm_ipp_task_done(struct exynos_drm_ipp_task *task, int ret)
>         struct exynos_drm_ipp *ipp = task->ipp;
>         unsigned long flags;
>
> -       DRM_DEV_DEBUG_DRIVER(task->dev, "ipp: %d, task %pK done: %d\n",
> +       DRM_DEV_DEBUG_DRIVER(task->dev, "ipp: %d, task %p done: %d\n",
>                              ipp->id, task, ret);
>
>         spin_lock_irqsave(&ipp->lock, flags);
> @@ -807,7 +807,7 @@ static void exynos_drm_ipp_next_task(struct exynos_drm_ipp *ipp)
>         spin_unlock_irqrestore(&ipp->lock, flags);
>
>         DRM_DEV_DEBUG_DRIVER(ipp->dev,
> -                            "ipp: %d, selected task %pK to run\n", ipp->id,
> +                            "ipp: %d, selected task %p to run\n", ipp->id,
>                              task);
>
>         ret = ipp->funcs->commit(ipp, task);
> @@ -917,14 +917,14 @@ int exynos_drm_ipp_commit_ioctl(struct drm_device *dev, void *data,
>          */
>         if (arg->flags & DRM_EXYNOS_IPP_FLAG_NONBLOCK) {
>                 DRM_DEV_DEBUG_DRIVER(ipp->dev,
> -                                    "ipp: %d, nonblocking processing task %pK\n",
> +                                    "ipp: %d, nonblocking processing task %p\n",
>                                      ipp->id, task);
>
>                 task->flags |= DRM_EXYNOS_IPP_TASK_ASYNC;
>                 exynos_drm_ipp_schedule_task(task->ipp, task);
>                 ret = 0;
>         } else {
> -               DRM_DEV_DEBUG_DRIVER(ipp->dev, "ipp: %d, processing task %pK\n",
> +               DRM_DEV_DEBUG_DRIVER(ipp->dev, "ipp: %d, processing task %p\n",
>                                      ipp->id, task);
>                 exynos_drm_ipp_schedule_task(ipp, task);
>                 ret = wait_event_interruptible(ipp->done_wq,
>
> --
> 2.49.0
>
>


More information about the dri-devel mailing list