[PATCH v4 5/5] drm: Add decoding of DRM and KMS ioctls
Patrik Jakobsson
patrik.jakobsson at linux.intel.com
Fri Sep 11 12:20:35 UTC 2015
On Fri, Sep 11, 2015 at 03:10:05PM +0300, Dmitry V. Levin wrote:
> 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?
It's in aio.c:185 which at a closer look is intentional. Would still break the
build though. But I'm not arguing that letting warnings slip through (with or
without -Werror) is ok, just wondering if it justifies what I'm trying to do
here.
> > 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.
Sounds reasonable, I'll do that.
>
> --
> ldv
> ------------------------------------------------------------------------------
> _______________________________________________
> Strace-devel mailing list
> Strace-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/strace-devel
More information about the Strace-devel
mailing list