lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1414141323.1441.1.camel@linaro.org>
Date:	Fri, 24 Oct 2014 10:02:03 +0100
From:	"Jon Medhurst (Tixy)" <tixy@...aro.org>
To:	Masami Hiramatsu <masami.hiramatsu.pt@...achi.com>
Cc:	Wang Nan <wangnan0@...wei.com>, linux@....linux.org.uk,
	will.deacon@....com, dave.long@...aro.org,
	taras.kondratiuk@...aro.org, Ben Dooks <ben.dooks@...ethink.co.uk>,
	Christoph Lameter <cl@...ux.com>, Rabin Vincent <rabin@....in>,
	"David S. Miller" <davem@...emloft.net>,
	linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
	Li Zefan <lizefan@...wei.com>
Subject: Re: [PATCH v6 0/7] ARM: kprobes: enable OPTPROBES for ARM 32.

On Fri, 2014-10-24 at 09:52 +0900, Masami Hiramatsu wrote:
> (2014/10/22 20:31), Wang Nan wrote:
> > Previous 5 version of ARM OPTPROBES patches are unable to deal with
> > stack storing instructions correctly. V5 patches disallow optimizing
> > every protential stack store instructions based on pessimistic
> > assumption. Which, as Tixy comments, 'excludes the main use of
> > kprobes'. (https://lkml.org/lkml/2014/8/29/117 )
> > 
> > The main obstacle which prevents us from computing stack requirement is
> > the missing of per-instruction decoder in probes_decode_insn() and its
> > friends. Only part of instructions have their decoders (and not in
> > each case).
> > 
> > In this patch series, I propose 'checker', which allows us define
> > functions for each type of instruction, extract more information.  Stack
> > consumption computing is an example. Checker can be further employed to
> > determine whether one instruction is possible to execute directy in
> > optimized kprobe. I'd like to expand current checker framework by
> > chaining checkers together. After that, I believe most of ARM
> > instructions can be executed directly like x86, kprobe performace can be
> > improved.
> > 
> > The first 3 patches introduces checker. After that, patch 4/7 checks
> > stack requirement for probed instructions. Patches 5/7 - 7/7 are similar
> > to patch v5, except:
> > 
> >  1. As Tixy proposed, unoptimized probes are also suffer from stack
> >     problem (https://lkml.org/lkml/2014/9/1/548 ). Commit d30a0c8b saves
> >     64 bytes for them, but for instruction use register addressing (like
> >     'str r0, [sp, r1]'), 64 bytes are unsafe. Patch 5/7 prohibit such
> >     probing according to stack information collected by checker.
> 
> By the way, this sounds like a bugfix rather than an improvement.
> Is it possible to separate 1/7-5/7 as a bugfix series? I think those
> should go to 3.18.

I believe that problem has existed since kprobes was first implemented
on ARM 7 years ago, and the problematic instruction type doesn't appear
to get generated by GCC so, in my opinion, I don't think there is any
particular urgency to fix this as a bug in the current and, by
implication, stable kernels.

-- 
Tixy

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ