diff options
author | Pawel Moll <[email protected]> | 2014-06-13 16:03:32 +0100 |
---|---|---|
committer | Ingo Molnar <[email protected]> | 2014-08-20 09:42:13 +0200 |
commit | b3f207855f57b9c8f43a547a801340bb5cbc59e5 (patch) | |
tree | 81845f485708aec5c07e52e119bb48a2bda5985a /lib/debugobjects.c | |
parent | f96f56780ca584930bb3a2769d73fd9a101bcbbe (diff) |
perf: Handle compat ioctl
When running a 32-bit userspace on a 64-bit kernel (eg. i386
application on x86_64 kernel or 32-bit arm userspace on arm64
kernel) some of the perf ioctls must be treated with special
care, as they have a pointer size encoded in the command.
For example, PERF_EVENT_IOC_ID in 32-bit world will be encoded
as 0x80042407, but 64-bit kernel will expect 0x80082407. In
result the ioctl will fail returning -ENOTTY.
This patch solves the problem by adding code fixing up the
size as compat_ioctl file operation.
Reported-by: Drew Richardson <[email protected]>
Signed-off-by: Pawel Moll <[email protected]>
Signed-off-by: Peter Zijlstra <[email protected]>
Cc: Arnaldo Carvalho de Melo <[email protected]>
Cc: Jiri Olsa <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Ingo Molnar <[email protected]>
Diffstat (limited to 'lib/debugobjects.c')
0 files changed, 0 insertions, 0 deletions