diff options
-rw-r--r-- | LICENSE | 2 | ||||
-rw-r--r-- | fs.c | 2 | ||||
-rw-r--r-- | vm.c | 4 |
3 files changed, 5 insertions, 3 deletions
@@ -1,6 +1,6 @@ The xv6 software is: -Copyright (c) 2006-2016 Frans Kaashoek, Robert Morris, Russ Cox, +Copyright (c) 2006-2017 Frans Kaashoek, Robert Morris, Russ Cox, Massachusetts Institute of Technology Permission is hereby granted, free of charge, to any person obtaining @@ -518,7 +518,7 @@ dirlookup(struct inode *dp, char *name, uint *poff) for(off = 0; off < dp->size; off += sizeof(de)){ if(readi(dp, (char*)&de, off, sizeof(de)) != sizeof(de)) - panic("dirlink read"); + panic("dirlookup read"); if(de.inum == 0) continue; if(namecmp(name, de.name) == 0){ @@ -128,8 +128,10 @@ setupkvm(void) panic("PHYSTOP too high"); for(k = kmap; k < &kmap[NELEM(kmap)]; k++) if(mappages(pgdir, k->virt, k->phys_end - k->phys_start, - (uint)k->phys_start, k->perm) < 0) + (uint)k->phys_start, k->perm) < 0) { + freevm(pgdir); return 0; + } return pgdir; } |