cvs commit: src/sys/net if_gre.c src/sys/netinet ip_gre.c ip_gre.h src/sys/netipsec keysock.c keysock.h src/sys/netkey keysock.c keysock.h

[ Available lists | Index of cvs-all | Month of Jan 2006 | Week of 27 Jan 2006 | Raw email | View thread | Wrap long lines | Reply | Tag ]
From
Bjoern A. Zeeb <bz@FreeBSD.org>
Date
27 Jan 2006 21:50:11
Subject
cvs commit: src/sys/net if_gre.c src/sys/netinet ip_gre.c ip_gre.h src/sys/netipsec keysock.c keysock.h src/sys/netkey keysock.c keysock.h
Message-ID
200601272150.k0RLoB42060587@repoman.freebsd.org


[ Hide this part ]
bz          2006-01-27 21:50:11 UTC

FreeBSD src repository

Modified files: (Branch: RELENG_6)
sys/net if_gre.c
sys/netinet ip_gre.c ip_gre.h
sys/netipsec keysock.c keysock.h
sys/netkey keysock.c keysock.h
Log:
MFC:
rev. 1.39 sys/net/if_gre.c
rev. 1.21 sys/netinet/ip_gre.c rev. 1.4 sys/netinet/ip_gre.h
rev. 1.12 sys/netipsec/keysock.c rev. 1.3 sys/netipsec/keysock.h
rev. 1.32 sys/netkey/keysock.c rev. 1.9 sys/netkey/keysock.h

Fix stack corruptions on amd64.

Vararg functions have a different calling convention than regular
functions on amd64. Casting a varag function to a regular one to
match the function pointer declaration will hide the varargs from
the caller and we will end up with an incorrectly setup stack.

Entirely remove the varargs from these functions and change the
functions to match the declaration of the function pointers.
Remove the now unnecessary casts.

Lots of explanations and help from: peter
PR: amd64/89261

Revision Changes Path
1.32.2.4 +2 -2 src/sys/net/if_gre.c
1.19.2.2 +3 -25 src/sys/netinet/ip_gre.c
1.3.2.1 +2 -2 src/sys/netinet/ip_gre.h
1.10.2.2 +2 -14 src/sys/netipsec/keysock.c
1.2.2.1 +1 -1 src/sys/netipsec/keysock.h
1.30.2.2 +2 -14 src/sys/netkey/keysock.c
1.8.2.1 +1 -1 src/sys/netkey/keysock.h


Elapsed time: 0.089 seconds