On Thu, Nov 12, 2015 at 9:26 AM, Uwe Kleine-König <u.kleine-koe...@pengutronix.de> wrote: > On Thu, Nov 12, 2015 at 09:03:11AM +0100, Frans Klaver wrote: >> Hi, >> >> On Thu, Nov 12, 2015 at 8:46 AM, LABBE Corentin >> <clabbe.montj...@gmail.com> wrote: >> > of_match_device could return NULL, and so cause a NULL pointer >> > dereference later. >> >> Did you actually run into this? It seems to me that this driver is >> only probed if and only if we have a match and that therefore >> of_match_device will always return a valid pointer (it is using the >> same match table). Am I missing something? > > Yes, you're missing something. The driver would probe for a dt snippet > like: > > mxc_nand { > compatible = "foobar"; > } > > In this case dev->of_node is non-NULL but of_match_device(mxcnd_dt_ids, > dev) is. > > (I didn't actually test this, so there is a chance I'm wrong here. And > if not I wonder if it is sensible at all to match the device name on > driver name for of-created platform devices.)
Yea, looks like you're right. platform devices check a number of things to determine a match, among which is driver name if all else fails (platform.c, platform_match()). Thanks, Frans -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/