drivers/pci/hotplug/acpiphp_ibm.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-)
Use kmemdup() to replace the original code's allocate-and-copy operations.
It enhances code readability and simplifies nested conditionals.
Signed-off-by: Liao Yuanhong <liaoyuanhong@vivo.com>
---
drivers/pci/hotplug/acpiphp_ibm.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/drivers/pci/hotplug/acpiphp_ibm.c b/drivers/pci/hotplug/acpiphp_ibm.c
index 18e01cd55a8e..6a16c8e8238f 100644
--- a/drivers/pci/hotplug/acpiphp_ibm.c
+++ b/drivers/pci/hotplug/acpiphp_ibm.c
@@ -140,11 +140,8 @@ static union apci_descriptor *ibm_slot_from_id(int id)
ret = des;
ibm_slot_done:
- if (ret) {
- ret = kmalloc(sizeof(union apci_descriptor), GFP_KERNEL);
- if (ret)
- memcpy(ret, des, sizeof(union apci_descriptor));
- }
+ if (ret)
+ ret = kmemdup(des, sizeof(union apci_descriptor), GFP_KERNEL);
kfree(table);
return ret;
}
--
2.34.1
On Mon, Aug 11, 2025 at 10:22 AM Liao Yuanhong <liaoyuanhong@vivo.com> wrote: > > Use kmemdup() to replace the original code's allocate-and-copy operations. > It enhances code readability and simplifies nested conditionals. > > Signed-off-by: Liao Yuanhong <liaoyuanhong@vivo.com> > --- > drivers/pci/hotplug/acpiphp_ibm.c | 7 ++----- > 1 file changed, 2 insertions(+), 5 deletions(-) > > diff --git a/drivers/pci/hotplug/acpiphp_ibm.c b/drivers/pci/hotplug/acpiphp_ibm.c > index 18e01cd55a8e..6a16c8e8238f 100644 > --- a/drivers/pci/hotplug/acpiphp_ibm.c > +++ b/drivers/pci/hotplug/acpiphp_ibm.c > @@ -140,11 +140,8 @@ static union apci_descriptor *ibm_slot_from_id(int id) > ret = des; > > ibm_slot_done: > - if (ret) { > - ret = kmalloc(sizeof(union apci_descriptor), GFP_KERNEL); > - if (ret) > - memcpy(ret, des, sizeof(union apci_descriptor)); > - } > + if (ret) > + ret = kmemdup(des, sizeof(union apci_descriptor), GFP_KERNEL); Maybe do ret = kmemdup(des, sizeof(*des), GFP_KERNEL); while at it? > kfree(table); > return ret; > } > --
© 2016 - 2025 Red Hat, Inc.