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

Commit fc458dcd authored by Ed L. Cashin's avatar Ed L. Cashin Committed by Greg KH
Browse files

[PATCH] aoe 1/12: remove too-low cap on minor number



remove too-low cap on minor number

Signed-off-by: default avatarEd L. Cashin <ecashin@coraid.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent c0698f2f
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -2,9 +2,14 @@
#define VERSION "5"
#define AOE_MAJOR 152
#define DEVICE_NAME "aoe"

/* set AOE_PARTITIONS to 1 to use whole-disks only
 * default is 16, which is 15 partitions plus the whole disk
 */
#ifndef AOE_PARTITIONS
#define AOE_PARTITIONS 16
#endif

#define SYSMINOR(aoemajor, aoeminor) ((aoemajor) * 10 + (aoeminor))
#define AOEMAJOR(sysminor) ((sysminor) / 10)
#define AOEMINOR(sysminor) ((sysminor) % 10)
+5 −4
Original line number Diff line number Diff line
@@ -577,7 +577,7 @@ aoecmd_cfg_rsp(struct sk_buff *skb)
	struct aoe_cfghdr *ch;
	ulong flags, bufcnt, sysminor, aoemajor;
	struct sk_buff *sl;
	enum { MAXFRAMES = 8, MAXSYSMINOR = 255 };
	enum { MAXFRAMES = 8 };

	h = (struct aoe_hdr *) skb->mac.raw;
	ch = (struct aoe_cfghdr *) (h+1);
@@ -594,9 +594,10 @@ aoecmd_cfg_rsp(struct sk_buff *skb)
	}

	sysminor = SYSMINOR(aoemajor, h->minor);
	if (sysminor > MAXSYSMINOR) {
		printk(KERN_INFO "aoe: aoecmd_cfg_rsp: sysminor %ld too "
			"large\n", sysminor);
	if (sysminor * AOE_PARTITIONS + AOE_PARTITIONS > MINORMASK) {
		printk(KERN_INFO
			"aoe: e%ld.%d: minor number too large\n", 
			aoemajor, (int) h->minor);
		return;
	}