[IB] Check port number in ib_query_port()/ib_modify_port()
Check port number before passing query_port or modify_port operations on to device driver. Signed-off-by: Roland Dreier <rolandd@cisco.com>
This commit is contained in:
parent
f575394f1d
commit
116c0074ec
|
@ -514,6 +514,12 @@ int ib_query_port(struct ib_device *device,
|
||||||
u8 port_num,
|
u8 port_num,
|
||||||
struct ib_port_attr *port_attr)
|
struct ib_port_attr *port_attr)
|
||||||
{
|
{
|
||||||
|
if (device->node_type == IB_NODE_SWITCH) {
|
||||||
|
if (port_num)
|
||||||
|
return -EINVAL;
|
||||||
|
} else if (port_num < 1 || port_num > device->phys_port_cnt)
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
return device->query_port(device, port_num, port_attr);
|
return device->query_port(device, port_num, port_attr);
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(ib_query_port);
|
EXPORT_SYMBOL(ib_query_port);
|
||||||
|
@ -583,6 +589,12 @@ int ib_modify_port(struct ib_device *device,
|
||||||
u8 port_num, int port_modify_mask,
|
u8 port_num, int port_modify_mask,
|
||||||
struct ib_port_modify *port_modify)
|
struct ib_port_modify *port_modify)
|
||||||
{
|
{
|
||||||
|
if (device->node_type == IB_NODE_SWITCH) {
|
||||||
|
if (port_num)
|
||||||
|
return -EINVAL;
|
||||||
|
} else if (port_num < 1 || port_num > device->phys_port_cnt)
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
return device->modify_port(device, port_num, port_modify_mask,
|
return device->modify_port(device, port_num, port_modify_mask,
|
||||||
port_modify);
|
port_modify);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue