diff mbox

ACPICA: Remove unnecessary call to debugger

Message ID 20170608213106.11982-1-kilobyte@angband.pl (mailing list archive)
State Superseded, archived
Headers show

Commit Message

Adam Borowski June 8, 2017, 9:31 p.m. UTC
This is a port of https://github.com/acpica/acpica/commit/eaa455ac by
Robert Moore to the kernel:

> This call was simply wrong, and resulted in a -1 index into the operand
> stack.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=120351
Signed-off-by: Adam Borowski <kilobyte@angband.pl>
---
You guys fixed this in your tool months ago, but it's still unfixed in the
kernel.  Let's apply that patch, then.  The coding styles differ so much the
patch is hardly recognizable, but it's a direct port.

 drivers/acpi/acpica/dsutils.c | 9 ---------
 1 file changed, 9 deletions(-)

Comments

Rafael J. Wysocki June 8, 2017, 9:43 p.m. UTC | #1
On Thu, Jun 8, 2017 at 11:31 PM, Adam Borowski <kilobyte@angband.pl> wrote:
> This is a port of https://github.com/acpica/acpica/commit/eaa455ac by
> Robert Moore to the kernel:
>
>> This call was simply wrong, and resulted in a -1 index into the operand
>> stack.
>
> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=120351
> Signed-off-by: Adam Borowski <kilobyte@angband.pl>
> ---
> You guys fixed this in your tool months ago, but it's still unfixed in the
> kernel.  Let's apply that patch, then.  The coding styles differ so much the
> patch is hardly recognizable, but it's a direct port.

Lv, any comments?

>  drivers/acpi/acpica/dsutils.c | 9 ---------
>  1 file changed, 9 deletions(-)
>
> diff --git a/drivers/acpi/acpica/dsutils.c b/drivers/acpi/acpica/dsutils.c
> index 406edec20de7..0dabd9b95684 100644
> --- a/drivers/acpi/acpica/dsutils.c
> +++ b/drivers/acpi/acpica/dsutils.c
> @@ -633,15 +633,6 @@ acpi_ds_create_operand(struct acpi_walk_state *walk_state,
>
>                 if ((op_info->flags & AML_HAS_RETVAL) ||
>                     (arg->common.flags & ACPI_PARSEOP_IN_STACK)) {
> -                       ACPI_DEBUG_PRINT((ACPI_DB_DISPATCH,
> -                                         "Argument previously created, already stacked\n"));
> -
> -                       acpi_db_display_argument_object(walk_state->
> -                                                       operands[walk_state->
> -                                                                num_operands -
> -                                                                1],
> -                                                       walk_state);
> -
>                         /*
>                          * Use value that was already previously returned
>                          * by the evaluation of this argument
> --
> 2.11.0
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Lv Zheng June 9, 2017, 12:35 a.m. UTC | #2
Hi,

> From: rjwysocki@gmail.com [mailto:rjwysocki@gmail.com] On Behalf Of Rafael J. Wysocki

> Subject: Re: [PATCH] ACPICA: Remove unnecessary call to debugger

> 

> On Thu, Jun 8, 2017 at 11:31 PM, Adam Borowski <kilobyte@angband.pl> wrote:

> > This is a port of https://github.com/acpica/acpica/commit/eaa455ac by

> > Robert Moore to the kernel:

> >

> >> This call was simply wrong, and resulted in a -1 index into the operand

> >> stack.

> >

> > Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=120351

> > Signed-off-by: Adam Borowski <kilobyte@angband.pl>

> > ---

> > You guys fixed this in your tool months ago, but it's still unfixed in the

> > kernel.  Let's apply that patch, then.  The coding styles differ so much the

> > patch is hardly recognizable, but it's a direct port.

> 

> Lv, any comments?


The commit was originally sent by me with this commit:
https://github.com/zetalog/linux/commit/2cd640e5fd50
You can see full bug triage story here:
https://bugzilla.kernel.org/show_bug.cgi?id=194845
And upstream ACPICA discussion here:
https://github.com/acpica/acpica/pull/245
After the merge, bob helped to close another bug report:
https://bugzilla.kernel.org/show_bug.cgi?id=120351

I already sent linuxized commit to you in the ACPICA release with restored patch description:
https://patchwork.kernel.org/patch/9765837/
Such modification is what we need to do in release cycle according to the community work.
You don't need to take this one.

Thanks and best regards
Lv

> >  drivers/acpi/acpica/dsutils.c | 9 ---------

> >  1 file changed, 9 deletions(-)

> >

> > diff --git a/drivers/acpi/acpica/dsutils.c b/drivers/acpi/acpica/dsutils.c

> > index 406edec20de7..0dabd9b95684 100644

> > --- a/drivers/acpi/acpica/dsutils.c

> > +++ b/drivers/acpi/acpica/dsutils.c

> > @@ -633,15 +633,6 @@ acpi_ds_create_operand(struct acpi_walk_state *walk_state,

> >

> >                 if ((op_info->flags & AML_HAS_RETVAL) ||

> >                     (arg->common.flags & ACPI_PARSEOP_IN_STACK)) {

> > -                       ACPI_DEBUG_PRINT((ACPI_DB_DISPATCH,

> > -                                         "Argument previously created, already stacked\n"));

> > -

> > -                       acpi_db_display_argument_object(walk_state->

> > -                                                       operands[walk_state->

> > -                                                                num_operands -

> > -                                                                1],

> > -                                                       walk_state);

> > -

> >                         /*

> >                          * Use value that was already previously returned

> >                          * by the evaluation of this argument

> > --

> > 2.11.0
Lv Zheng June 9, 2017, 1:18 a.m. UTC | #3
Hi, Adam

> From: linux-acpi-owner@vger.kernel.org [mailto:linux-acpi-owner@vger.kernel.org] On Behalf Of Adam
> Borowski
> Sent: Friday, June 9, 2017 5:31 AM
> To: Moore, Robert <robert.moore@intel.com>; Zheng, Lv <lv.zheng@intel.com>; Wysocki, Rafael J
> <rafael.j.wysocki@intel.com>; Len Brown <lenb@kernel.org>; linux-acpi@vger.kernel.org;
> devel@acpica.org
> Cc: Adam Borowski <kilobyte@angband.pl>
> Subject: [PATCH] ACPICA: Remove unnecessary call to debugger
> 
> This is a port of https://github.com/acpica/acpica/commit/eaa455ac by
> Robert Moore to the kernel:
> 
> > This call was simply wrong, and resulted in a -1 index into the operand
> > stack.
> 
> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=120351
> Signed-off-by: Adam Borowski <kilobyte@angband.pl>

I think my first fix also worked and your test on bug 120351 was wrong.
I just added comment a moment ago.

However I just pushed the removal of the wrong debugging statement fix to the upstream.
It's really redundant, you need to enable the log and check them.

The patch has already been sent here:
https://patchwork.kernel.org/patch/9765837/
So you don't have to send it again.

Thanks
Lv

> You guys fixed this in your tool months ago, but it's still unfixed in the
> kernel.  Let's apply that patch, then.  The coding styles differ so much the
> patch is hardly recognizable, but it's a direct port.
> 
>  drivers/acpi/acpica/dsutils.c | 9 ---------
>  1 file changed, 9 deletions(-)
> 
> diff --git a/drivers/acpi/acpica/dsutils.c b/drivers/acpi/acpica/dsutils.c
> index 406edec20de7..0dabd9b95684 100644
> --- a/drivers/acpi/acpica/dsutils.c
> +++ b/drivers/acpi/acpica/dsutils.c
> @@ -633,15 +633,6 @@ acpi_ds_create_operand(struct acpi_walk_state *walk_state,
> 
>  		if ((op_info->flags & AML_HAS_RETVAL) ||
>  		    (arg->common.flags & ACPI_PARSEOP_IN_STACK)) {
> -			ACPI_DEBUG_PRINT((ACPI_DB_DISPATCH,
> -					  "Argument previously created, already stacked\n"));
> -
> -			acpi_db_display_argument_object(walk_state->
> -							operands[walk_state->
> -								 num_operands -
> -								 1],
> -							walk_state);
> -
>  			/*
>  			 * Use value that was already previously returned
>  			 * by the evaluation of this argument
> --
> 2.11.0
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Adam Borowski June 9, 2017, 1:33 a.m. UTC | #4
On Fri, Jun 09, 2017 at 01:18:25AM +0000, Zheng, Lv wrote:
> > Subject: [PATCH] ACPICA: Remove unnecessary call to debugger
> > 
> > This is a port of https://github.com/acpica/acpica/commit/eaa455ac by
> > Robert Moore to the kernel:
> > 
> > > This call was simply wrong, and resulted in a -1 index into the operand
> > > stack.
> > 
> > Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=120351
> > Signed-off-by: Adam Borowski <kilobyte@angband.pl>
> 
> I think my first fix also worked and your test on bug 120351 was wrong.
> I just added comment a moment ago.
> 
> However I just pushed the removal of the wrong debugging statement fix to the upstream.
> It's really redundant, you need to enable the log and check them.
> 
> The patch has already been sent here:
> https://patchwork.kernel.org/patch/9765837/
> So you don't have to send it again.

Date: June 5, and it's not even in next-20170608 yet, so I obviously didn't
see you applying the fix (it seemed stalled since Apr 4).  If it's already
on the way, that's good.

However, it is not redundant: without this removal, I see the UBSAN error
(at least in current mainline).

Whether an alternate fix would be enough is another question.  You guys know
more about the issue, all I know is whether I see warnings spewed into my
dmesg :)


Meow!
Lv Zheng June 9, 2017, 2:56 a.m. UTC | #5
Hi,

> From: Adam Borowski [mailto:kilobyte@angband.pl]

> Subject: Re: [PATCH] ACPICA: Remove unnecessary call to debugger

> 

> On Fri, Jun 09, 2017 at 01:18:25AM +0000, Zheng, Lv wrote:

> > > Subject: [PATCH] ACPICA: Remove unnecessary call to debugger

> > >

> > > This is a port of https://github.com/acpica/acpica/commit/eaa455ac by

> > > Robert Moore to the kernel:

> > >

> > > > This call was simply wrong, and resulted in a -1 index into the operand

> > > > stack.

> > >

> > > Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=120351

> > > Signed-off-by: Adam Borowski <kilobyte@angband.pl>

> >

> > I think my first fix also worked and your test on bug 120351 was wrong.

> > I just added comment a moment ago.

> >

> > However I just pushed the removal of the wrong debugging statement fix to the upstream.

> > It's really redundant, you need to enable the log and check them.

> >

> > The patch has already been sent here:

> > https://patchwork.kernel.org/patch/9765837/

> > So you don't have to send it again.

> 

> Date: June 5, and it's not even in next-20170608 yet, so I obviously didn't

> see you applying the fix (it seemed stalled since Apr 4).  If it's already

> on the way, that's good.


Yes, ACPICA release was frozen, waiting for spec 6.2 release.

> 

> However, it is not redundant: without this removal, I see the UBSAN error

> (at least in current mainline).


We have different meaning of redundant. :)

I mean:
I managed to enable the debugging log, and it always dumps things in this way:
 ArgObj: 00ADA610 Integer 0000000000000000
 ArgObj: 00ADA4F0 Integer 00000000FFFF00FF
 ArgObj: 00ADA4F0 Integer 00000000FFFF00FF <= redundant log generated by this line
 ArgObj: 00ADA580 Integer 0000000000000000
 ResultObj: 00ADA710 Integer 0000000000000000
In theory, AcpiDbDisplayArgumentObject() should be invoked for each AcpiDsObjStackPush().
There are only 2 AcpiDsObjStackPush() invocations.
Both of them have already been paired with AcpiDbDisplayArgumentObject() in AcpiDsCreateOperand().

This isolated AcpiDbDisplayArgumentObject() tries to find back missing stacked object debugging information.
			ACPI_DEBUG_PRINT((ACPI_DB_DISPATCH,
 					  "Argument previously created, already stacked\n"));
However there won't be such a missing object as all operands are created via AcpiDsCreateOperand().
Finally this invocation only generates above redundant debugging logs.

Cheers,
Lv

> 

> Whether an alternate fix would be enough is another question.  You guys know

> more about the issue, all I know is whether I see warnings spewed into my

> dmesg :)

> 

> 

> Meow!

> --

> ⢀⣴⠾⠻⢶⣦⠀ A tit a day keeps the vet away.

> ⣾⠁⢰⠒⠀⣿⡁

> ⢿⡄⠘⠷⠚⠋⠀ (Rejoice as my small-animal-murder-machine got unbroken after

> ⠈⠳⣄⠀⠀⠀⠀ nearly two years of no catch!)
diff mbox

Patch

diff --git a/drivers/acpi/acpica/dsutils.c b/drivers/acpi/acpica/dsutils.c
index 406edec20de7..0dabd9b95684 100644
--- a/drivers/acpi/acpica/dsutils.c
+++ b/drivers/acpi/acpica/dsutils.c
@@ -633,15 +633,6 @@  acpi_ds_create_operand(struct acpi_walk_state *walk_state,
 
 		if ((op_info->flags & AML_HAS_RETVAL) ||
 		    (arg->common.flags & ACPI_PARSEOP_IN_STACK)) {
-			ACPI_DEBUG_PRINT((ACPI_DB_DISPATCH,
-					  "Argument previously created, already stacked\n"));
-
-			acpi_db_display_argument_object(walk_state->
-							operands[walk_state->
-								 num_operands -
-								 1],
-							walk_state);
-
 			/*
 			 * Use value that was already previously returned
 			 * by the evaluation of this argument