[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1210227145.23183.7.camel@minggr.sh.intel.com>
Date: Thu, 08 May 2008 14:12:25 +0800
From: Lin Ming <ming.m.lin@...el.com>
To: Vegard Nossum <vegard.nossum@...il.com>
Cc: Pekka Enberg <penberg@...helsinki.fi>,
Bob Moore <robert.moore@...el.com>,
Alexey Starikovskiy <astarikovskiy@...e.de>,
Len Brown <len.brown@...el.com>, linux-acpi@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: ACPI: kmemcheck: Caught 16-bit read from freed memory
(f7c12ec6)
On Thu, 2008-05-08 at 08:05 +0200, Vegard Nossum wrote:
> Hello,
>
> On Thu, May 8, 2008 at 7:35 AM, Lin Ming <ming.m.lin@...el.com> wrote:
> > Here comes a simple patch that fixes the warning in my machine.
> >
> > Vegard, would you please help to test it in your machine?
> >
>
> Thanks for the try, but unfortunately this does not solve the problem.
It's strange.
In my machine, without this patch the warning shows up
With this patch applied the waring goes away
Would you please upload the acpidump file?
>
> Please note that kmemcheck is an patch to the kernel; without it you
> will never see the warning. You can pull it from
> git://git.kernel.org/pub/scm/linux/kernel/git/vegard/kmemcheck.git current
Yes, I pulled the kmemcheck tree.
BTW, I like the kmemcheck patch, it's very useful :) Great work :)
Lin Ming
> though it is unlikely that it will help you more than looking at the
> code (or the report) will do.
>
> > Thanks,
> > Lin Ming
> >
> > Signed-off-by: Lin Ming <ming.m.lin@...el.com>
> > ---
> > diff --git a/drivers/acpi/parser/psargs.c b/drivers/acpi/parser/psargs.c
> > index f1e8bf6..ef55d24 100644
> > --- a/drivers/acpi/parser/psargs.c
> > +++ b/drivers/acpi/parser/psargs.c
> > @@ -268,7 +268,7 @@ acpi_ps_get_next_namepath(struct acpi_walk_state
> > *walk_state,
>
> > */
> > if (ACPI_SUCCESS(status) &&
> > possible_method_call && (node->type == ACPI_TYPE_METHOD)) {
> > - if (walk_state->op->common.aml_opcode == AML_UNLOAD_OP) {
> > + if (walk_state->op && walk_state->op->common.aml_opcode ==
> > AML_UNLOAD_OP) {
> > /*
> > * acpi_ps_get_next_namestring has increased the AML pointer,
> > * so we need to restore the saved AML pointer for method call.
>
> Also, noticing your change, I can see why it makes no difference:
> Pekka already found that it is walk_state->op that has the value of
> 0xf7c12ec6 (e.g. the pointer being dereferenced), so the test will
> still succeed.
>
> On the other hand, I have discovered what seems to be a deficiency in
> kmemcheck (i.e. it might be my fault entirely), so it is possible that
> the warning is bogus. Will send an update shortly.
>
>
> Vegard
>
--
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