Re: detecting misuse of of_get_property

From: Luc Van Oostenryck
Date: Tue Oct 29 2019 - 09:38:04 EST


On Tue, Oct 29, 2019 at 03:55:19PM +0300, Dan Carpenter wrote:
> On Tue, Oct 29, 2019 at 12:47:50PM +0100, Luc Van Oostenryck wrote:
> > On Tue, Oct 29, 2019 at 01:50:58PM +0300, Dan Carpenter wrote:
> > > +static void match_of_get_property(const char *fn, struct expression *expr, void *unused)
> > > +{
> > > + struct expression *left = expr->left;
> > > + struct symbol *type;
> > > +
> > > + type = get_type(left);
> > > + if (!type || type->type != SYM_PTR)
> > > + return;
> > > + type = get_base_type(type);
> > > + if (type_bits(type) == 8)
> > > + return;
> > > + if (type->type == SYM_RESTRICT)
> > > + return;
> >
> > Wouldn't this also silently accept assignments to any bitwise
> > type: __le32, __be16, ... ?
>
> It does, yes. I'm not sure how big of an issue that is...

Probably not much if it's just a one shot for Rasmus and
probably not much more otherwise.

> I always
> just throw a check together and test it before I decide if it's worth
> investing more time into it.

Sure, but I was thinking about false negatives here.

Regards,
-- Luc