mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-22 09:12:24 +03:00
gpu: nvgpu: fix MISRA 21.6 violation in nvgpu.common.mm.as
Below MISRA 21.6 violation is reported in nvgpu.common.mm.as
${TEGRA_TOP}/kernel/nvgpu/drivers/gpu/nvgpu/common/mm/as.c:79:
misra_violation: Using function "snprintf".
Fix this by replacing snprintf with strncpy.
Add nvgpu_strnadd_u32 function to convert u32 to string
The function supports radix from 2 to 16.
Jira NVGPU-3333
Change-Id: Idee739dfdedeabb74d0d9f7d4cddd798445f0ee1
Signed-off-by: Thomas Fleury <tfleury@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/2117019
GVS: Gerrit_Virtual_Submit
Reviewed-by: Philip Elcan <pelcan@nvidia.com>
Reviewed-by: Vaibhav Kachore <vkachore@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
committed by
mobile promotions
parent
9b2f6925ca
commit
1fd2e43a3f
@@ -28,6 +28,7 @@
|
||||
#include <nvgpu/vm.h>
|
||||
#include <nvgpu/log2.h>
|
||||
#include <nvgpu/gk20a.h>
|
||||
#include <nvgpu/string.h>
|
||||
|
||||
/* dumb allocator... */
|
||||
static int generate_as_share_id(struct gk20a_as *as)
|
||||
@@ -55,6 +56,7 @@ static int gk20a_vm_alloc_share(struct gk20a_as_share *as_share,
|
||||
struct mm_gk20a *mm = &g->mm;
|
||||
struct vm_gk20a *vm;
|
||||
char name[32];
|
||||
char *p;
|
||||
const bool userspace_managed =
|
||||
(flags & NVGPU_AS_ALLOC_USERSPACE_MANAGED) != 0U;
|
||||
const bool unified_va =
|
||||
@@ -76,7 +78,8 @@ static int gk20a_vm_alloc_share(struct gk20a_as_share *as_share,
|
||||
}
|
||||
}
|
||||
|
||||
(void) snprintf(name, sizeof(name), "as_%d", as_share->id);
|
||||
p = strncpy(name, "as_", sizeof(name) - 1);
|
||||
(void) nvgpu_strnadd_u32(p, as_share->id, sizeof(name) - (p-name), 10U);
|
||||
|
||||
vm = nvgpu_vm_init(g, big_page_size,
|
||||
U64(big_page_size) << U64(10),
|
||||
|
||||
Reference in New Issue
Block a user