EDAC/pci: Get rid of the silly one-shot memory allocation in edac_pci_alloc_ctl_info()
Use boring kzalloc() instead. There should be no functional changes resulting from this. Signed-off-by: Borislav Petkov <bp@suse.de> Link: https://lore.kernel.org/r/20220310095254.1510-3-bp@alien8.de
This commit is contained in:
Родитель
0bbb265f70
Коммит
fb8cd45ca3
|
@ -32,29 +32,28 @@ struct edac_pci_ctl_info *edac_pci_alloc_ctl_info(unsigned int sz_pvt,
|
|||
const char *edac_pci_name)
|
||||
{
|
||||
struct edac_pci_ctl_info *pci;
|
||||
void *p = NULL, *pvt;
|
||||
unsigned int size;
|
||||
|
||||
edac_dbg(1, "\n");
|
||||
|
||||
pci = edac_align_ptr(&p, sizeof(*pci), 1);
|
||||
pvt = edac_align_ptr(&p, 1, sz_pvt);
|
||||
size = ((unsigned long)pvt) + sz_pvt;
|
||||
|
||||
/* Alloc the needed control struct memory */
|
||||
pci = kzalloc(size, GFP_KERNEL);
|
||||
if (pci == NULL)
|
||||
pci = kzalloc(sizeof(struct edac_pci_ctl_info), GFP_KERNEL);
|
||||
if (!pci)
|
||||
return NULL;
|
||||
|
||||
/* Now much private space */
|
||||
pvt = sz_pvt ? ((char *)pci) + ((unsigned long)pvt) : NULL;
|
||||
if (sz_pvt) {
|
||||
pci->pvt_info = kzalloc(sz_pvt, GFP_KERNEL);
|
||||
if (!pci->pvt_info)
|
||||
goto free;
|
||||
}
|
||||
|
||||
pci->pvt_info = pvt;
|
||||
pci->op_state = OP_ALLOC;
|
||||
|
||||
snprintf(pci->name, strlen(edac_pci_name) + 1, "%s", edac_pci_name);
|
||||
|
||||
return pci;
|
||||
|
||||
free:
|
||||
kfree(pci);
|
||||
return NULL;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(edac_pci_alloc_ctl_info);
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче