Re: detecting misuse of of_get_property

From: Dan Carpenter
Date: Tue Oct 29 2019 - 08:57:36 EST


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... I always
just throw a check together and test it before I decide if it's worth
investing more time into it.

regards,
dan carpenter