On Thu, 2022-10-20 at 18:00 +0200, Arnd Bergmann wrote: > From: Thomas Schmitt <scdbackup@xxxxxxx> > > Change the return type of function iso_date() from int to time64_t, > to avoid truncating to the 1902..2038 date range. > > After this patch, the reported timestamps should fall into the > range reported in the s_time_min/s_time_max fields. > > Signed-off-by: Thomas Schmitt <scdbackup@xxxxxxx> > Cc: stable@xxxxxxxxxxxxxxx > Link: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=800627 > Fixes: 34be4dbf87fc ("isofs: fix timestamps beyond 2027") > Fixes: 5ad32b3acded ("isofs: Initialize filesystem timestamp ranges") > [arnd: expand changelog text slightly] > Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> > --- > fs/isofs/isofs.h | 2 +- > fs/isofs/util.c | 4 ++-- > 2 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/fs/isofs/isofs.h b/fs/isofs/isofs.h > index dcdc191ed183..c3473ca3f686 100644 > --- a/fs/isofs/isofs.h > +++ b/fs/isofs/isofs.h > @@ -106,7 +106,7 @@ static inline unsigned int isonum_733(u8 *p) > /* Ignore bigendian datum due to broken mastering programs */ > return get_unaligned_le32(p); > } > -extern int iso_date(u8 *, int); > +extern time64_t iso_date(u8 *, int); > > struct inode; /* To make gcc happy */ > > diff --git a/fs/isofs/util.c b/fs/isofs/util.c > index e88dba721661..348af786a8a4 100644 > --- a/fs/isofs/util.c > +++ b/fs/isofs/util.c > @@ -16,10 +16,10 @@ > * to GMT. Thus we should always be correct. > */ > > -int iso_date(u8 *p, int flag) > +time64_t iso_date(u8 *p, int flag) > { > int year, month, day, hour, minute, second, tz; > - int crtime; > + time64_t crtime; > > year = p[0]; > month = p[1]; Reviewed-by: Jeff Layton <jlayton@xxxxxxxxxx>