Messages in this thread | | | From | Guo Ren <> | Date | Wed, 10 Jun 2020 10:53:29 +0800 | Subject | Re: [PATCH] uprobes: ensure that uprobe->offset and ->ref_ctr_offset are properly aligned |
| |
On Tue, May 5, 2020 at 2:41 AM Christian Borntraeger <borntraeger@de.ibm.com> wrote: > > > > On 04.05.20 18:47, Oleg Nesterov wrote: > > uprobe_write_opcode() must not cross page boundary; prepare_uprobe() > > relies on arch_uprobe_analyze_insn() which should validate "vaddr" but > > some architectures (csky, s390, and sparc) don't do this. > > I think the idea was that the uprobe instruction is 2 bytes and instructions > are always aligned to 2 bytes on s390. (we can have 2,4 or 6 bytes). Agree, csky has two length-types of instructions (2,4 bytes).
> > > > > We can remove the BUG_ON() check in prepare_uprobe() and validate the > > offset early in __uprobe_register(). The new IS_ALIGNED() check matches > > the alignment check in arch_prepare_kprobe() on supported architectures, > > so I think that all insns must be aligned to UPROBE_SWBP_INSN_SIZE. > > Not sure if it would have been possible to try to create a uprobe on an > odd address. If yes, then the new IS_ALIGNED check certainly makes this > better for s390, so the patch looks sane. Adding Vasily and Sven to double > check. Also good to csky.
-- Best Regards Guo Ren
ML: https://lore.kernel.org/linux-csky/
| |