[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] linux-user: Simplify boundary checks on g_posix
From: |
Peter Maydell |
Subject: |
Re: [Qemu-devel] [PATCH] linux-user: Simplify boundary checks on g_posix_timers range |
Date: |
Fri, 22 Aug 2014 12:45:11 +0100 |
On 22 August 2014 12:36, Andreas Färber <address@hidden> wrote:
> Am 22.08.2014 13:33, schrieb Peter Maydell:
>> On 22 August 2014 12:19, Alexander Graf <address@hidden> wrote:
>>> We check whether the passed in counter value is negative on all calls
>>> that involve g_posix_timers. However, we AND the value down to 16 bits
>>> right before the check, so they can never be negative.
>>
>> ...but why exactly are we doing that AND with 0xffff ?? It seems
>> unlikely that the kernel really allows random garbage in the top
>> half of the timer ID arguments, so maybe we should drop the
>> mask and keep the <0 bounds checks?
>
> Or maybe just use a local int16_t variable? I.e., should 0xffff match
> the <0 check there or not?
The kernel seems to use 'int' for the timer id type, which suggests
that this mask is just wrong.
-- PMM