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]
Message-ID: <d012ef18-8689-81ef-8f56-ef2b9c673b44@cogentembedded.com>
Date:   Sat, 13 May 2017 12:01:44 +0300
From:   Sergei Shtylyov <sergei.shtylyov@...entembedded.com>
To:     Daniel Borkmann <daniel@...earbox.net>, stephen@...workplumber.org
Cc:     alexei.starovoitov@...il.com, netdev@...r.kernel.org
Subject: Re: [PATCH iproute2 -master 1/2] bpf: update printing of generic xdp
 mode

Hello!

On 5/13/2017 3:32 AM, Daniel Borkmann wrote:

> Follow-up to d67b9cd28c1d ("xdp: refine xdp api with regards to
> generic xdp") in order to update the XDP dumping part.
>
> Signed-off-by: Daniel Borkmann <daniel@...earbox.net>
> ---
>  ip/iplink_xdp.c | 19 +++++++++++--------
>  1 file changed, 11 insertions(+), 8 deletions(-)
>
> diff --git a/ip/iplink_xdp.c b/ip/iplink_xdp.c
> index a1380ee..98503fa 100644
> --- a/ip/iplink_xdp.c
> +++ b/ip/iplink_xdp.c
> @@ -79,17 +79,20 @@ int xdp_parse(int *argc, char ***argv, struct iplink_req *req, bool generic)
>  void xdp_dump(FILE *fp, struct rtattr *xdp)
>  {
>  	struct rtattr *tb[IFLA_XDP_MAX + 1];
> -	__u32 flags = 0;
> +	__u8 mode;
>
>  	parse_rtattr_nested(tb, IFLA_XDP_MAX, xdp);
>
> -	if (!tb[IFLA_XDP_ATTACHED] ||
> -	    !rta_getattr_u8(tb[IFLA_XDP_ATTACHED]))
> +	if (!tb[IFLA_XDP_ATTACHED])
>  		return;
>
> -	if (tb[IFLA_XDP_FLAGS])
> -		flags = rta_getattr_u32(tb[IFLA_XDP_FLAGS]);
> -
> -	fprintf(fp, "xdp%s ",
> -		flags & XDP_FLAGS_SKB_MODE ? "generic" : "");
> +	mode = rta_getattr_u8(tb[IFLA_XDP_ATTACHED]);
> +	if (mode == XDP_ATTACHED_NONE)
> +		return;
> +	else if (mode == XDP_ATTACHED_DRV)
> +		fprintf(fp, "xdp ");
> +	else if (mode == XDP_ATTACHED_SKB)
> +		fprintf(fp, "xdpgeneric ");
> +	else
> +		fprintf(fp, "xdp[%u] ", mode);

    This is asking to be a *switch* statement.

[...]

MBR, Sergei

Powered by blists - more mailing lists