netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net] devlink: fix return value after hitting end in region read
@ 2020-04-29  2:01 Jakub Kicinski
  2020-04-29 15:11 ` Keller, Jacob E
  2020-04-29 15:47 ` Jiri Pirko
  0 siblings, 2 replies; 3+ messages in thread
From: Jakub Kicinski @ 2020-04-29  2:01 UTC (permalink / raw)
  To: davem; +Cc: netdev, kernel-team, jiri, jacob.e.keller, parav, Jakub Kicinski

Commit d5b90e99e1d5 ("devlink: report 0 after hitting end in region read")
fixed region dump, but region read still returns a spurious error:

$ devlink region read netdevsim/netdevsim1/dummy snapshot 0 addr 0 len 128
0000000000000000 a6 f4 c4 1c 21 35 95 a6 9d 34 c3 5b 87 5b 35 79
0000000000000010 f3 a0 d7 ee 4f 2f 82 7f c6 dd c4 f6 a5 c3 1b ae
0000000000000020 a4 fd c8 62 07 59 48 03 70 3b c7 09 86 88 7f 68
0000000000000030 6f 45 5d 6d 7d 0e 16 38 a9 d0 7a 4b 1e 1e 2e a6
0000000000000040 e6 1d ae 06 d6 18 00 85 ca 62 e8 7e 11 7e f6 0f
0000000000000050 79 7e f7 0f f3 94 68 bd e6 40 22 85 b6 be 6f b1
0000000000000060 af db ef 5e 34 f0 98 4b 62 9a e3 1b 8b 93 fc 17
devlink answers: Invalid argument
0000000000000070 61 e8 11 11 66 10 a5 f7 b1 ea 8d 40 60 53 ed 12

This is a minimal fix, I'll follow up with a restructuring
so we don't have two checks for the same condition.

Fixes: fdd41ec21e15 ("devlink: Return right error code in case of errors for region read")
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
---
 net/core/devlink.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/net/core/devlink.c b/net/core/devlink.c
index 80f97722f31f..1ec2e9fd8898 100644
--- a/net/core/devlink.c
+++ b/net/core/devlink.c
@@ -4283,6 +4283,11 @@ static int devlink_nl_cmd_region_read_dumpit(struct sk_buff *skb,
 		end_offset = nla_get_u64(attrs[DEVLINK_ATTR_REGION_CHUNK_ADDR]);
 		end_offset += nla_get_u64(attrs[DEVLINK_ATTR_REGION_CHUNK_LEN]);
 		dump = false;
+
+		if (start_offset == end_offset) {
+			err = 0;
+			goto nla_put_failure;
+		}
 	}
 
 	err = devlink_nl_region_read_snapshot_fill(skb, devlink,
-- 
2.25.4


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* RE: [PATCH net] devlink: fix return value after hitting end in region read
  2020-04-29  2:01 [PATCH net] devlink: fix return value after hitting end in region read Jakub Kicinski
@ 2020-04-29 15:11 ` Keller, Jacob E
  2020-04-29 15:47 ` Jiri Pirko
  1 sibling, 0 replies; 3+ messages in thread
From: Keller, Jacob E @ 2020-04-29 15:11 UTC (permalink / raw)
  To: Jakub Kicinski, davem; +Cc: netdev, kernel-team, jiri, parav



> -----Original Message-----
> From: Jakub Kicinski <kuba@kernel.org>
> Sent: Tuesday, April 28, 2020 7:02 PM
> To: davem@davemloft.net
> Cc: netdev@vger.kernel.org; kernel-team@fb.com; jiri@resnulli.us; Keller, Jacob
> E <jacob.e.keller@intel.com>; parav@mellanox.com; Jakub Kicinski
> <kuba@kernel.org>
> Subject: [PATCH net] devlink: fix return value after hitting end in region read
> 
> Commit d5b90e99e1d5 ("devlink: report 0 after hitting end in region read")
> fixed region dump, but region read still returns a spurious error:
> 
> $ devlink region read netdevsim/netdevsim1/dummy snapshot 0 addr 0 len 128
> 0000000000000000 a6 f4 c4 1c 21 35 95 a6 9d 34 c3 5b 87 5b 35 79
> 0000000000000010 f3 a0 d7 ee 4f 2f 82 7f c6 dd c4 f6 a5 c3 1b ae
> 0000000000000020 a4 fd c8 62 07 59 48 03 70 3b c7 09 86 88 7f 68
> 0000000000000030 6f 45 5d 6d 7d 0e 16 38 a9 d0 7a 4b 1e 1e 2e a6
> 0000000000000040 e6 1d ae 06 d6 18 00 85 ca 62 e8 7e 11 7e f6 0f
> 0000000000000050 79 7e f7 0f f3 94 68 bd e6 40 22 85 b6 be 6f b1
> 0000000000000060 af db ef 5e 34 f0 98 4b 62 9a e3 1b 8b 93 fc 17
> devlink answers: Invalid argument
> 0000000000000070 61 e8 11 11 66 10 a5 f7 b1 ea 8d 40 60 53 ed 12
> 
> This is a minimal fix, I'll follow up with a restructuring
> so we don't have two checks for the same condition.
> 

Makes sense.

Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>

> Fixes: fdd41ec21e15 ("devlink: Return right error code in case of errors for region
> read")
> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
> ---
>  net/core/devlink.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/net/core/devlink.c b/net/core/devlink.c
> index 80f97722f31f..1ec2e9fd8898 100644
> --- a/net/core/devlink.c
> +++ b/net/core/devlink.c
> @@ -4283,6 +4283,11 @@ static int devlink_nl_cmd_region_read_dumpit(struct
> sk_buff *skb,
>  		end_offset =
> nla_get_u64(attrs[DEVLINK_ATTR_REGION_CHUNK_ADDR]);
>  		end_offset +=
> nla_get_u64(attrs[DEVLINK_ATTR_REGION_CHUNK_LEN]);
>  		dump = false;
> +
> +		if (start_offset == end_offset) {
> +			err = 0;
> +			goto nla_put_failure;
> +		}
>  	}
> 
>  	err = devlink_nl_region_read_snapshot_fill(skb, devlink,
> --
> 2.25.4


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH net] devlink: fix return value after hitting end in region read
  2020-04-29  2:01 [PATCH net] devlink: fix return value after hitting end in region read Jakub Kicinski
  2020-04-29 15:11 ` Keller, Jacob E
@ 2020-04-29 15:47 ` Jiri Pirko
  1 sibling, 0 replies; 3+ messages in thread
From: Jiri Pirko @ 2020-04-29 15:47 UTC (permalink / raw)
  To: Jakub Kicinski; +Cc: davem, netdev, kernel-team, jacob.e.keller, parav

Wed, Apr 29, 2020 at 04:01:58AM CEST, kuba@kernel.org wrote:
>Commit d5b90e99e1d5 ("devlink: report 0 after hitting end in region read")
>fixed region dump, but region read still returns a spurious error:
>
>$ devlink region read netdevsim/netdevsim1/dummy snapshot 0 addr 0 len 128
>0000000000000000 a6 f4 c4 1c 21 35 95 a6 9d 34 c3 5b 87 5b 35 79
>0000000000000010 f3 a0 d7 ee 4f 2f 82 7f c6 dd c4 f6 a5 c3 1b ae
>0000000000000020 a4 fd c8 62 07 59 48 03 70 3b c7 09 86 88 7f 68
>0000000000000030 6f 45 5d 6d 7d 0e 16 38 a9 d0 7a 4b 1e 1e 2e a6
>0000000000000040 e6 1d ae 06 d6 18 00 85 ca 62 e8 7e 11 7e f6 0f
>0000000000000050 79 7e f7 0f f3 94 68 bd e6 40 22 85 b6 be 6f b1
>0000000000000060 af db ef 5e 34 f0 98 4b 62 9a e3 1b 8b 93 fc 17
>devlink answers: Invalid argument
>0000000000000070 61 e8 11 11 66 10 a5 f7 b1 ea 8d 40 60 53 ed 12
>
>This is a minimal fix, I'll follow up with a restructuring
>so we don't have two checks for the same condition.
>
>Fixes: fdd41ec21e15 ("devlink: Return right error code in case of errors for region read")
>Signed-off-by: Jakub Kicinski <kuba@kernel.org>

Reviewed-by: Jiri Pirko <jiri@mellanox.com>

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-04-29 15:47 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-29  2:01 [PATCH net] devlink: fix return value after hitting end in region read Jakub Kicinski
2020-04-29 15:11 ` Keller, Jacob E
2020-04-29 15:47 ` Jiri Pirko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).