[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <673EAB52C5659E99+Zd799lrOHAVIdm3S@centos8>
Date: Wed, 28 Feb 2024 17:33:42 +0800
From: Dawei Li <dawei.li@...ngroup.cn>
To: Jiri Slaby <jirislaby@...nel.org>
Cc: geert@...ux-m68k.org, gerg@...pgear.com,
linux-m68k@...ts.linux-m68k.org, linux-kernel@...r.kernel.org,
set_pte_at@...look.com, stable@...r.kernel.org
Subject: Re: [PATCH] mk68k: Fix broken THREAD_SIZE_ORDER
Hi Jiri,
Thanks for quick review.
On Wed, Feb 28, 2024 at 10:11:05AM +0100, Jiri Slaby wrote:
> On 28. 02. 24, 9:58, Dawei Li wrote:
> > Current THREAD_SIZE_ORDER implementation for m68k is incorrect, fix it
> > by ilog2().
>
> This is not a good commit log. Incorrect in what way and why is the fixed
Agreed.
> version correct? And what is affected? Note you're referring to a change
> which was done 14 years ago. It definitely must not be that incorrect (for
> everybody).
It's 'right' just for current PAGE_SIZE & THREAD_SIZE configs:
// arch/m68k/include/asm/thread_info.h
#if PAGE_SHIFT < 13
#ifdef CONFIG_4KSTACKS
#define THREAD_SIZE 4096
#else
#define THREAD_SIZE 8192
#endif
#else
#define THREAD_SIZE PAGE_SIZE
#endif
#define THREAD_SIZE_ORDER ((THREAD_SIZE / PAGE_SIZE) - 1)
// arch/m68k/include/asm/page.h
#if defined(CONFIG_SUN3) || defined(CONFIG_COLDFIRE)
#define PAGE_SHIFT 13
#else
#define PAGE_SHIFT 12
#endif
#define PAGE_SIZE (_AC(1, UL) << PAGE_SHIFT)
#define PAGE_MASK (~(PAGE_SIZE-1))
#define PAGE_OFFSET (PAGE_OFFSET_RAW)
But it's incorrect in generic/mathematical way.
Thanks,
Dawei
>
> > Fixes: cddafa3500fd ("m68k/m68knommu: merge MMU and non-MMU thread_info.h")
> > Signed-off-by: Dawei Li <dawei.li@...ngroup.cn>
> > Cc: stable@...r.kernel.org
> > ---
> > arch/m68k/include/asm/thread_info.h | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/arch/m68k/include/asm/thread_info.h b/arch/m68k/include/asm/thread_info.h
> > index 31be2ad999ca..50faecd6fc5f 100644
> > --- a/arch/m68k/include/asm/thread_info.h
> > +++ b/arch/m68k/include/asm/thread_info.h
> > @@ -19,7 +19,8 @@
> > #else
> > #define THREAD_SIZE PAGE_SIZE
> > #endif
> > -#define THREAD_SIZE_ORDER ((THREAD_SIZE / PAGE_SIZE) - 1)
> > +
> > +#define THREAD_SIZE_ORDER ilog2(THREAD_SIZE / PAGE_SIZE)
> > #ifndef __ASSEMBLY__
>
> --
> js
> suse labs
>
>
Powered by blists - more mailing lists