[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20200205.142500.1124442901896236230.davem@davemloft.net>
Date: Wed, 05 Feb 2020 14:25:00 +0100 (CET)
From: David Miller <davem@...emloft.net>
To: jacob.e.keller@...el.com
Cc: netdev@...r.kernel.org, jiri@...nulli.us, valex@...lanox.com,
parav@...lanox.com
Subject: Re: [net] devlink: report 0 after hitting end in region read
From: Jacob Keller <jacob.e.keller@...el.com>
Date: Tue, 4 Feb 2020 15:59:50 -0800
> commit fdd41ec21e15 ("devlink: Return right error code in case of errors
> for region read") modified the region read code to report errors
> properly in unexpected cases.
>
> In the case where the start_offset and ret_offset match, it unilaterally
> converted this into an error. This causes an issue for the "dump"
> version of the command. In this case, the devlink region dump will
> always report an invalid argument:
>
> 000000000000ffd0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> 000000000000ffe0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> devlink answers: Invalid argument
> 000000000000fff0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
>
> This occurs because the expected flow for the dump is to return 0 after
> there is no further data.
>
> The simplest fix would be to stop converting the error code to -EINVAL
> if start_offset == ret_offset. However, avoid unnecessary work by
> checking for when start_offset is larger than the region size and
> returning 0 upfront.
>
> Fixes: fdd41ec21e15 ("devlink: Return right error code in case of errors for region read")
> Signed-off-by: Jacob Keller <jacob.e.keller@...el.com>
Applied and queued up for -stable, thanks.
Powered by blists - more mailing lists