patches for easier mirroring, to eliminate a special copy, to make www.freebsd.org/security a full copy of security.freebsd.org and be eventually be the same. For now files are just sitting there. The symlinks are missing. Discussed on: www (repository location) Discussed with: simon (so)
		
			
				
	
	
		
			83 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			83 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| Index: linux_misc.c
 | |
| ===================================================================
 | |
| RCS file: /home/ncvs/src/sys/i386/linux/linux_misc.c,v
 | |
| retrieving revision 1.77.2.3
 | |
| retrieving revision 1.77.2.4
 | |
| diff -u -r1.77.2.3 -r1.77.2.4
 | |
| --- linux_misc.c	2000/07/20 05:31:56	1.77.2.3
 | |
| +++ linux_misc.c	2000/07/30 05:36:11	1.77.2.4
 | |
| @@ -954,6 +954,8 @@
 | |
|  	tv[1].tv_usec = 0;
 | |
|  	/* so that utimes can copyin */
 | |
|  	tvp = (struct timeval *)stackgap_alloc(&sg, sizeof(tv));
 | |
| +	if (tvp == NULL)
 | |
| +		return (ENAMETOOLONG);
 | |
|  	if ((error = copyout(tv, tvp, sizeof(tv))))
 | |
|  	    return error;
 | |
|  	bsdutimes.tptr = tvp;
 | |
| Index: linux_util.c
 | |
| ===================================================================
 | |
| RCS file: /home/ncvs/src/sys/i386/linux/linux_util.c,v
 | |
| retrieving revision 1.9.2.1
 | |
| retrieving revision 1.9.2.2
 | |
| diff -u -r1.9.2.1 -r1.9.2.2
 | |
| --- linux_util.c	2000/07/07 01:23:45	1.9.2.1
 | |
| +++ linux_util.c	2000/07/30 05:36:11	1.9.2.2
 | |
| @@ -162,7 +162,10 @@
 | |
|  	else {
 | |
|  		sz = &ptr[len] - buf;
 | |
|  		*pbuf = stackgap_alloc(sgp, sz + 1);
 | |
| -		error = copyout(buf, *pbuf, sz);
 | |
| +		if (*pbuf != NULL)
 | |
| +			error = copyout(buf, *pbuf, sz);
 | |
| +		else
 | |
| +			error = ENAMETOOLONG;
 | |
|  		free(buf, M_TEMP);
 | |
|  	}
 | |
|  
 | |
| Index: linux_util.h
 | |
| ===================================================================
 | |
| RCS file: /home/ncvs/src/sys/i386/linux/linux_util.h,v
 | |
| retrieving revision 1.10
 | |
| retrieving revision 1.10.2.1
 | |
| diff -u -r1.10 -r1.10.2.1
 | |
| --- linux_util.h	1999/12/04 11:10:22	1.10
 | |
| +++ linux_util.h	2000/07/30 05:36:11	1.10.2.1
 | |
| @@ -56,29 +56,27 @@
 | |
|  static __inline caddr_t stackgap_init(void);
 | |
|  static __inline void *stackgap_alloc(caddr_t *, size_t);
 | |
|  
 | |
| +#define szsigcode (*(curproc->p_sysent->sv_szsigcode))
 | |
| +
 | |
|  static __inline caddr_t
 | |
|  stackgap_init()
 | |
|  {
 | |
| -#define szsigcode (*(curproc->p_sysent->sv_szsigcode))
 | |
|  	return (caddr_t)(PS_STRINGS - szsigcode - SPARE_USRSPACE);
 | |
|  }
 | |
|  
 | |
| -
 | |
|  static __inline void *
 | |
|  stackgap_alloc(sgp, sz)
 | |
|  	caddr_t	*sgp;
 | |
|  	size_t   sz;
 | |
|  {
 | |
| -	void	*p = (void *) *sgp;
 | |
| -	*sgp += ALIGN(sz);
 | |
| +	void *p = (void *) *sgp;
 | |
| +
 | |
| +	sz = ALIGN(sz);
 | |
| +	if (*sgp + sz > (caddr_t)(PS_STRINGS - szsigcode))
 | |
| +		return NULL;
 | |
| +	*sgp += sz;
 | |
|  	return p;
 | |
|  }
 | |
| -
 | |
| -#ifdef DEBUG_LINUX
 | |
| -#define DPRINTF(a)      printf a;
 | |
| -#else
 | |
| -#define DPRINTF(a)
 | |
| -#endif
 | |
|  
 | |
|  extern const char linux_emul_path[];
 | |
|  
 |