more incorrect cast to uint
This commit is contained in:
		
							parent
							
								
									402e7b5605
								
							
						
					
					
						commit
						ca30cac702
					
				
					 2 changed files with 8 additions and 5 deletions
				
			
		| 
						 | 
					@ -359,7 +359,7 @@ copyout(pagetable_t pagetable, uint64 dstva, char *src, uint64 len)
 | 
				
			||||||
  uint64 n, va0, pa0;
 | 
					  uint64 n, va0, pa0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  while(len > 0){
 | 
					  while(len > 0){
 | 
				
			||||||
    va0 = (uint)PGROUNDDOWN(dstva);
 | 
					    va0 = PGROUNDDOWN(dstva);
 | 
				
			||||||
    pa0 = walkaddr(pagetable, va0);
 | 
					    pa0 = walkaddr(pagetable, va0);
 | 
				
			||||||
    if(pa0 == 0)
 | 
					    if(pa0 == 0)
 | 
				
			||||||
      return -1;
 | 
					      return -1;
 | 
				
			||||||
| 
						 | 
					@ -384,7 +384,7 @@ copyin(pagetable_t pagetable, char *dst, uint64 srcva, uint64 len)
 | 
				
			||||||
  uint64 n, va0, pa0;
 | 
					  uint64 n, va0, pa0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  while(len > 0){
 | 
					  while(len > 0){
 | 
				
			||||||
    va0 = (uint)PGROUNDDOWN(srcva);
 | 
					    va0 = PGROUNDDOWN(srcva);
 | 
				
			||||||
    pa0 = walkaddr(pagetable, va0);
 | 
					    pa0 = walkaddr(pagetable, va0);
 | 
				
			||||||
    if(pa0 == 0)
 | 
					    if(pa0 == 0)
 | 
				
			||||||
      return -1;
 | 
					      return -1;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1908,15 +1908,18 @@ stacktest(char *s)
 | 
				
			||||||
    exit(xstatus);
 | 
					    exit(xstatus);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// copyinstr() used to cast the virtual page address to uint,
 | 
					// copyin(), copyout(), and copyinstr() used to cast the virtual page
 | 
				
			||||||
// which (with certain wild system call arguments) could
 | 
					// address to uint, which (with certain wild system call arguments)
 | 
				
			||||||
// result in a kernel page fault.
 | 
					// resulted in a kernel page faults.
 | 
				
			||||||
void
 | 
					void
 | 
				
			||||||
pgbug(char *s)
 | 
					pgbug(char *s)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  char *argv[1];
 | 
					  char *argv[1];
 | 
				
			||||||
  argv[0] = 0;
 | 
					  argv[0] = 0;
 | 
				
			||||||
  exec((char*)0xeaeb0b5b00002f5e, argv);
 | 
					  exec((char*)0xeaeb0b5b00002f5e, argv);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  pipe((int*)0xeaeb0b5b00002f5e);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  exit(0);
 | 
					  exit(0);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue