[NET]: Fix comparisons of unsigned < 0.
authorBill Nottingham <notting@redhat.com>
Fri, 1 Jun 2007 04:33:35 +0000 (21:33 -0700)
committerDavid S. Miller <davem@sunset.davemloft.net>
Mon, 4 Jun 2007 01:08:47 +0000 (18:08 -0700)
Recent gcc versions emit warnings when unsigned variables are
compared < 0 or >= 0.

Signed-off-by: Bill Nottingham <notting@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/8021q/vlan.c
net/dccp/probe.c
net/ipv6/netfilter/nf_conntrack_l3proto_ipv6.c
net/ipv6/netfilter/nf_conntrack_proto_icmpv6.c
net/sched/act_pedit.c
net/sctp/debug.c
net/sctp/sm_statetable.c
net/wanrouter/wanmain.c

index ceef57c9ab3260737e4909ce83c1eddfb529b7e4..de78c9dd713bbfb0bb0942bea0f98bd5ffb6179a 100644 (file)
@@ -736,8 +736,7 @@ static int vlan_ioctl_handler(void __user *arg)
        case SET_VLAN_NAME_TYPE_CMD:
                if (!capable(CAP_NET_ADMIN))
                        return -EPERM;
-               if ((args.u.name_type >= 0) &&
-                   (args.u.name_type < VLAN_NAME_TYPE_HIGHEST)) {
+               if (args.u.name_type < VLAN_NAME_TYPE_HIGHEST) {
                        vlan_name_type = args.u.name_type;
                        err = 0;
                } else {
index 1f5e3ba62065e76bf8c48b39b7a7a6a174800919..43a3adb027e7593ba9b15b366f3ae7d1b7843325 100644 (file)
@@ -128,7 +128,7 @@ static ssize_t dccpprobe_read(struct file *file, char __user *buf,
        int error = 0, cnt = 0;
        unsigned char *tbuf;
 
-       if (!buf || len < 0)
+       if (!buf)
                return -EINVAL;
 
        if (len == 0)
index 6d2a0820511104994dc90a08b4a14b8b52759741..dc442fb791b0c2c7dcc58a2c8d45eca3dc76ff4a 100644 (file)
@@ -177,8 +177,7 @@ static unsigned int ipv6_confirm(unsigned int hooknum,
 
        protoff = nf_ct_ipv6_skip_exthdr(*pskb, extoff, &pnum,
                                         (*pskb)->len - extoff);
-       if (protoff < 0 || protoff > (*pskb)->len ||
-           pnum == NEXTHDR_FRAGMENT) {
+       if (protoff > (*pskb)->len || pnum == NEXTHDR_FRAGMENT) {
                DEBUGP("proto header not found\n");
                return NF_ACCEPT;
        }
index 0be790d250f9c239f6f1977927fd53b3604537e4..8814b95b232630604eb4e568d7771bcda8e47cb6 100644 (file)
@@ -168,8 +168,7 @@ icmpv6_error_message(struct sk_buff *skb,
                                           skb->len - inip6off
                                                    - sizeof(struct ipv6hdr));
 
-       if ((inprotoff < 0) || (inprotoff > skb->len) ||
-           (inprotonum == NEXTHDR_FRAGMENT)) {
+       if ((inprotoff > skb->len) || (inprotonum == NEXTHDR_FRAGMENT)) {
                DEBUGP("icmpv6_error: Can't get protocol header in ICMPv6 payload.\n");
                return -NF_ACCEPT;
        }
index 45b3cda86a21413e6103c3c18ab9ca0116f407f8..6f8684b5617e5653e2fe5bcfd09aee084c7d9134 100644 (file)
@@ -164,8 +164,7 @@ static int tcf_pedit(struct sk_buff *skb, struct tc_action *a,
                                printk("offset must be on 32 bit boundaries\n");
                                goto bad;
                        }
-                       if (skb->len < 0 ||
-                           (offset > 0 && offset > skb->len)) {
+                       if (offset > 0 && offset > skb->len) {
                                printk("offset %d cant exceed pkt length %d\n",
                                       offset, skb->len);
                                goto bad;
index e8c0f7435d7f68be0eefd21b1baac4f1a05b1636..80f70aa533867317e5dcbdbadc7333d29c519901 100644 (file)
@@ -77,8 +77,6 @@ static const char *sctp_cid_tbl[SCTP_NUM_BASE_CHUNK_TYPES] = {
 /* Lookup "chunk type" debug name. */
 const char *sctp_cname(const sctp_subtype_t cid)
 {
-       if (cid.chunk < 0)
-               return "illegal chunk id";
        if (cid.chunk <= SCTP_CID_BASE_MAX)
                return sctp_cid_tbl[cid.chunk];
 
@@ -146,8 +144,6 @@ static const char *sctp_primitive_tbl[SCTP_NUM_PRIMITIVE_TYPES] = {
 /* Lookup primitive debug name. */
 const char *sctp_pname(const sctp_subtype_t id)
 {
-       if (id.primitive < 0)
-               return "illegal primitive";
        if (id.primitive <= SCTP_EVENT_PRIMITIVE_MAX)
                return sctp_primitive_tbl[id.primitive];
        return "unknown_primitive";
@@ -161,8 +157,6 @@ static const char *sctp_other_tbl[] = {
 /* Lookup "other" debug name. */
 const char *sctp_oname(const sctp_subtype_t id)
 {
-       if (id.other < 0)
-               return "illegal 'other' event";
        if (id.other <= SCTP_EVENT_OTHER_MAX)
                return sctp_other_tbl[id.other];
        return "unknown 'other' event";
@@ -184,8 +178,6 @@ static const char *sctp_timer_tbl[] = {
 /* Lookup timer debug name. */
 const char *sctp_tname(const sctp_subtype_t id)
 {
-       if (id.timeout < 0)
-               return "illegal 'timer' event";
        if (id.timeout <= SCTP_EVENT_TIMEOUT_MAX)
                return sctp_timer_tbl[id.timeout];
        return "unknown_timer";
index 523071c7902fbb5a163f1418c17e85fcb0d4f503..70a91ece3c49444de91b41b7db7f4b486a16e7de 100644 (file)
@@ -960,7 +960,7 @@ static const sctp_sm_table_entry_t *sctp_chunk_event_lookup(sctp_cid_t cid,
        if (state > SCTP_STATE_MAX)
                return &bug;
 
-       if (cid >= 0 && cid <= SCTP_CID_BASE_MAX)
+       if (cid <= SCTP_CID_BASE_MAX)
                return &chunk_event_table[cid][state];
 
        if (sctp_prsctp_enable) {
index 7a19e0ede2891238b910ecae4f416cfd6c6b49a7..849cc06bd9141a62da44061a230e7bc70c472761 100644 (file)
@@ -454,7 +454,7 @@ static int wanrouter_device_setup(struct wan_device *wandev,
        }
 
        if (conf->data_size && conf->data) {
-               if (conf->data_size > 128000 || conf->data_size < 0) {
+               if (conf->data_size > 128000) {
                        printk(KERN_INFO
                            "%s: ERROR, Invalid firmware data size %i !\n",
                                        wandev->name, conf->data_size);