LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* [PATCH] powerpc: Use common error handling code in setup_new_fdt()
@ 2018-03-11 8:16 SF Markus Elfring
2018-03-14 21:22 ` Thiago Jung Bauermann
2018-08-13 11:22 ` Michael Ellerman
0 siblings, 2 replies; 9+ messages in thread
From: SF Markus Elfring @ 2018-03-11 8:16 UTC (permalink / raw)
To: linuxppc-dev, Benjamin Herrenschmidt, Borislav Petkov,
Brijesh Singh, Josh Sklar, Kees Cook, Michael Ellerman,
Paul Mackerras, Thiago Jung Bauermann, Thomas Gleixner,
Tom Lendacky
Cc: LKML, kernel-janitors
From: Markus Elfring <elfring@users.sourceforge.net>
Date: Sun, 11 Mar 2018 09:03:42 +0100
Add a jump target so that a bit of exception handling can be better reused
at the end of this function.
This issue was detected by using the Coccinelle software.
Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
---
arch/powerpc/kernel/machine_kexec_file_64.c | 28 ++++++++++++----------------
1 file changed, 12 insertions(+), 16 deletions(-)
diff --git a/arch/powerpc/kernel/machine_kexec_file_64.c b/arch/powerpc/kernel/machine_kexec_file_64.c
index e4395f937d63..90c6004c2eec 100644
--- a/arch/powerpc/kernel/machine_kexec_file_64.c
+++ b/arch/powerpc/kernel/machine_kexec_file_64.c
@@ -302,18 +302,14 @@ int setup_new_fdt(const struct kimage *image, void *fdt,
ret = fdt_setprop_u64(fdt, chosen_node,
"linux,initrd-start",
initrd_load_addr);
- if (ret < 0) {
- pr_err("Error setting up the new device tree.\n");
- return -EINVAL;
- }
+ if (ret < 0)
+ goto report_setup_failure;
/* initrd-end is the first address after the initrd image. */
ret = fdt_setprop_u64(fdt, chosen_node, "linux,initrd-end",
initrd_load_addr + initrd_len);
- if (ret < 0) {
- pr_err("Error setting up the new device tree.\n");
- return -EINVAL;
- }
+ if (ret < 0)
+ goto report_setup_failure;
ret = fdt_add_mem_rsv(fdt, initrd_load_addr, initrd_len);
if (ret) {
@@ -325,10 +321,8 @@ int setup_new_fdt(const struct kimage *image, void *fdt,
if (cmdline != NULL) {
ret = fdt_setprop_string(fdt, chosen_node, "bootargs", cmdline);
- if (ret < 0) {
- pr_err("Error setting up the new device tree.\n");
- return -EINVAL;
- }
+ if (ret < 0)
+ goto report_setup_failure;
} else {
ret = fdt_delprop(fdt, chosen_node, "bootargs");
if (ret && ret != -FDT_ERR_NOTFOUND) {
@@ -344,10 +338,12 @@ int setup_new_fdt(const struct kimage *image, void *fdt,
}
ret = fdt_setprop(fdt, chosen_node, "linux,booted-from-kexec", NULL, 0);
- if (ret) {
- pr_err("Error setting up the new device tree.\n");
- return -EINVAL;
- }
+ if (ret)
+ goto report_setup_failure;
return 0;
+
+report_setup_failure:
+ pr_err("Error setting up the new device tree.\n");
+ return -EINVAL;
}
--
2.16.2
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] powerpc: Use common error handling code in setup_new_fdt()
2018-03-11 8:16 [PATCH] powerpc: Use common error handling code in setup_new_fdt() SF Markus Elfring
@ 2018-03-14 21:22 ` Thiago Jung Bauermann
2018-03-15 11:57 ` Dan Carpenter
2018-08-13 11:22 ` Michael Ellerman
1 sibling, 1 reply; 9+ messages in thread
From: Thiago Jung Bauermann @ 2018-03-14 21:22 UTC (permalink / raw)
To: SF Markus Elfring
Cc: linuxppc-dev, Benjamin Herrenschmidt, Borislav Petkov,
Brijesh Singh, Josh Sklar, Kees Cook, Michael Ellerman,
Paul Mackerras, Thomas Gleixner, Tom Lendacky, LKML,
kernel-janitors
SF Markus Elfring <elfring@users.sourceforge.net> writes:
> From: Markus Elfring <elfring@users.sourceforge.net>
> Date: Sun, 11 Mar 2018 09:03:42 +0100
>
> Add a jump target so that a bit of exception handling can be better reused
> at the end of this function.
>
> This issue was detected by using the Coccinelle software.
>
> Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
> ---
> arch/powerpc/kernel/machine_kexec_file_64.c | 28 ++++++++++++----------------
> 1 file changed, 12 insertions(+), 16 deletions(-)
I liked it. Thanks!
Reviewed-by: Thiago Jung Bauermann <bauerman@linux.vnet.ibm.com>
--
Thiago Jung Bauermann
IBM Linux Technology Center
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] powerpc: Use common error handling code in setup_new_fdt()
2018-03-14 21:22 ` Thiago Jung Bauermann
@ 2018-03-15 11:57 ` Dan Carpenter
2018-03-15 15:03 ` Joe Perches
2018-03-16 10:26 ` Michael Ellerman
0 siblings, 2 replies; 9+ messages in thread
From: Dan Carpenter @ 2018-03-15 11:57 UTC (permalink / raw)
To: Thiago Jung Bauermann
Cc: SF Markus Elfring, linuxppc-dev, Benjamin Herrenschmidt,
Borislav Petkov, Brijesh Singh, Josh Sklar, Kees Cook,
Michael Ellerman, Paul Mackerras, Thomas Gleixner, Tom Lendacky,
LKML, kernel-janitors
On Wed, Mar 14, 2018 at 06:22:07PM -0300, Thiago Jung Bauermann wrote:
>
> SF Markus Elfring <elfring@users.sourceforge.net> writes:
>
> > From: Markus Elfring <elfring@users.sourceforge.net>
> > Date: Sun, 11 Mar 2018 09:03:42 +0100
> >
> > Add a jump target so that a bit of exception handling can be better reused
> > at the end of this function.
> >
> > This issue was detected by using the Coccinelle software.
> >
> > Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
> > ---
> > arch/powerpc/kernel/machine_kexec_file_64.c | 28 ++++++++++++----------------
> > 1 file changed, 12 insertions(+), 16 deletions(-)
>
> I liked it. Thanks!
>
> Reviewed-by: Thiago Jung Bauermann <bauerman@linux.vnet.ibm.com>
>
You know that compilers already re-use string constants so this doesn't
actually save memory? Also we should be preserving the error codes
instead of always returning -EINVAL.
regards,
dan carpenter
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] powerpc: Use common error handling code in setup_new_fdt()
2018-03-15 11:57 ` Dan Carpenter
@ 2018-03-15 15:03 ` Joe Perches
2018-03-15 18:34 ` Thiago Jung Bauermann
2018-03-16 10:29 ` Michael Ellerman
2018-03-16 10:26 ` Michael Ellerman
1 sibling, 2 replies; 9+ messages in thread
From: Joe Perches @ 2018-03-15 15:03 UTC (permalink / raw)
To: Dan Carpenter, Thiago Jung Bauermann
Cc: SF Markus Elfring, linuxppc-dev, Benjamin Herrenschmidt,
Borislav Petkov, Brijesh Singh, Josh Sklar, Kees Cook,
Michael Ellerman, Paul Mackerras, Thomas Gleixner, Tom Lendacky,
LKML, kernel-janitors
On Thu, 2018-03-15 at 14:57 +0300, Dan Carpenter wrote:
> On Wed, Mar 14, 2018 at 06:22:07PM -0300, Thiago Jung Bauermann wrote:
> >
> > SF Markus Elfring <elfring@users.sourceforge.net> writes:
> >
> > > From: Markus Elfring <elfring@users.sourceforge.net>
> > > Date: Sun, 11 Mar 2018 09:03:42 +0100
> > >
> > > Add a jump target so that a bit of exception handling can be better reused
> > > at the end of this function.
> > >
> > > This issue was detected by using the Coccinelle software.
> > >
> > > Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
> > > ---
> > > arch/powerpc/kernel/machine_kexec_file_64.c | 28 ++++++++++++----------------
> > > 1 file changed, 12 insertions(+), 16 deletions(-)
> >
> > I liked it. Thanks!
> >
> > Reviewed-by: Thiago Jung Bauermann <bauerman@linux.vnet.ibm.com>
> >
>
> You know that compilers already re-use string constants so this doesn't
> actually save memory?
And modern compilers create their own jump labels
so this doesn't change object code either?
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] powerpc: Use common error handling code in setup_new_fdt()
2018-03-15 15:03 ` Joe Perches
@ 2018-03-15 18:34 ` Thiago Jung Bauermann
2018-03-16 10:29 ` Michael Ellerman
1 sibling, 0 replies; 9+ messages in thread
From: Thiago Jung Bauermann @ 2018-03-15 18:34 UTC (permalink / raw)
To: Joe Perches
Cc: Dan Carpenter, SF Markus Elfring, linuxppc-dev,
Benjamin Herrenschmidt, Borislav Petkov, Brijesh Singh,
Josh Sklar, Kees Cook, Michael Ellerman, Paul Mackerras,
Thomas Gleixner, Tom Lendacky, LKML, kernel-janitors
Joe Perches <joe@perches.com> writes:
> On Thu, 2018-03-15 at 14:57 +0300, Dan Carpenter wrote:
>> On Wed, Mar 14, 2018 at 06:22:07PM -0300, Thiago Jung Bauermann wrote:
>> >
>> > SF Markus Elfring <elfring@users.sourceforge.net> writes:
>> >
>> > > From: Markus Elfring <elfring@users.sourceforge.net>
>> > > Date: Sun, 11 Mar 2018 09:03:42 +0100
>> > >
>> > > Add a jump target so that a bit of exception handling can be better reused
>> > > at the end of this function.
>> > >
>> > > This issue was detected by using the Coccinelle software.
>> > >
>> > > Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
>> > > ---
>> > > arch/powerpc/kernel/machine_kexec_file_64.c | 28 ++++++++++++----------------
>> > > 1 file changed, 12 insertions(+), 16 deletions(-)
>> >
>> > I liked it. Thanks!
>> >
>> > Reviewed-by: Thiago Jung Bauermann <bauerman@linux.vnet.ibm.com>
>> >
>>
>> You know that compilers already re-use string constants so this doesn't
>> actually save memory?
>
> And modern compilers create their own jump labels
> so this doesn't change object code either?
IMHO it's an improvement to the source code itself. I wasn't thinking
about the object file.
--
Thiago Jung Bauermann
IBM Linux Technology Center
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] powerpc: Use common error handling code in setup_new_fdt()
2018-03-15 11:57 ` Dan Carpenter
2018-03-15 15:03 ` Joe Perches
@ 2018-03-16 10:26 ` Michael Ellerman
2018-03-16 10:35 ` Dan Carpenter
1 sibling, 1 reply; 9+ messages in thread
From: Michael Ellerman @ 2018-03-16 10:26 UTC (permalink / raw)
To: Dan Carpenter, Thiago Jung Bauermann
Cc: SF Markus Elfring, linuxppc-dev, Benjamin Herrenschmidt,
Borislav Petkov, Brijesh Singh, Josh Sklar, Kees Cook,
Paul Mackerras, Thomas Gleixner, Tom Lendacky, LKML,
kernel-janitors
Dan Carpenter <dan.carpenter@oracle.com> writes:
> On Wed, Mar 14, 2018 at 06:22:07PM -0300, Thiago Jung Bauermann wrote:
>> SF Markus Elfring <elfring@users.sourceforge.net> writes:
>> > From: Markus Elfring <elfring@users.sourceforge.net>
>> > Date: Sun, 11 Mar 2018 09:03:42 +0100
>> >
>> > Add a jump target so that a bit of exception handling can be better reused
>> > at the end of this function.
>> >
>> > This issue was detected by using the Coccinelle software.
>> >
>> > Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
>> > ---
>> > arch/powerpc/kernel/machine_kexec_file_64.c | 28 ++++++++++++----------------
>> > 1 file changed, 12 insertions(+), 16 deletions(-)
>>
>> I liked it. Thanks!
>>
>> Reviewed-by: Thiago Jung Bauermann <bauerman@linux.vnet.ibm.com>
>
> You know that compilers already re-use string constants so this doesn't
> actually save memory?
Sure, but it's still clearer to only have the string appear once in the
code.
> Also we should be preserving the error codes
> instead of always returning -EINVAL.
The error codes come from libfdt code, so they don't necessarily make
sense in the kernel. eg. FDT_ERR_NOSPACE == 3 == ESRCH.
Perhaps we should be trying harder to convert them, but that's a
criticism of the original code not this patch.
cheers
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] powerpc: Use common error handling code in setup_new_fdt()
2018-03-15 15:03 ` Joe Perches
2018-03-15 18:34 ` Thiago Jung Bauermann
@ 2018-03-16 10:29 ` Michael Ellerman
1 sibling, 0 replies; 9+ messages in thread
From: Michael Ellerman @ 2018-03-16 10:29 UTC (permalink / raw)
To: Joe Perches, Dan Carpenter, Thiago Jung Bauermann
Cc: SF Markus Elfring, linuxppc-dev, Benjamin Herrenschmidt,
Borislav Petkov, Brijesh Singh, Josh Sklar, Kees Cook,
Paul Mackerras, Thomas Gleixner, Tom Lendacky, LKML,
kernel-janitors
Joe Perches <joe@perches.com> writes:
> On Thu, 2018-03-15 at 14:57 +0300, Dan Carpenter wrote:
>> On Wed, Mar 14, 2018 at 06:22:07PM -0300, Thiago Jung Bauermann wrote:
>> > SF Markus Elfring <elfring@users.sourceforge.net> writes:
>> > > From: Markus Elfring <elfring@users.sourceforge.net>
>> > > Date: Sun, 11 Mar 2018 09:03:42 +0100
>> > >
>> > > Add a jump target so that a bit of exception handling can be better reused
>> > > at the end of this function.
>> > >
>> > > This issue was detected by using the Coccinelle software.
>> > >
>> > > Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
>> > > ---
>> > > arch/powerpc/kernel/machine_kexec_file_64.c | 28 ++++++++++++----------------
>> > > 1 file changed, 12 insertions(+), 16 deletions(-)
>> >
>> > I liked it. Thanks!
>> >
>> > Reviewed-by: Thiago Jung Bauermann <bauerman@linux.vnet.ibm.com>
>>
>> You know that compilers already re-use string constants so this doesn't
>> actually save memory?
>
> And modern compilers create their own jump labels
> so this doesn't change object code either?
I must have missed the memo about us only changing source code if it
results in better object code.
cheers
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] powerpc: Use common error handling code in setup_new_fdt()
2018-03-16 10:26 ` Michael Ellerman
@ 2018-03-16 10:35 ` Dan Carpenter
0 siblings, 0 replies; 9+ messages in thread
From: Dan Carpenter @ 2018-03-16 10:35 UTC (permalink / raw)
To: Michael Ellerman
Cc: Thiago Jung Bauermann, SF Markus Elfring, linuxppc-dev,
Benjamin Herrenschmidt, Borislav Petkov, Brijesh Singh,
Josh Sklar, Kees Cook, Paul Mackerras, Thomas Gleixner,
Tom Lendacky, LKML, kernel-janitors
On Fri, Mar 16, 2018 at 09:26:53PM +1100, Michael Ellerman wrote:
> Dan Carpenter <dan.carpenter@oracle.com> writes:
> > On Wed, Mar 14, 2018 at 06:22:07PM -0300, Thiago Jung Bauermann wrote:
> >> SF Markus Elfring <elfring@users.sourceforge.net> writes:
> >> > From: Markus Elfring <elfring@users.sourceforge.net>
> >> > Date: Sun, 11 Mar 2018 09:03:42 +0100
> >> >
> >> > Add a jump target so that a bit of exception handling can be better reused
> >> > at the end of this function.
> >> >
> >> > This issue was detected by using the Coccinelle software.
> >> >
> >> > Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
> >> > ---
> >> > arch/powerpc/kernel/machine_kexec_file_64.c | 28 ++++++++++++----------------
> >> > 1 file changed, 12 insertions(+), 16 deletions(-)
> >>
> >> I liked it. Thanks!
> >>
> >> Reviewed-by: Thiago Jung Bauermann <bauerman@linux.vnet.ibm.com>
> >
> > You know that compilers already re-use string constants so this doesn't
> > actually save memory?
>
> Sure, but it's still clearer to only have the string appear once in the
> code.
>
To me the original was better.
> > Also we should be preserving the error codes
> > instead of always returning -EINVAL.
>
> The error codes come from libfdt code, so they don't necessarily make
> sense in the kernel. eg. FDT_ERR_NOSPACE == 3 == ESRCH.
>
> Perhaps we should be trying harder to convert them, but that's a
> criticism of the original code not this patch.
Ah. You're right. I look at the patch in context, sorry.
regards,
dan carpenter
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: powerpc: Use common error handling code in setup_new_fdt()
2018-03-11 8:16 [PATCH] powerpc: Use common error handling code in setup_new_fdt() SF Markus Elfring
2018-03-14 21:22 ` Thiago Jung Bauermann
@ 2018-08-13 11:22 ` Michael Ellerman
1 sibling, 0 replies; 9+ messages in thread
From: Michael Ellerman @ 2018-08-13 11:22 UTC (permalink / raw)
To: SF Markus Elfring, linuxppc-dev, Benjamin Herrenschmidt,
Borislav Petkov, Brijesh Singh, Josh Sklar, Kees Cook,
Paul Mackerras, Thiago Jung Bauermann, Thomas Gleixner,
Tom Lendacky
Cc: kernel-janitors, LKML
On Sun, 2018-03-11 at 08:16:47 UTC, SF Markus Elfring wrote:
> From: Markus Elfring <elfring@users.sourceforge.net>
> Date: Sun, 11 Mar 2018 09:03:42 +0100
>
> Add a jump target so that a bit of exception handling can be better reused
> at the end of this function.
>
> This issue was detected by using the Coccinelle software.
>
> Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
> Reviewed-by: Thiago Jung Bauermann <bauerman@linux.vnet.ibm.com>
Applied to powerpc next, thanks.
https://git.kernel.org/powerpc/c/baedcdf5054c151a33e34392af7d8c
cheers
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2018-08-13 11:24 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-03-11 8:16 [PATCH] powerpc: Use common error handling code in setup_new_fdt() SF Markus Elfring
2018-03-14 21:22 ` Thiago Jung Bauermann
2018-03-15 11:57 ` Dan Carpenter
2018-03-15 15:03 ` Joe Perches
2018-03-15 18:34 ` Thiago Jung Bauermann
2018-03-16 10:29 ` Michael Ellerman
2018-03-16 10:26 ` Michael Ellerman
2018-03-16 10:35 ` Dan Carpenter
2018-08-13 11:22 ` Michael Ellerman
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).