diff options
-rw-r--r-- | drivers/infiniband/core/mad.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/infiniband/core/mad.c b/drivers/infiniband/core/mad.c index b4d8672a3e4e..056389229ea7 100644 --- a/drivers/infiniband/core/mad.c +++ b/drivers/infiniband/core/mad.c | |||
@@ -1596,6 +1596,9 @@ find_mad_agent(struct ib_mad_port_private *port_priv, | |||
1596 | mad->mad_hdr.class_version].class; | 1596 | mad->mad_hdr.class_version].class; |
1597 | if (!class) | 1597 | if (!class) |
1598 | goto out; | 1598 | goto out; |
1599 | if (convert_mgmt_class(mad->mad_hdr.mgmt_class) >= | ||
1600 | IB_MGMT_MAX_METHODS) | ||
1601 | goto out; | ||
1599 | method = class->method_table[convert_mgmt_class( | 1602 | method = class->method_table[convert_mgmt_class( |
1600 | mad->mad_hdr.mgmt_class)]; | 1603 | mad->mad_hdr.mgmt_class)]; |
1601 | if (method) | 1604 | if (method) |