Received: by 2002:a05:6a10:a852:0:0:0:0 with SMTP id d18csp1091664pxy; Sat, 1 May 2021 03:35:11 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz3O3QqtK7YjCkLtA1ZBCokD3Ka9Sl7IIJgHgUYG6PIioQV+j6TAz6TvFm8IbwnC0/R0hhU X-Received: by 2002:a17:90b:797:: with SMTP id l23mr10102137pjz.160.1619865311327; Sat, 01 May 2021 03:35:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1619865311; cv=none; d=google.com; s=arc-20160816; b=lY8WKNNcFmDZ6MzrsHRgfhgaV+iU72MJCFoAP19kov9/yKM/aKzO2DXjxE13F0ZNTt Vx25wXO5xtbnUbi0Y7kM1769TLhk3uPTngxGmZIY9JLYFP4fWTAtvjAXnXtzSvSwA/UQ dIn1WRKvKGe1KXMwXkxOypmxCkOJaAywsHC6R58kbWCjDs1phX1f/SSh9BxceYhmU1jy lj5WkwY5yCNsR2U3SPK70F87nYgBnloVEIQGZn/fEmNu50QVm9aEv4Jyh9LloLqkqyyi qmcHWV6oAwtUk2COBA0AkzpNTyRQqZ2GSFWWNd7r4bcZlp5N8kgKbIwPxRjS0xhsVsQI rWPw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=jCan+6xptMFqGkbIIPn1nwIIm9+SRi9i6mWKGsgGhAU=; b=PyZjpmo8CuN1zg94luedo3y9TtpbtUw4YNf3QkKm9/M/OtbOMCzAQGTVZFU6tdLBs9 pMRUz/hwyxGo11KwV+N+v+xghv7kj+oIURx3P4eh89+1fRwxueLfnfGYz2u+pwU5PemQ NqcJRqAzSR7EUvDWq3J0sRfAvoS4GR8ULWRgEU79QOnEiw3Q4uy2mVbfziI2qRI5brjD n/klMGmvwifB+Rc35sM2ly4mbgu473U316042wWP4qTDSJp3j+Hvx3EYW1EkbDMVRqIp nmE2MtXsH7qKUzZtqgK/LW/kODhbkE8Djq8m28CyU9MMx2I4Qc9IRO+rtFNqg5aCiho+ uM0Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b="UWGMH/nV"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id fz20si12986802pjb.58.2021.05.01.03.34.58; Sat, 01 May 2021 03:35:11 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b="UWGMH/nV"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231913AbhEAKe7 (ORCPT + 99 others); Sat, 1 May 2021 06:34:59 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54878 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231924AbhEAKe4 (ORCPT ); Sat, 1 May 2021 06:34:56 -0400 Received: from mail-ot1-x32f.google.com (mail-ot1-x32f.google.com [IPv6:2607:f8b0:4864:20::32f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6DE0CC06138C for ; Sat, 1 May 2021 03:34:05 -0700 (PDT) Received: by mail-ot1-x32f.google.com with SMTP id z25-20020a9d65d90000b02902a560806ca7so782443oth.11 for ; Sat, 01 May 2021 03:34:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=jCan+6xptMFqGkbIIPn1nwIIm9+SRi9i6mWKGsgGhAU=; b=UWGMH/nVDvcINlx4QrLJbQfDpg7ZCA/4MH41cC10w5jRUrFQhUVXZsLqvqHeGW19qW xhx0Odv3ZQ/ExTt8yWnNe7VP55kAeS3Op0WY5Csu31R7T0Wi2rQpER7XhlT5y6XTFNE3 BVueuV0oPH/OGvQMGG/PrivMOEMBYTzB82jBNK8dbdKF0yLWvik21rliXWNGLTIgNPlL wdY0Aj5OQ55kFq6QLP0RhuBUt/a2T24B/FiC488jTTIBYlkQG1bPn53xCS/SrBB9XixT V1L6RX0f0+bW9q/P55FWVhQFoZZgWW/y45rdLwfzurJe17yAFBAHrBU6vPzkZg7z7awF 5Z5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=jCan+6xptMFqGkbIIPn1nwIIm9+SRi9i6mWKGsgGhAU=; b=Ryy7E8B/oxgW97i2oUu5pApfQv3ABAUSjnCUezhvFNjzR9AV5L065NAYNPOXbONJ4/ c54v1sOP9sOUbWTVEglWK59rZwCDc3uBhVDPp8eUlZ8/upsRXAfrZtitf9YsFJNr7d7D pPRyJSV43o2HtObZGqLYFV2GHp7AhQ3ZdE7CkrZLRJeZtNLv/SwjA4y+JhwVvGN43oYN rmN3eKzlWi0uuCvIFjcBYI7BI8AjvhW9o28OH+aZl5DN3/weP5z4SHUTfneBK4TapkJ6 u2jsX7SLpNTD5NvxIw92okXKXV3VLnMqEsH9GOGdmT57CUheoBobUlpZp4KP8PYuSy5Y iYfg== X-Gm-Message-State: AOAM530BiIC9QrLaJhXIFnD5iBizJhYm+iL3XxxJjFOSvPWdfVwIk212 E0x/5MFTgZf32HQtMaNEXoQPZCHapXvoiiaXEZ1dpQ== X-Received: by 2002:a9d:60c8:: with SMTP id b8mr7228167otk.17.1619865244678; Sat, 01 May 2021 03:34:04 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Marco Elver Date: Sat, 1 May 2021 12:33:53 +0200 Message-ID: Subject: Re: [PATCH 3/3] signal: Use dedicated helpers to send signals with si_trapno set To: "Eric W. Biederman" Cc: Arnd Bergmann , Florian Weimer , "David S. Miller" , Peter Zijlstra , Ingo Molnar , Thomas Gleixner , Peter Collingbourne , Dmitry Vyukov , Alexander Potapenko , sparclinux , linux-arch , Linux Kernel Mailing List , Linux API , kasan-dev Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, 1 May 2021 at 00:55, Eric W. Biederman wrote: > > Now that si_trapno is no longer expected to be present for every fault > reported using siginfo on alpha and sparc remove the trapno parameter > from force_sig_fault, force_sig_fault_to_task and send_sig_fault. > > Add two new helpers force_sig_fault_trapno and send_sig_fault_trapno > for those signals where trapno is expected to be set. > > Signed-off-by: "Eric W. Biederman" > --- > arch/alpha/kernel/osf_sys.c | 2 +- > arch/alpha/kernel/signal.c | 4 +-- > arch/alpha/kernel/traps.c | 24 ++++++++--------- > arch/alpha/mm/fault.c | 4 +-- > arch/sparc/kernel/process_64.c | 2 +- > arch/sparc/kernel/sys_sparc_32.c | 2 +- > arch/sparc/kernel/sys_sparc_64.c | 2 +- > arch/sparc/kernel/traps_32.c | 22 ++++++++-------- > arch/sparc/kernel/traps_64.c | 44 ++++++++++++++------------------ > arch/sparc/kernel/unaligned_32.c | 2 +- > arch/sparc/mm/fault_32.c | 2 +- > arch/sparc/mm/fault_64.c | 2 +- > include/linux/sched/signal.h | 12 +++------ > kernel/signal.c | 41 +++++++++++++++++++++-------- > 14 files changed, 88 insertions(+), 77 deletions(-) This still breaks sparc64: > sparc64-linux-gnu-ld: arch/sparc/kernel/traps_64.o: in function `bad_trap': > (.text+0x2a4): undefined reference to `force_sig_fault_trapno' [...] > +#if IS_ENABLED(SPARC) This should be 'IS_ENABLED(CONFIG_SPARC)'. > +int force_sig_fault_trapno(int sig, int code, void __user *addr, int trapno) > +{ > + struct kernel_siginfo info; > + > + clear_siginfo(&info); > + info.si_signo = sig; > + info.si_errno = 0; > + info.si_code = code; > + info.si_addr = addr; > + info.si_trapno = trapno; > + return force_sig_info(&info); > +} > +#endif > + > +#if IS_ENABLED(ALPHA) CONFIG_ALPHA > +int send_sig_fault_trapno(int sig, int code, void __user *addr, int trapno, > + struct task_struct *t) > +{ > + struct kernel_siginfo info; > + > + clear_siginfo(&info); > + info.si_signo = sig; > + info.si_errno = 0; > + info.si_code = code; > + info.si_addr = addr; > + info.si_trapno = trapno; > + return send_sig_info(info.si_signo, &info, t); > +} > +#endif > + > /* For the crazy architectures that include trap information in > * the errno field, instead of an actual errno value. > */ > -- > 2.30.1 >