summaryrefslogtreecommitdiff
path: root/kernel/sysfile.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/sysfile.c')
-rw-r--r--kernel/sysfile.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/kernel/sysfile.c b/kernel/sysfile.c
index d8a6fca..16b668c 100644
--- a/kernel/sysfile.c
+++ b/kernel/sysfile.c
@@ -262,8 +262,10 @@ create(char *path, short type, short major, short minor)
return 0;
}
- if((ip = ialloc(dp->dev, type)) == 0)
- panic("create: ialloc");
+ if((ip = ialloc(dp->dev, type)) == 0){
+ iunlockput(dp);
+ return 0;
+ }
ilock(ip);
ip->major = major;