提交 1a70198b 编写于 作者: R Rich Felker

fix mknod and mknodat to accept large dev_t values

support for these was recently added to sysmacros.h. note that the
syscall argument is a long, despite dev_t being 64-bit, so on 32-bit
archs the high bits will be lost. it appears the high bits are just
glibc silliness and not part of the kernel api, anyway, but it's nice
that we have them there for future expansion if needed.
上级 e216951f
......@@ -3,8 +3,5 @@
int mknod(const char *path, mode_t mode, dev_t dev)
{
/* since dev_t is system-specific anyway we defer to the idiotic
* legacy-compatible bitfield mapping of the type.. at least we've
* made it large enough to leave space for future expansion.. */
return syscall(SYS_mknod, path, mode, dev & 0xffff);
return syscall(SYS_mknod, path, mode, dev);
}
......@@ -3,5 +3,5 @@
int mknodat(int fd, const char *path, mode_t mode, dev_t dev)
{
return syscall(SYS_mknodat, fd, path, mode, dev & 0xffff);
return syscall(SYS_mknodat, fd, path, mode, dev);
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册