From: "Alex Bennée" <alex.bennee@linaro.org>
To: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
Cc: qemu-devel@nongnu.org, peter.maydell@linaro.org,
qemu-arm@nongnu.org, edgar.iglesias@xilinx.com
Subject: Re: [PATCH v1 1/3] target-arm: Apply S2 MMU startlevel table size check to AArch64
Date: Wed, 20 Jan 2016 19:29:54 +0000 [thread overview]
Message-ID: <87bn8gcaml.fsf@linaro.org> (raw)
In-Reply-To: <1453297780-12514-2-git-send-email-edgar.iglesias@gmail.com>
Edgar E. Iglesias <edgar.iglesias@gmail.com> writes:
> From: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com>
>
> The S2 starting level table size check applies to both AArch32
> and AArch64. Move it to common code.
>
> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
> ---
> target-arm/helper.c | 16 ++++++++--------
> 1 file changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/target-arm/helper.c b/target-arm/helper.c
> index f956b67..8aedce9 100644
> --- a/target-arm/helper.c
> +++ b/target-arm/helper.c
> @@ -6581,11 +6581,19 @@ typedef enum {
> static bool check_s2_startlevel(ARMCPU *cpu, bool is_aa64, int level,
> int inputsize, int stride)
> {
> + const int grainsize = stride + 3;
> + int startsizecheck;
> +
> /* Negative levels are never allowed. */
> if (level < 0) {
> return false;
> }
>
> + startsizecheck = inputsize - ((3 - level) * stride + grainsize);
> + if (startsizecheck < 1 || startsizecheck > stride + 4) {
> + return false;
> + }
> +
> if (is_aa64) {
> unsigned int pamax = arm_pamax(cpu);
>
> @@ -6609,20 +6617,12 @@ static bool check_s2_startlevel(ARMCPU *cpu, bool is_aa64, int level,
> g_assert_not_reached();
> }
> } else {
> - const int grainsize = stride + 3;
> - int startsizecheck;
> -
> /* AArch32 only supports 4KB pages. Assert on that. */
> assert(stride == 9);
>
> if (level == 0) {
> return false;
> }
> -
> - startsizecheck = inputsize - ((3 - level) * stride + grainsize);
> - if (startsizecheck < 1 || startsizecheck > stride + 4) {
> - return false;
> - }
> }
> return true;
> }
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
--
Alex Bennée
WARNING: multiple messages have this Message-ID (diff)
From: "Alex Bennée" <alex.bennee@linaro.org>
To: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
Cc: edgar.iglesias@xilinx.com, peter.maydell@linaro.org,
qemu-arm@nongnu.org, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v1 1/3] target-arm: Apply S2 MMU startlevel table size check to AArch64
Date: Wed, 20 Jan 2016 19:29:54 +0000 [thread overview]
Message-ID: <87bn8gcaml.fsf@linaro.org> (raw)
In-Reply-To: <1453297780-12514-2-git-send-email-edgar.iglesias@gmail.com>
Edgar E. Iglesias <edgar.iglesias@gmail.com> writes:
> From: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com>
>
> The S2 starting level table size check applies to both AArch32
> and AArch64. Move it to common code.
>
> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
> ---
> target-arm/helper.c | 16 ++++++++--------
> 1 file changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/target-arm/helper.c b/target-arm/helper.c
> index f956b67..8aedce9 100644
> --- a/target-arm/helper.c
> +++ b/target-arm/helper.c
> @@ -6581,11 +6581,19 @@ typedef enum {
> static bool check_s2_startlevel(ARMCPU *cpu, bool is_aa64, int level,
> int inputsize, int stride)
> {
> + const int grainsize = stride + 3;
> + int startsizecheck;
> +
> /* Negative levels are never allowed. */
> if (level < 0) {
> return false;
> }
>
> + startsizecheck = inputsize - ((3 - level) * stride + grainsize);
> + if (startsizecheck < 1 || startsizecheck > stride + 4) {
> + return false;
> + }
> +
> if (is_aa64) {
> unsigned int pamax = arm_pamax(cpu);
>
> @@ -6609,20 +6617,12 @@ static bool check_s2_startlevel(ARMCPU *cpu, bool is_aa64, int level,
> g_assert_not_reached();
> }
> } else {
> - const int grainsize = stride + 3;
> - int startsizecheck;
> -
> /* AArch32 only supports 4KB pages. Assert on that. */
> assert(stride == 9);
>
> if (level == 0) {
> return false;
> }
> -
> - startsizecheck = inputsize - ((3 - level) * stride + grainsize);
> - if (startsizecheck < 1 || startsizecheck > stride + 4) {
> - return false;
> - }
> }
> return true;
> }
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
--
Alex Bennée
next prev parent reply other threads:[~2016-01-20 19:29 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-20 13:49 [PATCH v1 0/3] target-arm: Add a few more S2 MMU input checks Edgar E. Iglesias
2016-01-20 13:49 ` [Qemu-devel] " Edgar E. Iglesias
2016-01-20 13:49 ` [PATCH v1 1/3] target-arm: Apply S2 MMU startlevel table size check to AArch64 Edgar E. Iglesias
2016-01-20 13:49 ` [Qemu-devel] " Edgar E. Iglesias
2016-01-20 19:29 ` Alex Bennée [this message]
2016-01-20 19:29 ` Alex Bennée
2016-01-20 13:49 ` [PATCH v1 2/3] target-arm: Make pamax an argument to check_s2_startlevel Edgar E. Iglesias
2016-01-20 13:49 ` [Qemu-devel] " Edgar E. Iglesias
2016-01-21 12:26 ` Alex Bennée
2016-01-21 12:26 ` [Qemu-devel] " Alex Bennée
2016-01-21 15:04 ` Edgar E. Iglesias
2016-01-21 15:04 ` [Qemu-devel] " Edgar E. Iglesias
2016-01-20 13:49 ` [PATCH v1 3/3] target-arm: Implement the S2 MMU inputsize < pamax check Edgar E. Iglesias
2016-01-20 13:49 ` [Qemu-devel] " Edgar E. Iglesias
2016-01-20 17:23 ` Edgar E. Iglesias
2016-01-20 17:23 ` [Qemu-devel] " Edgar E. Iglesias
2016-01-21 12:52 ` Alex Bennée
2016-01-21 12:52 ` [Qemu-devel] " Alex Bennée
2016-01-21 15:05 ` Edgar E. Iglesias
2016-01-21 15:05 ` [Qemu-devel] " Edgar E. Iglesias
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=87bn8gcaml.fsf@linaro.org \
--to=alex.bennee@linaro.org \
--cc=edgar.iglesias@gmail.com \
--cc=edgar.iglesias@xilinx.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.