From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752924AbbF2O0X (ORCPT ); Mon, 29 Jun 2015 10:26:23 -0400 Received: from mail-pd0-f170.google.com ([209.85.192.170]:33380 "EHLO mail-pd0-f170.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752960AbbF2O0N (ORCPT ); Mon, 29 Jun 2015 10:26:13 -0400 From: Bamvor Zhang Jian To: arnd@arndb.de, john.stultz@linaro.org, tglx@linutronix.de Cc: y2039@lists.linaro.org, linux-kernel@vger.kernel.org, bamvor.zhangjian@linaro.org Subject: [RFC PATCH v2 0/4] Convert ppdev to y2038 safe Date: Mon, 29 Jun 2015 22:23:23 +0800 Message-Id: <1435587807-10008-1-git-send-email-bamvor.zhangjian@linaro.org> X-Mailer: git-send-email 2.1.4 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, guys This is my second attempt to convert ppdev to y2038 safe. The first version is here[1]. There are two parts in my patches. 01/02 migrate timeval relative struct to 64bit time_t types. 03/04 convert ppdev to y2038 safe in both native 32bit and compat application. My patches try to follow the idea from arnd y2038 syscalls patches[2], but my patches not depend on them. The reason why I choose ppdev is the ppdev use the timexxx directly in ioctl compare with the other drivers embedded timexxx in their own type. Build pass on arm and arm64 on each patches(with and without CONFIG_COMPAT_TIME). Unfortunately, there is no parport device (printer) in my test environment. Hope others could help to test it. [1] https://lists.linaro.org/pipermail/y2038/2015-June/000522.html [2] http://git.kernel.org/cgit/linux/kernel/git/arnd/playground.git/log/?h=y2038-syscalls Bamvor Zhang Jian (4): y2038: add 64bit time_t support in timeval for 32bit architecture time64: add timeval64 helper for compat syscalls ppdev: add compat ioctl y2038: convert ppdev to 2038 safe drivers/char/ppdev.c | 41 ++++++++++++++++++++++++++++++++++------- include/linux/compat.h | 3 +++ include/linux/time64.h | 20 ++++++++++++++++++-- include/uapi/linux/ppdev.h | 14 ++++++++++++-- include/uapi/linux/time.h | 16 ++++++++++++++++ kernel/compat.c | 17 +++++++++++++++++ kernel/time/time.c | 36 ++++++++++++++++++++++++++++++++++++ 7 files changed, 136 insertions(+), 11 deletions(-) -- 2.1.4