ipv4: avoid a test in ip_rt_put()
We can save a test in ip_rt_put(), considering dst_release() accepts a NULL parameter, and dst is first element in rtable. Add a BUILD_BUG_ON() to catch any change that could break this assertion. Signed-off-by: Eric Dumazet <edumazet@google.com> Cc: Cong Wang <amwang@redhat.com> Acked-by: Cong Wang <amwang@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>wifi-calibration
parent
b26ddd8130
commit
6da025fa23
|
@ -198,10 +198,13 @@ struct in_ifaddr;
|
||||||
extern void fib_add_ifaddr(struct in_ifaddr *);
|
extern void fib_add_ifaddr(struct in_ifaddr *);
|
||||||
extern void fib_del_ifaddr(struct in_ifaddr *, struct in_ifaddr *);
|
extern void fib_del_ifaddr(struct in_ifaddr *, struct in_ifaddr *);
|
||||||
|
|
||||||
static inline void ip_rt_put(struct rtable * rt)
|
static inline void ip_rt_put(struct rtable *rt)
|
||||||
{
|
{
|
||||||
if (rt)
|
/* dst_release() accepts a NULL parameter.
|
||||||
dst_release(&rt->dst);
|
* We rely on dst being first structure in struct rtable
|
||||||
|
*/
|
||||||
|
BUILD_BUG_ON(offsetof(struct rtable, dst) != 0);
|
||||||
|
dst_release(&rt->dst);
|
||||||
}
|
}
|
||||||
|
|
||||||
#define IPTOS_RT_MASK (IPTOS_TOS_MASK & ~3)
|
#define IPTOS_RT_MASK (IPTOS_TOS_MASK & ~3)
|
||||||
|
|
Loading…
Reference in New Issue