Messages in this thread | | | Date | Mon, 11 Aug 2008 10:19:06 +0900 | From | Kenji Kaneshige <> | Subject | Re: [PATCH 0/7] Fixups for duplicate slot names |
| |
Alex Chiang wrote: > * Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>: >> Hi Alex-san, >> >> Thank you for patches! >> >> I looked at your patches and it looks good. But I have only one >> concern about how to allocate/free memory for slot name. >> >> With your change, memory region for slot name will be allocated >> by hotplug *controller* driver and it can be freed using kfree() >> by hotplug *core* driver (not hotplug controller driver). So all >> hotplug controller drivers including drivers implemented in the >> future need to take it into account. >> >> I think it will be more robust if we can allocate and free memory >> in the same component (maybe hotplug core driver in this case). > > Hm, I didn't think this would be a problem. The sequence is: > > - controller allocates memory for slot name > - if core detects a collision: > - it frees the name > - it allocates new memory for name > - it assigns that memory to the name parameter > - controller->release will eventually free the name > > So it shouldn't matter if the core frees the original name > pointer and allocates new memory, because the core will change > the pointer for the controller. > > This is why I had to change the interface of pci_create_slot() > from taking a const char *name to a char *name. > > Is there something I'm missing? > > /ac
I'm worrying about the following cases for example:
- hotplug controller driver allocates memory for slot name using other than kmalloc().
- hotplug controller driver allocates memory for slot name as a part of another data structure.
Thanks, Kenji Kaneshige
| |