diff options
author | Arnd Bergmann <arnd@arndb.de> | 2017-11-27 10:09:24 +0100 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2019-12-18 18:07:31 +0100 |
commit | d413fcb436f79b6305201494ec13099171ba33a6 (patch) | |
tree | c0e56431fd46884e674206f970b8a63b6ce1e2d4 /fs/hostfs | |
parent | 352c912b0a525977a8e6fa1f87c15d9f71943642 (diff) |
packet: clarify timestamp overflow
The memory mapped packet socket data structure in version 1 through 3
all contain 32-bit second values for the packet time stamps, which makes
them suffer from the overflow of time_t in y2038 or y2106 (depending
on whether user space interprets the value as signed or unsigned).
The implementation uses the deprecated getnstimeofday() function.
In order to get rid of that, this changes the code to use
ktime_get_real_ts64() as a replacement, documenting the nature of the
overflow. As long as the user applications treat the timestamps as
unsigned, or only use the difference between timestamps, they are
fine, and changing the timestamps to 64-bit wouldn't require a more
invasive user space API change.
Note: a lot of other APIs suffer from incompatible structures when
time_t gets redefined to 64-bit in 32-bit user space, but this one
does not.
Acked-by: Willem de Bruijn <willemb@google.com>
Link: https://lore.kernel.org/lkml/CAF=yD-Jomr-gWSR-EBNKnSpFL46UeG564FLfqTCMNEm-prEaXA@mail.gmail.com/T/#u
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'fs/hostfs')
0 files changed, 0 insertions, 0 deletions