From: "Dmitry V. Levin" <ldv@altlinux.org>
To: Patrik Jakobsson <patrik.jakobsson@linux.intel.com>
Cc: intel-gfx@lists.freedesktop.org, strace-devel@lists.sourceforge.net
Subject: Re: [PATCH v4 4/5] drm: Add decoding of i915 ioctls
Date: Tue, 8 Sep 2015 04:18:11 +0300 [thread overview]
Message-ID: <20150908011811.GB17781@altlinux.org> (raw)
In-Reply-To: <1440420170-13337-5-git-send-email-patrik.jakobsson@linux.intel.com>
[-- Attachment #1.1: Type: text/plain, Size: 2392 bytes --]
On Mon, Aug 24, 2015 at 02:42:49PM +0200, Patrik Jakobsson wrote:
> +static int i915_getparam(struct tcb *tcp, const unsigned int code, long arg)
> +{
> + struct drm_i915_getparam param;
> + int value;
> +
> + if (umove(tcp, arg, ¶m))
> + return RVAL_DECODED;
> +
> + if (entering(tcp)) {
> + tprints(", {param=");
> + printxval(drm_i915_getparams, param.param, "I915_PARAM_???");
> + } else if (exiting(tcp)) {
> + if (umove(tcp, (long)param.value, &value))
> + return RVAL_DECODED;
Since part of param has already been printed, RVAL_DECODED shouldn't be
returned here. For the same reason, RVAL_DECODED shouldn't be returned
earlier in this function.
> + tprints(", value=");
> + switch (param.param) {
> + case I915_PARAM_CHIPSET_ID:
> + tprintf("0x%04x", value);
Since the value has been fetched by address stored in param.value,
it has to be printed in brackets like in printnum_int.
> + break;
> + default:
> + tprintf("%d", value);
Likewise.
> + }
> + tprints("}");
> + }
> +
> + return RVAL_DECODED | 1;
This shouldn't be returned on entering(tcp).
> +}
So the whole function should look smth like this:
static int i915_getparam(struct tcb *tcp, const unsigned int code, long arg)
{
struct drm_i915_getparam param;
if (entering(tcp)) {
if (umove_or_printaddr(tcp, arg, ¶m))
return RVAL_DECODED | 1;
tprints(", {param=");
printxval(drm_i915_getparams, param.param, "I915_PARAM_???");
tprints(", value=");
return 0;
} else {
int value;
if (umove(tcp, arg, ¶m)) {
tprints("???");
} else if (!umove_or_printaddr(tcp, (long) param.value, &value)) {
switch (param.param) {
case I915_PARAM_CHIPSET_ID:
tprintf("[%#04x]", value);
break;
default:
tprintf("[%d]", value);
}
}
tprints("}");
return 1;
}
}
Please apply this approach to all DRM_IOWR parsers.
> +
> +static int i915_setparam(struct tcb *tcp, const unsigned int code, long arg)
> +{
> + struct drm_i915_setparam param;
> +
> + if (entering(tcp)) {
> + if (umove(tcp, arg, ¶m))
> + return RVAL_DECODED;
In this and other functions I slightly prefer
if (umove_or_printaddr(tcp, arg, ¶m))
return RVAL_DECODED | 1;
over your variant because umove_or_printaddr() handles NULL address
and !verbose(tcp) case better.
--
ldv
[-- Attachment #1.2: Type: application/pgp-signature, Size: 181 bytes --]
[-- Attachment #2: Type: text/plain, Size: 159 bytes --]
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2015-09-08 1:18 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-24 12:42 [PATCH v4 0/5] drm: Add decoding for DRM/KMS and i915 ioctls Patrik Jakobsson
2015-08-24 12:42 ` [PATCH v4 1/5] drm: Add config for detecting libdrm Patrik Jakobsson
2015-08-25 21:09 ` Mike Frysinger
2015-08-24 12:42 ` [PATCH v4 2/5] drm: Add private data field to trace control block Patrik Jakobsson
[not found] ` <1440420170-13337-3-git-send-email-patrik.jakobsson-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2015-08-25 21:12 ` Mike Frysinger
2015-08-26 13:26 ` Patrik Jakobsson
2015-08-31 12:37 ` Patrik Jakobsson
[not found] ` <20150831123707.GA22376-mbq0NjRWzOqzCX88HRwER2kA0OJWJZs2VpNB7YpNyf8@public.gmane.org>
2015-09-07 16:51 ` [Intel-gfx] " Dmitry V. Levin
2015-09-07 18:23 ` Patrik Jakobsson
[not found] ` <CAMeQTsZWUPtGUkfVdvhu4bzjQOQ-WvqQ=xOQJzNOw+kOZLGExw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-11-24 5:46 ` [Intel-gfx] " Dmitry V. Levin
2015-11-26 13:40 ` Patrik Jakobsson
2016-07-20 14:50 ` [Intel-gfx] " Dmitry V. Levin
2016-07-20 16:11 ` Patrik Jakobsson
2015-08-24 12:42 ` [PATCH v4 3/5] drm: Add dispatcher and driver identification for DRM Patrik Jakobsson
2015-09-08 0:36 ` Dmitry V. Levin
2015-09-11 10:57 ` Patrik Jakobsson
2015-11-24 5:53 ` Dmitry V. Levin
2015-08-24 12:42 ` [PATCH v4 4/5] drm: Add decoding of i915 ioctls Patrik Jakobsson
2015-09-08 1:18 ` Dmitry V. Levin [this message]
2015-09-08 1:30 ` Dmitry V. Levin
2015-09-09 11:52 ` Dmitry V. Levin
2015-09-11 11:31 ` Patrik Jakobsson
2015-09-11 12:04 ` Dmitry V. Levin
2015-08-24 12:42 ` [PATCH v4 5/5] drm: Add decoding of DRM and KMS ioctls Patrik Jakobsson
2015-09-08 22:50 ` Dmitry V. Levin
2015-09-11 11:39 ` Patrik Jakobsson
2015-09-11 12:10 ` Dmitry V. Levin
[not found] ` <20150911121005.GB6177-u2l5PoMzF/Vg9hUCZPvPmw@public.gmane.org>
2015-09-11 12:20 ` Patrik Jakobsson
2015-09-11 12:36 ` Dmitry V. Levin
2015-09-07 8:47 ` [PATCH v4 0/5] drm: Add decoding for DRM/KMS and i915 ioctls Gabriel Laskar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150908011811.GB17781@altlinux.org \
--to=ldv@altlinux.org \
--cc=intel-gfx@lists.freedesktop.org \
--cc=patrik.jakobsson@linux.intel.com \
--cc=strace-devel@lists.sourceforge.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.