[lustre-devel] [PATCH] lustre: lnet: copy the correct amountof cpts to lnet_cpts
NeilBrown
neilb at suse.com
Tue Sep 25 16:36:30 PDT 2018
On Mon, Sep 24 2018, James Simmons wrote:
> The incorrect size was used in the memory copy of the requested
> cpts to net->lnet_cpts. This lead to the following in testing
> RIP: 0010:lnet_match2mt.isra.8+0x2b/0x40 [lnet]
>
> lnet_mt_of_attach+0x72/0x1b0 [lnet]
> LNetMEAttach+0x60/0x1f0 [lnet]
> ptl_send_rpc+0x26f/0xbb0 [ptlrpc]
> libcfs_debug_msg+0x57/0x80 [libcfs]
> ptlrpc_send_new_req+0x4c9/0x860 [ptlrpc]
> ptlrpc_check_set.part.21+0x855/0x18b0 [ptlrpc]
> ? try_to_del_timer_sync+0x4d/0x80
> ? del_timer_sync+0x35/0x40
> ptlrpcd_check+0x3ae/0x3f0 [ptlrpc]
> ptlrpcd+0x2be/0x320 [ptlrpc]
> ? wait_woken+0x80/0x80
>
> Changing the size from ncpts to ncpts * sizeof(*net->net_cpts)
>
> Signed-off-by: James Simmons <jsimmons at infradead.org>
> WC-bug-id: https://jira.whamcloud.com/browse/LU-11424
> Reviewed-on: https://review.whamcloud.com/33229
Thanks. Applied.
NeilBrown
> ---
> drivers/staging/lustre/lnet/lnet/config.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/staging/lustre/lnet/lnet/config.c b/drivers/staging/lustre/lnet/lnet/config.c
> index c11821a..4c22416 100644
> --- a/drivers/staging/lustre/lnet/lnet/config.c
> +++ b/drivers/staging/lustre/lnet/lnet/config.c
> @@ -174,7 +174,7 @@ struct lnet_text_buf { /* tmp struct for parsing routes */
> GFP_KERNEL);
> if (!net->net_cpts)
> return -ENOMEM;
> - memcpy(net->net_cpts, cpts, ncpts);
> + memcpy(net->net_cpts, cpts, ncpts * sizeof(*net->net_cpts));
> net->net_ncpts = ncpts;
> return 0;
> }
> --
> 1.8.3.1
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 832 bytes
Desc: not available
URL: <http://lists.lustre.org/pipermail/lustre-devel-lustre.org/attachments/20180926/aa18bb64/attachment.sig>
More information about the lustre-devel
mailing list