lkml.org 
[lkml]   [2019]   [Apr]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] drm/vboxvideo: Avoid double check buffer_overflow in vbva_write()
From
Date
Hi,

On 06-04-19 10:18, Sidong Yang wrote:
> In vbva_write(), We do not need to double check available chunk size if
> chunk is smaller than available buffer. Put the second if clause in the
> first if clause and avoid check twice.
>
> Signed-off-by: Sidong Yang <realwakka@gmail.com>

The code pattern of checking some condition, then fixing it up
and checking again without putting the second check inside the
first check's if block is quite normal and IMHO is more readable
then the nested version with all the extra indentation.

I"m sure the compiler is more then smart enough to just optimize
away the second check if the first one succeeds.

So I see no benefits to this patch, so nack from me.

Regards,

Hans


> ---
> drivers/gpu/drm/vboxvideo/vbva_base.c | 14 +++++++-------
> 1 file changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/gpu/drm/vboxvideo/vbva_base.c b/drivers/gpu/drm/vboxvideo/vbva_base.c
> index 36bc9824ec3f..a0c185acf37a 100644
> --- a/drivers/gpu/drm/vboxvideo/vbva_base.c
> +++ b/drivers/gpu/drm/vboxvideo/vbva_base.c
> @@ -80,14 +80,14 @@ bool vbva_write(struct vbva_buf_ctx *vbva_ctx, struct gen_pool *ctx,
> if (chunk >= available) {
> vbva_buffer_flush(ctx);
> available = vbva_buffer_available(vbva);
> - }
> -
> - if (chunk >= available) {
> - if (WARN_ON(available <= vbva->partial_write_tresh)) {
> - vbva_ctx->buffer_overflow = true;
> - return false;
> + if (chunk >= available) {
> + if (WARN_ON(available <= vbva->partial_write_tresh)) {
> + vbva_ctx->buffer_overflow = true;
> + return false;
> + }
> + chunk = available - vbva->partial_write_tresh;
> }
> - chunk = available - vbva->partial_write_tresh;
> +
> }
>
> vbva_buffer_place_data_at(vbva_ctx, p, chunk,
>

\
 
 \ /
  Last update: 2019-04-06 11:48    [W:0.064 / U:0.048 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site