Comment 2 for bug 11896

Revision history for this message
In , Roland Dreier (roland-topspin) wrote : Re: Bug#289945: udev: does not create device nodes with large majors properly

    Greg> glibc "issue" Try upgrading it to a newer version.

Looks like it. The udev tests behave as you say, and even simpler,
the following program prints "0x12c00" but creates /dev/infiniband/xxx
with major 0x2c. This is with Debian libc6 2.3.2.ds1-20, which is the
newest available in Debian. Do you happen to know which glibc version
has the fix for mknod?

 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
 #include <unistd.h>

 int main(int argc, char *argv[])
 {
  printf("0x%x\n", makedev(300, 0));
  mknod("/dev/infiniband/xxx", S_IFCHR | 0600, makedev(300, 0));
  return 0;
 }

Thanks,
  Roland