1. 15 Nov, 2019 1 commit
    • Arnd Bergmann's avatar
      netfilter: xt_time: use time64_t · fcbad829
      Arnd Bergmann authored
      The current xt_time driver suffers from the y2038 overflow on 32-bit
      architectures, when the time of day calculations break.
      
      Also, on both 32-bit and 64-bit architectures, there is a problem with
      info->date_start/stop, which is part of the user ABI and overflows in
      in 2106.
      
      Fix the first issue by using time64_t and explicit calls to div_u64()
      and div_u64_rem(), and document the seconds issue.
      
      The explicit 64-bit division is unfortunately slower on 32-bit
      architectures, but doing it as unsigned lets us use the optimized
      division-through-multiplication path in most configurations.  This should
      be fine, as the code already does not allow any negative time of day
      values.
      
      Using u32 seconds values consistently would probably also work and
      be a little more efficient, but that doesn't feel right as it would
      propagate the y2106 overflow to more place rather than fewer.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
      fcbad829
  2. 13 Nov, 2019 28 commits
  3. 12 Nov, 2019 11 commits