Date: Sat, 26 Dec 2020 02:19:24 +0200 From: Konstantin Belousov <kostikbel@gmail.com> To: Brandon Bergren <bdragon@imap.cc> Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-branches@freebsd.org Subject: Re: git: ed52452d6e52 - MFC r368772: Add ELF flag to disable ASLR stack gap. Message-ID: <X%2BaBjObzRmT2wFnh@kib.kiev.ua> In-Reply-To: <0daef1d3-4b70-430e-acfe-5c881a53341c@www.fastmail.com> References: <202012251347.0BPDlc8U082236@gitrepo.freebsd.org> <0daef1d3-4b70-430e-acfe-5c881a53341c@www.fastmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Dec 25, 2020 at 06:04:27PM -0600, Brandon Bergren wrote: > Build broken on stable-12 i386 (detected by my local CI where I'm testing git CI): > > 17:26:24 --- kern_exec.o --- > 17:26:24 /usr/src/sys/kern/kern_exec.c:1508:34: error: incompatible pointer types passing 'uintptr_t *' (aka 'unsigned int *') to parameter of type 'u_long *' (aka 'unsigned long *') [-Werror,-Wincompatible-pointer-types] > 17:26:24 imgp->sysent->sv_stackgap(imgp, dp); > 17:26:24 ^~ Thanks. Can you confirm that the following change is enough ? commit 77419219289fe0817fae255b48db69718d91f816 Author: Konstantin Belousov <kib@FreeBSD.org> Date: Sat Dec 26 02:16:29 2020 +0200 Cast sv_stackgap argument to minimally intrusively handle difference between 12 and HEAD. On all supported architectures representation of longs and pointers is same. Reported by: bdragon diff --git a/sys/kern/kern_exec.c b/sys/kern/kern_exec.c index 812d5e82709..64c9e84db07 100644 --- a/sys/kern/kern_exec.c +++ b/sys/kern/kern_exec.c @@ -1505,7 +1505,7 @@ exec_stackgap(struct image_params *imgp, uintptr_t *dp) NT_FREEBSD_FCTL_ASG_DISABLE)) != 0 || (imgp->map_flags & MAP_ASLR) == 0) return; - imgp->sysent->sv_stackgap(imgp, dp); + imgp->sysent->sv_stackgap(imgp, (u_long *)dp); } /*
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?X%2BaBjObzRmT2wFnh>