Skip to contentSkip to conversation

phonet: sparse annotations of protocol, remove forward declaration

PATCH In review Harvey Harrison 3 participants 4 messages Nov 7, 2008

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 phonet: sparse annotations of protocol, remove forward declaration

net/phonet/af_phonet.c:38:36: error: marked inline, but without a definition net/phonet/pep-gprs.c:63:10: warning: incorrect type in return expression (different base types)
net/phonet/pep-gprs.c:63:10: expected int
net/phonet/pep-gprs.c:63:10: got restricted __be16 [usertype] <noident>
net/phonet/pep-gprs.c:65:10: warning: incorrect type in return expression (different base types)
net/phonet/pep-gprs.c:65:10: expected int
net/phonet/pep-gprs.c:65:10: got restricted __be16 [usertype] <noident>
net/phonet/pep-gprs.c:124:16: warning: incorrect type in assignment (different base types)
net/phonet/pep-gprs.c:124:16: expected restricted __be16 [usertype] protocol
net/phonet/pep-gprs.c:124:16: got unsigned short [unsigned] [usertype] protocol

---
 net/phonet/af_phonet.c |   11 +++++------
 net/phonet/pep-gprs.c  |    8 ++++----
 2 files changed, 9 insertions(+), 10 deletions(-)
net/phonet/af_phonet.c +5 -6
index defeb7a..f400ff1 100644
@@ -35,7 +35,11 @@
 
 static struct net_proto_family phonet_proto_family;
 static struct phonet_protocol *phonet_proto_get(int protocol);
-static inline void phonet_proto_put(struct phonet_protocol *pp);
+
+static inline void phonet_proto_put(struct phonet_protocol *pp)
+{
+	module_put(pp->prot->owner);
+}
 
 /* protocol family functions */
 
@@ -428,11 +432,6 @@ static struct phonet_protocol *phonet_proto_get(int protocol)
 	return pp;
 }
 
-static inline void phonet_proto_put(struct phonet_protocol *pp)
-{
-	module_put(pp->prot->owner);
-}
-
 /* Module registration */
 static int __init phonet_init(void)
 {
net/phonet/pep-gprs.c +4 -4
index 9978afb..a432407 100644
@@ -49,14 +49,14 @@ struct gprs_dev {
 	unsigned		tx_max;
 };
 
-static int gprs_type_trans(struct sk_buff *skb)
+static __be16 gprs_type_trans(struct sk_buff *skb)
 {
 	const u8 *pvfc;
 	u8 buf;
 
 	pvfc = skb_header_pointer(skb, 0, 1, &buf);
 	if (!pvfc)
-		return 0;
+		return htons(0);
 	/* Look at IP version field */
 	switch (*pvfc >> 4) {
 	case 4:
@@ -64,7 +64,7 @@ static int gprs_type_trans(struct sk_buff *skb)
 	case 6:
 		return htons(ETH_P_IPV6);
 	}
-	return 0;
+	return htons(0);
 }
 
 /*
@@ -84,7 +84,7 @@ static void gprs_state_change(struct sock *sk)
 static int gprs_recv(struct gprs_dev *dev, struct sk_buff *skb)
 {
 	int err = 0;
-	u16 protocol = gprs_type_trans(skb);
+	__be16 protocol = gprs_type_trans(skb);
 
 	if (!protocol) {
 		err = -EINVAL;
Signature · 1 line
1.6.0.3.756.gb776d
maintainer
#1 lore raw

From: Harvey Harrison <[email protected]>
Date: Thu, 06 Nov 2008 17:53:13 -0800

Quoted 11 lines

net/phonet/af_phonet.c:38:36: error: marked inline, but without a definition net/phonet/pep-gprs.c:63:10: warning: incorrect type in return expression (different base types)
net/phonet/pep-gprs.c:63:10: expected int
net/phonet/pep-gprs.c:63:10: got restricted __be16 [usertype] <noident>
net/phonet/pep-gprs.c:65:10: warning: incorrect type in return expression (different base types)
net/phonet/pep-gprs.c:65:10: expected int
net/phonet/pep-gprs.c:65:10: got restricted __be16 [usertype] <noident>
net/phonet/pep-gprs.c:124:16: warning: incorrect type in assignment (different base types)
net/phonet/pep-gprs.c:124:16: expected restricted __be16 [usertype] protocol
net/phonet/pep-gprs.c:124:16: got unsigned short [unsigned] [usertype] protocol

Quoted 1 line

Looks good, applied to net-next-2.6

Thanks.

#2 lore raw
In reply to Harvey Harrison
Quoted 11 lines · you

net/phonet/af_phonet.c:38:36: error: marked inline, but without a definition
net/phonet/pep-gprs.c:63:10: warning: incorrect type in return expression (different base types)
net/phonet/pep-gprs.c:63:10: expected int
net/phonet/pep-gprs.c:63:10: got restricted __be16 [usertype]
<noident>
net/phonet/pep-gprs.c:65:10: warning: incorrect type in return expression
(different base types)
net/phonet/pep-gprs.c:65:10: expected int

Quoted 8 lines

net/phonet/pep-gprs.c:65:10: got restricted __be16 [usertype]
<noident>
net/phonet/pep-gprs.c:124:16: warning: incorrect type in assignment (different base types)
net/phonet/pep-gprs.c:124:16: expected restricted
__be16 [usertype] protocol
net/phonet/pep-gprs.c:124:16: got unsigned short [unsigned]
[usertype] protocol

Thanks. May I ask where the documentation to run these checks is?

Signature · 2 lines
Rémi Denis-Courmont
Maemo Software, Nokia Devices R&D
#3 lore raw
Quoted 21 lines · Rémi Denis-Courmont
Quoted 11 lines · you

net/phonet/af_phonet.c:38:36: error: marked inline, but without a definition
net/phonet/pep-gprs.c:63:10: warning: incorrect type in return expression (different base types)
net/phonet/pep-gprs.c:63:10: expected int
net/phonet/pep-gprs.c:63:10: got restricted __be16 [usertype]
<noident>
net/phonet/pep-gprs.c:65:10: warning: incorrect type in return expression
(different base types)
net/phonet/pep-gprs.c:65:10: expected int

Quoted 8 lines

net/phonet/pep-gprs.c:65:10: got restricted __be16 [usertype]
<noident>
net/phonet/pep-gprs.c:124:16: warning: incorrect type in assignment (different base types)
net/phonet/pep-gprs.c:124:16: expected restricted
__be16 [usertype] protocol
net/phonet/pep-gprs.c:124:16: got unsigned short [unsigned]
[usertype] protocol

Quoted 2 lines

Thanks. May I ask where the documentation to run these checks is?

You need to add the -D__CHECK_ENDIAN__ flag to sparse to enable these checks.

make C=1 CF=-D__CHECK_ENDIAN__

should do the trick if you have sparse already.

Harvey