Re: [PATCH] mk68k: Fix broken THREAD_SIZE_ORDER

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
---
  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






[Index of Archives]     [Video for Linux]     [Yosemite News]     [Linux S/390]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux