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
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
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_
On Wed, Jan 10, 2018 at 07:18:05PM +0900, Masami Hiramatsu wrote:
> Since error-injection framework is not limited to be used
> by kprobes, nor bpf. Other kernel subsystems can use it
> freely for checking safeness of error-injection, e.g.
> livepatch, ftrace etc.
> So this separate
ose can be done
> in one place.
>
> Signed-off-by: Masami Hiramatsu <mhira...@kernel.org>
Reviewed-by: Josef Bacik <jba...@fb.com>
Thanks,
Josef
sw-breakpoint based kprobe
> events too.
>
> Signed-off-by: Masami Hiramatsu <mhira...@kernel.org>
Reviewed-by: Josef Bacik <jba...@fb.com>
Thanks,
Josef
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 the previous version:
>
>
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
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
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-
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
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
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
Just one last go around I hope, fixed the preemption thing that Darrick
reported.
v9->v10:
- the kprobe dispather now requires us to re-enable preemption if we change the
ip ourselves, so do that.
v8->v9:
- rebased onto the bpf tree.
v7->v8:
- removed the _ASM_KPROBE_ERROR_INJECT since it was
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
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
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
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
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
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-
This is the same as v8, just rebased onto the bpf tree.
v8->v9:
- rebased onto the bpf tree.
v7->v8:
- removed the _ASM_KPROBE_ERROR_INJECT since it was not needed.
v6->v7:
- moved the opt-in macro to bpf.h out of kprobes.h.
v5->v6:
- add BPF_ALLOW_ERROR_INJECTION() tagging for functions that
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
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
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
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
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-
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
Jon noticed that I had a typo in my _ASM_KPROBE_ERROR_INJECT macro. I went to
figure out why the compiler didn't catch it and it's because it was not used
anywhere. I had copied it from the trace blacklist code without understanding
where it was used as cscope didn't find the original macro I
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
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
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-
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
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
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
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
This is hopefully the final version, I've addressed the comment by Igno and
added his Acks.
v6->v7:
- moved the opt-in macro to bpf.h out of kprobes.h.
v5->v6:
- add BPF_ALLOW_ERROR_INJECTION() tagging for functions that will support this
feature. This way only functions that opt-in will be
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
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
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
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
I've reworked this to be opt-in only as per Igno and Alexei. Still needs to go
through Dave because of the bpf bits, but I need tracing guys to weigh in and
sign off on my approach please.
v5->v6:
- add BPF_ALLOW_ERROR_INJECTION() tagging for functions that will support this
feature. This way
On Sun, Nov 12, 2017 at 11:38:24AM +0100, Ingo Molnar wrote:
>
> * Alexei Starovoitov wrote:
>
> > > One of the major advantages of having an in-kernel BPF sandbox is to
> > > never
> > > crash the kernel - and allowing BPF programs to just randomly modify the
> > > return value
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:
> >
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
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
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
I'm sending this through Dave since it'll conflict with other BPF changes in his
tree, but since it touches tracing as well Dave would like a review from
somebody on the tracing side.
v4->v5:
- disallow kprobe_override programs from being put in the prog map array so we
don't tail call into
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
I'm sending this through Dave since it'll conflict with other BPF changes in his
tree, but since it touches tracing as well Dave would like a review from
somebody on the tracing side.
v3->v4:
- fix a build error found by kbuild test bot (I didn't wait long enough
apparently.)
- Added a warning
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
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
I'm sending this through Dave since it'll conflict with other BPF changes in his
tree, but since it touches tracing as well Dave would like a review from
somebody on the tracing side.
v2->v3:
- added a ->kprobe_override flag to bpf_prog.
- added some sanity checks to disallow attaching bpf progs
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
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.
v1->v2:
- moved things around to make sure that bpf_override_return could really only be
used for an ftrace kprobe.
- killed the special return values from trace_call_bpf.
- renamed pc_modified to bpf_kprobe_state so bpf_override_return could tell if
it was being called from an ftrace kprobe
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
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.
A lot of our error paths are not well tested because we have no good way of
injecting errors generically. Some subystems (block, memory) have ways to
inject errors, but they are random so it's hard to get reproduceable results.
With BPF we can add determinism to our error injection. We can use
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.
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
On Tue, Sep 19, 2017 at 01:50:56PM -0700, David Miller wrote:
> From: jo...@toxicpanda.com
> Date: Mon, 18 Sep 2017 12:28:54 -0400
>
> > I introduced a regression when reworking the fastreuse port stuff that
> > allows
> > bind conflicts to occur once a reuseaddr socket successfully opens on an
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
I introduced a regression when reworking the fastreuse port stuff that allows
bind conflicts to occur once a reuseaddr successfully opens on an existing tb.
The root cause is I reversed an if statement which caused us to set the tb as if
there were no owners on the socket if there were, which
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
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
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
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
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
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
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
> On Sep 13, 2017, at 12:46 PM, Chuck Ebbert <cebbert.l...@gmail.com> wrote:
>
> On Wed, 13 Sep 2017 17:28:25 +0000
> 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
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
. 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
ection showed this behavior to be caused by
commit 319554f284dda9f2737d09df82ba3610bd8ddea3
Author: Josef Bacik <jba...@fb.com>
Date: Thu Jan 19 17:47:46 2017 -0500
inet: don't use sk_v6_rcv_saddr directly
When comparing two sockets we need to use inet6_rcv_saddr so we get
a
On Mon, Jun 05, 2017 at 11:11:05AM -0700, Alexei Starovoitov wrote:
> On 6/2/17 7:42 AM, Edward Cree wrote:
> >Also, I feel I haven't fully understood the semantics of {min,max}_value and
> > signed vs. unsigned comparisons. It seems that currently reg_set_min_max
> > [_inv] assumes that any
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
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
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
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
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
uma...@google.com>
> Cc: Josef Bacik <jba...@fb.com>
Acked-by: Josef Bacik <jba...@fb.com>
Thanks Eric,
Josef
, 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
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
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
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
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 sending packets after a lot of writing. All NBD does is call
kernel_sendmsg() with a request struct and some pages when it does
writes. I did
On Thu, Jan 19, 2017 at 5:47 PM, Josef Bacik <jba...@fb.com> wrote:
When comparing two sockets we need to use inet6_rcv_saddr so we get a
NULL
sk_v6_rcv_saddr if the socket isn't AF_INET6, otherwise our
comparison function
can be wrong.
Fixes: 637bc8b ("inet: reset tb->fast
When comparing two sockets we need to use inet6_rcv_saddr so we get a NULL
sk_v6_rcv_saddr if the socket isn't AF_INET6, otherwise our comparison function
can be wrong.
Fixes: 637bc8b ("inet: reset tb->fastreuseport when adding a reuseport sk")
Signed-off-by: Josef Bacik <jba...@
ake it so that we don't
goto again if we find a bind conflict in the found_tb path as we won't reach
this anymore when we are scanning for an ephemeral port.
Signed-off-by: Josef Bacik <jba...@fb.com>
---
net/ipv4/inet_connection_sock.c | 31 +++
1 file changed, 11 i
opy the sk's information into our bind
bucket and set tb->fastruseport to FASTREUSESOCK_STRICT so we know we have to do
an extra check for subsequent reuseport sockets and skip the expensive bind
conflict check.
Signed-off-by: Josef Bacik <jba...@fb.com>
---
include/net/inet_hashtables.h |
delete this code and save us the time.
Signed-off-by: Josef Bacik <jba...@fb.com>
---
include/net/inet_hashtables.h | 1 -
net/ipv4/inet_connection_sock.c | 26 --
net/ipv4/inet_hashtables.c | 3 ---
3 files changed, 4 insertions(+), 26 deletions(-)
diff
.
Signed-off-by: Josef Bacik <jba...@fb.com>
---
net/ipv4/inet_connection_sock.c | 66 +++--
1 file changed, 44 insertions(+), 22 deletions(-)
diff --git a/net/ipv4/inet_connection_sock.c b/net/ipv4/inet_connection_sock.c
index f7e844d..bbe2892 100644
---
The only difference between inet6_csk_bind_conflict and inet_csk_bind_conflict
is how they check the rcv_saddr, so delete this call back and simply
change inet_csk_bind_conflict to call inet_rcv_saddr_equal.
Signed-off-by: Josef Bacik <jba...@fb.com>
---
include/net/inet6_connection_sock.
V3->V4:
-Removed the random include of addrconf.h that is no longer needed.
V2->V3:
-Dropped the fastsock from the tb and instead just carry the saddrs, family, and
ipv6 only flag.
-Reworked the helper functions to deal with this change so I could still use
them when checking the fast path.
We pass these per-protocol equal functions around in various places, but
we can just have one function that checks the sk->sk_family and then do
the right comparison function. I've also changed the ipv4 version to
not cast to inet_sock since it is unneeded.
Signed-off-by: Josef Bacik &
On Thu, Jan 12, 2017 at 2:56 PM, David Miller <da...@davemloft.net>
wrote:
From: Josef Bacik <jba...@fb.com>
Date: Wed, 11 Jan 2017 15:22:40 -0500
diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
index 56d756e..dc07734 100644
--- a/net/ipv4/tcp_ipv4.c
+++ b/net/ipv
On Thu, Jan 12, 2017 at 12:41 PM, Craig Gallek <kraigatg...@gmail.com>
wrote:
On Wed, Jan 11, 2017 at 3:19 PM, Josef Bacik <jba...@fb.com> wrote:
+int inet_rcv_saddr_equal(const struct sock *sk, const struct sock
*sk2,
+bool match_wildcard)
+{
+#i
.
Signed-off-by: Josef Bacik <jba...@fb.com>
---
net/ipv4/inet_connection_sock.c | 66 +++--
1 file changed, 44 insertions(+), 22 deletions(-)
diff --git a/net/ipv4/inet_connection_sock.c b/net/ipv4/inet_connection_sock.c
index f7e844d..bbe2892 100644
---
delete this code and save us the time.
Signed-off-by: Josef Bacik <jba...@fb.com>
---
include/net/inet_hashtables.h | 1 -
net/ipv4/inet_connection_sock.c | 26 --
net/ipv4/inet_hashtables.c | 3 ---
3 files changed, 4 insertions(+), 26 deletions(-)
diff
The only difference between inet6_csk_bind_conflict and inet_csk_bind_conflict
is how they check the rcv_saddr, so delete this call back and simply
change inet_csk_bind_conflict to call inet_rcv_saddr_equal.
Signed-off-by: Josef Bacik <jba...@fb.com>
---
include/net/inet6_connection_sock.
1 - 100 of 152 matches
Mail list logo