Re: [PATCH 3/6] drm/amdgpu: prefer snprintf over sprintf

2024-01-31 Thread Jani Nikula
On Fri, 12 Jan 2024, Alex Deucher  wrote:
> On Wed, Jan 10, 2024 at 12:39 PM Jani Nikula  wrote:
>>
>> This will trade the W=1 warning -Wformat-overflow to
>> -Wformat-truncation. This lets us enable -Wformat-overflow subsystem
>> wide.
>>
>> Cc: Alex Deucher 
>> Cc: Christian König 
>> Cc: Pan, Xinhui 
>> Cc: amd-...@lists.freedesktop.org
>> Signed-off-by: Jani Nikula 
>
> Acked-by: Alex Deucher 
>
> Feel free to take this via whichever tree makes sense.

Thanks, pushed this one patch to drm-misc-next as prep work.

BR,
Jani.

>
> Alex
>
>> ---
>>  drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c | 3 ++-
>>  1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c 
>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c
>> index b9674c57c436..82b4b2019fca 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c
>> @@ -329,7 +329,8 @@ int amdgpu_gfx_kiq_init_ring(struct amdgpu_device *adev,
>>
>> ring->eop_gpu_addr = kiq->eop_gpu_addr;
>> ring->no_scheduler = true;
>> -   sprintf(ring->name, "kiq_%d.%d.%d.%d", xcc_id, ring->me, ring->pipe, 
>> ring->queue);
>> +   snprintf(ring->name, sizeof(ring->name), "kiq_%d.%d.%d.%d",
>> +xcc_id, ring->me, ring->pipe, ring->queue);
>> r = amdgpu_ring_init(adev, ring, 1024, irq, 
>> AMDGPU_CP_KIQ_IRQ_DRIVER0,
>>  AMDGPU_RING_PRIO_DEFAULT, NULL);
>> if (r)
>> --
>> 2.39.2
>>

-- 
Jani Nikula, Intel


Re: [PATCH 3/6] drm/amdgpu: prefer snprintf over sprintf

2024-01-12 Thread Alex Deucher
On Wed, Jan 10, 2024 at 12:39 PM Jani Nikula  wrote:
>
> This will trade the W=1 warning -Wformat-overflow to
> -Wformat-truncation. This lets us enable -Wformat-overflow subsystem
> wide.
>
> Cc: Alex Deucher 
> Cc: Christian König 
> Cc: Pan, Xinhui 
> Cc: amd-...@lists.freedesktop.org
> Signed-off-by: Jani Nikula 

Acked-by: Alex Deucher 

Feel free to take this via whichever tree makes sense.

Alex

> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c 
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c
> index b9674c57c436..82b4b2019fca 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c
> @@ -329,7 +329,8 @@ int amdgpu_gfx_kiq_init_ring(struct amdgpu_device *adev,
>
> ring->eop_gpu_addr = kiq->eop_gpu_addr;
> ring->no_scheduler = true;
> -   sprintf(ring->name, "kiq_%d.%d.%d.%d", xcc_id, ring->me, ring->pipe, 
> ring->queue);
> +   snprintf(ring->name, sizeof(ring->name), "kiq_%d.%d.%d.%d",
> +xcc_id, ring->me, ring->pipe, ring->queue);
> r = amdgpu_ring_init(adev, ring, 1024, irq, AMDGPU_CP_KIQ_IRQ_DRIVER0,
>  AMDGPU_RING_PRIO_DEFAULT, NULL);
> if (r)
> --
> 2.39.2
>


Re: [PATCH 3/6] drm/amdgpu: prefer snprintf over sprintf

2024-01-12 Thread Jani Nikula
On Fri, 12 Jan 2024, kernel test robot  wrote:
> Hi Jani,
>
> kernel test robot noticed the following build warnings:
>
> [auto build test WARNING on drm-misc/drm-misc-next]
> [also build test WARNING on drm-intel/for-linux-next 
> drm-intel/for-linux-next-fixes drm-tip/drm-tip linus/master v6.7 
> next-20240111]
> [If your patch is applied to the wrong git tree, kindly drop us a note.
> And when submitting patch, we suggest to use '--base' as documented in
> https://git-scm.com/docs/git-format-patch#_base_tree_information]
>
> url:
> https://github.com/intel-lab-lkp/linux/commits/Jani-Nikula/drm-nouveau-acr-ga102-remove-unused-but-set-variable/20240111-014206
> base:   git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
> patch link:
> https://lore.kernel.org/r/fea7a52924f98b1ac24f4a7e6ba21d7754422430.1704908087.git.jani.nikula%40intel.com
> patch subject: [PATCH 3/6] drm/amdgpu: prefer snprintf over sprintf
> config: sparc64-allmodconfig 
> (https://download.01.org/0day-ci/archive/20240112/202401121126.i9vgrvmb-...@intel.com/config)
> compiler: sparc64-linux-gcc (GCC) 13.2.0
> reproduce (this is a W=1 build): 
> (https://download.01.org/0day-ci/archive/20240112/202401121126.i9vgrvmb-...@intel.com/reproduce)
>
> If you fix the issue in a separate patch/commit (i.e. not just a new version 
> of
> the same patch/commit), kindly add following tags
> | Reported-by: kernel test robot 
> | Closes: 
> https://lore.kernel.org/oe-kbuild-all/202401121126.i9vgrvmb-...@intel.com/
>
> All warnings (new ones prefixed by >>):
>
>drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c: In function 
> 'amdgpu_gfx_kiq_init_ring':
>>> drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c:332:61: warning: '%d' directive 
>>> output may be truncated writing between 1 and 10 bytes into a region of 
>>> size between 0 and 8 [-Wformat-truncation=]
>  332 | snprintf(ring->name, sizeof(ring->name), "kiq_%d.%d.%d.%d",
>  | ^~
>drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c:332:50: note: directive argument 
> in the range [0, 2147483647]
>  332 | snprintf(ring->name, sizeof(ring->name), "kiq_%d.%d.%d.%d",
>  |  ^
>drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c:332:9: note: 'snprintf' output 
> between 12 and 41 bytes into a destination of size 16
>  332 | snprintf(ring->name, sizeof(ring->name), "kiq_%d.%d.%d.%d",
>  | ^~~
>  333 |  xcc_id, ring->me, ring->pipe, ring->queue);
>  |  ~~

As the commit message says,

This will trade the W=1 warning -Wformat-overflow to
-Wformat-truncation. This lets us enable -Wformat-overflow subsystem
wide.


BR,
Jani.

>
>
> vim +332 drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c
>
>306
>307int amdgpu_gfx_kiq_init_ring(struct amdgpu_device *adev,
>308 struct amdgpu_ring *ring,
>309 struct amdgpu_irq_src *irq, int 
> xcc_id)
>310{
>311struct amdgpu_kiq *kiq = >gfx.kiq[xcc_id];
>312int r = 0;
>313
>314spin_lock_init(>ring_lock);
>315
>316ring->adev = NULL;
>317ring->ring_obj = NULL;
>318ring->use_doorbell = true;
>319ring->xcc_id = xcc_id;
>320ring->vm_hub = AMDGPU_GFXHUB(xcc_id);
>321ring->doorbell_index =
>322(adev->doorbell_index.kiq +
>323 xcc_id * 
> adev->doorbell_index.xcc_doorbell_range)
>324<< 1;
>325
>326r = amdgpu_gfx_kiq_acquire(adev, ring, xcc_id);
>327if (r)
>328return r;
>329
>330ring->eop_gpu_addr = kiq->eop_gpu_addr;
>331ring->no_scheduler = true;
>  > 332snprintf(ring->name, sizeof(ring->name), 
> "kiq_%d.%d.%d.%d",
>333 xcc_id, ring->me, ring->pipe, ring->queue);
>334r = amdgpu_ring_init(adev, ring, 1024, irq, 
> AMDGPU_CP_KIQ_IRQ_DRIVER0,
>335 AMDGPU_RING_PRIO_DEFAULT, NULL);
>336if (r)
>337dev_warn(adev->dev, "(%d) failed to init kiq 
> ring\n", r);
>338
>339return r;
>340}
>341

-- 
Jani Nikula, Intel


Re: [PATCH 3/6] drm/amdgpu: prefer snprintf over sprintf

2024-01-11 Thread kernel test robot
Hi Jani,

kernel test robot noticed the following build warnings:

[auto build test WARNING on drm-misc/drm-misc-next]
[also build test WARNING on drm-intel/for-linux-next 
drm-intel/for-linux-next-fixes drm-tip/drm-tip linus/master v6.7 next-20240111]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:
https://github.com/intel-lab-lkp/linux/commits/Jani-Nikula/drm-nouveau-acr-ga102-remove-unused-but-set-variable/20240111-014206
base:   git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
patch link:
https://lore.kernel.org/r/fea7a52924f98b1ac24f4a7e6ba21d7754422430.1704908087.git.jani.nikula%40intel.com
patch subject: [PATCH 3/6] drm/amdgpu: prefer snprintf over sprintf
config: sparc64-allmodconfig 
(https://download.01.org/0day-ci/archive/20240112/202401121126.i9vgrvmb-...@intel.com/config)
compiler: sparc64-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): 
(https://download.01.org/0day-ci/archive/20240112/202401121126.i9vgrvmb-...@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot 
| Closes: 
https://lore.kernel.org/oe-kbuild-all/202401121126.i9vgrvmb-...@intel.com/

All warnings (new ones prefixed by >>):

   drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c: In function 
'amdgpu_gfx_kiq_init_ring':
>> drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c:332:61: warning: '%d' directive 
>> output may be truncated writing between 1 and 10 bytes into a region of size 
>> between 0 and 8 [-Wformat-truncation=]
 332 | snprintf(ring->name, sizeof(ring->name), "kiq_%d.%d.%d.%d",
 | ^~
   drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c:332:50: note: directive argument in 
the range [0, 2147483647]
 332 | snprintf(ring->name, sizeof(ring->name), "kiq_%d.%d.%d.%d",
 |  ^
   drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c:332:9: note: 'snprintf' output 
between 12 and 41 bytes into a destination of size 16
 332 | snprintf(ring->name, sizeof(ring->name), "kiq_%d.%d.%d.%d",
 | ^~~
 333 |  xcc_id, ring->me, ring->pipe, ring->queue);
 |  ~~


vim +332 drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c

   306  
   307  int amdgpu_gfx_kiq_init_ring(struct amdgpu_device *adev,
   308   struct amdgpu_ring *ring,
   309   struct amdgpu_irq_src *irq, int xcc_id)
   310  {
   311  struct amdgpu_kiq *kiq = >gfx.kiq[xcc_id];
   312  int r = 0;
   313  
   314  spin_lock_init(>ring_lock);
   315  
   316  ring->adev = NULL;
   317  ring->ring_obj = NULL;
   318  ring->use_doorbell = true;
   319  ring->xcc_id = xcc_id;
   320  ring->vm_hub = AMDGPU_GFXHUB(xcc_id);
   321  ring->doorbell_index =
   322  (adev->doorbell_index.kiq +
   323   xcc_id * adev->doorbell_index.xcc_doorbell_range)
   324  << 1;
   325  
   326  r = amdgpu_gfx_kiq_acquire(adev, ring, xcc_id);
   327  if (r)
   328  return r;
   329  
   330  ring->eop_gpu_addr = kiq->eop_gpu_addr;
   331  ring->no_scheduler = true;
 > 332  snprintf(ring->name, sizeof(ring->name), "kiq_%d.%d.%d.%d",
   333   xcc_id, ring->me, ring->pipe, ring->queue);
   334  r = amdgpu_ring_init(adev, ring, 1024, irq, 
AMDGPU_CP_KIQ_IRQ_DRIVER0,
   335   AMDGPU_RING_PRIO_DEFAULT, NULL);
   336  if (r)
   337  dev_warn(adev->dev, "(%d) failed to init kiq ring\n", 
r);
   338  
   339  return r;
   340  }
   341  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki


[PATCH 3/6] drm/amdgpu: prefer snprintf over sprintf

2024-01-10 Thread Jani Nikula
This will trade the W=1 warning -Wformat-overflow to
-Wformat-truncation. This lets us enable -Wformat-overflow subsystem
wide.

Cc: Alex Deucher 
Cc: Christian König 
Cc: Pan, Xinhui 
Cc: amd-...@lists.freedesktop.org
Signed-off-by: Jani Nikula 
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c
index b9674c57c436..82b4b2019fca 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c
@@ -329,7 +329,8 @@ int amdgpu_gfx_kiq_init_ring(struct amdgpu_device *adev,
 
ring->eop_gpu_addr = kiq->eop_gpu_addr;
ring->no_scheduler = true;
-   sprintf(ring->name, "kiq_%d.%d.%d.%d", xcc_id, ring->me, ring->pipe, 
ring->queue);
+   snprintf(ring->name, sizeof(ring->name), "kiq_%d.%d.%d.%d",
+xcc_id, ring->me, ring->pipe, ring->queue);
r = amdgpu_ring_init(adev, ring, 1024, irq, AMDGPU_CP_KIQ_IRQ_DRIVER0,
 AMDGPU_RING_PRIO_DEFAULT, NULL);
if (r)
-- 
2.39.2