On Fri, Nov 30, 2018 at 5:38 PM Deepa Dinamani <deepa.kernel@xxxxxxxxx> wrote: > > On Sat, Nov 24, 2018 at 7:59 PM Willem de Bruijn > <willemdebruijn.kernel@xxxxxxxxx> wrote: > > > > On Sat, Nov 24, 2018 at 3:58 AM Deepa Dinamani <deepa.kernel@xxxxxxxxx> wrote: > > > > > > SO_TIMESTAMP, SO_TIMESTAMPNS and SO_TIMESTAMPING options, the > > > way they are currently defined, are not y2038 safe. > > > Subsequent patches in the series add new y2038 safe versions > > > of these options which provide 64 bit timestamps on all > > > architectures uniformly. > > > Hence, rename existing options with OLD tag suffixes. > > > > Why do the existing interfaces have to be renamed when new interfaces are added? > > Existing options need to be renamed because of the macro below: > > #define SO_TIMESTAMP (sizeof(time_t) == sizeof(__kernel_long_t) ? \ > SO_TIMESTAMP_OLD : SO_TIMESTAMP_NEW) > > SO_TIMESTAMP is now dependent on size of time_t because of the libc flag. Yes, I understand the mechanism based on libc's definition of time_t after Arnd's explanation. Please do capture that in the commit message, for possible future readers who stumble upon the code with git blame.