Messages in this thread | | | Date | Thu, 11 Oct 2012 13:31:58 -0700 (PDT) | From | David Rientjes <> | Subject | Re: [PATCH 2/2]suppress "Device nodeX does not have a release() function" warning |
| |
On Thu, 11 Oct 2012, Yasuaki Ishimatsu wrote:
> When calling unregister_node(), the function shows following message at > device_release(). > > "Device 'node2' does not have a release() function, it is broken and must > be fixed." > > The reason is node's device struct does not have a release() function. > > So the patch registers node_device_release() to the device's release() > function for suppressing the warning message. Additionally, the patch adds > memset() to initialize a node struct into register_node(). Because the node > struct is part of node_devices[] array and it cannot be freed by > node_device_release(). So if system reuses the node struct, it has a garbage. >
Nice catch on reuse of the statically allocated node_devices[] for node hotplug.
> CC: David Rientjes <rientjes@google.com> > CC: Jiang Liu <liuj97@gmail.com> > Cc: Minchan Kim <minchan.kim@gmail.com> > CC: Andrew Morton <akpm@linux-foundation.org> > CC: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> > Signed-off-by: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com> > Signed-off-by: Wen Congyang <wency@cn.fujitsu.com>
Can register_node() be made static in drivers/base/node.c and its declaration removed from linux/node.h?
Acked-by: David Rientjes <rientjes@google.com>
| |