Re: probe_write_common_error

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



re-added mailing list back. pls don't remove it from cc.

On Thu, Apr 2, 2020 at 1:05 AM Gilad Reti <gilad.reti@xxxxxxxxx> wrote:
>
> On Thu, Apr 2, 2020 at 2:28 AM Alexei Starovoitov
> <alexei.starovoitov@xxxxxxxxx> wrote:
> >
> > On Tue, Mar 31, 2020 at 07:16:28PM +0300, Gilad Reti wrote:
> > > When I try to probe_write_common into a writable location (e.g a
> > > memory address on a usermode stack) which is not yet mapped or mapped
> > > as read only to the memory, the function sometimes return a EFAULT
> > > (bad address) error. This is happening since the pagefault handler was
> > > disabled and thus this memory location won't be mapped when the
> > > function tries to write into it, an error will be returned and no data
> > > will be written.
> > > Is that behavior intended? Did you want those functions to have as
> > > less side-effects are possible?
> >
> > You mean bpf_probe_write_user() helper?
> Well yes, but it calls probe_write_common which disables the pagefault
> handler so I asked about it.
> > Yes it's a non-faulting helper that will fail if prog is trying to
> > write into a valid memory that could have been served with minor fault.
> > The main reason for this is that bpf progs are not allowed to sleep.
> > We're working on sleepable bpf progs that will be able to do copy_from/to_user
> > from the context where it is safe to sleep. Like syscall entry.
> Thanks!
> > Could you please share more about your use case, so we can make sure
> > that it will be covered by upcoming work?
> Sure. I was playing with modifying kprobed syscall parameters (for
> example, changing the path of an openat syscall etc).

yes, but what is the use case?
Why do you want to modify path of openat syscall?



[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux