Merge branch 'nfc-hci-save-a-few-bytes-of-memory-when-registering-a-nfc_llc-engine'
Christophe says: ==================== nfc: hci: Save a few bytes of memory when registering a 'nfc_llc' engine nfc_llc_register() calls pass a string literal as the 'name' parameter. So kstrdup_const() can be used instead of kfree() to avoid a memory allocation in such cases. ==================== Link: https://lore.kernel.org/r/cover.1706946099.git.christophe.jaillet@wanadoo.fr Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This commit is contained in:
commit
60b4dfcda6
@ -30,15 +30,19 @@ exit:
|
||||
return r;
|
||||
}
|
||||
|
||||
static void nfc_llc_del_engine(struct nfc_llc_engine *llc_engine)
|
||||
{
|
||||
list_del(&llc_engine->entry);
|
||||
kfree_const(llc_engine->name);
|
||||
kfree(llc_engine);
|
||||
}
|
||||
|
||||
void nfc_llc_exit(void)
|
||||
{
|
||||
struct nfc_llc_engine *llc_engine, *n;
|
||||
|
||||
list_for_each_entry_safe(llc_engine, n, &llc_engines, entry) {
|
||||
list_del(&llc_engine->entry);
|
||||
kfree(llc_engine->name);
|
||||
kfree(llc_engine);
|
||||
}
|
||||
list_for_each_entry_safe(llc_engine, n, &llc_engines, entry)
|
||||
nfc_llc_del_engine(llc_engine);
|
||||
}
|
||||
|
||||
int nfc_llc_register(const char *name, const struct nfc_llc_ops *ops)
|
||||
@ -49,7 +53,7 @@ int nfc_llc_register(const char *name, const struct nfc_llc_ops *ops)
|
||||
if (llc_engine == NULL)
|
||||
return -ENOMEM;
|
||||
|
||||
llc_engine->name = kstrdup(name, GFP_KERNEL);
|
||||
llc_engine->name = kstrdup_const(name, GFP_KERNEL);
|
||||
if (llc_engine->name == NULL) {
|
||||
kfree(llc_engine);
|
||||
return -ENOMEM;
|
||||
@ -82,9 +86,7 @@ void nfc_llc_unregister(const char *name)
|
||||
if (llc_engine == NULL)
|
||||
return;
|
||||
|
||||
list_del(&llc_engine->entry);
|
||||
kfree(llc_engine->name);
|
||||
kfree(llc_engine);
|
||||
nfc_llc_del_engine(llc_engine);
|
||||
}
|
||||
|
||||
struct nfc_llc *nfc_llc_allocate(const char *name, struct nfc_hci_dev *hdev,
|
||||
|
Loading…
x
Reference in New Issue
Block a user