diff options
author | Gustavo A. R. Silva <gustavoars@kernel.org> | 2020-06-20 04:14:06 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2020-06-23 01:43:16 +0300 |
commit | c05d042fda889f1e591b9d306482d9c16072dd60 (patch) | |
tree | 879c23cadb62bd3a4b6cf5a5d41fabb3eba92ee2 /arch/sparc/kernel/viohs.c | |
parent | dd0d718152e4c65b173070d48ea9dfc06894c3e5 (diff) | |
download | linux-c05d042fda889f1e591b9d306482d9c16072dd60.tar.xz |
sparc64: viohs: Use struct_size() helper
Make use of the struct_size() helper instead of an open-coded version
in order to avoid any potential type mistakes. Also, remove unnecessary
variable _len_.
This code was detected with the help of Coccinelle and, audited and
fixed manually.
Addresses-KSPP-ID: https://github.com/KSPP/linux/issues/83
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc/kernel/viohs.c')
-rw-r--r-- | arch/sparc/kernel/viohs.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/arch/sparc/kernel/viohs.c b/arch/sparc/kernel/viohs.c index 7db5aabe9708..e27afd233bf5 100644 --- a/arch/sparc/kernel/viohs.c +++ b/arch/sparc/kernel/viohs.c @@ -428,7 +428,7 @@ static int process_dreg_info(struct vio_driver_state *vio, struct vio_dring_register *pkt) { struct vio_dring_state *dr; - int i, len; + int i; viodbg(HS, "GOT DRING_REG INFO ident[%llx] " "ndesc[%u] dsz[%u] opt[0x%x] ncookies[%u]\n", @@ -482,9 +482,7 @@ static int process_dreg_info(struct vio_driver_state *vio, pkt->num_descr, pkt->descr_size, pkt->options, pkt->num_cookies); - len = (sizeof(*pkt) + - (dr->ncookies * sizeof(struct ldc_trans_cookie))); - if (send_ctrl(vio, &pkt->tag, len) < 0) + if (send_ctrl(vio, &pkt->tag, struct_size(pkt, cookies, dr->ncookies)) < 0) goto send_nack; vio->dr_state |= VIO_DR_STATE_RXREG; |