From rmh@khazad.dyndns.org  Tue Aug 16 09:16:56 2005
Return-Path: <rmh@khazad.dyndns.org>
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id 6ACBA16A41F
	for <FreeBSD-gnats-submit@freebsd.org>; Tue, 16 Aug 2005 09:16:56 +0000 (GMT)
	(envelope-from rmh@khazad.dyndns.org)
Received: from khazad.dyndns.org (99.Red-83-55-56.pooles.rima-tde.net [83.55.56.99])
	by mx1.FreeBSD.org (Postfix) with ESMTP id A67CF43D46
	for <FreeBSD-gnats-submit@freebsd.org>; Tue, 16 Aug 2005 09:16:54 +0000 (GMT)
	(envelope-from rmh@khazad.dyndns.org)
Received: from rmh by bombadil with local (Exim 4.52)
	id 1E4Xbv-0000Sa-AN; Mon, 15 Aug 2005 07:34:11 +0200
Message-Id: <E1E4Xbv-0000Sa-AN@bombadil>
Date: Mon, 15 Aug 2005 07:34:11 +0200
From: Robert Millan <rmh@aybabtu.com>
Reply-To: Robert Millan <rmh@aybabtu.com>
To: FreeBSD-gnats-submit@freebsd.org
Cc: 323154-forwarded@bugs.debian.org
Subject: [PATCH] header protection for <sys/syscall.h>
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         84981
>Category:       kern
>Synopsis:       [headers] [patch] header protection for <sys/syscall.h>
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Aug 16 09:20:11 GMT 2005
>Closed-Date:    
>Last-Modified:  Tue Oct 25 02:34:08 GMT 2005
>Originator:     Robert Millan
>Release:        GNU/kFreeBSD 5.3-1 i686
>Organization:
>Environment:
System: GNU/kFreeBSD bombadil 5.3-1 #0 Sun Aug 14 12:51:55 CEST 2005 i686 GNU/kFreeBSD


	
>Description:
	This patch implements header protection in <sys/syscall.h> by modifiing
        the generator script in sys/kern/makesyscalls.sh.

        Please could you apply and re-generate sys/syscall.h ?

        Thanks!
>How-To-Repeat:
	
>Fix:

diff -ur sys/kern/makesyscalls.sh~ sys/kern/makesyscalls.sh
--- sys/kern/makesyscalls.sh~   2003-12-23 04:50:43.000000000 +0100
+++ sys/kern/makesyscalls.sh    2005-08-14 15:05:41.000000000 +0200
@@ -13,6 +13,7 @@
 sysproto="../sys/sysproto.h"
 sysproto_h=_SYS_SYSPROTO_H_
 syshdr="../sys/syscall.h"
+syshdr_h=_SYS_SYSCALL_H_
 sysmk="../sys/syscall.mk"
 syssw="init_sysent.c"
 syscallprefix="SYS_"
@@ -72,6 +73,7 @@
                sysarg = \"$sysarg\"
                sysnames = \"$sysnames\"
                syshdr = \"$syshdr\"
+               syshdr_h = \"$syshdr_h\"
                sysmk = \"$sysmk\"
                compat = \"$compat\"
                compat4 = \"$compat4\"
@@ -137,6 +139,8 @@
                printf "const char *%s[] = {\n", namesname > sysnames
 
                printf " * created from%s\n */\n\n", $0 > syshdr
+               printf "#ifndef %s\n", syshdr_h > syshdr
+               printf "#define\t%s\n\n", syshdr_h > syshdr
 
                printf "# created from%s\nMIASM = ", $0 > sysmk
 
@@ -486,6 +490,7 @@
                printf("};\n") > sysnames
                printf("#define\t%sMAXSYSCALL\t%d\n", syscallprefix, syscall) \
                    > syshdr
+               printf("\n#endif /* !%s */\n", syshdr_h) > syshdr
        } '
 
 cat $sysinc $sysent >> $syssw


>Release-Note:
>Audit-Trail:

From: Stefan Farfeleder <stefan@fafoe.narf.at>
To: bug-followup@freebsd.org
Cc:  
Subject: Re: kern/84981: [PATCH] header protection for <sys/syscall.h>
Date: Tue, 16 Aug 2005 17:11:04 +0200

 OTOH including <sys/syscall.h> more than once doesn't cause any harm.
 
 Stefan
>Unformatted:
