Skip to content

Commit 37f9906

Browse files
authored
Merge pull request #77 from HeatCrab/syscall/general-fixes
Fix POSIX syscall handling for consistency
2 parents d21ba4d + 7baf078 commit 37f9906

1 file changed

Lines changed: 6 additions & 18 deletions

File tree

kernel/syscall.c

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -116,24 +116,12 @@ static int _getpid(void)
116116
return 1;
117117
}
118118

119+
/* linmo uses fixed heap via mo_heap_init, sbrk is not applicable */
119120
static int _sbrk(int incr)
120121
{
121-
extern uint32_t _end, _stack;
122-
static char *brk = (char *) &_end;
123-
char *prev = brk;
124-
125-
if (unlikely(incr < 0)) {
126-
errno = EINVAL;
127-
return -1;
128-
}
129-
130-
if (unlikely(brk + incr >= (char *) &_stack)) {
131-
errno = ENOMEM;
132-
return -1;
133-
}
134-
135-
brk += incr;
136-
return (int) prev;
122+
(void) incr;
123+
errno = ENOMEM;
124+
return -1;
137125
}
138126

139127
static int _usleep(int usec)
@@ -180,7 +168,7 @@ static int _read(int file, char *ptr, int len)
180168
return -1;
181169
}
182170

183-
if (unlikely(file < 0)) {
171+
if (unlikely(file < 0 || file > 2)) {
184172
errno = EBADF;
185173
return -1;
186174
}
@@ -199,7 +187,7 @@ static int _write(int file, char *ptr, int len)
199187
return -1;
200188
}
201189

202-
if (unlikely(file < 0)) {
190+
if (unlikely(file < 0 || file > 2)) {
203191
errno = EBADF;
204192
return -1;
205193
}

0 commit comments

Comments
 (0)