Name the process behind 'permission denied'; record what is unfinished
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EVRhxi9zpdW2uDUN4FVcao
This commit is contained in:
parent
d650ff433b
commit
2e3deb5390
2 changed files with 36 additions and 2 deletions
|
|
@ -2,6 +2,7 @@
|
|||
#include "core/defs.h"
|
||||
#include "uapi/stat.h"
|
||||
#include "core/param.h"
|
||||
#include "core/proc.h"
|
||||
#include "fs/fs.h"
|
||||
#include "core/spinlock.h"
|
||||
#include "core/sleeplock.h"
|
||||
|
|
@ -278,7 +279,9 @@ fileread(struct file *f, char *addr, int n)
|
|||
}
|
||||
|
||||
if((f->ip->rwmode & 2) == 0){
|
||||
cprintf("SchOS: permission denied (read)\n");
|
||||
cprintf("SchOS: %s (pid %d): permission denied (read) on inode %d:%ld, rwmode %d\n",
|
||||
myproc()->name, myproc()->pid, (int)f->ip->dev, (long)f->ip->inum,
|
||||
(int)f->ip->rwmode);
|
||||
iunlock(f->ip);
|
||||
return -1;
|
||||
}
|
||||
|
|
@ -344,7 +347,9 @@ filewrite(struct file *f, char *addr, int n)
|
|||
}
|
||||
|
||||
if((f->ip->rwmode & 1) == 0){
|
||||
cprintf("SchOS: permission denied (write)\n");
|
||||
cprintf("SchOS: %s (pid %d): permission denied (write) on inode %d:%ld, rwmode %d\n",
|
||||
myproc()->name, myproc()->pid, (int)f->ip->dev, (long)f->ip->inum,
|
||||
(int)f->ip->rwmode);
|
||||
iunlock(f->ip);
|
||||
return -1;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue