diff --git a/fs/char_dev.c b/fs/char_dev.c index a279c58fe3606224df4c7c441090ed07f98d15b9..8a63cfa2900533c882a800d34f568b4cc760b83a 100644 --- a/fs/char_dev.c +++ b/fs/char_dev.c @@ -159,6 +159,12 @@ __register_chrdev_region(unsigned int major, unsigned int baseminor, ret = -EBUSY; goto out; } + + if (new_min < old_min && new_max > old_max) { + ret = -EBUSY; + goto out; + } + } cd->next = *cp;