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-next>] [day] [month] [year] [list]
Date:	Tue, 23 Oct 2012 16:22:13 +0800
From:	Fengguang Wu <fengguang.wu@...el.com>
To:	Nicolas Dichtel <nicolas.dichtel@...nd.com>
Cc:	netdev@...r.kernel.org
Subject: [net-next:master 35/53] net/ipv6/route.c:400:13: sparse: invalid
 assignment: ^=

Hi Nicolas,

FYI, there are new sparse warnings show up in

tree:   git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git master
head:   598e74f32c6dd4b3dd0ed382c889be07a7c6cbc0
commit: 51ebd3181572af8d5076808dab2682d800f6da5d [35/53] ipv6: add support of equal cost multipath (ECMP)

+ net/ipv6/route.c:400:13: sparse: invalid assignment: ^=
net/ipv6/route.c:400:13:    left side has type unsigned int
net/ipv6/route.c:400:13:    right side has type restricted __be32
net/ipv6/route.c:401:13: sparse: invalid assignment: ^=
net/ipv6/route.c:401:13:    left side has type unsigned int
net/ipv6/route.c:401:13:    right side has type restricted __be32
net/ipv6/route.c:402:13: sparse: invalid assignment: ^=
net/ipv6/route.c:402:13:    left side has type unsigned int
net/ipv6/route.c:402:13:    right side has type restricted __be32
net/ipv6/route.c:403:13: sparse: invalid assignment: ^=
net/ipv6/route.c:403:13:    left side has type unsigned int
net/ipv6/route.c:403:13:    right side has type restricted __be32
net/ipv6/route.c:405:13: sparse: invalid assignment: ^=
net/ipv6/route.c:405:13:    left side has type unsigned int
net/ipv6/route.c:405:13:    right side has type restricted __be32
net/ipv6/route.c:406:13: sparse: invalid assignment: ^=
net/ipv6/route.c:406:13:    left side has type unsigned int
net/ipv6/route.c:406:13:    right side has type restricted __be32
net/ipv6/route.c:407:13: sparse: invalid assignment: ^=
net/ipv6/route.c:407:13:    left side has type unsigned int
net/ipv6/route.c:407:13:    right side has type restricted __be32
net/ipv6/route.c:408:13: sparse: invalid assignment: ^=
net/ipv6/route.c:408:13:    left side has type unsigned int
net/ipv6/route.c:408:13:    right side has type restricted __be32
net/ipv6/route.c:415:21: sparse: invalid assignment: ^=
net/ipv6/route.c:415:21:    left side has type unsigned int
net/ipv6/route.c:415:21:    right side has type restricted __be16
net/ipv6/route.c:416:21: sparse: invalid assignment: ^=
net/ipv6/route.c:416:21:    left side has type unsigned int
net/ipv6/route.c:416:21:    right side has type restricted __be16
net/ipv6/route.c:425:13: sparse: invalid assignment: ^=
net/ipv6/route.c:425:13:    left side has type unsigned int
net/ipv6/route.c:425:13:    right side has type restricted __be32

vim +400 net/ipv6/route.c

^1da177e Linus Torvalds  2005-04-16  384  
a50feda5 Eric Dumazet    2012-05-18  385  static bool rt6_need_strict(const struct in6_addr *daddr)
c71099ac Thomas Graf     2006-08-04  386  {
a02cec21 Eric Dumazet    2010-09-22  387  	return ipv6_addr_type(daddr) &
a02cec21 Eric Dumazet    2010-09-22  388  		(IPV6_ADDR_MULTICAST | IPV6_ADDR_LINKLOCAL | IPV6_ADDR_LOOPBACK);
c71099ac Thomas Graf     2006-08-04  389  }
c71099ac Thomas Graf     2006-08-04  390  
51ebd318 Nicolas Dichtel 2012-10-22  391  /* Multipath route selection:
51ebd318 Nicolas Dichtel 2012-10-22  392   *   Hash based function using packet header and flowlabel.
51ebd318 Nicolas Dichtel 2012-10-22  393   * Adapted from fib_info_hashfn()
51ebd318 Nicolas Dichtel 2012-10-22  394   */
51ebd318 Nicolas Dichtel 2012-10-22  395  static int rt6_info_hash_nhsfn(unsigned int candidate_count,
51ebd318 Nicolas Dichtel 2012-10-22  396  			       const struct flowi6 *fl6)
51ebd318 Nicolas Dichtel 2012-10-22  397  {
51ebd318 Nicolas Dichtel 2012-10-22  398  	unsigned int val = fl6->flowi6_proto;
51ebd318 Nicolas Dichtel 2012-10-22  399  
51ebd318 Nicolas Dichtel 2012-10-22 @400  	val ^= fl6->daddr.s6_addr32[0];
51ebd318 Nicolas Dichtel 2012-10-22  401  	val ^= fl6->daddr.s6_addr32[1];
51ebd318 Nicolas Dichtel 2012-10-22  402  	val ^= fl6->daddr.s6_addr32[2];
51ebd318 Nicolas Dichtel 2012-10-22  403  	val ^= fl6->daddr.s6_addr32[3];
51ebd318 Nicolas Dichtel 2012-10-22  404  
51ebd318 Nicolas Dichtel 2012-10-22  405  	val ^= fl6->saddr.s6_addr32[0];
51ebd318 Nicolas Dichtel 2012-10-22  406  	val ^= fl6->saddr.s6_addr32[1];
51ebd318 Nicolas Dichtel 2012-10-22  407  	val ^= fl6->saddr.s6_addr32[2];
51ebd318 Nicolas Dichtel 2012-10-22  408  	val ^= fl6->saddr.s6_addr32[3];

---
0-DAY kernel build testing backend         Open Source Technology Center
Fengguang Wu, Yuanhan Liu                              Intel Corporation

View attachment "route.c" of type "text/x-csrc" (78638 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ