* [net-next:master 89/93] drivers/scsi/cxgbi/libcxgbi.c:787:43: sparse: incorrect type in argument 1 (different address spaces)
@ 2018-09-10 21:47 kbuild test robot
0 siblings, 0 replies; only message in thread
From: kbuild test robot @ 2018-09-10 21:47 UTC (permalink / raw)
To: David Ahern; +Cc: kbuild-all, netdev
tree: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git master
head: 11957be20ff68d7670cb979a1c3ea5482a44b370
commit: 0153167aebd0808fb90031dba07d4e696557474c [89/93] net/ipv6: Remove rt6i_prefsrc
reproduce:
# apt-get install sparse
git checkout 0153167aebd0808fb90031dba07d4e696557474c
make ARCH=x86_64 allmodconfig
make C=1 CF=-D__CHECK_ENDIAN__
sparse warnings: (new ones prefixed by >>)
>> drivers/scsi/cxgbi/libcxgbi.c:787:43: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct in6_addr const *a @@ got struct in6_struct in6_addr const *a @@
drivers/scsi/cxgbi/libcxgbi.c:787:43: expected struct in6_addr const *a
drivers/scsi/cxgbi/libcxgbi.c:787:43: got struct in6_addr [noderef] <asn:4>*<noident>
drivers/scsi/cxgbi/libcxgbi.c:1040:21: sparse: restricted __wsum degrades to integer
drivers/scsi/cxgbi/libcxgbi.c:1045:33: sparse: bad assignment (-=) to restricted __wsum
drivers/scsi/cxgbi/libcxgbi.c:1049:33: sparse: invalid assignment: -=
drivers/scsi/cxgbi/libcxgbi.c:1049:33: left side has type unsigned int
drivers/scsi/cxgbi/libcxgbi.c:1049:33: right side has type restricted __wsum
drivers/scsi/cxgbi/libcxgbi.h:396:19: sparse: invalid assignment: +=
drivers/scsi/cxgbi/libcxgbi.h:396:19: left side has type int
drivers/scsi/cxgbi/libcxgbi.h:396:19: right side has type restricted __wsum
drivers/scsi/cxgbi/libcxgbi.c:1426:19: sparse: cast to restricted __be32
drivers/scsi/cxgbi/libcxgbi.c:1426:19: sparse: cast to restricted __be32
drivers/scsi/cxgbi/libcxgbi.c:1426:19: sparse: cast to restricted __be32
drivers/scsi/cxgbi/libcxgbi.c:1426:19: sparse: cast to restricted __be32
drivers/scsi/cxgbi/libcxgbi.c:1426:19: sparse: cast to restricted __be32
drivers/scsi/cxgbi/libcxgbi.c:1426:19: sparse: cast to restricted __be32
drivers/scsi/cxgbi/libcxgbi.c:1502:19: sparse: cast to restricted __be32
drivers/scsi/cxgbi/libcxgbi.c:1502:19: sparse: cast to restricted __be32
drivers/scsi/cxgbi/libcxgbi.c:1502:19: sparse: cast to restricted __be32
drivers/scsi/cxgbi/libcxgbi.c:1502:19: sparse: cast to restricted __be32
drivers/scsi/cxgbi/libcxgbi.c:1502:19: sparse: cast to restricted __be32
drivers/scsi/cxgbi/libcxgbi.c:1502:19: sparse: cast to restricted __be32
drivers/scsi/cxgbi/libcxgbi.c:1663:17: sparse: cast to restricted __be32
drivers/scsi/cxgbi/libcxgbi.c:1663:17: sparse: cast from restricted itt_t
drivers/scsi/cxgbi/libcxgbi.c:1663:17: sparse: cast to restricted __be32
drivers/scsi/cxgbi/libcxgbi.c:1663:17: sparse: cast from restricted itt_t
drivers/scsi/cxgbi/libcxgbi.c:1663:17: sparse: cast to restricted __be32
drivers/scsi/cxgbi/libcxgbi.c:1663:17: sparse: cast from restricted itt_t
drivers/scsi/cxgbi/libcxgbi.c:1663:17: sparse: cast to restricted __be32
drivers/scsi/cxgbi/libcxgbi.c:1663:17: sparse: cast from restricted itt_t
drivers/scsi/cxgbi/libcxgbi.c:1663:17: sparse: cast to restricted __be32
drivers/scsi/cxgbi/libcxgbi.c:1663:17: sparse: cast from restricted itt_t
drivers/scsi/cxgbi/libcxgbi.c:1663:17: sparse: cast to restricted __be32
drivers/scsi/cxgbi/libcxgbi.c:1663:17: sparse: cast from restricted itt_t
drivers/scsi/cxgbi/libcxgbi.c:1856:24: sparse: expression using sizeof(void)
drivers/scsi/cxgbi/libcxgbi.c:1856:24: sparse: expression using sizeof(void)
drivers/scsi/cxgbi/libcxgbi.c:1902:29: sparse: expression using sizeof(void)
drivers/scsi/cxgbi/libcxgbi.c:1902:29: sparse: expression using sizeof(void)
drivers/scsi/cxgbi/libcxgbi.c:1931:9: sparse: cast to restricted __be32
drivers/scsi/cxgbi/libcxgbi.c:1931:9: sparse: cast from restricted itt_t
drivers/scsi/cxgbi/libcxgbi.c:1931:9: sparse: cast to restricted __be32
drivers/scsi/cxgbi/libcxgbi.c:1931:9: sparse: cast from restricted itt_t
drivers/scsi/cxgbi/libcxgbi.c:1931:9: sparse: cast to restricted __be32
drivers/scsi/cxgbi/libcxgbi.c:1931:9: sparse: cast from restricted itt_t
drivers/scsi/cxgbi/libcxgbi.c:1931:9: sparse: cast to restricted __be32
drivers/scsi/cxgbi/libcxgbi.c:1931:9: sparse: cast from restricted itt_t
drivers/scsi/cxgbi/libcxgbi.c:1931:9: sparse: cast to restricted __be32
drivers/scsi/cxgbi/libcxgbi.c:1931:9: sparse: cast from restricted itt_t
drivers/scsi/cxgbi/libcxgbi.c:1931:9: sparse: cast to restricted __be32
drivers/scsi/cxgbi/libcxgbi.c:1931:9: sparse: cast from restricted itt_t
drivers/scsi/cxgbi/libcxgbi.c:1964:9: sparse: cast to restricted __be32
drivers/scsi/cxgbi/libcxgbi.c:1964:9: sparse: cast from restricted itt_t
drivers/scsi/cxgbi/libcxgbi.c:1964:9: sparse: cast to restricted __be32
drivers/scsi/cxgbi/libcxgbi.c:1964:9: sparse: cast from restricted itt_t
drivers/scsi/cxgbi/libcxgbi.c:1964:9: sparse: cast to restricted __be32
drivers/scsi/cxgbi/libcxgbi.c:1964:9: sparse: cast from restricted itt_t
drivers/scsi/cxgbi/libcxgbi.c:1964:9: sparse: cast to restricted __be32
drivers/scsi/cxgbi/libcxgbi.c:1964:9: sparse: cast from restricted itt_t
drivers/scsi/cxgbi/libcxgbi.c:1964:9: sparse: cast to restricted __be32
drivers/scsi/cxgbi/libcxgbi.c:1964:9: sparse: cast from restricted itt_t
drivers/scsi/cxgbi/libcxgbi.c:1964:9: sparse: cast to restricted __be32
drivers/scsi/cxgbi/libcxgbi.c:1964:9: sparse: cast from restricted itt_t
drivers/scsi/cxgbi/libcxgbi.c:2202:28: sparse: expression using sizeof(void)
drivers/scsi/cxgbi/libcxgbi.c:2202:28: sparse: expression using sizeof(void)
drivers/scsi/cxgbi/libcxgbi.c:2204:15: sparse: expression using sizeof(void)
drivers/scsi/cxgbi/libcxgbi.c:2204:15: sparse: expression using sizeof(void)
drivers/scsi/cxgbi/libcxgbi.c:2206:42: sparse: expression using sizeof(void)
drivers/scsi/cxgbi/libcxgbi.c:2206:42: sparse: expression using sizeof(void)
drivers/scsi/cxgbi/libcxgbi.c:2228:42: sparse: expression using sizeof(void)
drivers/scsi/cxgbi/libcxgbi.c:2228:42: sparse: expression using sizeof(void)
>> drivers/scsi/cxgbi/libcxgbi.c:798:32: sparse: dereference of noderef expression
vim +787 drivers/scsi/cxgbi/libcxgbi.c
710
711 static struct cxgbi_sock *
712 cxgbi_check_route6(struct sockaddr *dst_addr, int ifindex)
713 {
714 struct sockaddr_in6 *daddr6 = (struct sockaddr_in6 *)dst_addr;
715 struct dst_entry *dst;
716 struct net_device *ndev;
717 struct cxgbi_device *cdev;
718 struct rt6_info *rt = NULL;
719 struct neighbour *n;
720 struct in6_addr pref_saddr;
721 struct cxgbi_sock *csk = NULL;
722 unsigned int mtu = 0;
723 int port = 0xFFFF;
724 int err = 0;
725
726 rt = find_route_ipv6(NULL, &daddr6->sin6_addr, ifindex);
727
728 if (!rt) {
729 pr_info("no route to ipv6 %pI6 port %u\n",
730 daddr6->sin6_addr.s6_addr,
731 be16_to_cpu(daddr6->sin6_port));
732 err = -ENETUNREACH;
733 goto err_out;
734 }
735
736 dst = &rt->dst;
737
738 n = dst_neigh_lookup(dst, &daddr6->sin6_addr);
739
740 if (!n) {
741 pr_info("%pI6, port %u, dst no neighbour.\n",
742 daddr6->sin6_addr.s6_addr,
743 be16_to_cpu(daddr6->sin6_port));
744 err = -ENETUNREACH;
745 goto rel_rt;
746 }
747 ndev = n->dev;
748
749 if (!(ndev->flags & IFF_UP) || !netif_carrier_ok(ndev)) {
750 pr_info("%s interface not up.\n", ndev->name);
751 err = -ENETDOWN;
752 goto rel_rt;
753 }
754
755 if (ipv6_addr_is_multicast(&daddr6->sin6_addr)) {
756 pr_info("multi-cast route %pI6 port %u, dev %s.\n",
757 daddr6->sin6_addr.s6_addr,
758 ntohs(daddr6->sin6_port), ndev->name);
759 err = -ENETUNREACH;
760 goto rel_rt;
761 }
762
763 cdev = cxgbi_device_find_by_netdev(ndev, &port);
764 if (!cdev)
765 cdev = cxgbi_device_find_by_mac(ndev, &port);
766 if (!cdev) {
767 pr_info("dst %pI6 %s, NOT cxgbi device.\n",
768 daddr6->sin6_addr.s6_addr, ndev->name);
769 err = -ENETUNREACH;
770 goto rel_rt;
771 }
772 log_debug(1 << CXGBI_DBG_SOCK,
773 "route to %pI6 :%u, ndev p#%d,%s, cdev 0x%p.\n",
774 daddr6->sin6_addr.s6_addr, ntohs(daddr6->sin6_port), port,
775 ndev->name, cdev);
776
777 csk = cxgbi_sock_create(cdev);
778 if (!csk) {
779 err = -ENOMEM;
780 goto rel_rt;
781 }
782 csk->cdev = cdev;
783 csk->port_id = port;
784 csk->mtu = mtu;
785 csk->dst = dst;
786
> 787 if (!rt->from || ipv6_addr_any(&rt->from->fib6_prefsrc.addr)) {
788 struct inet6_dev *idev = ip6_dst_idev((struct dst_entry *)rt);
789
790 err = ipv6_dev_get_saddr(&init_net, idev ? idev->dev : NULL,
791 &daddr6->sin6_addr, 0, &pref_saddr);
792 if (err) {
793 pr_info("failed to get source address to reach %pI6\n",
794 &daddr6->sin6_addr);
795 goto rel_rt;
796 }
797 } else {
> 798 pref_saddr = rt->from->fib6_prefsrc.addr;
799 }
800
801 csk->csk_family = AF_INET6;
802 csk->daddr6.sin6_addr = daddr6->sin6_addr;
803 csk->daddr6.sin6_port = daddr6->sin6_port;
804 csk->daddr6.sin6_family = daddr6->sin6_family;
805 csk->saddr6.sin6_family = daddr6->sin6_family;
806 csk->saddr6.sin6_addr = pref_saddr;
807
808 neigh_release(n);
809 return csk;
810
811 rel_rt:
812 if (n)
813 neigh_release(n);
814
815 ip6_rt_put(rt);
816 if (csk)
817 cxgbi_sock_closed(csk);
818 err_out:
819 return ERR_PTR(err);
820 }
821 #endif /* IS_ENABLED(CONFIG_IPV6) */
822
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2018-09-11 2:44 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-10 21:47 [net-next:master 89/93] drivers/scsi/cxgbi/libcxgbi.c:787:43: sparse: incorrect type in argument 1 (different address spaces) kbuild test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.