Re: [RFC PATCH v2] compat: poll() in 32-bit applications does nothandle negative timeout values properly on 64-bit kernels

From: Eric Dumazet
Date: Sat Feb 11 2012 - 10:47:46 EST


Le vendredi 10 fÃvrier 2012 Ã 23:54 -0600, Josh Hunt a Ãcrit :
> We have hit an issue where our 32-bit applications using poll() and
> passing in a value of -1 for the timeout value return after ~49 days
> (2^32 msec), instead of waiting indefinitely. I've instrumented the
> kernel and found we are hitting the case where poll() believes we've
> passed in a positive number and thus creates a timespec, etc. I've
> implemented compat_sys_poll() to sign-extend the timeout value and
> resolve the issue.
>
> There was an almost identical patch submitted last year, but for
> whatever reason did not make it in:
> https://lkml.org/lkml/2011/9/18/19

Probably because Thomas Meyer didnt answer to patch reviewers, and not
enough people cared.

By the way, an inline patch is better, as stated in
Documentation/SubmittingPatches

Anyway, its time to fix this bug...

Acked-by: Eric Dumazet <eric.dumazet@xxxxxxxxx>



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/