Re: [PATCH bpf-next v4 3/5] error-injection: Separate error-injection from kprobe

2018-01-11 Thread Josef Bacik
IG_FUNCTION_ERROR_INJECTION is the config item of this > feature. It is automatically enabled if the arch supports > error injection feature for kprobe or ftrace etc. > > Signed-off-by: Masami Hiramatsu <mhira...@kernel.org> Reviewed-by: Josef Bacik <jba...@fb.com> Thanks, Josef

Re: [PATCH bpf-next v3 5/5] error-injection: Support fault injection framework

2018-01-10 Thread Josef Bacik
2 > > mount: mount /dev/loop2 on /opt/tmpmnt failed: Cannot allocate memory > SUCCESS! > === > > > Signed-off-by: Masami Hiramatsu <mhira...@kernel.org> Reviewed-by: Josef Bacik <jba...@fb.com> Thanks, Josef

Re: [PATCH bpf-next v3 4/5] error-injection: Add injectable error types

2018-01-10 Thread Josef Bacik
jection_whitelist[]; > +extern struct error_injection_entry __stop_error_injection_whitelist[]; > > static void __init populate_kernel_ei_list(void) > { > @@ -157,11 +171,26 @@ static void *ei_seq_next(struct seq_file *m, void *v, > loff_t *pos) > return seq_list_

Re: [PATCH bpf-next v3 3/5] error-injection: Separate error-injection from kprobe

2018-01-10 Thread Josef Bacik
here, and change the users of ALLOW_ERROR_INJECTION() to include error-injection.h instead? > +/* > + * error_injection/whitelist -- shows which functions can be overridden for > + * error injection. > + */ > +static void *ei_seq_start(struct seq_file *m, loff_t *pos) > +{ > + mutex_lock(_mutex); > + return seq_list_start(_injection_list, *pos); > +} > + > +static void ei_seq_stop(struct seq_file *m, void *v) > +{ > + mutex_unlock(_mutex); > +} > + > +static void *ei_seq_next(struct seq_file *m, void *v, loff_t *pos) > +{ > + return seq_list_next(v, _injection_list, pos); > +} > + > +static int ei_seq_show(struct seq_file *m, void *v) > +{ > + struct ei_entry *ent = list_entry(v, struct ei_entry, list); > + > + seq_printf(m, "%pf\n", (void *)ent->start_addr); Can we bring back the sprint_symbol() thing I did originally here so it's nice and easy to sanity check stuff is working? Thanks Josef

Re: [PATCH bpf-next v3 2/5] tracing/kprobe: bpf: Compare instruction pointer with original one

2018-01-10 Thread Josef Bacik
ose can be done > in one place. > > Signed-off-by: Masami Hiramatsu <mhira...@kernel.org> Reviewed-by: Josef Bacik <jba...@fb.com> Thanks, Josef

Re: [PATCH bpf-next v3 1/5] tracing/kprobe: bpf: Check error injectable event is on function entry

2018-01-10 Thread Josef Bacik
sw-breakpoint based kprobe > events too. > > Signed-off-by: Masami Hiramatsu <mhira...@kernel.org> Reviewed-by: Josef Bacik <jba...@fb.com> Thanks, Josef

Aw: Re: dvb usb issues since kernel 4.9

2018-01-09 Thread Josef Griebichler
if this dropouts are related to this topic. If of any help I could provide perf output on raspberry with libreelec and tvheadend. Regards, Josef    Gesendet: Montag, 08. Januar 2018 um 23:16 Uhr Von: "Jesper Dangaard Brouer" <jbro...@redhat.com> An: "Peter Zijlstra"

Aw: Re: Re: dvb usb issues since kernel 4.9

2018-01-08 Thread Josef Griebichler
No I can't sorry. There's no sat connection near to my workstation.     Gesendet: Montag, 08. Januar 2018 um 17:31 Uhr Von: "Alan Stern" <st...@rowland.harvard.edu> An: "Josef Griebichler" <griebichler.jo...@gmx.at> Cc: "Mauro Carvalho Chehab" <m

Aw: Re: dvb usb issues since kernel 4.9

2018-01-08 Thread Josef Griebichler
on libreelec so I can't provide further logs. Regards, Josef > On Sun, 7 Jan 2018, Mauro Carvalho Chehab wrote: > > > > > It seems that the original patch were designed to solve some IRQ issues > > > > with network cards with causes data losses on high traffic. Howev

Aw: Re: dvb usb issues since kernel 4.9

2018-01-07 Thread Josef Griebichler
(libreelec on rpi3 with kernel 4.14.10 with revert of the mentioned commit). http://ix.io/DM2 Regards Josef     Gesendet: Sonntag, 07. Januar 2018 um 16:41 Uhr Von: "Alan Stern" <st...@rowland.harvard.edu> An: "Mauro Carvalho Chehab" <mche...@s-opensource.com> Cc: &qu

Aw: Re: dvb usb issues since kernel 4.9

2018-01-06 Thread Josef Griebichler
this is of some help. Regards, Josef Hi Josef, Em Sat, 6 Jan 2018 16:04:16 +0100 "Josef Griebichler" <griebichler.jo...@gmx.at> escreveu: > Hi, > > the causing commit has been identified. > After reverting commit > https://git.kernel.org/pub/scm/linux/kernel/gi

Re: [RFC PATCH bpf-next v2 0/4] Separate error injection table from kprobes

2018-01-04 Thread Josef Bacik
On Tue, Dec 26, 2017 at 04:46:28PM +0900, Masami Hiramatsu wrote: > Hi Josef and Alexei, > > Here are the 2nd version of patches to moving error injection > table from kprobes. In this series I did a small fixes and > add function-based fault injection. > > Here is

[PATCH] trace: reenable preemption if we modify the ip

2017-12-15 Thread Josef Bacik
From: Josef Bacik <jba...@fb.com> Things got moved around between the original bpf_override_return patches and the final version, and now the ftrace kprobe dispatcher assumes if you modified the ip that you also enabled preemption. Make a comment of this and enable preemption, this

[PATCH v10 1/5] add infrastructure for tagging functions as error injectable

2017-12-15 Thread Josef Bacik
From: Josef Bacik <jba...@fb.com> Using BPF we can override kprob'ed functions and return arbitrary values. Obviously this can be a bit unsafe, so make this feature opt-in for functions. Simply tag a function with KPROBE_ERROR_INJECT_SYMBOL in order to give BPF access to that function for

[PATCH v10 5/5] btrfs: allow us to inject errors at io_ctl_init

2017-12-15 Thread Josef Bacik
From: Josef Bacik <jba...@fb.com> This was instrumental in reproducing a space cache bug. Signed-off-by: Josef Bacik <jba...@fb.com> Acked-by: Ingo Molnar <mi...@kernel.org> --- fs/btrfs/free-space-cache.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fs/btrfs/free-

[PATCH v10 4/5] samples/bpf: add a test for bpf_override_return

2017-12-15 Thread Josef Bacik
From: Josef Bacik <jba...@fb.com> This adds a basic test for bpf_override_return to verify it works. We override the main function for mounting a btrfs fs so it'll return -ENOMEM and then make sure that trying to mount a btrfs fs will fail. Acked-by: Alexei Starovoitov <a...@kernel.o

[PATCH v10 2/5] btrfs: make open_ctree error injectable

2017-12-15 Thread Josef Bacik
From: Josef Bacik <jba...@fb.com> This allows us to do error injection with BPF for open_ctree. Signed-off-by: Josef Bacik <jba...@fb.com> Acked-by: Ingo Molnar <mi...@kernel.org> --- fs/btrfs/disk-io.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fs/btrfs/disk-io

[PATCH v10 3/5] bpf: add a bpf_override_function helper

2017-12-15 Thread Josef Bacik
From: Josef Bacik <jba...@fb.com> Error injection is sloppy and very ad-hoc. BPF could fill this niche perfectly with it's kprobe functionality. We could make sure errors are only triggered in specific call chains that we care about with very specific situations. Acco

[PATCH v10 0/5] Add the ability to do BPF directed error injection

2017-12-15 Thread Josef Bacik
to actual do the error injection part. It is very simple, we just set the return value of the pt_regs we're given to whatever we provide, and then override the PC with a dummy function that simply returns. Right now this only works on x86, but it would be simple enough to expand to other architectures. Thanks, Josef

Re: [PATCH v9 0/5] Add the ability to do BPF directed error injection

2017-12-13 Thread Josef Bacik
On Wed, Dec 13, 2017 at 10:07:32AM -0800, Darrick J. Wong wrote: > On Wed, Dec 13, 2017 at 01:03:57PM -0500, Josef Bacik wrote: > > On Tue, Dec 12, 2017 at 03:11:50PM -0800, Darrick J. Wong wrote: > > > On Mon, Dec 11, 2017 at 11:36:45AM -0500, Josef Bacik wrote: > > &g

Re: [PATCH v9 0/5] Add the ability to do BPF directed error injection

2017-12-13 Thread Josef Bacik
On Tue, Dec 12, 2017 at 03:11:50PM -0800, Darrick J. Wong wrote: > On Mon, Dec 11, 2017 at 11:36:45AM -0500, Josef Bacik wrote: > > This is the same as v8, just rebased onto the bpf tree. > > > > v8->v9: > > - rebased onto the bpf tree. > > > > v7->v

[PATCH v9 1/5] add infrastructure for tagging functions as error injectable

2017-12-11 Thread Josef Bacik
From: Josef Bacik <jba...@fb.com> Using BPF we can override kprob'ed functions and return arbitrary values. Obviously this can be a bit unsafe, so make this feature opt-in for functions. Simply tag a function with KPROBE_ERROR_INJECT_SYMBOL in order to give BPF access to that function for

[PATCH v9 4/5] samples/bpf: add a test for bpf_override_return

2017-12-11 Thread Josef Bacik
From: Josef Bacik <jba...@fb.com> This adds a basic test for bpf_override_return to verify it works. We override the main function for mounting a btrfs fs so it'll return -ENOMEM and then make sure that trying to mount a btrfs fs will fail. Acked-by: Alexei Starovoitov <a...@kernel.o

[PATCH v9 2/5] btrfs: make open_ctree error injectable

2017-12-11 Thread Josef Bacik
From: Josef Bacik <jba...@fb.com> This allows us to do error injection with BPF for open_ctree. Signed-off-by: Josef Bacik <jba...@fb.com> Acked-by: Ingo Molnar <mi...@kernel.org> --- fs/btrfs/disk-io.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fs/btrfs/disk-io

[PATCH v9 5/5] btrfs: allow us to inject errors at io_ctl_init

2017-12-11 Thread Josef Bacik
From: Josef Bacik <jba...@fb.com> This was instrumental in reproducing a space cache bug. Signed-off-by: Josef Bacik <jba...@fb.com> Acked-by: Ingo Molnar <mi...@kernel.org> --- fs/btrfs/free-space-cache.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fs/btrfs/free-

[PATCH v9 0/5] Add the ability to do BPF directed error injection

2017-12-11 Thread Josef Bacik
n override the PC with a dummy function that simply returns. Right now this only works on x86, but it would be simple enough to expand to other architectures. Thanks, Josef

[PATCH v9 3/5] bpf: add a bpf_override_function helper

2017-12-11 Thread Josef Bacik
From: Josef Bacik <jba...@fb.com> Error injection is sloppy and very ad-hoc. BPF could fill this niche perfectly with it's kprobe functionality. We could make sure errors are only triggered in specific call chains that we care about with very specific situations. Acco

[PATCH v8 3/5] bpf: add a bpf_override_function helper

2017-12-06 Thread Josef Bacik
From: Josef Bacik <jba...@fb.com> Error injection is sloppy and very ad-hoc. BPF could fill this niche perfectly with it's kprobe functionality. We could make sure errors are only triggered in specific call chains that we care about with very specific situations. Acco

[PATCH v8 4/5] samples/bpf: add a test for bpf_override_return

2017-12-06 Thread Josef Bacik
From: Josef Bacik <jba...@fb.com> This adds a basic test for bpf_override_return to verify it works. We override the main function for mounting a btrfs fs so it'll return -ENOMEM and then make sure that trying to mount a btrfs fs will fail. Acked-by: Alexei Starovoitov <a...@kernel.o

[PATCH v8 1/5] add infrastructure for tagging functions as error injectable

2017-12-06 Thread Josef Bacik
From: Josef Bacik <jba...@fb.com> Using BPF we can override kprob'ed functions and return arbitrary values. Obviously this can be a bit unsafe, so make this feature opt-in for functions. Simply tag a function with KPROBE_ERROR_INJECT_SYMBOL in order to give BPF access to that function for

[PATCH v8 5/5] btrfs: allow us to inject errors at io_ctl_init

2017-12-06 Thread Josef Bacik
From: Josef Bacik <jba...@fb.com> This was instrumental in reproducing a space cache bug. Signed-off-by: Josef Bacik <jba...@fb.com> Acked-by: Ingo Molnar <mi...@kernel.org> --- fs/btrfs/free-space-cache.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fs/btrfs/free-

[PATCH v8 2/5] btrfs: make open_ctree error injectable

2017-12-06 Thread Josef Bacik
From: Josef Bacik <jba...@fb.com> This allows us to do error injection with BPF for open_ctree. Signed-off-by: Josef Bacik <jba...@fb.com> Acked-by: Ingo Molnar <mi...@kernel.org> --- fs/btrfs/disk-io.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fs/btrfs/disk-io

[PATCH v8 0/5] Add the ability to do BPF directed error injection

2017-12-06 Thread Josef Bacik
works on x86, but it would be simple enough to expand to other architectures. Thanks, Josef

Re: [PATCH v7 1/5] add infrastructure for tagging functions as error injectable

2017-11-30 Thread Josef Bacik
On Wed, Nov 29, 2017 at 05:59:39PM +0100, Daniel Borkmann wrote: > On 11/28/2017 09:02 PM, Josef Bacik wrote: > > On Tue, Nov 28, 2017 at 11:58:41AM -0700, Jonathan Corbet wrote: > >> On Wed, 22 Nov 2017 16:23:30 -0500 > >> Josef Bacik <jo...@toxicpanda.com> wr

Re: [PATCH v7 1/5] add infrastructure for tagging functions as error injectable

2017-11-28 Thread Josef Bacik
On Tue, Nov 28, 2017 at 11:58:41AM -0700, Jonathan Corbet wrote: > On Wed, 22 Nov 2017 16:23:30 -0500 > Josef Bacik <jo...@toxicpanda.com> wrote: > > > From: Josef Bacik <jba...@fb.com> > > > > Using BPF we can override kprob'ed functions and return ar

[PATCH v7 5/5] btrfs: allow us to inject errors at io_ctl_init

2017-11-22 Thread Josef Bacik
From: Josef Bacik <jba...@fb.com> This was instrumental in reproducing a space cache bug. Signed-off-by: Josef Bacik <jba...@fb.com> Acked-by: Ingo Molnar <mi...@kernel.org> --- fs/btrfs/free-space-cache.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fs/btrfs/free-

[PATCH v7 4/5] samples/bpf: add a test for bpf_override_return

2017-11-22 Thread Josef Bacik
From: Josef Bacik <jba...@fb.com> This adds a basic test for bpf_override_return to verify it works. We override the main function for mounting a btrfs fs so it'll return -ENOMEM and then make sure that trying to mount a btrfs fs will fail. Acked-by: Alexei Starovoitov <a...@kernel.o

[PATCH v7 3/5] bpf: add a bpf_override_function helper

2017-11-22 Thread Josef Bacik
From: Josef Bacik <jba...@fb.com> Error injection is sloppy and very ad-hoc. BPF could fill this niche perfectly with it's kprobe functionality. We could make sure errors are only triggered in specific call chains that we care about with very specific situations. Acco

[PATCH v7 2/5] btrfs: make open_ctree error injectable

2017-11-22 Thread Josef Bacik
From: Josef Bacik <jba...@fb.com> This allows us to do error injection with BPF for open_ctree. Signed-off-by: Josef Bacik <jba...@fb.com> Acked-by: Ingo Molnar <mi...@kernel.org> --- fs/btrfs/disk-io.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fs/btrfs/disk-io

[PATCH v7 1/5] add infrastructure for tagging functions as error injectable

2017-11-22 Thread Josef Bacik
From: Josef Bacik <jba...@fb.com> Using BPF we can override kprob'ed functions and return arbitrary values. Obviously this can be a bit unsafe, so make this feature opt-in for functions. Simply tag a function with KPROBE_ERROR_INJECT_SYMBOL in order to give BPF access to that function for

[PATCH v7 0/4] Add the ability to do BPF directed error injection

2017-11-22 Thread Josef Bacik
w this only works on x86, but it would be simple enough to expand to other architectures. Thanks, Josef

[PATCH 3/4] bpf: add a bpf_override_function helper

2017-11-17 Thread Josef Bacik
From: Josef Bacik <jba...@fb.com> Error injection is sloppy and very ad-hoc. BPF could fill this niche perfectly with it's kprobe functionality. We could make sure errors are only triggered in specific call chains that we care about with very specific situations. Acco

[PATCH 4/4] samples/bpf: add a test for bpf_override_return

2017-11-17 Thread Josef Bacik
From: Josef Bacik <jba...@fb.com> This adds a basic test for bpf_override_return to verify it works. We override the main function for mounting a btrfs fs so it'll return -ENOMEM and then make sure that trying to mount a btrfs fs will fail. Acked-by: Alexei Starovoitov <a...@kernel.or

[PATCH 1/4] add infrastructure for tagging functions as error injectable

2017-11-17 Thread Josef Bacik
From: Josef Bacik <jba...@fb.com> Using BPF we can override kprob'ed functions and return arbitrary values. Obviously this can be a bit unsafe, so make this feature opt-in for functions. Simply tag a function with KPROBE_ERROR_INJECT_SYMBOL in order to give BPF access to that function for

[PATCH 2/4] btrfs: make open_ctree error injectable

2017-11-17 Thread Josef Bacik
From: Josef Bacik <jba...@fb.com> This allows us to do error injection with BPF for open_ctree. Signed-off-by: Josef Bacik <jba...@fb.com> --- fs/btrfs/disk-io.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c index dfdab849037b..c6b4e1f

[PATCH 0/4][v6] Add the ability to do BPF directed error injection

2017-11-17 Thread Josef Bacik
imply returns. Right now this only works on x86, but it would be simple enough to expand to other architectures. Thanks, Josef

Re: [PATCH 1/2] bpf: add a bpf_override_function helper

2017-11-13 Thread Josef Bacik
g for getting EINTR back from kernel_sendmsg, which was a pain to trigger properly without this patch. Opt-in is going to make it so we're just flagging important function calls anwyay because those are the ones that fail rarely and that we want to test, which puts us back in the same situation you are worried about, so it doesn't make much sense to me to do it this way. Thanks, Josef

Re: [PATCH 1/2] bpf: add a bpf_override_function helper

2017-11-11 Thread Josef Bacik
On Sat, Nov 11, 2017 at 09:14:55AM +0100, Ingo Molnar wrote: > > * Josef Bacik <jo...@toxicpanda.com> wrote: > > > On Fri, Nov 10, 2017 at 10:34:59AM +0100, Ingo Molnar wrote: > > > > > > * Josef Bacik <jo...@toxicpanda.com> wrote: > >

Re: [PATCH 1/2] bpf: add a bpf_override_function helper

2017-11-10 Thread Josef Bacik
On Fri, Nov 10, 2017 at 10:34:59AM +0100, Ingo Molnar wrote: > > * Josef Bacik <jo...@toxicpanda.com> wrote: > > > @@ -551,6 +578,10 @@ static const struct bpf_func_proto > > *kprobe_prog_func_proto(enum bpf_func_id func > > return

[PATCH 1/2] bpf: add a bpf_override_function helper

2017-11-07 Thread Josef Bacik
From: Josef Bacik <jba...@fb.com> Error injection is sloppy and very ad-hoc. BPF could fill this niche perfectly with it's kprobe functionality. We could make sure errors are only triggered in specific call chains that we care about with very specific situations. Acco

[PATCH 2/2] samples/bpf: add a test for bpf_override_return

2017-11-07 Thread Josef Bacik
From: Josef Bacik <jba...@fb.com> This adds a basic test for bpf_override_return to verify it works. We override the main function for mounting a btrfs fs so it'll return -ENOMEM and then make sure that trying to mount a btrfs fs will fail. Acked-by: Alexei Starovoitov <a...@kernel.or

[PATCH 0/2][v5] Add the ability to do BPF directed error injection

2017-11-07 Thread Josef Bacik
nction that simply returns. Right now this only works on x86, but it would be simple enough to expand to other architectures. Thanks, Josef

Re: [PATCH 1/2] bpf: add a bpf_override_function helper

2017-11-03 Thread Josef Bacik
On Fri, Nov 03, 2017 at 12:12:13AM +0100, Daniel Borkmann wrote: > Hi Josef, > > one more issue I just noticed, see comment below: > > On 11/02/2017 03:37 PM, Josef Bacik wrote: > [...] > > diff --git a/include/linux/filter.h b/include/linux/filter.h > > index cdd

[PATCH 0/2][v4] Add the ability to do BPF directed error injection

2017-11-02 Thread Josef Bacik
ven to whatever we provide, and then override the PC with a dummy function that simply returns. Right now this only works on x86, but it would be simple enough to expand to other architectures. Thanks, Josef

[PATCH 2/2] samples/bpf: add a test for bpf_override_return

2017-11-02 Thread Josef Bacik
From: Josef Bacik <jba...@fb.com> This adds a basic test for bpf_override_return to verify it works. We override the main function for mounting a btrfs fs so it'll return -ENOMEM and then make sure that trying to mount a btrfs fs will fail. Acked-by: Alexei Starovoitov <a...@kernel.or

[PATCH 1/2] bpf: add a bpf_override_function helper

2017-11-02 Thread Josef Bacik
From: Josef Bacik <jba...@fb.com> Error injection is sloppy and very ad-hoc. BPF could fill this niche perfectly with it's kprobe functionality. We could make sure errors are only triggered in specific call chains that we care about with very specific situations. Acco

[PATCH 0/2][v3] Add the ability to do BPF directed error injection

2017-11-01 Thread Josef Bacik
imple enough to expand to other architectures. Thanks, Josef

[PATCH 1/2] bpf: add a bpf_override_function helper

2017-11-01 Thread Josef Bacik
From: Josef Bacik <jba...@fb.com> Error injection is sloppy and very ad-hoc. BPF could fill this niche perfectly with it's kprobe functionality. We could make sure errors are only triggered in specific call chains that we care about with very specific situations. Acco

[PATCH 2/2] samples/bpf: add a test for bpf_override_return

2017-11-01 Thread Josef Bacik
From: Josef Bacik <jba...@fb.com> This adds a basic test for bpf_override_return to verify it works. We override the main function for mounting a btrfs fs so it'll return -ENOMEM and then make sure that trying to mount a btrfs fs will fail. Signed-off-by: Josef Bacik <jba.

[PATCH 0/2][v2] Add the ability to do BPF directed error injection

2017-10-31 Thread Josef Bacik
art. It is very simple, we just set the return value of the pt_regs we're given to whatever we provide, and then override the PC with a dummy function that simply returns. Right now this only works on x86, but it would be simple enough to expand to other architectures. Thanks, Josef

[PATCH 1/2] bpf: add a bpf_override_function helper

2017-10-31 Thread Josef Bacik
From: Josef Bacik <jba...@fb.com> Error injection is sloppy and very ad-hoc. BPF could fill this niche perfectly with it's kprobe functionality. We could make sure errors are only triggered in specific call chains that we care about with very specific situations. Acco

[PATCH 2/2] samples/bpf: add a test for bpf_override_return

2017-10-31 Thread Josef Bacik
From: Josef Bacik <jba...@fb.com> This adds a basic test for bpf_override_return to verify it works. We override the main function for mounting a btrfs fs so it'll return -ENOMEM and then make sure that trying to mount a btrfs fs will fail. Signed-off-by: Josef Bacik <jba.

[PATCH 0/2] Add the ability to do BPF directed error injection

2017-10-30 Thread Josef Bacik
with a dummy function that simply returns. Right now this only works on x86, but it would be simple enough to expand to other architectures. Thanks, Josef

[PATCH 2/2] samples/bpf: add a test for bpf_override_return

2017-10-30 Thread Josef Bacik
From: Josef Bacik <jba...@fb.com> This adds a basic test for bpf_override_return to verify it works. We override the main function for mounting a btrfs fs so it'll return -ENOMEM and then make sure that trying to mount a btrfs fs will fail. Signed-off-by: Josef Bacik <jba.

[PATCH 1/2] bpf: add a bpf_override_function helper

2017-10-30 Thread Josef Bacik
From: Josef Bacik <jba...@fb.com> Error injection is sloppy and very ad-hoc. BPF could fill this niche perfectly with it's kprobe functionality. We could make sure errors are only triggered in specific call chains that we care about with very specific situations. Acco

Re: [PATCH 0/3] fix reuseaddr regression

2017-09-22 Thread Josef Bacik
so that it actually has your full > name rather than just your email address. This matter when I apply > your patches. > > Second, remove the stable CC:. For networking changes, you simply ask > me to queue the changes up for -stable. > Sorry Dave, I've fixed my git email settings and I droped the stable cc and sent a new round. Didn't see this until just now, my bad. Josef

[PATCH 1/3] net: set tb->fast_sk_family

2017-09-22 Thread Josef Bacik
From: Josef Bacik <jba...@fb.com> We need to set the tb->fast_sk_family properly so we can use the proper comparison function for all subsequent reuseport bind requests. Fixes: 637bc8bbe6c0 ("inet: reset tb->fastreuseport when adding a reuseport sk") Reported-and-tested-by

[PATCH 0/3] fix reuseaddr regression

2017-09-22 Thread Josef Bacik
obviously is not correct. Dave could you please queue these changes up for -stable, I've run them through the net tests and added another test to check for this problem specifically. Thanks, Josef

[PATCH 2/3] net: use inet6_rcv_saddr to compare sockets

2017-09-22 Thread Josef Bacik
From: Josef Bacik <jba...@fb.com> In ipv6_rcv_saddr_equal() we need to use inet6_rcv_saddr(sk) for the ipv6 compare with the fast socket information to make sure we're doing the proper comparisons. Fixes: 637bc8bbe6c0 ("inet: reset tb->fastreuseport when adding a reuseport

[PATCH 3/3] inet: fix improper empty comparison

2017-09-22 Thread Josef Bacik
From: Josef Bacik <jba...@fb.com> When doing my reuseport rework I screwed up and changed a if (hlist_empty(>owners)) to if (!hlist_empty(>owners)) This is obviously bad as all of the reuseport/reuse logic was reversed, which caused weird problems like allowing an ipv4 bind co

[PATCH 2/3][v2] selftests: actually run the various net selftests

2017-09-19 Thread josef
From: Josef Bacik <jba...@fb.com> These self tests are just self contained binaries, they are not run by any of the scripts in the directory. This means they need to be marked with TEST_GEN_PROGS to actually be run, not TEST_GEN_FILES. Signed-off-by: Josef Bacik <jba...@fb.com>

[PATCH 1/3][v2] selftest: add a reuseaddr test

2017-09-19 Thread josef
From: Josef Bacik <jba...@fb.com> This is to test for a regression introduced by b9470c27607b ("inet: kill smallest_size and smallest_port") which introduced a problem with reuseaddr and bind conflicts. Signed-off-by: Josef Bacik <jba...@fb.com> --- tools/testing/se

[PATCH 3/3][v2] selftests: silence test output by default

2017-09-19 Thread josef
From: Josef Bacik <jba...@fb.com> Some of the networking tests are very noisy and make it impossible to see if we actually passed the tests as they run. Default to suppressing the output from any tests run in order to make it easier to track what failed. Signed-off-by: Josef Baci

Re: [PATCH 2/3] selftests: actually run the various net selftests

2017-09-19 Thread Josef Bacik
On Mon, Sep 18, 2017 at 04:14:41PM -0600, Shuah Khan wrote: > On 09/18/2017 11:32 AM, jo...@toxicpanda.com wrote: > > From: Josef Bacik <jba...@fb.com> > > > > These self tests are just self contained binaries, they are not run by > > any of the scripts in the

Re: [PATCH 3/3] selftests: silence test output by default

2017-09-18 Thread Josef Bacik
On Mon, Sep 18, 2017 at 01:48:31PM -0600, Shuah Khan wrote: > On 09/18/2017 12:24 PM, Josef Bacik wrote: > > On Mon, Sep 18, 2017 at 12:13:40PM -0600, Shuah Khan wrote: > >> On 09/18/2017 11:52 AM, Josef Bacik wrote: > >>> On Mon, Sep 18, 2017 at 11:46:18AM -0600, Shu

Re: [PATCH 3/3] selftests: silence test output by default

2017-09-18 Thread Josef Bacik
On Mon, Sep 18, 2017 at 12:13:40PM -0600, Shuah Khan wrote: > On 09/18/2017 11:52 AM, Josef Bacik wrote: > > On Mon, Sep 18, 2017 at 11:46:18AM -0600, Shuah Khan wrote: > >> On 09/18/2017 11:37 AM, jo...@toxicpanda.com wrote: > >>> From: Josef Bacik &l

Re: [PATCH 3/3] selftests: silence test output by default

2017-09-18 Thread Josef Bacik
On Mon, Sep 18, 2017 at 11:46:18AM -0600, Shuah Khan wrote: > On 09/18/2017 11:37 AM, jo...@toxicpanda.com wrote: > > From: Josef Bacik <jba...@fb.com> > > > > Some of the networking tests are very noisy and make it impossible to > > see if we actually passe

[PATCH 3/3] selftests: silence test output by default

2017-09-18 Thread josef
From: Josef Bacik <jba...@fb.com> Some of the networking tests are very noisy and make it impossible to see if we actually passed the tests as they run. Default to suppressing the output from any tests run in order to make it easier to track what failed. Signed-off-by: Josef Baci

[PATCH 1/3] selftest: add a reuseaddr test

2017-09-18 Thread josef
From: Josef Bacik <jba...@fb.com> This is to test for a regression introduced by b9470c27607b ("inet: kill smallest_size and smallest_port") which introduced a problem with reuseaddr and bind conflicts. Signed-off-by: Josef Bacik <jba...@fb.com> --- tools/testing/se

[PATCH 2/3] selftests: actually run the various net selftests

2017-09-18 Thread josef
From: Josef Bacik <jba...@fb.com> These self tests are just self contained binaries, they are not run by any of the scripts in the directory. This means they need to be marked with TEST_GEN_PROGS to actually be run, not TEST_GEN_FILES. Signed-off-by: Josef Bacik <jba...@fb.com>

[PATCH 1/3] net: set tb->fast_sk_family

2017-09-18 Thread josef
From: Josef Bacik <jba...@fb.com> We need to set the tb->fast_sk_family properly so we can use the proper comparison function for all subsequent reuseport bind requests. Cc: sta...@vger.kernel.org Fixes: 637bc8bbe6c0 ("inet: reset tb->fastreuseport when adding a reusep

[PATCH 0/3] fix reuseaddr regression

2017-09-18 Thread josef
, which obviously is not correct. Dave I have follow up patches that will add a selftest for this case and I ran the other reuseport related tests as well. These need to go in pretty quickly as it breaks kvm, I've marked them for stable. Sorry for the regression, Josef

[PATCH 3/3] inet: fix improper empty comparison

2017-09-18 Thread josef
From: Josef Bacik <jba...@fb.com> When doing my reuseport rework I screwed up and changed a if (hlist_empty(>owners)) to if (!hlist_empty(>owners)) This is obviously bad as all of the reuseport/reuse logic was reversed, which caused weird problems like allowing an ipv4 bind co

[PATCH 2/3] net: use inet6_rcv_saddr to compare sockets

2017-09-18 Thread josef
From: Josef Bacik <jba...@fb.com> In ipv6_rcv_saddr_equal() we need to use inet6_rcv_saddr(sk) for the ipv6 compare with the fast socket information to make sure we're doing the proper comparisons. Cc: sta...@vger.kernel.org Fixes: 637bc8bbe6c0 ("inet: reset tb->fastreusepo

Re: 319554f284dd ("inet: don't use sk_v6_rcv_saddr directly") causes bind port regression

2017-09-15 Thread Josef Bacik
Finally got access to a box to run this down myself. This patch on top of the other patches fixes the problem for me, could you verify it works for you? Thanks, Josef On 9/13/17, 3:49 PM, "Cole Robinson" <crobi...@redhat.com> wrote: On 09/13/2017 03:44 PM, Josef Bacik

Re: 319554f284dd ("inet: don't use sk_v6_rcv_saddr directly") causes bind port regression

2017-09-13 Thread Josef Bacik
> On Sep 13, 2017, at 12:46 PM, Chuck Ebbert <cebbert.l...@gmail.com> wrote: > > On Wed, 13 Sep 2017 17:28:25 + > Josef Bacik <jba...@fb.com> wrote: > >> Sorry I thought I had made this other fix, can you apply this on top >> of the other one a

Re: 319554f284dd ("inet: don't use sk_v6_rcv_saddr directly") causes bind port regression

2017-09-13 Thread Josef Bacik
Alright thanks, this should fix it. Josef On 9/13/17, 12:14 PM, "Cole Robinson" <crobi...@redhat.com> wrote: On 09/13/2017 01:40 PM, Cole Robinson wrote: > On 09/13/2017 01:28 PM, Josef Bacik wrote: >> Sorry I thought I had made this other fix, can you apply this on

Re: 319554f284dd ("inet: don't use sk_v6_rcv_saddr directly") causes bind port regression

2017-09-13 Thread Josef Bacik
. Thanks, Josef On 9/13/17, 8:45 AM, "Laura Abbott" <labb...@redhat.com> wrote: On 09/12/2017 04:12 PM, Josef Bacik wrote: > First I’m super sorry for the top post, I’m at plumbers and I forgot to > upload my muttrc to my new cloud instance, so I’m screwed using outlook. &g

Re: 319554f284dd ("inet: don't use sk_v6_rcv_saddr directly") causes bind port regression

2017-09-12 Thread Josef Bacik
First I’m super sorry for the top post, I’m at plumbers and I forgot to upload my muttrc to my new cloud instance, so I’m screwed using outlook. I have a completely untested, uncompiled patch that I think will fix the problem, would you mind giving it a go? Thanks, Josef On 9/12/17, 3:36 PM

Re: More BPF verifier questions

2017-06-05 Thread Josef Bacik
reg, val). This currently sets > > false_reg->min_value to zero, but if val >= (1<<63), the false branch could > > be taken for a value that's negative (when interpreted as signed). > > I think the way Josef intended it to behave is min/max_value are > absolute values

[PATCH net-next][v2] bpf: test for AND edge cases

2017-02-03 Thread Josef Bacik
that resulted in the commit. Acked-by: Alexei Starovoitov <a...@kernel.org> Acked-by: Daniel Borkmann <dan...@iogearbox.net> Signed-off-by: Josef Bacik <jba...@fb.com> --- v1->v2: -rebased onto net-next tools/testing/selftests/bpf/test_verifier.c | 55

Re: [PATCH net-next] bpf: test for AND edge cases

2017-02-03 Thread Josef Bacik
On Fri, 2017-02-03 at 16:03 -0500, David Miller wrote: > From: Josef Bacik <jba...@fb.com> > Date: Thu, 2 Feb 2017 12:00:38 -0500 > > > > > These two tests are based on the work done for f23cc643f9ba.  The > > first test is > > just a basic one to ma

Re: [PATCH net-next] loopback: clear pfmemalloc on outgoing skb's

2017-02-02 Thread Josef Bacik
On Thu, 2017-02-02 at 09:06 -0800, Eric Dumazet wrote: > On Thu, 2017-02-02 at 10:56 -0500, Josef Bacik wrote: > > > > > The problem is we set skb->pfmemalloc a bunch of different places, > > such > > as __skb_fill_page_desc, which appears to be used in both

[PATCH net-next] bpf: test for AND edge cases

2017-02-02 Thread Josef Bacik
that resulted in the commit. Signed-off-by: Josef Bacik <jba...@fb.com> --- tools/testing/selftests/bpf/test_verifier.c | 55 + 1 file changed, 55 insertions(+) diff --git a/tools/testing/selftests/bpf/test_verifier.c b/tools/testing/selftests/bpf/test_verifier.c index 8

Re: [PATCH net-next] loopback: clear pfmemalloc on outgoing skb's

2017-02-02 Thread Josef Bacik
On Wed, 2017-02-01 at 15:38 -0800, Eric Dumazet wrote: > On Wed, 2017-02-01 at 16:04 -0500, Josef Bacik wrote: > > > > I was seeing random disconnects while testing NBD over > > loopback.  This turned > > out to be because NBD sets pfmemalloc on it's socket, how

Re: [PATCH net-next] net: add LINUX_MIB_PFMEMALLOCDROP counter

2017-02-02 Thread Josef Bacik
On Wed, 2017-02-01 at 20:47 -0800, Eric Dumazet wrote: > From: Eric Dumazet <eduma...@google.com> > > Debugging issues caused by pfmemalloc is often tedious. > > Add a new SNMP counter to more easily diagnose these problems. > > Signed-off-by: Eric Dumazet <ed

[PATCH net-next] loopback: clear pfmemalloc on outgoing skb's

2017-02-01 Thread Josef Bacik
, under the assumption that the other side will simply retransmit. Well we do retransmit, and then the packet is just dropped again for the same reason. To keep this from happening simply clear skb->pfmemalloc on transmit so that we don't drop the packet on the receive side. Signed-off-by: Jo

Re: TCP stops sending packets over loopback on 4.10-rc3?

2017-01-26 Thread Josef Bacik
On Wed, 2017-01-25 at 06:39 -0800, Eric Dumazet wrote: > On Wed, 2017-01-25 at 09:26 -0500, Josef Bacik wrote: > > > > > Nope ftrace isn't broken, I'm just dumb, the space is being > > reclaimed  > > by sk_wmem_free_skb().  So I guess I need to figure out why

Re: TCP stops sending packets over loopback on 4.10-rc3?

2017-01-25 Thread Josef Bacik
On Wed, Jan 25, 2017 at 9:14 AM, Josef Bacik <jba...@fb.com> wrote: On Tue, Jan 24, 2017 at 9:07 AM, Eric Dumazet <eric.duma...@gmail.com> wrote: On Tue, 2017-01-24 at 06:20 -0500, Josef Bacik wrote: Hello, I've been trying to test some NBD changes I had made recently and I st

Re: TCP stops sending packets over loopback on 4.10-rc3?

2017-01-25 Thread Josef Bacik
On Tue, Jan 24, 2017 at 9:07 AM, Eric Dumazet <eric.duma...@gmail.com> wrote: On Tue, 2017-01-24 at 06:20 -0500, Josef Bacik wrote: Hello, I've been trying to test some NBD changes I had made recently and I started having packet timeouts. I traced this down to tcp just stopping s

  1   2   >