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
| ||
|
Message-ID: <20071005171407.19c65258@freepuppy.rosehill> Date: Fri, 5 Oct 2007 17:14:07 -0700 From: Stephen Hemminger <shemminger@...ux-foundation.org> To: "David S. Miller" <davem@...emloft.net> Cc: netdev@...r.kernel.org Subject: [PATCH net-2.6.24] net: sparse warning fixes Fix a bunch of sparse warnings. Mostly about 0 used as NULL pointer, and shadowed variable declarations. The two noteable changes are: * hash size should have been unsigned * cls_u32 had a case where error code wasn't been propogated properly, so it could return 0 but still have an error. Signed-off-by: Stephen Hemminger <shemminger@...ux-foundation.org> --- include/net/inet_hashtables.h | 2 +- include/net/sock.h | 22 +++++++++++----------- net/appletalk/aarp.c | 2 -- net/atm/signaling.c | 2 +- net/core/dev.c | 4 ++-- net/core/pktgen.c | 32 +++++++++++++++----------------- net/core/scm.c | 9 ++++++--- net/ipv4/igmp.c | 5 ++--- net/ipv4/inet_lro.c | 2 +- net/ipv4/ip_sockglue.c | 6 +++--- net/ipv4/proc.c | 2 +- net/ipv4/route.c | 4 ++-- net/ipv4/tcp_input.c | 2 +- net/ipv6/anycast.c | 2 +- net/ipv6/ipv6_sockglue.c | 2 +- net/ipv6/mcast.c | 4 ++-- net/ipv6/ndisc.c | 2 +- net/sched/cls_u32.c | 4 ++-- net/socket.c | 2 +- 19 files changed, 54 insertions(+), 56 deletions(-) Some of the warnings: net/socket.c:1856:32: warning: cast adds address space to expression (<asn:1>) net/socket.c:1932:11: warning: cast adds address space to expression (<asn:1>) net/socket.c:2273:47: warning: incorrect type in argument 4 (different address spaces) net/socket.c:2273:47: expected char [noderef] <asn:1>*optval net/socket.c:2273:47: got char *optval net/socket.c:2273:55: warning: incorrect type in argument 5 (different address spaces) net/socket.c:2273:55: expected int [noderef] <asn:1>*optlen net/socket.c:2273:55: got int *optlen net/socket.c:2275:53: warning: incorrect type in argument 4 (different address spaces) net/socket.c:2275:53: expected char [noderef] <asn:1>*optval net/socket.c:2275:53: got char *optval net/socket.c:2276:10: warning: incorrect type in argument 5 (different address spaces) net/socket.c:2276:10: expected int [noderef] <asn:1>*optlen net/socket.c:2276:10: got int *optlen net/socket.c:2289:47: warning: incorrect type in argument 4 (different address spaces) net/socket.c:2289:47: expected char [noderef] <asn:1>*optval net/socket.c:2289:47: got char *optval net/socket.c:2291:53: warning: incorrect type in argument 4 (different address spaces) net/socket.c:2291:53: expected char [noderef] <asn:1>*optval net/socket.c:2291:53: got char *optval net/appletalk/aarp.c:825:23: warning: symbol 'a' shadows an earlier one net/appletalk/aarp.c:715:20: originally declared here include/linux/mm.h:587:9: warning: potentially expensive pointer subtraction net/atm/signaling.c:233:19: warning: symbol 'vcc' shadows an earlier one net/atm/signaling.c:216:39: originally declared here net/atm/mpc.c:101:20: warning: symbol 'mpcs' was not declared. Should it be static? net/core/sock.c:1349:7: warning: symbol 'rc' shadows an earlier one net/core/sock.c:1344:6: originally declared here net/core/sock.c:819:61: warning: incorrect type in argument 3 (different signedness) net/core/sock.c:819:61: expected int *sockaddr_len net/core/sock.c:819:61: got unsigned int *<noident> net/core/iovec.c:45:31: warning: incorrect type in argument 1 (different address spaces) net/core/iovec.c:45:31: expected void [noderef] <asn:1>*uaddr net/core/iovec.c:45:31: got void *msg_name net/core/iovec.c:56:27: warning: incorrect type in argument 2 (different address spaces) net/core/iovec.c:56:27: expected void const [noderef] <asn:1>*from net/core/iovec.c:56:27: got struct iovec *msg_iov net/core/scm.c:170:31: warning: cast adds address space to expression (<asn:1>) net/core/scm.c:193:19: warning: cast removes address space of expression net/core/scm.c:193:19: warning: incorrect type in argument 1 (different address spaces) net/core/scm.c:193:19: expected void [noderef] <asn:1>*to net/core/scm.c:193:19: got void *<noident> net/core/scm.c:205:31: warning: cast adds address space to expression (<asn:1>) net/core/scm.c:225:33: warning: cast removes address space of expression net/core/scm.c:225:20: warning: cast adds address space to expression (<asn:1>) net/core/dev.c:813:7: warning: incorrect type in argument 1 (different signedness) net/core/dev.c:813:7: expected unsigned long const *addr net/core/dev.c:813:7: got long *[assigned] inuse net/core/dev.c:1878:29: warning: symbol 'br_fdb_get_hook' was not declared. Should it be static? net/core/dev.c:1880:6: warning: symbol 'br_fdb_put_hook' was not declared. Should it be static? net/core/rtnetlink.c:1073:27: error: bad constant expression net/core/net-sysfs.c:452:6: warning: symbol 'netdev_unregister_kobject' was not declared. Should it be static? net/core/net-sysfs.c:461:5: warning: symbol 'netdev_register_kobject' was not declared. Should it be static? net/core/net-sysfs.c:487:5: warning: symbol 'netdev_kobject_init' was not declared. Should it be static? net/core/pktgen.c:1566:15: warning: symbol 'offset' shadows an earlier one net/core/pktgen.c:908:18: originally declared here net/core/pktgen.c:2749:9: warning: symbol 'tmp' shadows an earlier one net/core/pktgen.c:2733:9: originally declared here net/core/pktgen.c:2782:9: warning: symbol 'tmp' shadows an earlier one net/core/pktgen.c:2733:9: originally declared here net/core/pktgen.c:953:17: error: bad constant expression net/ipv4/route.c:596:16: warning: Using plain integer as NULL pointer net/ipv4/route.c:2980:7: warning: incorrect type in argument 6 (different signedness) net/ipv4/route.c:2980:7: expected unsigned int *_hash_shift net/ipv4/route.c:2980:7: got int static [toplevel] *<noident> net/ipv4/ip_sockglue.c:662:14: warning: Using plain integer as NULL pointer net/ipv4/ip_sockglue.c:819:14: warning: Using plain integer as NULL pointer net/ipv4/ip_sockglue.c:839:14: warning: Using plain integer as NULL pointer net/ipv4/ip_sockglue.c:1121:19: warning: incorrect type in assignment (different address spaces) net/ipv4/ip_sockglue.c:1121:19: expected void *msg_control net/ipv4/ip_sockglue.c:1121:19: got char [noderef] <asn:1>*optval net/ipv4/tcp.c:2471:7: warning: incorrect type in argument 6 (different signedness) net/ipv4/tcp.c:2471:7: expected unsigned int *_hash_shift net/ipv4/tcp.c:2471:7: got int extern [toplevel] *<noident> net/ipv4/tcp_input.c:2703:37: warning: symbol 'icsk' shadows an earlier one net/ipv4/tcp_input.c:2578:36: originally declared here net/ipv4/igmp.c:1698:20: warning: symbol 'in_dev' shadows an earlier one net/ipv4/igmp.c:1656:43: originally declared here net/ipv4/igmp.c:2170:22: warning: symbol 'psin' shadows an earlier one net/ipv4/igmp.c:2135:21: originally declared here net/ipv4/igmp.c:1802:21: warning: Using plain integer as NULL pointer net/ipv4/fib_semantics.c:1071:4: warning: symbol 'nh' shadows an earlier one net/ipv4/fib_semantics.c:1060:17: originally declared here net/ipv4/fib_semantics.c:1136:3: warning: symbol 'nh' shadows an earlier one net/ipv4/fib_semantics.c:1115:16: originally declared here net/ipv4/proc.c:147:4: warning: Using plain integer as NULL pointer net/ipv4/ipmr.c:957:10: warning: symbol 'ret' shadows an earlier one net/ipv4/ipmr.c:872:6: originally declared here net/ipv4/ipmr.c:144:26: warning: incorrect type in assignment (different address spaces) net/ipv4/ipmr.c:144:26: expected void [noderef] <asn:1>*ifru_data net/ipv4/ipmr.c:144:26: got void *<noident> net/ipv4/tcp_htcp.c:185:11: warning: symbol '_x' shadows an earlier one net/ipv4/tcp_htcp.c:185:11: originally declared here net/ipv4/esp4.c:174:10: error: bad constant expression net/ipv4/ipcomp.c:53:63: warning: incorrect type in argument 5 (different signedness) net/ipv4/ipcomp.c:53:63: expected unsigned int *dlen net/ipv4/ipcomp.c:53:63: got int *<noident> net/ipv4/ipcomp.c:108:61: warning: incorrect type in argument 5 (different signedness) net/ipv4/ipcomp.c:108:61: expected unsigned int *dlen net/ipv4/ipcomp.c:108:61: got int *<noident> net/ipv4/inet_lro.c:485:10: warning: Using plain integer as NULL pointer net/ipv4/tcp_yeah.c:224:15: warning: symbol '_x' shadows an earlier one net/ipv4/tcp_yeah.c:224:15: originally declared here net/ipv4/tcp_yeah.c:224:15: warning: symbol '_x' shadows an earlier one net/ipv4/tcp_yeah.c:224:15: originally declared here net/ipv4/tcp_yeah.c:224:15: warning: symbol '_y' shadows an earlier one net/ipv4/tcp_yeah.c:224:15: originally declared here net/ipv6/anycast.c:417:17: warning: Using plain integer as NULL pointer net/ipv6/addrconf.c:1891:29: warning: cast adds address space to expression (<asn:1>) net/ipv6/ipv6_sockglue.c:666:14: warning: Using plain integer as NULL pointer net/ipv6/ipv6_sockglue.c:875:19: warning: incorrect type in assignment (different address spaces) net/ipv6/ipv6_sockglue.c:875:19: expected void *msg_control net/ipv6/ipv6_sockglue.c:875:19: got char [noderef] <asn:1>*optval net/ipv6/ndisc.c:259:53: warning: Using plain integer as NULL pointer net/ipv6/udplite.c:43:14: warning: symbol 'udplitev6_prot' was not declared. Should it be static? net/ipv6/udplite.c:77:13: warning: symbol 'udplitev6_init' was not declared. Should it be static? net/ipv6/mcast.c:2074:20: warning: symbol 'idev' shadows an earlier one net/ipv6/mcast.c:2034:44: originally declared here net/ipv6/mcast.c:1410:13: warning: Using plain integer as NULL pointer net/ipv6/mcast.c:2147:21: warning: Using plain integer as NULL pointer net/ipv6/esp6.c:168:10: error: bad constant expression net/ipv6/ipcomp6.c:94:59: warning: incorrect type in argument 5 (different signedness) net/ipv6/ipcomp6.c:94:59: expected unsigned int *dlen net/ipv6/ipcomp6.c:94:59: got int *<noident> net/ipv6/ipcomp6.c:150:57: warning: incorrect type in argument 5 (different signedness) net/ipv6/ipcomp6.c:150:57: expected unsigned int *dlen net/ipv6/ipcomp6.c:150:57: got int *<noident> net/ipx/af_ipx.c:1553:23: warning: symbol 'uaddr' shadows an earlier one net/ipx/af_ipx.c:1535:61: originally declared here net/ipx/af_ipx.c:70:5: warning: symbol 'sysctl_ipx_pprop_broadcasting' was not declared. Should it be static? net/netlabel/netlabel_cipso_v4.c:668:21: warning: incorrect type in argument 1 (different signedness) net/netlabel/netlabel_cipso_v4.c:668:21: expected unsigned int [usertype] *skip_cnt net/netlabel/netlabel_cipso_v4.c:668:21: got int *<noident> net/sched/cls_u32.c:505:7: warning: symbol 'err' shadows an earlier one net/sched/cls_u32.c:468:6: originally declared here net/sched/cls_u32.c:595:27: warning: Using plain integer as NULL pointer --- a/include/net/inet_hashtables.h 2007-10-05 17:01:25.000000000 -0700 +++ b/include/net/inet_hashtables.h 2007-10-05 17:05:20.000000000 -0700 @@ -107,7 +107,7 @@ struct inet_hashinfo { */ struct inet_bind_hashbucket *bhash; - int bhash_size; + unsigned int bhash_size; unsigned int ehash_size; /* All sockets in TCP_LISTEN state will be in here. This is the only --- a/include/net/sock.h 2007-10-05 17:01:25.000000000 -0700 +++ b/include/net/sock.h 2007-10-05 17:05:20.000000000 -0700 @@ -485,17 +485,17 @@ static inline void sk_add_backlog(struct skb->next = NULL; } -#define sk_wait_event(__sk, __timeo, __condition) \ -({ int rc; \ - release_sock(__sk); \ - rc = __condition; \ - if (!rc) { \ - *(__timeo) = schedule_timeout(*(__timeo)); \ - } \ - lock_sock(__sk); \ - rc = __condition; \ - rc; \ -}) +#define sk_wait_event(__sk, __timeo, __condition) \ + ({ int __rc; \ + release_sock(__sk); \ + __rc = __condition; \ + if (!__rc) { \ + *(__timeo) = schedule_timeout(*(__timeo)); \ + } \ + lock_sock(__sk); \ + __rc = __condition; \ + __rc; \ + }) extern int sk_stream_wait_connect(struct sock *sk, long *timeo_p); extern int sk_stream_wait_memory(struct sock *sk, long *timeo_p); --- a/net/appletalk/aarp.c 2007-10-05 17:01:25.000000000 -0700 +++ b/net/appletalk/aarp.c 2007-10-05 17:05:20.000000000 -0700 @@ -822,8 +822,6 @@ static int aarp_rcv(struct sk_buff *skb, * address. So as a precaution flush any * entries we have for this address. */ - struct aarp_entry *a; - a = __aarp_find_entry(resolved[sa.s_node % (AARP_HASH_SIZE - 1)], skb->dev, &sa); --- a/net/atm/signaling.c 2007-10-05 17:01:25.000000000 -0700 +++ b/net/atm/signaling.c 2007-10-05 17:05:20.000000000 -0700 @@ -230,7 +230,7 @@ static void sigd_close(struct atm_vcc *v struct hlist_head *head = &vcc_hash[i]; sk_for_each(s, node, head) { - struct atm_vcc *vcc = atm_sk(s); + vcc = atm_sk(s); purge_vcc(vcc); } --- a/net/core/dev.c 2007-10-05 17:01:25.000000000 -0700 +++ b/net/core/dev.c 2007-10-05 17:05:20.000000000 -0700 @@ -780,7 +780,7 @@ static int __dev_alloc_name(struct net * int i = 0; const char *p; const int max_netdevices = 8*PAGE_SIZE; - long *inuse; + unsigned long *inuse; struct net_device *d; p = strnchr(name, IFNAMSIZ-1, '%'); @@ -794,7 +794,7 @@ static int __dev_alloc_name(struct net * return -EINVAL; /* Use one page as a bit array of possible slots */ - inuse = (long *) get_zeroed_page(GFP_ATOMIC); + inuse = (unsigned long *) get_zeroed_page(GFP_ATOMIC); if (!inuse) return -ENOMEM; --- a/net/core/pktgen.c 2007-10-05 17:01:25.000000000 -0700 +++ b/net/core/pktgen.c 2007-10-05 17:05:20.000000000 -0700 @@ -6,7 +6,7 @@ * * Alexey Kuznetsov <kuznet@....inr.ac.ru> * Ben Greear <greearb@...delatech.com> - * Jens Låås <jens.laas@...a.slu.se> + * Jens Låås <jens.laas@...a.slu.se> * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -1563,15 +1563,17 @@ static ssize_t pktgen_if_write(struct fi } if (!strcmp(name, "mpls")) { - unsigned n, offset; + unsigned n, cnt; + len = get_labels(&user_buffer[i], pkt_dev); - if (len < 0) { return len; } + if (len < 0) + return len; i += len; - offset = sprintf(pg_result, "OK: mpls="); + cnt = sprintf(pg_result, "OK: mpls="); for (n = 0; n < pkt_dev->nr_labels; n++) - offset += sprintf(pg_result + offset, - "%08x%s", ntohl(pkt_dev->labels[n]), - n == pkt_dev->nr_labels-1 ? "" : ","); + cnt += sprintf(pg_result + cnt, + "%08x%s", ntohl(pkt_dev->labels[n]), + n == pkt_dev->nr_labels-1 ? "" : ","); if (pkt_dev->nr_labels && pkt_dev->vlan_id != 0xffff) { pkt_dev->vlan_id = 0xffff; /* turn off VLAN/SVLAN */ @@ -2731,6 +2733,7 @@ static unsigned int scan_ip6(const char unsigned int prefixlen = 0; unsigned int suffixlen = 0; __be32 tmp; + char *pos; for (i = 0; i < 16; i++) ip[i] = 0; @@ -2745,12 +2748,9 @@ static unsigned int scan_ip6(const char } s++; } - { - char *tmp; - u = simple_strtoul(s, &tmp, 16); - i = tmp - s; - } + u = simple_strtoul(s, &pos, 16); + i = pos - s; if (!i) return 0; if (prefixlen == 12 && s[i] == '.') { @@ -2778,11 +2778,9 @@ static unsigned int scan_ip6(const char len++; } else if (suffixlen != 0) break; - { - char *tmp; - u = simple_strtol(s, &tmp, 16); - i = tmp - s; - } + + u = simple_strtol(s, &pos, 16); + i = pos - s; if (!i) { if (*s) len--; --- a/net/core/scm.c 2007-10-05 17:01:25.000000000 -0700 +++ b/net/core/scm.c 2007-10-05 17:05:20.000000000 -0700 @@ -167,7 +167,8 @@ error: int put_cmsg(struct msghdr * msg, int level, int type, int len, void *data) { - struct cmsghdr __user *cm = (struct cmsghdr __user *)msg->msg_control; + struct cmsghdr __user *cm + = (__force struct cmsghdr __user *)msg->msg_control; struct cmsghdr cmhdr; int cmlen = CMSG_LEN(len); int err; @@ -202,7 +203,8 @@ out: void scm_detach_fds(struct msghdr *msg, struct scm_cookie *scm) { - struct cmsghdr __user *cm = (struct cmsghdr __user*)msg->msg_control; + struct cmsghdr __user *cm + = (__force struct cmsghdr __user*)msg->msg_control; int fdmax = 0; int fdnum = scm->fp->count; @@ -222,7 +224,8 @@ void scm_detach_fds(struct msghdr *msg, if (fdnum < fdmax) fdmax = fdnum; - for (i=0, cmfptr=(int __user *)CMSG_DATA(cm); i<fdmax; i++, cmfptr++) + for (i=0, cmfptr=(__force int __user *)CMSG_DATA(cm); i<fdmax; + i++, cmfptr++) { int new_fd; err = security_file_receive(fp[i]); --- a/net/ipv4/igmp.c 2007-10-05 17:01:25.000000000 -0700 +++ b/net/ipv4/igmp.c 2007-10-05 17:05:20.000000000 -0700 @@ -1695,8 +1695,8 @@ static int ip_mc_add_src(struct in_devic (void) ip_mc_del1_src(pmc, sfmode, &psfsrc[i]); } else if (isexclude != (pmc->sfcount[MCAST_EXCLUDE] != 0)) { #ifdef CONFIG_IP_MULTICAST - struct in_device *in_dev = pmc->interface; struct ip_sf_list *psf; + in_dev = pmc->interface; #endif /* filter mode change */ @@ -1799,7 +1799,7 @@ static int ip_mc_leave_src(struct sock * { int err; - if (iml->sflist == 0) { + if (iml->sflist == NULL) { /* any-source empty exclude case */ return ip_mc_del_src(in_dev, &iml->multi.imr_multiaddr.s_addr, iml->sfmode, 0, NULL, 0); @@ -2167,7 +2167,6 @@ int ip_mc_gsfget(struct sock *sk, struct return -EFAULT; } for (i=0; i<copycount; i++) { - struct sockaddr_in *psin; struct sockaddr_storage ss; psin = (struct sockaddr_in *)&ss; --- a/net/ipv4/inet_lro.c 2007-10-05 17:01:25.000000000 -0700 +++ b/net/ipv4/inet_lro.c 2007-10-05 17:05:20.000000000 -0700 @@ -482,7 +482,7 @@ static struct sk_buff *__lro_proc_segmen lro_init_desc(lro_desc, skb, iph, tcph, 0, NULL); LRO_INC_STATS(lro_mgr, aggregated); - return 0; + return NULL; } if (lro_desc->tcp_next_seq != ntohl(tcph->seq)) --- a/net/ipv4/ip_sockglue.c 2007-10-05 17:01:25.000000000 -0700 +++ b/net/ipv4/ip_sockglue.c 2007-10-05 17:05:20.000000000 -0700 @@ -659,7 +659,7 @@ static int do_ip_setsockopt(struct sock break; } msf = kmalloc(optlen, GFP_KERNEL); - if (msf == 0) { + if (!msf) { err = -ENOBUFS; break; } @@ -816,7 +816,7 @@ static int do_ip_setsockopt(struct sock break; } gsf = kmalloc(optlen,GFP_KERNEL); - if (gsf == 0) { + if (!gsf) { err = -ENOBUFS; break; } @@ -836,7 +836,7 @@ static int do_ip_setsockopt(struct sock } msize = IP_MSFILTER_SIZE(gsf->gf_numsrc); msf = kmalloc(msize,GFP_KERNEL); - if (msf == 0) { + if (!msf) { err = -ENOBUFS; goto mc_msf_out; } --- a/net/ipv4/proc.c 2007-10-05 17:01:25.000000000 -0700 +++ b/net/ipv4/proc.c 2007-10-05 17:05:20.000000000 -0700 @@ -144,7 +144,7 @@ static struct { { "TimestampReps", ICMP_TIMESTAMPREPLY }, { "AddrMasks", ICMP_ADDRESS }, { "AddrMaskReps", ICMP_ADDRESSREPLY }, - { 0, 0 } + { NULL, 0 } }; --- a/net/ipv4/route.c 2007-10-05 17:01:25.000000000 -0700 +++ b/net/ipv4/route.c 2007-10-05 17:05:20.000000000 -0700 @@ -246,7 +246,7 @@ static spinlock_t *rt_hash_locks; static struct rt_hash_bucket *rt_hash_table; static unsigned rt_hash_mask; -static int rt_hash_log; +static unsigned int rt_hash_log; static unsigned int rt_hash_rnd; static DEFINE_PER_CPU(struct rt_cache_stat, rt_cache_stat); @@ -593,7 +593,7 @@ static void rt_check_expire(struct work_ i = (i + 1) & rt_hash_mask; rthp = &rt_hash_table[i].chain; - if (*rthp == 0) + if (*rthp == NULL) continue; spin_lock_bh(rt_hash_lock_addr(i)); while ((rth = *rthp) != NULL) { --- a/net/ipv4/tcp_input.c 2007-10-05 17:01:25.000000000 -0700 +++ b/net/ipv4/tcp_input.c 2007-10-05 17:05:20.000000000 -0700 @@ -2700,7 +2700,7 @@ static int tcp_clean_rtx_queue(struct so BUG_TRAP((int)tp->lost_out >= 0); BUG_TRAP((int)tp->retrans_out >= 0); if (!tp->packets_out && tcp_is_sack(tp)) { - const struct inet_connection_sock *icsk = inet_csk(sk); + icsk = inet_csk(sk); if (tp->lost_out) { printk(KERN_DEBUG "Leak l=%u %d\n", tp->lost_out, icsk->icsk_ca_state); --- a/net/ipv6/anycast.c 2007-10-05 17:01:25.000000000 -0700 +++ b/net/ipv6/anycast.c 2007-10-05 17:05:20.000000000 -0700 @@ -414,7 +414,7 @@ static int ipv6_chk_acast_dev(struct net break; read_unlock_bh(&idev->lock); in6_dev_put(idev); - return aca != 0; + return aca != NULL; } return 0; } --- a/net/ipv6/ipv6_sockglue.c 2007-10-05 17:01:25.000000000 -0700 +++ b/net/ipv6/ipv6_sockglue.c 2007-10-05 17:05:20.000000000 -0700 @@ -663,7 +663,7 @@ done: break; } gsf = kmalloc(optlen,GFP_KERNEL); - if (gsf == 0) { + if (!gsf) { retv = -ENOBUFS; break; } --- a/net/ipv6/mcast.c 2007-10-05 17:01:25.000000000 -0700 +++ b/net/ipv6/mcast.c 2007-10-05 17:05:20.000000000 -0700 @@ -1407,7 +1407,7 @@ static struct sk_buff *mld_newpack(struc /* we assume size > sizeof(ra) here */ skb = sock_alloc_send_skb(sk, size + LL_RESERVED_SPACE(dev), 1, &err); - if (skb == 0) + if (!skb) return NULL; skb_reserve(skb, LL_RESERVED_SPACE(dev)); @@ -2144,7 +2144,7 @@ static int ip6_mc_leave_src(struct sock /* callers have the socket lock and a write lock on ipv6_sk_mc_lock, * so no other readers or writers of iml or its sflist */ - if (iml->sflist == 0) { + if (!iml->sflist) { /* any-source empty exclude case */ return ip6_mc_del_src(idev, &iml->addr, iml->sfmode, 0, NULL, 0); } --- a/net/ipv6/ndisc.c 2007-10-05 17:01:25.000000000 -0700 +++ b/net/ipv6/ndisc.c 2007-10-05 17:05:20.000000000 -0700 @@ -256,7 +256,7 @@ static struct ndisc_options *ndisc_parse break; case ND_OPT_PREFIX_INFO: ndopts->nd_opts_pi_end = nd_opt; - if (ndopts->nd_opt_array[nd_opt->nd_opt_type] == 0) + if (!ndopts->nd_opt_array[nd_opt->nd_opt_type]) ndopts->nd_opt_array[nd_opt->nd_opt_type] = nd_opt; break; #ifdef CONFIG_IPV6_ROUTE_INFO --- a/net/sched/cls_u32.c 2007-10-05 17:01:25.000000000 -0700 +++ b/net/sched/cls_u32.c 2007-10-05 17:05:20.000000000 -0700 @@ -502,7 +502,7 @@ static int u32_set_parms(struct tcf_prot #ifdef CONFIG_NET_CLS_IND if (tb[TCA_U32_INDEV-1]) { - int err = tcf_change_indev(tp, n->indev, tb[TCA_U32_INDEV-1]); + err = tcf_change_indev(tp, n->indev, tb[TCA_U32_INDEV-1]); if (err < 0) goto errout; } @@ -592,7 +592,7 @@ static int u32_change(struct tcf_proto * } else handle = gen_new_kid(ht, htid); - if (tb[TCA_U32_SEL-1] == 0 || + if (tb[TCA_U32_SEL-1] == NULL || RTA_PAYLOAD(tb[TCA_U32_SEL-1]) < sizeof(struct tc_u32_sel)) return -EINVAL; --- a/net/socket.c 2007-10-05 17:01:25.000000000 -0700 +++ b/net/socket.c 2007-10-05 17:05:20.000000000 -0700 @@ -1929,7 +1929,7 @@ asmlinkage long sys_recvmsg(int fd, stru * kernel msghdr to use the kernel address space) */ - uaddr = (void __user *)msg_sys.msg_name; + uaddr = (__force void __user *)msg_sys.msg_name; uaddr_len = COMPAT_NAMELEN(msg); if (MSG_CMSG_COMPAT & flags) { err = verify_compat_iovec(&msg_sys, iov, addr, VERIFY_WRITE); - 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