[PATCH v2 00/24] drivers, fs: y2038 updates

From: Arnd Bergmann
Date: Fri Dec 13 2019 - 15:51:54 EST


These are updates to devidce drivers and file systems that for some
reason or another were not included in the kernel in the previous
y2038 series.

I've gone through all users of time_t again to make sure the
kernel is in a long-term maintainable state.

Posting these as a series for better organization, but each change
here is applicable standalone.

Please merge, review, ack/nack etc as you see fit. I will
add these to my y2038 branch [1] for linux-next, but can keep
rebasing for feedback and to remove any patches that get
picked up by a maintainer.

Changes since v1 [2]:

- Add Acks I received
- Rebase to v5.5-rc1, droping patches that got merged already
- Add NFS, XFS and the final three patches from another series
- Rewrite etnaviv patches

Arnd

[1] https://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground.git/log/?h=y2038
[2] https://lore.kernel.org/lkml/20191108213257.3097633-1-arnd@xxxxxxxx/

Arnd Bergmann (24):
Input: input_event: fix struct padding on sparc64
fat: use prandom_u32() for i_generation
dlm: use SO_SNDTIMEO_NEW instead of SO_SNDTIMEO_OLD
xtensa: ISS: avoid struct timeval
um: ubd: use 64-bit time_t where possible
acct: stop using get_seconds()
tsacct: add 64-bit btime field
packet: clarify timestamp overflow
quota: avoid time_t in v1_disk_dqblk definition
hostfs: pass 64-bit timestamps to/from user space
hfs/hfsplus: use 64-bit inode timestamps
drm/msm: avoid using 'timespec'
drm/etnaviv: reject timeouts with tv_nsec >= NSEC_PER_SEC
drm/etnaviv: avoid deprecated timespec
sunrpc: convert to time64_t for expiry
nfs: use time64_t internally
nfs: fix timstamp debug prints
nfs: fscache: use timespec64 in inode auxdata
xfs: rename compat_time_t to old_time32_t
xfs: disallow broken ioctls without compat-32-bit-time
xfs: quota: move to time64_t interfaces
y2038: remove obsolete jiffies conversion functions
y2038: rename itimerval to __kernel_old_itimerval
y2038: sparc: remove use of struct timex

arch/sparc/kernel/sys_sparc_64.c | 29 +++++-----
arch/um/drivers/cow.h | 2 +-
arch/um/drivers/cow_user.c | 7 ++-
arch/um/drivers/ubd_kern.c | 10 ++--
arch/um/include/shared/os.h | 2 +-
arch/um/os-Linux/file.c | 2 +-
.../platforms/iss/include/platform/simcall.h | 4 +-
drivers/gpu/drm/etnaviv/etnaviv_drv.c | 20 ++++---
drivers/gpu/drm/etnaviv/etnaviv_drv.h | 11 ++--
drivers/gpu/drm/etnaviv/etnaviv_gem.c | 4 +-
drivers/gpu/drm/etnaviv/etnaviv_gem.h | 2 +-
drivers/gpu/drm/etnaviv/etnaviv_gpu.c | 5 +-
drivers/gpu/drm/etnaviv/etnaviv_gpu.h | 5 +-
drivers/gpu/drm/msm/msm_drv.h | 3 +-
drivers/input/evdev.c | 14 ++---
drivers/input/misc/uinput.c | 14 +++--
fs/dlm/lowcomms.c | 6 +-
fs/fat/inode.c | 3 +-
fs/hfs/hfs_fs.h | 28 +++++++--
fs/hfs/inode.c | 4 +-
fs/hfsplus/hfsplus_fs.h | 28 +++++++--
fs/hfsplus/inode.c | 12 ++--
fs/hostfs/hostfs.h | 22 ++++---
fs/hostfs/hostfs_kern.c | 15 +++--
fs/nfs/fscache-index.c | 6 +-
fs/nfs/fscache.c | 18 ++++--
fs/nfs/fscache.h | 8 ++-
fs/nfs/nfs4xdr.c | 10 ++--
fs/quota/quotaio_v1.h | 6 +-
fs/xfs/xfs_dquot.c | 6 +-
fs/xfs/xfs_ioctl.c | 26 +++++++++
fs/xfs/xfs_ioctl32.c | 2 +-
fs/xfs/xfs_ioctl32.h | 2 +-
fs/xfs/xfs_qm.h | 6 +-
fs/xfs/xfs_quotaops.c | 6 +-
fs/xfs/xfs_trans_dquot.c | 8 ++-
include/linux/jiffies.h | 20 -------
include/linux/sunrpc/cache.h | 42 ++++++++------
include/linux/sunrpc/gss_api.h | 4 +-
include/linux/sunrpc/gss_krb5.h | 2 +-
include/linux/syscalls.h | 9 ++-
include/uapi/linux/acct.h | 2 +
include/uapi/linux/input.h | 1 +
include/uapi/linux/taskstats.h | 6 +-
include/uapi/linux/time_types.h | 5 ++
include/uapi/linux/timex.h | 2 +
kernel/acct.c | 4 +-
kernel/time/itimer.c | 18 +++---
kernel/time/time.c | 58 ++-----------------
kernel/tsacct.c | 9 ++-
net/packet/af_packet.c | 27 +++++----
net/sunrpc/auth_gss/gss_krb5_mech.c | 12 +++-
net/sunrpc/auth_gss/gss_krb5_seal.c | 8 +--
net/sunrpc/auth_gss/gss_krb5_unseal.c | 6 +-
net/sunrpc/auth_gss/gss_krb5_wrap.c | 16 ++---
net/sunrpc/auth_gss/gss_mech_switch.c | 2 +-
net/sunrpc/auth_gss/svcauth_gss.c | 6 +-
net/sunrpc/cache.c | 16 ++---
net/sunrpc/svcauth_unix.c | 10 ++--
59 files changed, 351 insertions(+), 290 deletions(-)

--
2.20.0

Cc: jdike@xxxxxxxxxxx
Cc: richard@xxxxxx
Cc: jcmvbkbc@xxxxxxxxx
Cc: stefanr@xxxxxxxxxxxxxxxxx
Cc: l.stach@xxxxxxxxxxxxxx
Cc: linux+etnaviv@xxxxxxxxxxxxxxx
Cc: christian.gmeiner@xxxxxxxxx
Cc: airlied@xxxxxxxx
Cc: daniel@xxxxxxxx
Cc: robdclark@xxxxxxxxx
Cc: sean@xxxxxxxxxx
Cc: valdis.kletnieks@xxxxxx
Cc: gregkh@xxxxxxxxxxxxxxxxxxx
Cc: ccaulfie@xxxxxxxxxx
Cc: teigland@xxxxxxxxxx
Cc: hirofumi@xxxxxxxxxxxxxxxxxx
Cc: jack@xxxxxxxx
Cc: davem@xxxxxxxxxxxxx
Cc: fw@xxxxxxxxx
Cc: viro@xxxxxxxxxxxxxxxxxx
Cc: rfontana@xxxxxxxxxx
Cc: tglx@xxxxxxxxxxxxx
Cc: linux-um@xxxxxxxxxxxxxxxxxxx
Cc: linux1394-devel@xxxxxxxxxxxxxxxxxxxxx
Cc: etnaviv@xxxxxxxxxxxxxxxxxxxxx
Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx
Cc: linux-arm-msm@xxxxxxxxxxxxxxx
Cc: freedreno@xxxxxxxxxxxxxxxxxxxxx
Cc: devel@xxxxxxxxxxxxxxxxxxxx
Cc: cluster-devel@xxxxxxxxxx
Cc: linux-fsdevel@xxxxxxxxxxxxxxx
Cc: netdev@xxxxxxxxxxxxxxx
Cc: trond.myklebust@xxxxxxxxxxxxxxx
Cc: anna.schumaker@xxxxxxxxxx
Cc: linux-nfs@xxxxxxxxxxxxxxx
Cc: linux-xfs@xxxxxxxxxxxxxxx
Cc: darrick.wong@xxxxxxxxxx
Cc: sparclinux@xxxxxxxxxxxxxxx