RDMA/srp: Add more structure size checks
authorBart Van Assche <bvanassche@acm.org>
Mon, 24 May 2021 04:12:08 +0000 (21:12 -0700)
committerJason Gunthorpe <jgg@nvidia.com>
Fri, 28 May 2021 23:21:20 +0000 (20:21 -0300)
Before modifying how the __packed attribute is used, add compile time
size checks for the structures that will be modified.

Link: https://lore.kernel.org/r/20210524041211.9480-3-bvanassche@acm.org
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Cc: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/ulp/srp/ib_srp.c

index 31f8aa2..0f66bf0 100644 (file)
@@ -4078,10 +4078,13 @@ static int __init srp_init_module(void)
 {
        int ret;
 
+       BUILD_BUG_ON(sizeof(struct srp_aer_req) != 36);
+       BUILD_BUG_ON(sizeof(struct srp_cmd) != 48);
        BUILD_BUG_ON(sizeof(struct srp_imm_buf) != 4);
+       BUILD_BUG_ON(sizeof(struct srp_indirect_buf) != 20);
        BUILD_BUG_ON(sizeof(struct srp_login_req) != 64);
        BUILD_BUG_ON(sizeof(struct srp_login_req_rdma) != 56);
-       BUILD_BUG_ON(sizeof(struct srp_cmd) != 48);
+       BUILD_BUG_ON(sizeof(struct srp_rsp) != 36);
 
        if (srp_sg_tablesize) {
                pr_warn("srp_sg_tablesize is deprecated, please use cmd_sg_entries\n");