Thread (35 messages) 35 messages, 4 authors, 2018-11-30

Re: [PATCH 2/8] sockopt: Rename SO_TIMESTAMP* to SO_TIMESTAMP*_OLD

From: Willem de Bruijn <willemdebruijn.kernel@gmail.com>
Date: 2018-11-30 23:34:40
Also in: linux-alpha, linux-arch, linux-rdma, lkml, sparclinux

On Fri, Nov 30, 2018 at 5:38 PM Deepa Dinamani [off-list ref] wrote:
On Sat, Nov 24, 2018 at 7:59 PM Willem de Bruijn
[off-list ref] wrote:
quoted
On Sat, Nov 24, 2018 at 3:58 AM Deepa Dinamani [off-list ref] wrote:
quoted
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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help