On Wed, May 4, 2016 at 12:24 PM, Deepa Dinamani deepa.kernel@gmail.com wrote:
struct timespec is not y2038 safe. Even though timespec might be sufficient to represent timeouts, use struct timespec64 here as the plan is to get rid of all timespec reference in the kernel.
The patch transitions the common functions: poll_select_set_timeout() and select_estimate_accuracy() to use timespec64. And, all the syscalls that use these functions are transitioned in the same patch.
The restart block parameters for poll uses monotonic time. Use timespec64 here as well to assign timeout value. This parameter in the restart block need not change because this only holds the monotonic timestamp at which timeout should occur. And, unsigned long data type should be big enough for this timestamp.
The system call interfaces will be handled in a separate series.
Compat interfaces need not change as timespec64 is an alias to struct timespec on a 64 bit system.
Signed-off-by: Deepa Dinamani deepa.kernel@gmail.com Cc: Alexander Viro viro@zeniv.linux.org.uk Cc: "David S. Miller" davem@davemloft.net Cc: netdev@vger.kernel.org
Resending to include John and Thomas on this patch as well. This is to include this patch also in John's tree. This will let all 3 patches in the series to merged through the same tree.
fs/eventpoll.c | 12 +++++----- fs/select.c | 67 +++++++++++++++++++++++++++++----------------------- include/linux/poll.h | 11 +++++---- net/socket.c | 8 ++++--- 4 files changed, 54 insertions(+), 44 deletions(-)
So with the other two patches, I'm more comfortable queueing and sending through to Thomas.
But I'm less comfortable making the call on this one. It looks relatively straight forward, but it would be good to have maintainer acks before I add it to my tree.
thanks -john