Solaris: delete undocumented, unuseful -protect0 flag
Solaris already makes the page at address 0 inaccessible by default to catch NULL pointer bugs, we don't need a double secret undocumented flag to try to make our own hacky attempt at it. As a bonus, deleting this code removes gcc warning of: sun_init.c: In function 'xf86OpenConsole': sun_init.c:103:17: warning: declaration of 'fd' shadows a previous local [-Wshadow] int fd = -1; ^ sun_init.c:89:9: warning: shadowed declaration is here [-Wshadow] int fd; ^ Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Mark Kettenis <kettenis@openbsd.org> Signed-off-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
parent
7b784df51b
commit
913416b718
|
@ -46,7 +46,6 @@
|
|||
#define SOL_CONSOLE_DEV "/dev/console"
|
||||
|
||||
static Bool KeepTty = FALSE;
|
||||
static Bool Protect0 = FALSE;
|
||||
static Bool UseConsole = FALSE;
|
||||
|
||||
#ifdef HAS_USL_VTS
|
||||
|
@ -97,27 +96,6 @@ xf86OpenConsole(void)
|
|||
if (geteuid() != 0)
|
||||
FatalError("xf86OpenConsole: Server must be suid root\n");
|
||||
|
||||
/* Protect page 0 to help find NULL dereferencing */
|
||||
/* mprotect() doesn't seem to work */
|
||||
if (Protect0) {
|
||||
int fd = -1;
|
||||
|
||||
if ((fd = open("/dev/zero", O_RDONLY, 0)) < 0) {
|
||||
xf86Msg(X_WARNING,
|
||||
"xf86OpenConsole: cannot open /dev/zero (%s)\n",
|
||||
strerror(errno));
|
||||
}
|
||||
else {
|
||||
if (mmap(0, 0x1000, PROT_NONE,
|
||||
MAP_FIXED | MAP_SHARED, fd, 0) == MAP_FAILED)
|
||||
xf86Msg(X_WARNING,
|
||||
"xf86OpenConsole: failed to protect page 0 (%s)\n",
|
||||
strerror(errno));
|
||||
|
||||
close(fd);
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef HAS_USL_VTS
|
||||
|
||||
/*
|
||||
|
@ -370,15 +348,6 @@ xf86ProcessArgument(int argc, char **argv, int i)
|
|||
return 1;
|
||||
}
|
||||
|
||||
/*
|
||||
* Undocumented flag to protect page 0 from read/write to help catch NULL
|
||||
* pointer dereferences. This is purely a debugging flag.
|
||||
*/
|
||||
if (!strcmp(argv[i], "-protect0")) {
|
||||
Protect0 = TRUE;
|
||||
return 1;
|
||||
}
|
||||
|
||||
/*
|
||||
* Use /dev/console as the console device.
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue
Block a user