linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 1/4] chardev: add additional check for minor range overlap
@ 2019-04-05 11:27 Chengguang Xu
  2019-04-05 11:27 ` [PATCH v3 2/4] chardev: add a check for given minor range Chengguang Xu
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Chengguang Xu @ 2019-04-05 11:27 UTC (permalink / raw)
  To: gregkh, dan.carpenter; +Cc: linux-fsdevel, viro, linux-kernel, Chengguang Xu

Current overlap checking cannot correctly handle
a case which is baseminor < existing baseminor &&
baseminor + minorct > existing baseminor + minorct.

Signed-off-by: Chengguang Xu <cgxu519@gmx.com>
---
v1->v2:
- Split fix and cleanup patches.
- Remove printing minor range in chrdev_show().

 fs/char_dev.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/fs/char_dev.c b/fs/char_dev.c
index a279c58fe360..8a63cfa29005 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;
--
2.20.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2019-04-05 12:52 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-05 11:27 [PATCH v3 1/4] chardev: add additional check for minor range overlap Chengguang Xu
2019-04-05 11:27 ` [PATCH v3 2/4] chardev: add a check for given minor range Chengguang Xu
2019-04-05 11:27 ` [PATCH v3 3/4] chardev: code cleanup for __register_chrdev_region() Chengguang Xu
2019-04-05 12:32   ` Greg KH
2019-04-05 12:52     ` Chengguang Xu
2019-04-05 11:27 ` [PATCH v3 4/4] chardev: update comment based on the code Chengguang Xu
2019-04-05 12:32 ` [PATCH v3 1/4] chardev: add additional check for minor range overlap Greg KH

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).