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