On Mon, Jan 17, 2022 at 03:07 PM CET, Felix Maurer wrote: > The bind_perm BPF selftest failed when port 111/tcp was already in use > during the test. To fix this, the test now runs in its own network name > space. > > To use unshare, it is necessary to reorder the includes. The style of > the includes is adapted to be consistent with the other prog_tests. > > Fixes: 8259fdeb30326 ("selftests/bpf: Verify that rebinding to port < 1024 from BPF works") > Signed-off-by: Felix Maurer <fmaurer@xxxxxxxxxx> > --- > .../selftests/bpf/prog_tests/bind_perm.c | 22 ++++++++++++++++--- > 1 file changed, 19 insertions(+), 3 deletions(-) > > diff --git a/tools/testing/selftests/bpf/prog_tests/bind_perm.c b/tools/testing/selftests/bpf/prog_tests/bind_perm.c > index d0f06e40c16d..cbd739d36e4d 100644 > --- a/tools/testing/selftests/bpf/prog_tests/bind_perm.c > +++ b/tools/testing/selftests/bpf/prog_tests/bind_perm.c > @@ -1,13 +1,26 @@ > // SPDX-License-Identifier: GPL-2.0 > -#include <test_progs.h> > -#include "bind_perm.skel.h" > - > +#define _GNU_SOURCE > +#include <sched.h> > +#include <stdlib.h> > #include <sys/types.h> > #include <sys/socket.h> > #include <sys/capability.h> > > +#include "test_progs.h" > +#include "bind_perm.skel.h" > + > static int duration; > > +static int create_netns(void) > +{ > + if (CHECK(unshare(CLONE_NEWNET), "create netns", > + "unshare(CLONE_NEWNET): %s (%d)", > + strerror(errno), errno)) CHECK() macro is deprecated. See [1]. [1] https://lore.kernel.org/bpf/20220107221115.326171-2-toke@xxxxxxxxxx/ [...]