[PATCH v4 5/5] drm: Add decoding of DRM and KMS ioctls

Dmitry V. Levin ldv at altlinux.org
Fri Sep 11 12:10:05 UTC 2015


On Fri, Sep 11, 2015 at 01:39:29PM +0200, Patrik Jakobsson wrote:
> On Wed, Sep 09, 2015 at 01:50:40AM +0300, Dmitry V. Levin wrote:
> > On Mon, Aug 24, 2015 at 02:42:50PM +0200, Patrik Jakobsson wrote:
> > > +static int drm_mode_create_dumb(struct tcb *tcp, const unsigned int code, long arg)
> > > +{
> > > +	struct drm_mode_create_dumb dumb;
> > > +
> > > +	if (umove(tcp, arg, &dumb))
> > > +		return RVAL_DECODED;
> > > +
> > > +	if (entering(tcp)) {
> > > +		tprintf(", {width=%u, height=%u, bpp=%u, flags=0x%x",
> > > +			dumb.width, dumb.height, dumb.bpp, dumb.flags);
> > > +	} else if (exiting(tcp)) {
> > > +		tprintf(", handle=%u, pitch=%u, size=%Lu}", dumb.handle,
> > > +			dumb.pitch, dumb.size);
> > > +	}
> > > +
> > > +	return RVAL_DECODED | 1;
> > > +}
> > 
> > This generates a warning (which turns into an error with
> > --enable-gcc-Werror) on x86_64 when using kernel drm headers:
> > 
> > drm.c: In function 'drm_mode_create_dumb':
> > drm.c:521:11: error: format '%Lu' expects argument of type 'long long unsigned int', but argument 4 has type 'uint64_t {aka long unsigned int}' [-Werror=format=]
> 
> So this brings us back to whether to include drm kernel headers or not. If
> -Werror is a requirement (which is already broken last time I checked) there

Is it?  Could you cite the error, please?

> will need to be #ifdefs at various places in drm decoding. What would you
> prefer. Both options are fine by me.

This is the only place where definitions differ to the extent that it's visible.
I'd rather cast the argument to unsigned long long.


-- 
ldv
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 181 bytes
Desc: not available
URL: <http://lists.strace.io/pipermail/strace-devel/attachments/20150911/d4efd6b7/attachment.bin>


More information about the Strace-devel mailing list