Message ID | alpine.LNX.2.00.1210212233180.26319@swampdragon.chaosbits.net (mailing list archive) |
---|---|
State | Accepted, archived |
Headers | show |
On Thu, 25 Oct 2012, Rafael J. Wysocki wrote: > On Sunday 21 of October 2012 22:35:46 Jesper Juhl wrote: > > If acpi_ds_create_walk_state() succeeds, but the call to > > ACPI_ALLOCATE_ZEROED() fails, then we'll return from the function > > without properly freeing 'next_walk_state'. > > > > Signed-off-by: Jesper Juhl <jj@chaosbits.net> > > This has to go through ACPICA upstream, but we'll get it from there eventually. > Ok. I haven't heard any response to this other than yours, so I guess I'll just re-send it in a few days if I still hear nothing. Can I add your ACK when I re-send? /Jesper > Thanks, > Rafael > > > > --- > > drivers/acpi/acpica/dsmethod.c | 3 ++- > > 1 files changed, 2 insertions(+), 1 deletions(-) > > > > diff --git a/drivers/acpi/acpica/dsmethod.c b/drivers/acpi/acpica/dsmethod.c > > index aa9a5d4..ade59a3 100644 > > --- a/drivers/acpi/acpica/dsmethod.c > > +++ b/drivers/acpi/acpica/dsmethod.c > > @@ -378,7 +378,8 @@ acpi_ds_call_control_method(struct acpi_thread_state *thread, > > */ > > info = ACPI_ALLOCATE_ZEROED(sizeof(struct acpi_evaluate_info)); > > if (!info) { > > - return_ACPI_STATUS(AE_NO_MEMORY); > > + status = AE_NO_MEMORY; > > + goto cleanup; > > } > > > > info->parameters = &this_walk_state->operands[0]; > > >
On Sunday 21 of October 2012 22:35:46 Jesper Juhl wrote: > If acpi_ds_create_walk_state() succeeds, but the call to > ACPI_ALLOCATE_ZEROED() fails, then we'll return from the function > without properly freeing 'next_walk_state'. > > Signed-off-by: Jesper Juhl <jj@chaosbits.net> This has to go through ACPICA upstream, but we'll get it from there eventually. Thanks, Rafael > --- > drivers/acpi/acpica/dsmethod.c | 3 ++- > 1 files changed, 2 insertions(+), 1 deletions(-) > > diff --git a/drivers/acpi/acpica/dsmethod.c b/drivers/acpi/acpica/dsmethod.c > index aa9a5d4..ade59a3 100644 > --- a/drivers/acpi/acpica/dsmethod.c > +++ b/drivers/acpi/acpica/dsmethod.c > @@ -378,7 +378,8 @@ acpi_ds_call_control_method(struct acpi_thread_state *thread, > */ > info = ACPI_ALLOCATE_ZEROED(sizeof(struct acpi_evaluate_info)); > if (!info) { > - return_ACPI_STATUS(AE_NO_MEMORY); > + status = AE_NO_MEMORY; > + goto cleanup; > } > > info->parameters = &this_walk_state->operands[0]; >
On Tuesday, November 25, 2008 02:42:09 PM Jesper Juhl wrote: > On Thu, 25 Oct 2012, Rafael J. Wysocki wrote: > > > On Sunday 21 of October 2012 22:35:46 Jesper Juhl wrote: > > > If acpi_ds_create_walk_state() succeeds, but the call to > > > ACPI_ALLOCATE_ZEROED() fails, then we'll return from the function > > > without properly freeing 'next_walk_state'. > > > > > > Signed-off-by: Jesper Juhl <jj@chaosbits.net> > > > > This has to go through ACPICA upstream, but we'll get it from there eventually. > > > > Ok. I haven't heard any response to this other than yours, so I guess I'll > just re-send it in a few days if I still hear nothing. > > Can I add your ACK when I re-send? You don't need to resend, it's been taken. Thanks, Rafael > > > --- > > > drivers/acpi/acpica/dsmethod.c | 3 ++- > > > 1 files changed, 2 insertions(+), 1 deletions(-) > > > > > > diff --git a/drivers/acpi/acpica/dsmethod.c b/drivers/acpi/acpica/dsmethod.c > > > index aa9a5d4..ade59a3 100644 > > > --- a/drivers/acpi/acpica/dsmethod.c > > > +++ b/drivers/acpi/acpica/dsmethod.c > > > @@ -378,7 +378,8 @@ acpi_ds_call_control_method(struct acpi_thread_state *thread, > > > */ > > > info = ACPI_ALLOCATE_ZEROED(sizeof(struct acpi_evaluate_info)); > > > if (!info) { > > > - return_ACPI_STATUS(AE_NO_MEMORY); > > > + status = AE_NO_MEMORY; > > > + goto cleanup; > > > } > > > > > > info->parameters = &this_walk_state->operands[0]; > > > > > > >
diff --git a/drivers/acpi/acpica/dsmethod.c b/drivers/acpi/acpica/dsmethod.c index aa9a5d4..ade59a3 100644 --- a/drivers/acpi/acpica/dsmethod.c +++ b/drivers/acpi/acpica/dsmethod.c @@ -378,7 +378,8 @@ acpi_ds_call_control_method(struct acpi_thread_state *thread, */ info = ACPI_ALLOCATE_ZEROED(sizeof(struct acpi_evaluate_info)); if (!info) { - return_ACPI_STATUS(AE_NO_MEMORY); + status = AE_NO_MEMORY; + goto cleanup; } info->parameters = &this_walk_state->operands[0];
If acpi_ds_create_walk_state() succeeds, but the call to ACPI_ALLOCATE_ZEROED() fails, then we'll return from the function without properly freeing 'next_walk_state'. Signed-off-by: Jesper Juhl <jj@chaosbits.net> --- drivers/acpi/acpica/dsmethod.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)