]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
riscv: signal: fix signal frame size
authorYong-Xuan Wang <yongxuan.wang@sifive.com>
Fri, 20 Dec 2024 08:39:23 +0000 (16:39 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 7 Mar 2025 15:45:48 +0000 (16:45 +0100)
commit aa49bc2ca8524186ceb0811c23a7f00c3dea6987 upstream.

The signal context of certain RISC-V extensions will be appended after
struct __riscv_extra_ext_header, which already includes an empty context
header. Therefore, there is no need to preserve a separate hdr for the
END of signal context.

Fixes: 8ee0b41898fa ("riscv: signal: Add sigcontext save/restore for vector")
Signed-off-by: Yong-Xuan Wang <yongxuan.wang@sifive.com>
Reviewed-by: Zong Li <zong.li@sifive.com>
Reviewed-by: Andy Chiu <AndybnAC@gmail.com>
Reviewed-by: Alexandre Ghiti <alexghiti@rivosinc.com>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20241220083926.19453-2-yongxuan.wang@sifive.com
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/riscv/kernel/signal.c

index 88b6220b260879ee75ac6a6824def025b004041b..048b9b23d7543e65f529566a27c0e5e6cd2b3f56 100644 (file)
@@ -211,12 +211,6 @@ static size_t get_rt_frame_size(bool cal_all)
                if (cal_all || riscv_v_vstate_query(task_pt_regs(current)))
                        total_context_size += riscv_v_sc_size;
        }
-       /*
-        * Preserved a __riscv_ctx_hdr for END signal context header if an
-        * extension uses __riscv_extra_ext_header
-        */
-       if (total_context_size)
-               total_context_size += sizeof(struct __riscv_ctx_hdr);
 
        frame_size += total_context_size;