Messages in this thread | | | From | Thiago Jung Bauermann <> | Subject | Re: [PATCH v3 08/12] ppc64/kexec_file: setup the stack for purgatory | Date | Wed, 15 Jul 2020 22:40:13 -0300 |
| |
Sorry, forgot to send one comment for this patch:
Hari Bathini <hbathini@linux.ibm.com> writes:
> @@ -898,10 +900,37 @@ int setup_purgatory_ppc64(struct kimage *image, const void *slave_code, > goto out; > } > > + /* Setup the stack top */ > + stack_buf = kexec_purgatory_get_symbol_addr(image, "stack_buf"); > + if (!stack_buf) > + goto out; > + > + val = (u64)stack_buf + KEXEC_PURGATORY_STACK_SIZE; > + ret = kexec_purgatory_get_set_symbol(image, "stack", &val, sizeof(val), > + false); > + if (ret) > + goto out; > + > /* Setup the TOC pointer */ > val = get_toc_ptr(&(image->purgatory_info)); > ret = kexec_purgatory_get_set_symbol(image, "my_toc", &val, sizeof(val), > false); > + if (ret) > + goto out; > + > + /* Setup OPAL base & entry values */ > + dn = of_find_node_by_path("/ibm,opal"); > + if (dn) { > + of_property_read_u64(dn, "opal-base-address", &val); > + ret = kexec_purgatory_get_set_symbol(image, "opal_base", &val, > + sizeof(val), false); > + if (ret) > + goto out; > + > + of_property_read_u64(dn, "opal-entry-address", &val); > + ret = kexec_purgatory_get_set_symbol(image, "opal_entry", &val, > + sizeof(val), false);
You need to call of_node_put(dn) here and in the if (ret) case above.
> + } > out: > if (ret) > pr_err("Failed to setup purgatory symbols");
-- Thiago Jung Bauermann IBM Linux Technology Center
| |