base/platform: Safe handling for NULL platform data and resources
authorAnton Vorontsov <cbouatmailru@gmail.com>
Tue, 7 Sep 2010 13:31:49 +0000 (17:31 +0400)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 22 Oct 2010 17:16:43 +0000 (10:16 -0700)
commit5cfc64ceb6222aabec640ba76e89529a8fc2c1f0
treecb49e651fbb5ec4192ef650fd5b63c1dba0040f1
parent87544653abe4a03324bc85dae32d5bdaabcfccef
base/platform: Safe handling for NULL platform data and resources

Some users of platform_device_add_{data,resources}() assume that
NULL data and resources will be handled specially, i.e. just ignored.

But the platform core ends up calling kmemdup(NULL, 0, ...), which
returns a non-NULL result (i.e. ZERO_SIZE_PTR), which causes drivers
to oops on a valid code, something like:

  if (platform_data)
   stuff = platform_data->stuff;

This patch makes the platform core a bit more safe for such cases.

Signed-off-by: Anton Vorontsov <cbouatmailru@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/base/platform.c