diff options
| -rw-r--r-- | fs.c | 2 | ||||
| -rw-r--r-- | vm.c | 4 | 
2 files changed, 4 insertions, 2 deletions
| @@ -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){ @@ -137,8 +137,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;  } | 
