Re: uhid: broken interface: 32/64-bit compatibility
From: Dmitry Torokhov <hidden>
Date: 2013-02-18 18:39:30
Also in:
linux-api, lkml
From: Dmitry Torokhov <hidden>
Date: 2013-02-18 18:39:30
Also in:
linux-api, lkml
Hi David, On Fri, Feb 15, 2013 at 12:46:55PM +0100, David Herrmann wrote:
Hi Kirill On Fri, Feb 15, 2013 at 12:29 PM, Kirill A. Shutemov [off-list ref] wrote:quoted
Hi David and all, There's claim in uhid.h that the interface is "compatible even between architectures". But it obviously is not true: struct uhid_create_req contains pointer which breaks everything. The easy way to demonstrate the issue is compile uhid-example.c with -m32 and try to run it on 64 bit kernel. Creating of the device will fail.Indeed, we missed that. We should probably also notify the HIDP developers as "struct hidp_connadd_req" suffers from the same problems. (CC'ed)
I believe this issue has already been taken care of (see compat_hidp_connadd_req and hidp_sock_compat_ioctl). Thanks. -- Dmitry