Patch "m68k: Fix kernel_clone_args.flags in m68k_clone()" has been added to the 6.6-stable tree

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

 



This is a note to let you know that I've just added the patch titled

    m68k: Fix kernel_clone_args.flags in m68k_clone()

to the 6.6-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     m68k-fix-kernel_clone_args.flags-in-m68k_clone.patch
and it can be found in the queue-6.6 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 82dcd67a46decce137ddd4dbcf5892c747f25030
Author: Finn Thain <fthain@xxxxxxxxxxxxxx>
Date:   Sun Aug 11 10:12:29 2024 +1000

    m68k: Fix kernel_clone_args.flags in m68k_clone()
    
    [ Upstream commit 09b3d870faa7bc3e96c0978ab3cf4e96e4b15571 ]
    
    Stan Johnson recently reported a failure from the 'dump' command:
    
      DUMP: Date of this level 0 dump: Fri Aug  9 23:37:15 2024
      DUMP: Dumping /dev/sda (an unlisted file system) to /dev/null
      DUMP: Label: none
      DUMP: Writing 10 Kilobyte records
      DUMP: mapping (Pass I) [regular files]
      DUMP: mapping (Pass II) [directories]
      DUMP: estimated 3595695 blocks.
      DUMP: Context save fork fails in parent 671
    
    The dump program uses the clone syscall with the CLONE_IO flag, that is,
    flags == 0x80000000. When that value is promoted from long int to u64 by
    m68k_clone(), it undergoes sign-extension. The new value includes
    CLONE_INTO_CGROUP so the validation in cgroup_css_set_fork() fails and
    the syscall returns -EBADF. Avoid sign-extension by casting to u32.
    
    Reported-by: Stan Johnson <userm57@xxxxxxxxx>
    Closes: https://lists.debian.org/debian-68k/2024/08/msg00000.html
    Fixes: 6aabc1facdb2 ("m68k: Implement copy_thread_tls()")
    Signed-off-by: Finn Thain <fthain@xxxxxxxxxxxxxx>
    Reviewed-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
    Link: https://lore.kernel.org/3463f1e5d4e95468dc9f3368f2b78ffa7b72199b.1723335149.git.fthain@xxxxxxxxxxxxxx
    Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/arch/m68k/kernel/process.c b/arch/m68k/kernel/process.c
index e06ce147c0b7f..fb87219fc3b46 100644
--- a/arch/m68k/kernel/process.c
+++ b/arch/m68k/kernel/process.c
@@ -116,7 +116,7 @@ asmlinkage int m68k_clone(struct pt_regs *regs)
 {
 	/* regs will be equal to current_pt_regs() */
 	struct kernel_clone_args args = {
-		.flags		= regs->d1 & ~CSIGNAL,
+		.flags		= (u32)(regs->d1) & ~CSIGNAL,
 		.pidfd		= (int __user *)regs->d3,
 		.child_tid	= (int __user *)regs->d4,
 		.parent_tid	= (int __user *)regs->d3,




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux