Re: [PATCH 3.16 002/136] staging: lustre: ptlrpc: kfree used instead of kvfree

From: James Simmons
Date: Sun Feb 11 2018 - 16:36:00 EST



> 3.16.54-rc1 review patch. If anyone has any objections, please let me know.

Reviewed-by: James Simmons <jsimmons@xxxxxxxxxxxxx>

> ------------------
>
> From: Nadav Amit <namit@xxxxxxxxxx>
>
> commit c3eec59659cf25916647d2178c541302bb4822ad upstream.
>
> rq_reqbuf is allocated using kvmalloc() but released in one occasion
> using kfree() instead of kvfree().
>
> The issue was found using grep based on a similar bug.
>
> Fixes: d7e09d0397e8 ("add Lustre file system client support")
> Fixes: ee0ec1946ec2 ("lustre: ptlrpc: Replace uses of OBD_{ALLOC,FREE}_LARGE")
>
> Cc: Peng Tao <bergwolf@xxxxxxxxx>
> Cc: Oleg Drokin <oleg.drokin@xxxxxxxxx>
> Cc: James Simmons <jsimmons@xxxxxxxxxxxxx>
>
> Signed-off-by: Nadav Amit <namit@xxxxxxxxxx>
> Signed-off-by: Andreas Dilger <andreas.dilger@xxxxxxxxx>
> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> [bwh: Backported to 3.16: use OBD_FREE_LARGE()]
> Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx>
> ---
> drivers/staging/lustre/lustre/ptlrpc/sec.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> --- a/drivers/staging/lustre/lustre/ptlrpc/sec.c
> +++ b/drivers/staging/lustre/lustre/ptlrpc/sec.c
> @@ -867,7 +867,7 @@ void sptlrpc_request_out_callback(struct
> if (req->rq_pool || !req->rq_reqbuf)
> return;
>
> - OBD_FREE(req->rq_reqbuf, req->rq_reqbuf_len);
> + OBD_FREE_LARGE(req->rq_reqbuf, req->rq_reqbuf_len);
> req->rq_reqbuf = NULL;
> req->rq_reqbuf_len = 0;
> }
>
>