lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 31 Dec 2020 08:28:07 +0800
From:   Huacai Chen <chenhuacai@...nel.org>
To:     Jiaxun Yang <jiaxun.yang@...goat.com>
Cc:     "open list:MIPS" <linux-mips@...r.kernel.org>,
        Paul Cercueil <paul@...pouillou.net>,
        Thomas Bogendoerfer <tsbogend@...ha.franken.de>,
        LKML <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v3] MIPS: zboot: head.S clean up

Reviewed-by: Huacai Chen <chenhuacai@...nel.org>

On Wed, Dec 30, 2020 at 11:49 AM Jiaxun Yang <jiaxun.yang@...goat.com> wrote:
>
> .cprestore is removed as we don't expect Position Independent
> zboot ELF.
>
> .noreorder is also removed and rest instructions are massaged
> to improve readability.
>
> t9 register is used for indirect jump as MIPS ABI requirement.
>
> start label is removed as it already defined in LEAF.
>
> Reported-by: Paul Cercueil <paul@...pouillou.net>
> Signed-off-by: Jiaxun Yang <jiaxun.yang@...goat.com>
>
> --
> v2: Remove start label (paul)
> ---
>  arch/mips/boot/compressed/head.S | 18 +++++++-----------
>  1 file changed, 7 insertions(+), 11 deletions(-)
>
> diff --git a/arch/mips/boot/compressed/head.S b/arch/mips/boot/compressed/head.S
> index 409cb483a9ff..070b2fbabae4 100644
> --- a/arch/mips/boot/compressed/head.S
> +++ b/arch/mips/boot/compressed/head.S
> @@ -15,10 +15,7 @@
>  #include <asm/asm.h>
>  #include <asm/regdef.h>
>
> -       .set noreorder
> -       .cprestore
>         LEAF(start)
> -start:
>         /* Save boot rom start args */
>         move    s0, a0
>         move    s1, a1
> @@ -35,21 +32,20 @@ start:
>         PTR_LA  a0, (.heap)          /* heap address */
>         PTR_LA  sp, (.stack + 8192)  /* stack address */
>
> -       PTR_LA  ra, 2f
> -       PTR_LA  k0, decompress_kernel
> -       jr      k0
> -        nop
> +       PTR_LA  t9, decompress_kernel
> +       jalr    t9
> +
>  2:
>         move    a0, s0
>         move    a1, s1
>         move    a2, s2
>         move    a3, s3
> -       PTR_LI  k0, KERNEL_ENTRY
> -       jr      k0
> -        nop
> +       PTR_LI  t9, KERNEL_ENTRY
> +       jalr    t9
> +
>  3:
>         b       3b
> -        nop
> +
>         END(start)
>
>         .comm .heap,BOOT_HEAP_SIZE,4
> --
> 2.30.0
>

Powered by blists - more mailing lists