These series of patches try to convert parport device(ppdev) to y2038 safe, and support y2038 safe and unsafe application at the same time. The first two version is here[1][2].
An y2038 safe application/kernel use 64bit time_t(aka time64_t) to avoid 32-bit time types broken in the year 2038. Given that some time relative struct(e.g. timeval in ppdev.c) is mainly the offset of the real time, the old 32bit time_t in such application is safe. We need to handle the 32bit time_t and 64bit time_t application at the same time. My approach here is handle them as different ioctl command for different size of timeval. Build successful on arm64, arm and x86_64. Changes since v2: 1. Fix the wrong parameter in copy_to_user. Changes since v1: 1. Fix the warning when build against x86_64. [1] https://lkml.org/lkml/2015/12/9/32 [2] https://lkml.org/lkml/2015/12/17/111 Bamvor Jian Zhang (2): ppdev: convert to y2038 safe ppdev: add support for compat ioctl drivers/char/ppdev.c | 87 ++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 67 insertions(+), 20 deletions(-) -- 2.1.4 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/