lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <ecb0ffd9-4a1f-4579-bff8-264aedb5bab1@lambdal.com>
Date: Fri, 23 Jan 2026 15:23:10 -0800
From: Carlos Bilbao <carlos.bilbao@...bdal.com>
To: davem@...emloft.net, kuba@...nel.org, jmaxwell37@...il.com,
 dsahern@...nel.org, linux-decnet-user@...ts.sourceforge.net
Cc: linux-kernel@...r.kernel.org, netdev@...r.kernel.org, bilbao@...edu
Subject: [PATCH] net: decnet: fix build error due to incompatible pointer
 type, in dn_dst_gc

Update the signature of dn_dst_gc() to return void instead of int.

This change is required because the .gc member of struct dst_ops was
updated to a void return type in a previous commit [1]. This leads to the
following build error:

net/decnet/dn_route.c:132:10: error: initialization of 'void (*)(struct dst_ops *)' from incompatible pointer type 'int (*)(struct dst_ops *)' [-Werror=incompatible-pointer-types]

Note that dst_alloc() inside net/core/dst.c was already updated to
ignore the return value of this callback.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=af6d10345ca76670c1b7c37799f0d5576ccef277

Fixes: af6d10345ca7 ("ipv6: remove max_size check inline with ipv4")
Signed-off-by: Carlos Bilbao (Lambda) <carlos.bilbao@...nel.org>
---
 net/decnet/dn_route.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/net/decnet/dn_route.c b/net/decnet/dn_route.c
index 729d3de6020d..840a0e3852de 100644
--- a/net/decnet/dn_route.c
+++ b/net/decnet/dn_route.c
@@ -100,7 +100,7 @@ static const int dn_rt_mtu_expires = 10 * 60 * HZ;

 static unsigned long dn_rt_deadline;

-static int dn_dst_gc(struct dst_ops *ops);
+static void dn_dst_gc(struct dst_ops *ops);
 static struct dst_entry *dn_dst_check(struct dst_entry *, __u32);
 static unsigned int dn_dst_default_advmss(const struct dst_entry *dst);
 static unsigned int dn_dst_mtu(const struct dst_entry *dst);
@@ -208,7 +208,7 @@ static void dn_dst_check_expire(struct timer_list *unused)
     mod_timer(&dn_route_timer, now + decnet_dst_gc_interval * HZ);
 }

-static int dn_dst_gc(struct dst_ops *ops)
+static void dn_dst_gc(struct dst_ops *ops)
 {
     struct dn_route *rt;
     struct dn_route __rcu **rtp;
@@ -236,8 +236,6 @@ static int dn_dst_gc(struct dst_ops *ops)
         }
         spin_unlock_bh(&dn_rt_hash_table[i].lock);
     }
-
-    return 0;
 }

 /*
--
2.50.1 (Apple Git-155)


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ