[PATCH v2 07/14] of/reconfig: Always use the same structure for notifiers

Grant Likely grant.likely at linaro.org
Thu Nov 27 00:16:34 AEDT 2014


On Tue, 25 Nov 2014 21:11:58 -0600
, Nathan Fontenot <nfont at linux.vnet.ibm.com>
 wrote:
> On 11/25/2014 05:07 PM, Benjamin Herrenschmidt wrote:
> > On Mon, 2014-11-24 at 22:33 +0000, Grant Likely wrote:
> >> The OF_RECONFIG notifier callback uses a different structure depending
> >> on whether it is a node change or a property change. This is silly, and
> >> not very safe. Rework the code to use the same data structure regardless
> >> of the type of notifier.
> > 
> > I fell pretty good about this one except...
> > 
> >> diff --git a/arch/powerpc/mm/numa.c b/arch/powerpc/mm/numa.c
> >> index b9d1dfdbe5bb..9fe6002c1d5a 100644
> >> --- a/arch/powerpc/mm/numa.c
> >> +++ b/arch/powerpc/mm/numa.c
> >> @@ -1711,12 +1711,11 @@ static void stage_topology_update(int core_id)
> >>  static int dt_update_callback(struct notifier_block *nb,
> >>  				unsigned long action, void *data)
> >>  {
> >> -	struct of_prop_reconfig *update;
> >> +	struct of_reconfig_data *update = data;
> >>  	int rc = NOTIFY_DONE;
> >>  
> >>  	switch (action) {
> >>  	case OF_RECONFIG_UPDATE_PROPERTY:
> >> -		update = (struct of_prop_reconfig *)data;
> > 
> > Should we assert/bug on !update->dn / update->prop ?
> > 
> > (Same for the rest of the patch)
> > 
> > Or do you reckon it's pointless ?
> > 
> 
> I'm not sure it's worth it, if those are NULL pointers the drivers/of
> code would have tried to use them before invoking the notifier chain.
> We won't make it this far if they're NULL.

Agreed. I'm going to merge it as-is.

g.


More information about the Linuxppc-dev mailing list