Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c6edc42f authored by Hillf Danton's avatar Hillf Danton Committed by Greg Kroah-Hartman
Browse files

uio: fix allocating minor id for uio device



The number of uio devices that could be used should be less than
UIO_MAX_DEVICES by design, and this work guards any cases in which id
more than UIO_MAX_DEVICES is utilized.

Signed-off-by: default avatarHillf Danton <dhillf@gmail.com>
Signed-off-by: default avatarHans J. Koch <hjk@hansjkoch.de>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent f0c554fd
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -381,7 +381,13 @@ static int uio_get_minor(struct uio_device *idev)
			retval = -ENOMEM;
		goto exit;
	}
	idev->minor = id & MAX_ID_MASK;
	if (id < UIO_MAX_DEVICES) {
		idev->minor = id;
	} else {
		dev_err(idev->dev, "too many uio devices\n");
		retval = -EINVAL;
		idr_remove(&uio_idr, id);
	}
exit:
	mutex_unlock(&minor_lock);
	return retval;