PATCH: radeondrm x86_64 and android32

Sergey Korshunoff seyko2 at gmail.com
Mon Sep 15 08:43:51 PDT 2014


Hi Christian!
Yes, it is. Android-x86 4.0-r1 dos'nt fill right a value fild of the
structture drm_radeon_info_t: high bits are a random value. But I
wrote a compat function for this ioctl which clears this bits only for
32-bit applications. This patch is against a 3.10 kernel.

2014-09-15 15:54 GMT+04:00, Christian König <deathsimple at vodafone.de>:
> Am 15.09.2014 um 12:09 schrieb Sergey Korshunoff:
>> Android-x86 4.0-r1 (32 bit) have problems with x86_64 kernel when he
>> trying to use a radeon kms. The following change correct a problem:
>>
>> drivers/gpu/drm/radeon_kms.c (function radeon_info_ioctl):
>>
>> - value_ptr = (uint32_t *)((unsigned long)info->value);
>> + value_ptr = (uint32_t *)((unsigned)info->value);
>>
>> Looks like a userspace data in android running under x86_64 is located
>> above 4 Gb. I don't think so. But after this change android run fine.
>
> That's most likely a bug on the userspace side, caused by the upper
> 32bits of info->value not initialized properly.
>
> The kernel patch you show above will most likely just break 64bit
> userspace.
>
> Regards,
> Christian.
>
>> _______________________________________________
>> dri-devel mailing list
>> dri-devel at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/dri-devel
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 12-radeon-info-compat.patch
Type: application/octet-stream
Size: 2589 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20140915/ba28c872/attachment.obj>


More information about the dri-devel mailing list