Commit c3643395 authored by Ed Cashin's avatar Ed Cashin Committed by Stephen Rothwell

aoe: ensure that AoE minor address is supported

This aoe driver only supports a fixed number of AoE minor ("slot")
addresses per major ("shelf") address.  This check ensures that the
minor address is supported and clarifies the diagnostic message.
Signed-off-by: default avatarEd Cashin <ecashin@coraid.com>
parent e07cccf4
...@@ -982,8 +982,12 @@ aoecmd_cfg_rsp(struct sk_buff *skb) ...@@ -982,8 +982,12 @@ aoecmd_cfg_rsp(struct sk_buff *skb)
} }
sysminor = SYSMINOR(aoemajor, h->minor); sysminor = SYSMINOR(aoemajor, h->minor);
if (sysminor * AOE_PARTITIONS + AOE_PARTITIONS > MINORMASK) { if (h->minor >= NPERSHELF) {
printk(KERN_INFO "aoe: e%ld.%d: minor number too large\n", printk(KERN_INFO "aoe: e%ld.%d: AoE minor address too large\n",
aoemajor, (int) h->minor);
return;
} else if (sysminor * AOE_PARTITIONS + AOE_PARTITIONS > MINORMASK) {
printk(KERN_INFO "aoe: e%ld.%d: AoE major address too large\n",
aoemajor, (int) h->minor); aoemajor, (int) h->minor);
return; return;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment