Merge branch 'master' of /home/trondmy/kernel/linux-2.6/
[sfrench/cifs-2.6.git] / fs / char_dev.c
index 1f3285affa39c9d06da9fb3af7bee91094d894f9..e6194e2b9bb9cbf39c9c85f23d346d55716293a1 100644 (file)
@@ -24,6 +24,7 @@
 #ifdef CONFIG_KMOD
 #include <linux/kmod.h>
 #endif
+#include "internal.h"
 
 /*
  * capabilities for /dev/mem, /dev/kmem and similar directly mappable character
@@ -107,6 +108,13 @@ __register_chrdev_region(unsigned int major, unsigned int baseminor,
        /* temporary */
        if (major == 0) {
                for (i = ARRAY_SIZE(chrdevs)-1; i > 0; i--) {
+                       /*
+                        * Disallow the LANANA-assigned LOCAL/EXPERIMENTAL
+                        * majors
+                        */
+                       if ((60 <= i && i <= 63) || (120 <= i && i <= 127) ||
+                                       (240 <= i && i <= 254))
+                               continue;
                        if (chrdevs[i] == NULL)
                                break;
                }