lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 29 Apr 2020 15:11:03 +0000
From:   "Keller, Jacob E" <jacob.e.keller@...el.com>
To:     Jakub Kicinski <kuba@...nel.org>,
        "davem@...emloft.net" <davem@...emloft.net>
CC:     "netdev@...r.kernel.org" <netdev@...r.kernel.org>,
        "kernel-team@...com" <kernel-team@...com>,
        "jiri@...nulli.us" <jiri@...nulli.us>,
        "parav@...lanox.com" <parav@...lanox.com>
Subject: RE: [PATCH net] devlink: fix return value after hitting end in
 region read



> -----Original Message-----
> From: Jakub Kicinski <kuba@...nel.org>
> Sent: Tuesday, April 28, 2020 7:02 PM
> To: davem@...emloft.net
> Cc: netdev@...r.kernel.org; kernel-team@...com; jiri@...nulli.us; Keller, Jacob
> E <jacob.e.keller@...el.com>; parav@...lanox.com; Jakub Kicinski
> <kuba@...nel.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@...el.com>

> Fixes: fdd41ec21e15 ("devlink: Return right error code in case of errors for region
> read")
> Signed-off-by: Jakub Kicinski <kuba@...nel.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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ