diff mbox

ppc: abort if compat property contains an unknown value

Message ID 146840401713.3823.14669583190515817328.stgit@bahia.lan (mailing list archive)
State New, archived
Headers show

Commit Message

Greg Kurz July 13, 2016, 10 a.m. UTC
It is not possible to set the compat property to an unknown value with
powerpc_set_compat(). Something must have gone terribly wrong in QEMU,
if we detect an "Internal error" in powerpc_get_compat(). Let's abort then.

This patch also drops the "max_compat ? *max_compat : -1" construct. It is
useless since max_compat is dereferenced a few lines above.

Signed-off-by: Greg Kurz <groug@kaod.org>
---
 target-ppc/translate_init.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Thomas Huth July 13, 2016, 12:05 p.m. UTC | #1
On 13.07.2016 12:00, Greg Kurz wrote:
> It is not possible to set the compat property to an unknown value with
> powerpc_set_compat(). Something must have gone terribly wrong in QEMU,
> if we detect an "Internal error" in powerpc_get_compat(). Let's abort then.
> 
> This patch also drops the "max_compat ? *max_compat : -1" construct. It is
> useless since max_compat is dereferenced a few lines above.
> 
> Signed-off-by: Greg Kurz <groug@kaod.org>
> ---
>  target-ppc/translate_init.c |    4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/target-ppc/translate_init.c b/target-ppc/translate_init.c
> index 55688db9c9db..79c86c477878 100644
> --- a/target-ppc/translate_init.c
> +++ b/target-ppc/translate_init.c
> @@ -8446,8 +8446,8 @@ static void powerpc_get_compat(Object *obj, Visitor *v, const char *name,
>      case 0:
>          break;
>      default:
> -        error_setg(errp, "Internal error: compat is set to %x",
> -                   max_compat ? *max_compat : -1);
> +        error_report("Internal error: compat is set to %x", *max_compat);
> +        abort();
>          break;
>      }

Since abort() never returns, you can now also remove the "break;"
statement here.

 Thomas
David Gibson July 14, 2016, 2:07 a.m. UTC | #2
On Wed, Jul 13, 2016 at 12:00:17PM +0200, Greg Kurz wrote:
> It is not possible to set the compat property to an unknown value with
> powerpc_set_compat(). Something must have gone terribly wrong in QEMU,
> if we detect an "Internal error" in powerpc_get_compat(). Let's abort then.
> 
> This patch also drops the "max_compat ? *max_compat : -1" construct. It is
> useless since max_compat is dereferenced a few lines above.
> 
> Signed-off-by: Greg Kurz <groug@kaod.org>

Applied to ppc-for-2.7, thanks.

> ---
>  target-ppc/translate_init.c |    4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/target-ppc/translate_init.c b/target-ppc/translate_init.c
> index 55688db9c9db..79c86c477878 100644
> --- a/target-ppc/translate_init.c
> +++ b/target-ppc/translate_init.c
> @@ -8446,8 +8446,8 @@ static void powerpc_get_compat(Object *obj, Visitor *v, const char *name,
>      case 0:
>          break;
>      default:
> -        error_setg(errp, "Internal error: compat is set to %x",
> -                   max_compat ? *max_compat : -1);
> +        error_report("Internal error: compat is set to %x", *max_compat);
> +        abort();
>          break;
>      }
>  
>
diff mbox

Patch

diff --git a/target-ppc/translate_init.c b/target-ppc/translate_init.c
index 55688db9c9db..79c86c477878 100644
--- a/target-ppc/translate_init.c
+++ b/target-ppc/translate_init.c
@@ -8446,8 +8446,8 @@  static void powerpc_get_compat(Object *obj, Visitor *v, const char *name,
     case 0:
         break;
     default:
-        error_setg(errp, "Internal error: compat is set to %x",
-                   max_compat ? *max_compat : -1);
+        error_report("Internal error: compat is set to %x", *max_compat);
+        abort();
         break;
     }