1 From 08c271e02d02ab497ace99b9f4fa7486836500a0 Mon Sep 17 00:00:00 2001
2 From: Chengguang Xu <cgxu519@gmx.com>
3 Date: Fri, 15 Feb 2019 20:27:11 +0800
4 Subject: chardev: add additional check for minor range overlap
6 [ Upstream commit de36e16d1557a0b6eb328bc3516359a12ba5c25c ]
8 Current overlap checking cannot correctly handle
9 a case which is baseminor < existing baseminor &&
10 baseminor + minorct > existing baseminor + minorct.
12 Signed-off-by: Chengguang Xu <cgxu519@gmx.com>
13 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
14 Signed-off-by: Sasha Levin <sashal@kernel.org>
16 fs/char_dev.c | 6 ++++++
17 1 file changed, 6 insertions(+)
19 diff --git a/fs/char_dev.c b/fs/char_dev.c
20 index 24b142569ca9b..d0655ca894816 100644
23 @@ -130,6 +130,12 @@ __register_chrdev_region(unsigned int major, unsigned int baseminor,
28 + if (new_min < old_min && new_max > old_max) {