more incorrect cast to uint
This commit is contained in:
parent
402e7b5605
commit
ca30cac702
|
@ -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…
Reference in a new issue