lkml.org 
[lkml]   [2015]   [Sep]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v4] add stealth mode
From
Date
On Wed, 2015-09-16 at 11:54 +0200, Matteo Croce wrote:
> diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
> index 93898e0..fe62ae0 100644
> --- a/net/ipv4/tcp_ipv4.c
> +++ b/net/ipv4/tcp_ipv4.c
> @@ -77,6 +77,7 @@
> #include <net/busy_poll.h>
>
> #include <linux/inet.h>
> +#include <linux/inetdevice.h>
> #include <linux/ipv6.h>
> #include <linux/stddef.h>
> #include <linux/proc_fs.h>
> @@ -1652,7 +1653,7 @@ csum_error:
> TCP_INC_STATS_BH(net, TCP_MIB_CSUMERRORS);
> bad_packet:
> TCP_INC_STATS_BH(net, TCP_MIB_INERRS);
> - } else {
> + } else if (!IN_DEV_STEALTH(skb->dev->ip_ptr)) {
> tcp_v4_send_reset(NULL, skb);
> }


It is illegal to deref skb->dev->ip_ptr without proper accessor /
annotations.

Check

struct in_device *in_dev = __in_dev_get_rcu(skb->dev);

(Same remarks in other places of your patch)





\
 
 \ /
  Last update: 2015-09-16 13:21    [W:0.260 / U:0.992 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site