linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Josef Bacik <josef@toxicpanda.com>
To: Daniel Borkmann <daniel@iogearbox.net>
Cc: Josef Bacik <josef@toxicpanda.com>,
	Jonathan Corbet <corbet@lwn.net>,
	rostedt@goodmis.org, mingo@redhat.com, davem@davemloft.net,
	netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	ast@kernel.org, kernel-team@fb.com, linux-btrfs@vger.kernel.org,
	Josef Bacik <jbacik@fb.com>
Subject: Re: [PATCH v7 1/5] add infrastructure for tagging functions as error injectable
Date: Thu, 30 Nov 2017 15:15:37 -0500	[thread overview]
Message-ID: <20171130201535.7eeawg77yixnqjks@destiny> (raw)
In-Reply-To: <83414bdd-2e83-bc77-da90-33ee43b89a97@iogearbox.net>

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 <josef@toxicpanda.com> wrote:
> >>> From: Josef Bacik <jbacik@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 error injection purposes.
> >>>
> >>> Signed-off-by: Josef Bacik <jbacik@fb.com>
> >>> Acked-by: Ingo Molnar <mingo@kernel.org>
> >>> ---
> >>>  arch/x86/include/asm/asm.h        |   6 ++
> >>>  include/asm-generic/vmlinux.lds.h |  10 +++
> >>>  include/linux/bpf.h               |  11 +++
> >>>  include/linux/kprobes.h           |   1 +
> >>>  include/linux/module.h            |   5 ++
> >>>  kernel/kprobes.c                  | 163 ++++++++++++++++++++++++++++++++++++++
> >>>  kernel/module.c                   |   6 +-
> >>>  7 files changed, 201 insertions(+), 1 deletion(-)
> >>>
> >>> diff --git a/arch/x86/include/asm/asm.h b/arch/x86/include/asm/asm.h
> >>> index b0dc91f4bedc..340f4cc43255 100644
> >>> --- a/arch/x86/include/asm/asm.h
> >>> +++ b/arch/x86/include/asm/asm.h
> >>> @@ -85,6 +85,12 @@
> >>>  	_ASM_PTR (entry);					\
> >>>  	.popsection
> >>>  
> >>> +# define _ASM_KPROBE_ERROR_INJECT(entry)			\
> >>> +	.pushsection "_kprobe_error_inject_list","aw" ;		\
> >>> +	_ASM_ALIGN ;						\
> >>> +	_ASM_PTR (entry);					\
> >>> +	.popseciton
> >>
> >> So this stuff is not my area of greatest expertise, but I do have to wonder
> >> how ".popseciton" can work ... ?
> > 
> > Well fuck, do you want me to send a increment Daniel/Alexei or resend this patch
> > fixed?  Thanks,
> 
> Sorry for late reply, please rebase + respin the whole series with
> this fixed. There were also few typos in the cover letter / commit
> messages that would be good to get fixed along the way.
> 
> Also, could you debug why this wasn't caught at compile/runtime during
> testing?
> 

Sat down to figure out what was wrong here, and realized I'm just an idiot.  I
was copying the no kprobe stuff, and my grepping did not uncover what
_ASM_NOKPROBE() was used for, so I assumed it was some auto generated magic and
just copied what it did to cover my bases.  Sat down to figure it out and it is
actually called in some assembly files (which is why cscope didn't find it).  So
we don't need _ASM_KPROBE_ERROR_INJECT at all.  I'll drop it and respin and send
it along.  Thanks,

Josef

  reply	other threads:[~2017-11-30 20:15 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-22 21:23 [PATCH v7 0/4] Add the ability to do BPF directed error injection Josef Bacik
2017-11-22 21:23 ` [PATCH v7 1/5] add infrastructure for tagging functions as error injectable Josef Bacik
2017-11-28 18:58   ` Jonathan Corbet
2017-11-28 20:02     ` Josef Bacik
2017-11-29 16:59       ` Daniel Borkmann
2017-11-30 20:15         ` Josef Bacik [this message]
2017-11-22 21:23 ` [PATCH v7 2/5] btrfs: make open_ctree " Josef Bacik
2017-11-22 21:23 ` [PATCH v7 3/5] bpf: add a bpf_override_function helper Josef Bacik
2017-11-24  9:46   ` Daniel Borkmann
2017-11-22 21:23 ` [PATCH v7 4/5] samples/bpf: add a test for bpf_override_return Josef Bacik
2017-11-22 21:23 ` [PATCH v7 5/5] btrfs: allow us to inject errors at io_ctl_init Josef Bacik
2017-11-23  1:19 ` [PATCH v7 0/4] Add the ability to do BPF directed error injection Alexei Starovoitov
2017-11-28 16:22 ` Daniel Borkmann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20171130201535.7eeawg77yixnqjks@destiny \
    --to=josef@toxicpanda.com \
    --cc=ast@kernel.org \
    --cc=corbet@lwn.net \
    --cc=daniel@iogearbox.net \
    --cc=davem@davemloft.net \
    --cc=jbacik@fb.com \
    --cc=kernel-team@fb.com \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=netdev@vger.kernel.org \
    --cc=rostedt@goodmis.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).