]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
netfilter: xt_time: use is_leap_year() helper
authorJinjie Ruan <ruanjinjie@huawei.com>
Fri, 23 Jan 2026 08:10:51 +0000 (16:10 +0800)
committerFlorian Westphal <fw@strlen.de>
Thu, 29 Jan 2026 08:52:07 +0000 (09:52 +0100)
Use the is_leap_year() helper from rtc.h instead of
writing it by hand

Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: Florian Westphal <fw@strlen.de>
net/netfilter/xt_time.c

index 6aa12d0f54e23cfe9b4f61d3361eeed41b73c6aa..00319d2a54da23559a50fb8c60d1340ebb5cba83 100644 (file)
@@ -14,6 +14,7 @@
 
 #include <linux/ktime.h>
 #include <linux/module.h>
+#include <linux/rtc.h>
 #include <linux/skbuff.h>
 #include <linux/types.h>
 #include <linux/netfilter/x_tables.h>
@@ -64,11 +65,6 @@ static const u_int16_t days_since_epoch[] = {
        3287, 2922, 2557, 2191, 1826, 1461, 1096, 730, 365, 0,
 };
 
-static inline bool is_leap(unsigned int y)
-{
-       return y % 4 == 0 && (y % 100 != 0 || y % 400 == 0);
-}
-
 /*
  * Each network packet has a (nano)seconds-since-the-epoch (SSTE) timestamp.
  * Since we match against days and daytime, the SSTE value needs to be
@@ -138,7 +134,7 @@ static void localtime_3(struct xtm *r, time64_t time)
         * (A different approach to use would be to subtract a monthlength
         * from w repeatedly while counting.)
         */
-       if (is_leap(year)) {
+       if (is_leap_year(year)) {
                /* use days_since_leapyear[] in a leap year */
                for (i = ARRAY_SIZE(days_since_leapyear) - 1;
                    i > 0 && days_since_leapyear[i] > w; --i)