On Mon, Jul 10, 2017 at 10:11:37AM +0300, Dan Carpenter wrote:
The ptp_clock_register() function returns NULL when it's #ifdefed out
because CONFIG_PTP_1588_CLOCK is disabled. Otherwise, it's intended to
return error pointers. Unfortunately, there are a couple paths where we
forget to set the error code. It means that we could result in NULL
pointer dereferences in the callers.
Actually, this description is bogus. Callers will not dereference
NULL, because they are required to check the returned pointer:
/**
* ptp_clock_register() - register a PTP hardware clock driver
*
* @info: Structure describing the new clock.
* @parent: Pointer to the parent device of the new clock.
*
* Returns a valid pointer on success or PTR_ERR on failure. If PHC
* support is missing at the configuration level, this function
* returns NULL, and drivers are expected to gracefully handle that
* case separately.
*/
Thanks,
Richard