From owner-cvs-src@FreeBSD.ORG Sat Jan 28 14:37:38 2006 Return-Path: X-Original-To: cvs-src@FreeBSD.org Delivered-To: cvs-src@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 19CD616A420; Sat, 28 Jan 2006 14:37:38 +0000 (GMT) (envelope-from bz@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3251943D60; Sat, 28 Jan 2006 14:37:36 +0000 (GMT) (envelope-from bz@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k0SEbatn036718; Sat, 28 Jan 2006 14:37:36 GMT (envelope-from bz@repoman.freebsd.org) Received: (from bz@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k0SEbaZF036717; Sat, 28 Jan 2006 14:37:36 GMT (envelope-from bz) Message-Id: <200601281437.k0SEbaZF036717@repoman.freebsd.org> From: "Bjoern A. Zeeb" Date: Sat, 28 Jan 2006 14:37:35 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: RELENG_5 Cc: 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 X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Jan 2006 14:37:38 -0000 bz 2006-01-28 14:37:35 UTC FreeBSD src repository Modified files: (Branch: RELENG_5) 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.28.2.3 +2 -2 src/sys/net/if_gre.c 1.17.2.3 +3 -25 src/sys/netinet/ip_gre.c 1.2.10.2 +2 -2 src/sys/netinet/ip_gre.h 1.8.2.2 +2 -14 src/sys/netipsec/keysock.c 1.1.10.2 +1 -1 src/sys/netipsec/keysock.h 1.27.2.3 +2 -14 src/sys/netkey/keysock.c 1.7.4.2 +1 -1 src/sys/netkey/keysock.h