mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-03 18:38:11 +02:00
amd: restrict radeon_info::marketing_name to 64 characters and copy it
The pointer is owned by the DRM device. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38546>
This commit is contained in:
parent
5a39e1e645
commit
fc534ed209
7 changed files with 8 additions and 11 deletions
|
|
@ -586,7 +586,8 @@ ac_query_gpu_info(int fd, void *dev_p, struct radeon_info *info,
|
|||
info->family_id = device_info.family;
|
||||
info->chip_external_rev = device_info.external_rev;
|
||||
info->chip_rev = device_info.chip_rev;
|
||||
info->marketing_name = ac_drm_get_marketing_name(dev);
|
||||
const char *marketing_name = ac_drm_get_marketing_name(dev);
|
||||
strncpy(info->marketing_name, marketing_name ? marketing_name : "AMD Unknown", sizeof(info->marketing_name));
|
||||
}
|
||||
|
||||
#define VCN_IP_VERSION(mj, mn, rv) (((mj) << 16) | ((mn) << 8) | (rv))
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ struct amd_ip_info {
|
|||
|
||||
struct radeon_info {
|
||||
/* Device info. */
|
||||
const char *marketing_name;
|
||||
char marketing_name[64];
|
||||
uint32_t num_se; /* only enabled SEs */
|
||||
uint32_t num_rb; /* only enabled RBs */
|
||||
uint32_t num_cu; /* only enabled CUs */
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ ac_null_device_create(struct radeon_info *gpu_info, const char *family)
|
|||
|
||||
gpu_info->gfx_level = CLASS_UNKNOWN;
|
||||
gpu_info->family = CHIP_UNKNOWN;
|
||||
strcpy(gpu_info->marketing_name, "AMD Unknown");
|
||||
|
||||
for (i = CHIP_TAHITI; i < CHIP_LAST; i++) {
|
||||
if (!strcasecmp(family, ac_get_family_name(i))) {
|
||||
|
|
|
|||
|
|
@ -2361,8 +2361,7 @@ radv_physical_device_try_create(struct radv_instance *instance, drmDevicePtr drm
|
|||
|
||||
const char *name = ac_get_family_name(pdev->info.family);
|
||||
snprintf(pdev->name, sizeof(pdev->name), "AMD RADV %s%s", name, radv_get_compiler_string(pdev));
|
||||
snprintf(pdev->marketing_name, sizeof(pdev->name), "%s (RADV %s%s)",
|
||||
pdev->info.marketing_name ? pdev->info.marketing_name : "AMD Unknown", name,
|
||||
snprintf(pdev->marketing_name, sizeof(pdev->name), "%s (RADV %s%s)", pdev->info.marketing_name, name,
|
||||
radv_get_compiler_string(pdev));
|
||||
|
||||
if (pdev->info.gfx_level >= GFX12)
|
||||
|
|
|
|||
|
|
@ -423,8 +423,7 @@ radv_rmv_fill_device_info(const struct radv_physical_device *pdev, struct vk_rmv
|
|||
fill_memory_info(gpu_info, &info->memory_infos[i], i);
|
||||
}
|
||||
|
||||
if (gpu_info->marketing_name)
|
||||
strncpy(info->device_name, gpu_info->marketing_name, sizeof(info->device_name) - 1);
|
||||
strncpy(info->device_name, gpu_info->marketing_name, sizeof(info->device_name) - 1);
|
||||
info->pcie_family_id = gpu_info->family_id;
|
||||
info->pcie_revision_id = gpu_info->pci_rev_id;
|
||||
info->pcie_device_id = gpu_info->pci.dev;
|
||||
|
|
|
|||
|
|
@ -177,9 +177,7 @@ rra_dump_asic_info(const struct radeon_info *gpu_info, FILE *output)
|
|||
.rev_id = gpu_info->pci_rev_id,
|
||||
};
|
||||
|
||||
strncpy(asic_info.device_name,
|
||||
gpu_info->marketing_name ? gpu_info->marketing_name : ac_get_family_name(gpu_info->family),
|
||||
RRA_FILE_DEVICE_NAME_MAX_SIZE - 1);
|
||||
strncpy(asic_info.device_name, gpu_info->marketing_name, RRA_FILE_DEVICE_NAME_MAX_SIZE - 1);
|
||||
|
||||
fwrite(&asic_info, sizeof(struct rra_asic_info), 1, output);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -690,8 +690,7 @@ static void si_init_renderer_string(struct si_screen *sscreen)
|
|||
struct utsname uname_data;
|
||||
const char *name = ac_get_family_name(sscreen->info.family);
|
||||
|
||||
snprintf(first_name, sizeof(first_name), "%s",
|
||||
sscreen->info.marketing_name ? sscreen->info.marketing_name : name);
|
||||
snprintf(first_name, sizeof(first_name), "%s", sscreen->info.marketing_name);
|
||||
memset(second_name, 0, sizeof(second_name));
|
||||
for (unsigned i = 0; name[i] && i < ARRAY_SIZE(second_name) - 1; i++)
|
||||
second_name[i] = tolower(name[i]);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue