diff --git a/sys/fs/vfs/file.c b/sys/fs/vfs/file.c index ff9b1c0..c519647 100644 --- a/sys/fs/vfs/file.c +++ b/sys/fs/vfs/file.c @@ -332,7 +332,7 @@ return (res); } -int fseek(fileDescriptor_t *tmpFd, u_int32_t offset, int whence) { +int kern_fseek(fileDescriptor_t *tmpFd, u_int32_t offset, int whence) { tmpFd->offset = offset + whence; return (tmpFd->offset); } diff --git a/sys/include/vfs/file.h b/sys/include/vfs/file.h index e2feae4..ee15b70 100644 --- a/sys/include/vfs/file.h +++ b/sys/include/vfs/file.h @@ -106,7 +106,7 @@ int fgetc(fileDescriptor_t *fd); size_t fread(void *ptr, size_t size, size_t nmemb, fileDescriptor_t *fd); size_t fwrite(void *ptr, int size, int nmemb, fileDescriptor_t *fd); -int fseek(fileDescriptor_t*, u_int32_t, int); +int kern_fseek(fileDescriptor_t*, u_int32_t, int); int sysFseek(userFileDescriptor *, long, int); diff --git a/sys/kernel/elf.c b/sys/kernel/elf.c index 506de0d..211f3d9 100644 --- a/sys/kernel/elf.c +++ b/sys/kernel/elf.c @@ -79,7 +79,7 @@ if ((programHeader = (Elf32_Phdr *) kmalloc(sizeof(Elf32_Phdr) * binaryHeader->e_phnum)) == 0x0) K_PANIC("malloc failed!"); - fseek(exec_fd, binaryHeader->e_phoff, 0); + kern_fseek(exec_fd, binaryHeader->e_phoff, 0); fread(programHeader, (sizeof(Elf32_Phdr) * binaryHeader->e_phnum), 1, exec_fd); @@ -100,7 +100,7 @@ } /* Now Load Section To Memory */ - fseek(exec_fd, programHeader[i].p_offset, 0); + kern_fseek(exec_fd, programHeader[i].p_offset, 0); fread((void *) programHeader[i].p_vaddr + real_base_addr, programHeader[i].p_filesz, 1, exec_fd); if ((programHeader[i].p_flags & 0x2) != 0x2) { diff --git a/sys/kernel/ld.c b/sys/kernel/ld.c index 725b6ad..3064fe3 100644 --- a/sys/kernel/ld.c +++ b/sys/kernel/ld.c @@ -64,7 +64,7 @@ return(0x0); } - fseek(ldFd, 0x0, 0x0); + kern_fseek(ldFd, 0x0, 0x0); binaryHeader = (Elf32_Ehdr *) kmalloc(sizeof(Elf32_Ehdr)); assert(binaryHeader); @@ -73,16 +73,17 @@ programHeader = (Elf_Phdr *) kmalloc(sizeof(Elf_Phdr) * binaryHeader->e_phnum); assert(programHeader); - fseek(ldFd, binaryHeader->e_phoff, 0); + kern_fseek(ldFd, binaryHeader->e_phoff, 0); fread(programHeader, sizeof(Elf_Shdr), binaryHeader->e_phnum, ldFd); sectionHeader = (Elf_Shdr *) kmalloc(sizeof(Elf_Shdr) * binaryHeader->e_shnum); + assert(sectionHeader); - fseek(ldFd, binaryHeader->e_shoff, 0); + kern_fseek(ldFd, binaryHeader->e_shoff, 0); fread(sectionHeader, sizeof(Elf_Shdr), binaryHeader->e_shnum, ldFd); shStr = (char *) kmalloc(sectionHeader[binaryHeader->e_shstrndx].sh_size); - fseek(ldFd, sectionHeader[binaryHeader->e_shstrndx].sh_offset, 0); + kern_fseek(ldFd, sectionHeader[binaryHeader->e_shstrndx].sh_offset, 0); fread(shStr, sectionHeader[binaryHeader->e_shstrndx].sh_size, 1, ldFd); for (i = 0x0; i < binaryHeader->e_phnum; i++) { @@ -100,7 +101,7 @@ memset((void *) ((programHeader[i].p_vaddr & 0xFFFFF000) + x + LD_START), 0x0, 0x1000); } /* Now Load Section To Memory */ - fseek(ldFd, programHeader[i].p_offset, 0x0); + kern_fseek(ldFd, programHeader[i].p_offset, 0x0); fread(newLoc, programHeader[i].p_filesz, 1, ldFd); break; @@ -158,7 +159,7 @@ break; case SHT_DYNSYM: relSymTab = (Elf_Sym *) kmalloc(sectionHeader[i].sh_size); - fseek(ldFd, sectionHeader[i].sh_offset, 0x0); + kern_fseek(ldFd, sectionHeader[i].sh_offset, 0x0); fread(relSymTab, sectionHeader[i].sh_size, 1, ldFd); sym = i; break; diff --git a/sys/kmods/kmod.c b/sys/kmods/kmod.c index 7b76bbe..f59ebf8 100644 --- a/sys/kmods/kmod.c +++ b/sys/kmods/kmod.c @@ -91,7 +91,7 @@ } /* load module header */ - fseek(kmod_fd, 0x0, 0x0); + kern_fseek(kmod_fd, 0x0, 0x0); binaryHeader = (elfHeader *) kmalloc(sizeof(elfHeader)); if (binaryHeader == 0x0) { kprintf("kmod: out of memory\n"); @@ -103,16 +103,16 @@ programHeader = (elfProgramHeader *) kmalloc(sizeof(elfProgramHeader) * binaryHeader->ePhnum); assert(programHeader); - fseek(kmod_fd, binaryHeader->ePhoff, 0); + kern_fseek(kmod_fd, binaryHeader->ePhoff, 0); fread(programHeader, sizeof(elfSectionHeader), binaryHeader->ePhnum, kmod_fd); sectionHeader = (elfSectionHeader *) kmalloc(sizeof(elfSectionHeader) * binaryHeader->eShnum); assert(sectionHeader); - fseek(kmod_fd, binaryHeader->eShoff, 0); + kern_fseek(kmod_fd, binaryHeader->eShoff, 0); fread(sectionHeader, sizeof(elfSectionHeader), binaryHeader->eShnum, kmod_fd); shStr = (char *) kmalloc(sectionHeader[binaryHeader->eShstrndx].shSize); - fseek(kmod_fd, sectionHeader[binaryHeader->eShstrndx].shOffset, 0); + kern_fseek(kmod_fd, sectionHeader[binaryHeader->eShstrndx].shOffset, 0); fread(shStr, sectionHeader[binaryHeader->eShstrndx].shSize, 1, kmod_fd); for (i = 0; i < binaryHeader->ePhnum; i++) { @@ -131,7 +131,7 @@ memset((void *) ((programHeader[i].phVaddr & 0xFFFFF000) + x + LD_START), 0x0, 0x1000); } /* Now Load Section To Memory */ - fseek(kmod_fd, programHeader[i].phOffset, 0x0); + kern_fseek(kmod_fd, programHeader[i].phOffset, 0x0); fread(newLoc, programHeader[i].phFilesz, 1, kmod_fd); break; case PT_GNU_STACK: @@ -154,13 +154,13 @@ case 3: if (!strcmp((shStr + sectionHeader[i].shName), ".dynstr")) { dynStr = (char *) kmalloc(sectionHeader[i].shSize); - fseek(kmod_fd, sectionHeader[i].shOffset, 0x0); + kern_fseek(kmod_fd, sectionHeader[i].shOffset, 0x0); fread(dynStr, sectionHeader[i].shSize, 1, kmod_fd); } break; case 9: elfRel = (elfPltInfo *) kmalloc(sectionHeader[i].shSize); - fseek(kmod_fd, sectionHeader[i].shOffset, 0x0); + kern_fseek(kmod_fd, sectionHeader[i].shOffset, 0x0); fread(elfRel, sectionHeader[i].shSize, 1, kmod_fd); for (x = 0x0; x < sectionHeader[i].shSize / sizeof(elfPltInfo); x++) { @@ -186,7 +186,7 @@ break; case 11: relSymTab = (elfDynSym *) kmalloc(sectionHeader[i].shSize); - fseek(kmod_fd, sectionHeader[i].shOffset, 0x0); + kern_fseek(kmod_fd, sectionHeader[i].shOffset, 0x0); fread(relSymTab, sectionHeader[i].shSize, 1, kmod_fd); sym = i; break; diff --git a/sys/vmm/vmm_mmap.c b/sys/vmm/vmm_mmap.c index 5c09d34..af40b90 100644 --- a/sys/vmm/vmm_mmap.c +++ b/sys/vmm/vmm_mmap.c @@ -208,7 +208,7 @@ } - fseek(fd->fd, uap->pos, 0x0); + kern_fseek(fd->fd, uap->pos, 0x0); fread(tmp, uap->len, 0x1, fd->fd); td->td_retval[0] = (uint32_t) tmp;