From: Andi Kleen <andi@firstfloor.org>
To: Jiri Slaby <jirislaby@gmail.com>
Cc: Andi Kleen <andi@firstfloor.org>,
Mauro Carvalho Chehab <mchehab@infradead.org>,
Linux and Kernel Video <video4linux-list@redhat.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: v4l & compat_ioctl
Date: Fri, 28 Mar 2008 14:35:37 +0100 [thread overview]
Message-ID: <20080328133537.GS29105@one.firstfloor.org> (raw)
In-Reply-To: <47ECE318.1030809@gmail.com>
On Fri, Mar 28, 2008 at 01:22:48PM +0100, Jiri Slaby wrote:
> On 03/28/2008 12:38 PM, Andi Kleen wrote:
> >BTW i haven't audited them, but if there is u64 or similar in there
> >anywhere
> >be careful about alignment.
>
> Well, not good, some ioctls have different numbers on 32 and 64 bit:
Then you need compat handlers to translate the numbers.
> struct v4l2_ext_controls {
> __u32 ctrl_class;
> __u32 count;
> __u32 error_idx;
> __u32 reserved[2];
> struct v4l2_ext_control *controls;
Definitely conversion needed for the pointer too.
> };
> #define VIDIOC_G_EXT_CTRLS _IOWR ('V', 71, struct v4l2_ext_controls)
> as an example.
>
> And alignment is a problem here (v4l2_std_id is u64):
Yes needs conversion for the structure too.
> struct v4l2_standard {
> __u32 index;
> v4l2_std_id id;
> __u8 name[24];
> struct v4l2_fract frameperiod; /* Frames, not fields */
> __u32 framelines;
> __u32 reserved[4];
> };
> which results in different ioctl numbers too.
-andi
>
next prev parent reply other threads:[~2008-03-28 13:32 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-03-28 11:04 v4l & compat_ioctl Jiri Slaby
2008-03-28 11:25 ` Andi Kleen
2008-03-28 11:31 ` Jiri Slaby
2008-03-28 11:38 ` Andi Kleen
2008-03-28 12:22 ` Jiri Slaby
2008-03-28 13:35 ` Andi Kleen [this message]
2008-03-28 17:24 ` Mauro Carvalho Chehab
2008-03-28 17:24 ` Mauro Carvalho Chehab
2008-03-28 17:26 ` Jiri Slaby
2008-03-28 17:47 ` Mauro Carvalho Chehab
2008-03-28 17:47 ` Mauro Carvalho Chehab
2008-03-28 18:07 ` Jiri Slaby
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=20080328133537.GS29105@one.firstfloor.org \
--to=andi@firstfloor.org \
--cc=jirislaby@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mchehab@infradead.org \
--cc=video4linux-list@redhat.com \
/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.