diff options
| author | Gerhard Stenzel <[email protected]> | 2014-08-22 19:34:16 +0000 |
|---|---|---|
| committer | David S. Miller <[email protected]> | 2014-08-23 02:54:56 +0000 |
| commit | a45e92a599e77ee6a850eabdd0141633fde03915 (patch) | |
| tree | 36329f9c70cdf5195169fed20ba811293a56a913 /net/tipc/node.c | |
| parent | Merge tag 'pwm/for-3.17-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git... (diff) | |
| download | kernel-a45e92a599e77ee6a850eabdd0141633fde03915.tar.gz kernel-a45e92a599e77ee6a850eabdd0141633fde03915.zip | |
vxlan: fix incorrect initializer in union vxlan_addr
The first initializer in the following
union vxlan_addr ipa = {
.sin.sin_addr.s_addr = tip,
.sa.sa_family = AF_INET,
};
is optimised away by the compiler, due to the second initializer,
therefore initialising .sin.sin_addr.s_addr always to 0.
This results in netlink messages indicating a L3 miss never contain the
missed IP address. This was observed with GCC 4.8 and 4.9. I do not know about previous versions.
The problem affects user space programs relying on an IP address being
sent as part of a netlink message indicating a L3 miss.
Changing
.sa.sa_family = AF_INET,
to
.sin.sin_family = AF_INET,
fixes the problem.
Signed-off-by: Gerhard Stenzel <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Diffstat (limited to 'net/tipc/node.c')
0 files changed, 0 insertions, 0 deletions
