[PATCH 2/2] Use char * for struct drm_dp_aux_msg's buffer

coypu at sdf.org coypu at sdf.org
Wed May 23 10:09:36 UTC 2018


It's GCC's -Wpointer-arith.

I'm stealing your code for another project that happened to have it on
by default. I'm trying to look for opportunities to contribute back
positive changes :-)

On Wed, May 23, 2018 at 11:09:28AM +0200, Daniel Vetter wrote:
> On Tue, May 22, 2018 at 11:33:35AM +0300, Jani Nikula wrote:
> > On Mon, 21 May 2018, Maya Rashish <coypu at sdf.org> wrote:
> > > In drm_dp_i2c_drain_msg we do msg.buffer += err which isn't
> > > legal for void *.
> > 
> > Well, this isn't pedantic C, it's GCC. There are tons of pointer
> > arithmetics for void pointers all over the kernel.
> 
> I thought C99 even deprecated char * as the generic pointer, recommending
> void * instead, which guarantees the exact same pointer arithmetic as char
> * (but has the special casting rules).
> 
> Which static checker came up with this?
> -Daniel
> 
> > 
> > BR,
> > Jani.
> > 
> > > ---
> > >  include/drm/drm_dp_helper.h | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h
> > > index 62903bae..06f9a61f 100644
> > > --- a/include/drm/drm_dp_helper.h
> > > +++ b/include/drm/drm_dp_helper.h
> > > @@ -1058,7 +1058,7 @@ struct drm_dp_aux_msg {
> > >  	unsigned int address;
> > >  	u8 request;
> > >  	u8 reply;
> > > -	void *buffer;
> > > +	char *buffer;
> > >  	size_t size;
> > >  };
> > 
> > -- 
> > Jani Nikula, Intel Open Source Graphics Center
> > _______________________________________________
> > dri-devel mailing list
> > dri-devel at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/dri-devel
> 
> -- 
> Daniel Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch


More information about the dri-devel mailing list