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>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20140813170243.GA1869@nanopsycho.orion>
Date:	Wed, 13 Aug 2014 19:02:43 +0200
From:	Jiri Pirko <jiri@...nulli.us>
To:	David Miller <davem@...emloft.net>
Cc:	eric.dumazet@...il.com, nasa4836@...il.com, jchapman@...alix.com,
	lucien.xin@...il.com, netdev@...r.kernel.org
Subject: Re: [PATCH 2/2] ipv4: add a sock pointer to dst->output() path.

Tue, Apr 15, 2014 at 07:49:16PM CEST, davem@...emloft.net wrote:
>
>From: Eric Dumazet <edumazet@...gle.com>
>
>In the dst->output() path for ipv4, the code assumes the skb it has to
>transmit is attached to an inet socket, specifically via
>ip_mc_output() : The sk_mc_loop() test triggers a WARN_ON() when the
>provider of the packet is an AF_PACKET socket.
>
>The dst->output() method gets an additional 'struct sock *sk'
>parameter. This needs a cascade of changes so that this parameter can
>be propagated from vxlan to final consumer.

Actually, the same issue is present for ipv6. But it is not that easy to
fix it there. sk_mc_loop is called from
ip6_finish_output2(ip6_finish_output) which is called as a okfn from
NF_HOOK_COND. So to fix it here, it would be needed to add struct sock *sk
to a lot of places.

The question is, is it the correct way? Or perhaps something like
skb->output_sk would serve this better?

Thoughts?

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ