diff --git a/kern/drivers/dev/pipe.c b/kern/drivers/dev/pipe.c
index be2593b..b2e24cf 100644
--- a/kern/drivers/dev/pipe.c
+++ b/kern/drivers/dev/pipe.c
@@ -507,7 +507,7 @@
 			error(EEXIST, ERROR_FIXME);
 		strncpy(p->pipedir[1 + d1].name, d->name, KNAMELEN);
 	}
-	if (d->mode != ~0UL)
+	if (d->mode != -1)
 		p->pipedir[d1 + 1].perm = d->mode & 0777;
 	poperror();
 	kfree(d);
diff --git a/kern/drivers/dev/proc.c b/kern/drivers/dev/proc.c
index f4f9150..4212f8b 100644
--- a/kern/drivers/dev/proc.c
+++ b/kern/drivers/dev/proc.c
@@ -693,7 +693,7 @@
 		else
 			proc_set_username(p, d->uid);
 	}
-	if (d->mode != ~0UL)
+	if (d->mode != -1)
 		p->procmode = d->mode & 0777;
 
 	poperror();
diff --git a/kern/drivers/dev/root.c b/kern/drivers/dev/root.c
index 08a16e4..33275ca 100644
--- a/kern/drivers/dev/root.c
+++ b/kern/drivers/dev/root.c
@@ -442,7 +442,7 @@
 	if (!emptystr(dir->name))
 		printk("[%s] attempted rename of %s to %s\n", __FUNCTION__,
 		       file->name, dir->name);	/* strncpy for this btw */
-	if (dir->mode != ~0UL)
+	if (dir->mode != -1)
 		file->perm = dir->mode | (file->qid.type == QTDIR ? DMDIR : 0);
 	kfree(dir);
 	return m_sz;
diff --git a/kern/drivers/dev/sd.c b/kern/drivers/dev/sd.c
index 6022cc9..6259f23 100644
--- a/kern/drivers/dev/sd.c
+++ b/kern/drivers/dev/sd.c
@@ -1451,7 +1451,7 @@
 		error(EIO, "Short status");
 	if (!emptystr(d[0].uid))
 		kstrdup(&perm->user, d[0].uid);
-	if (d[0].mode != (uint32_t)~0UL)
+	if (d[0].mode != -1)
 		perm->perm = (perm->perm & ~0777) | (d[0].mode & 0777);
 
 	kfree(d);
diff --git a/kern/include/ns.h b/kern/include/ns.h
index 9dad04e..eb7fa9c 100644
--- a/kern/include/ns.h
+++ b/kern/include/ns.h
@@ -139,7 +139,7 @@
 	unsigned int dev;			/* server subtype */
 	/* file data */
 	struct qid qid;				/* unique id from server */
-	uint32_t mode;				/* permissions */
+	int mode;					/* permissions */
 	uint32_t atime;				/* last read time */
 	uint32_t mtime;				/* last write time */
 	int64_t length;				/* file length: see <u.h> */
@@ -475,7 +475,7 @@
 	char name[KNAMELEN];
 	struct qid qid;
 	int64_t length;
-	long perm;
+	int perm;
 };
 
 struct walkqid {
diff --git a/kern/src/net/devip.c b/kern/src/net/devip.c
index 63d5289..717bd3e 100644
--- a/kern/src/net/devip.c
+++ b/kern/src/net/devip.c
@@ -618,7 +618,7 @@
 		error(EPERM, ERROR_FIXME);
 	if (!emptystr(d->uid))
 		kstrdup(&cv->owner, d->uid);
-	if (d->mode != ~0UL)
+	if (d->mode != -1)
 		cv->perm = d->mode & 0777;
 	poperror();
 	kfree(d);
diff --git a/kern/src/net/netif.c b/kern/src/net/netif.c
index 89567ab..a66555b 100644
--- a/kern/src/net/netif.c
+++ b/kern/src/net/netif.c
@@ -471,7 +471,7 @@
 	}
 	if (!emptystr(dir[0].uid))
 		strlcpy(f->owner, dir[0].uid, KNAMELEN);
-	if (dir[0].mode != ~0UL)
+	if (dir[0].mode != -1)
 		f->mode = dir[0].mode;
 	kfree(dir);
 	return m;
