]> Zhao Yanbai Git Server - minix.git/commitdiff
iskernelp() and isuserp() test pointers
authorTomas Hruby <tom@minix3.org>
Tue, 15 Sep 2009 09:58:46 +0000 (09:58 +0000)
committerTomas Hruby <tom@minix3.org>
Tue, 15 Sep 2009 09:58:46 +0000 (09:58 +0000)
- we may test even not fully initialized entries, e.g. during boot
  crash

- is we know the process number we should use iskerneln
  and isusern

kernel/proc.h

index 28dfb1a0eeab47267e78d15cb93bb134d8441832..aa3752f0070e78ae726a002244cae9fc072a45df 100755 (executable)
@@ -204,9 +204,9 @@ struct proc {
 #define isokprocn(n)      ((unsigned) ((n) + NR_TASKS) < NR_PROCS + NR_TASKS)
 #define isemptyn(n)       isemptyp(proc_addr(n)) 
 #define isemptyp(p)       ((p)->p_rts_flags == SLOT_FREE)
-#define iskernelp(p)     iskerneln((p)->p_nr)
+#define iskernelp(p)     ((p) < BEG_USER_ADDR)
 #define iskerneln(n)     ((n) < 0)
-#define isuserp(p)        isusern((p)->p_nr)
+#define isuserp(p)        isusern((p) >= BEG_USER_ADDR)
 #define isusern(n)        ((n) >= 0)
 
 /* The process table and pointers to process table slots. The pointers allow