> Subject: [PATCH v3 1/3] net: mana: Add flex array to struct > mana_cfg_rx_steer_req_v2 > > The "struct mana_cfg_rx_steer_req_v2" uses a dynamically sized set of trailing > elements. Specifically, it uses a "mana_handle_t" array. So, use the preferred way > in the kernel declaring a flexible array [1]. > > At the same time, prepare for the coming implementation by GCC and Clang of > the __counted_by attribute. Flexible array members annotated with > __counted_by can have their accesses bounds-checked at run-time via > CONFIG_UBSAN_BOUNDS (for array indexing) and CONFIG_FORTIFY_SOURCE > (for strcpy/memcpy-family functions). > > This is a previous step to refactor the two consumers of this structure. > > drivers/infiniband/hw/mana/qp.c > drivers/net/ethernet/microsoft/mana/mana_en.c > > The ultimate goal is to avoid the open-coded arithmetic in the memory allocator > functions [2] using the "struct_size" macro. > > Link: > https://www.ker/ > nel.org%2Fdoc%2Fhtml%2Fnext%2Fprocess%2Fdeprecated.html%23zero-length- > and-one-element- > arrays&data=05%7C02%7Clongli%40microsoft.com%7Ce75134553ebf4bca87bd0 > 8dc564acf8e%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C63848012 > 6558204741%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV > 2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=%2B8k08 > SWrKXJiDfQ2cal65b1K1sElRB8x0oA5EFeUqbw%3D&reserved=0 [1] > Link: > https://www.ker/ > nel.org%2Fdoc%2Fhtml%2Fnext%2Fprocess%2Fdeprecated.html%23open-coded- > arithmetic-in-allocator- > arguments&data=05%7C02%7Clongli%40microsoft.com%7Ce75134553ebf4bca8 > 7bd08dc564acf8e%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C6384 > 80126558211762%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJ > QIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=h0 > wsUICWnJwn1Nd5fr%2B0z8SXZIqXQrNWKTEbVlB%2BNI0%3D&reserved=0 [2] > Signed-off-by: Erick Archer <erick.archer@xxxxxxxxxxx> Reviewed-by: Long Li <longli@xxxxxxxxxxxxx>