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:   Sun, 10 Dec 2017 21:34:18 +0100
From:   Eric Leblond <eric@...it.org>
To:     Jakub Kicinski <kubakici@...pl>
Cc:     netdev@...r.kernel.org, linux-kernel@...r.kernel.org,
        ast@...nel.org, daniel@...earbox.net
Subject: Re: [PATCH net-next] libbpf: add function to setup XDP

Hello,

On Sat, 2017-12-09 at 15:57 -0800, Jakub Kicinski wrote:
> On Sat,  9 Dec 2017 15:43:15 +0100, Eric Leblond wrote:
> > +	for (nh = (struct nlmsghdr *)buf; NLMSG_OK(nh, len);
> > +	     nh = NLMSG_NEXT(nh, len)) {
> > +		if (nh->nlmsg_pid != getpid()) {
> > +			ret = -LIBBPF_ERRNO__WRNGPID;
> > +			goto cleanup;
> > +		}
> > +		if (nh->nlmsg_seq != seq) {
> > +			ret = -LIBBPF_ERRNO__INVSEQ;
> > +			goto cleanup;
> > +		}
> > +		switch (nh->nlmsg_type) {
> > +		case NLMSG_ERROR:
> > +			err = (struct nlmsgerr *)NLMSG_DATA(nh);
> > +			if (!err->error)
> > +				continue;
> > +			ret = err->error;
> > +			goto cleanup;
> > +		case NLMSG_DONE:
> > +			break;
> > +		default:
> > +			break;
> > +		}
> 
> Would it be possible to print out or preferably return to the caller
> the ext ack error message?  A couple of drivers are using it for XDP
> mis-configuration reporting instead of printks.  We should encourage
> other to do the same and support it in all user space since ext ack 
> msgs lead to much better user experience.

I've seen the kind of messages displayed by reading at kernel log. They
are really useful and it looks almost mandatory to be able to display
them.

Kernel code seems to not have a parser for the ext ack error message.
Did I miss something here ?
 
Looking at tc code, it seems it is using libmnl to parse them and I
doubt it is a good idea to use that in libbpf as it is introducing a
dependency.

Does someone has an existing parsing code or should I write on my own ?

BR,
-- 
Eric Leblond <eric@...it.org>
Blog: https://home.regit.org/

Powered by blists - more mailing lists