Loading drivers/infiniband/core/uverbs_cmd.c +2 −2 Original line number Original line Diff line number Diff line Loading @@ -3559,8 +3559,8 @@ int ib_uverbs_ex_create_flow(struct ib_uverbs_file *file, goto err_uobj; goto err_uobj; } } flow_attr = kzalloc(sizeof(*flow_attr) + cmd.flow_attr.num_of_specs * flow_attr = kzalloc(struct_size(flow_attr, flows, sizeof(union ib_flow_spec), GFP_KERNEL); cmd.flow_attr.num_of_specs), GFP_KERNEL); if (!flow_attr) { if (!flow_attr) { err = -ENOMEM; err = -ENOMEM; goto err_put; goto err_put; Loading include/rdma/ib_verbs.h +1 −4 Original line number Original line Diff line number Diff line Loading @@ -2093,10 +2093,7 @@ struct ib_flow_attr { u32 flags; u32 flags; u8 num_of_specs; u8 num_of_specs; u8 port; u8 port; /* Following are the optional layers according to user request union ib_flow_spec flows[]; * struct ib_flow_spec_xxx * struct ib_flow_spec_yyy */ }; }; struct ib_flow { struct ib_flow { Loading Loading
drivers/infiniband/core/uverbs_cmd.c +2 −2 Original line number Original line Diff line number Diff line Loading @@ -3559,8 +3559,8 @@ int ib_uverbs_ex_create_flow(struct ib_uverbs_file *file, goto err_uobj; goto err_uobj; } } flow_attr = kzalloc(sizeof(*flow_attr) + cmd.flow_attr.num_of_specs * flow_attr = kzalloc(struct_size(flow_attr, flows, sizeof(union ib_flow_spec), GFP_KERNEL); cmd.flow_attr.num_of_specs), GFP_KERNEL); if (!flow_attr) { if (!flow_attr) { err = -ENOMEM; err = -ENOMEM; goto err_put; goto err_put; Loading
include/rdma/ib_verbs.h +1 −4 Original line number Original line Diff line number Diff line Loading @@ -2093,10 +2093,7 @@ struct ib_flow_attr { u32 flags; u32 flags; u8 num_of_specs; u8 num_of_specs; u8 port; u8 port; /* Following are the optional layers according to user request union ib_flow_spec flows[]; * struct ib_flow_spec_xxx * struct ib_flow_spec_yyy */ }; }; struct ib_flow { struct ib_flow { Loading