Skip to contentSkip to conversation

#includes in asm-i386/checksum.h

PATCH New Eric Weigle 1 participant 1 message Jan 21, 2002

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 #includes in asm-i386/checksum.h

Noticed this a while ago, still there in 2.4.17... checksum.h is not self-consistent. Code which uses the file but does not know to include some other headers first will get compile errors:

/usr/src/linux-2.4.17include/asm/checksum.h:159: warning: `struct in6_addr' declared inside parameter list /usr/src/linux-2.4.17include/asm/checksum.h:159: warning: its scope is only this definition or declaration, which is probably not what you want. /usr/src/linux-2.4.17include/asm/checksum.h: In function `csum_and_copy_to_user':
/usr/src/linux-2.4.17include/asm/checksum.h:188: warning: implicit declaration of function access_ok' /usr/src/linux-2.4.17include/asm/checksum.h:188: VERIFY_WRITE' undeclared (first use in this function) /usr/src/linux-2.4.17include/asm/checksum.h:188: (Each undeclared identifier is reported only once /usr/src/linux-2.4.17include/asm/checksum.h:188: for each function it appears in.)

This only happens when one uses checksum.h without previously including the other given headers, as might be done when people are writing some wack new networking code (like me :)

Patch follows.

--------------------------------------------------------------------------------

checksum.h Mon Jan 21 14:17:50 2002 renamed from checksum.h.original Thu Jul 26 14:41:22 2001 +5 -0
@@ -1,6 +1,11 @@
 #ifndef _I386_CHECKSUM_H
 #define _I386_CHECKSUM_H
 
+/* Required for 'struct in6_addr' */
+#include <net/ipv6.h>
+
+/* Required for 'VERIFY_WRITE' #define */
+#include <asm/uaccess.h>
 
 /*
  * computes the checksum of a memory block at buff, length len,

--------------------------------------------------------------------------------

Thanks,
-Eric

Signature · 5 lines
--------------------------------------------
 Eric H. Weigle   CCS-1, RADIANT team
 [email protected]     Los Alamos National Lab
 (505) 665-4937   http://home.lanl.gov/ehw/
--------------------------------------------