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: <20071030.215616.241765510.davem@davemloft.net> Date: Tue, 30 Oct 2007 21:56:16 -0700 (PDT) From: David Miller <davem@...emloft.net> To: sam@...nborg.org Cc: raa.lkml@...il.com, linux-kernel@...r.kernel.org, per.liden@...csson.com, allan.stephens@...driver.com Subject: Re: tipc_config.h requires linux/string.h, which does not exist in exported headers From: David Miller <davem@...emloft.net> Date: Tue, 30 Oct 2007 21:14:04 -0700 (PDT) > Unfortunately I have to back it out, it breaks the build. > > In file included from net/tipc/core.h:41, > from net/tipc/addr.c:37: > include/linux/tipc_config.h: In function 'TLV_SET': > include/linux/tipc_config.h:306: error: implicit declaration of function 'memcpy' > include/linux/tipc_config.h:306: warning: incompatible implicit declaration of built-in function 'memcpy' > > I truly think adding linux/string.h to unifdef-y along with: > > #ifndef __KERNEL__ > #include <string.h> > #else > ... > #endif > > in linux/string.h is a much cleaner and less error prone solution :-) Here is what I mean, specifically. And this is build tested :-) >From 97ef1bb0c8e371b7988287f38bd107c4aa14d78d Mon Sep 17 00:00:00 2001 From: David S. Miller <davem@...set.davemloft.net> Date: Tue, 30 Oct 2007 21:44:00 -0700 Subject: [PATCH] [TIPC]: Fix headercheck wrt. tipc_config.h It wants string functions like memcpy() for inline routines, and these define userland interfaces. The only clean way to deal with this is to simply put linux/string.h into unifdef-y and have it include <string.h> when not-__KERNEL__. Signed-off-by: David S. Miller <davem@...emloft.net> --- include/linux/Kbuild | 1 + include/linux/string.h | 12 +++--------- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/include/linux/Kbuild b/include/linux/Kbuild index bd33c22..37bfa19 100644 --- a/include/linux/Kbuild +++ b/include/linux/Kbuild @@ -326,6 +326,7 @@ unifdef-y += sonypi.h unifdef-y += soundcard.h unifdef-y += stat.h unifdef-y += stddef.h +unifdef-y += string.h unifdef-y += synclink.h unifdef-y += sysctl.h unifdef-y += tcp.h diff --git a/include/linux/string.h b/include/linux/string.h index 836062b..c5d3fca 100644 --- a/include/linux/string.h +++ b/include/linux/string.h @@ -3,16 +3,14 @@ /* We don't want strings.h stuff being user by user stuff by accident */ -#ifdef __KERNEL__ +#ifndef __KERNEL__ +#include <string.h> +#else #include <linux/compiler.h> /* for inline */ #include <linux/types.h> /* for size_t */ #include <linux/stddef.h> /* for NULL */ -#ifdef __cplusplus -extern "C" { -#endif - extern char *strndup_user(const char __user *, long); /* @@ -111,9 +109,5 @@ extern void *kmemdup(const void *src, size_t len, gfp_t gfp); extern char **argv_split(gfp_t gfp, const char *str, int *argcp); extern void argv_free(char **argv); -#ifdef __cplusplus -} -#endif - #endif #endif /* _LINUX_STRING_H_ */ -- 1.5.2.5 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists