Received: by 2002:a05:6a10:6744:0:0:0:0 with SMTP id w4csp378420pxu; Thu, 15 Oct 2020 06:21:52 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy22xg4rApXRQdmz7W+Isuyx8UsbSwTBTxxs6AufooBh3v/tdIa6N1ywNRGDKIUPpMulhst X-Received: by 2002:a17:906:4ece:: with SMTP id i14mr4432369ejv.366.1602768112081; Thu, 15 Oct 2020 06:21:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1602768112; cv=none; d=google.com; s=arc-20160816; b=YFlkASYzZeM25Zb+V6fSFN7jxfTqS92tOwSqUoPJR2dS6hbV6x4QRLcUia5I5Ko79K Rni6YQlN2gZwD+Xa9/YgQQcDGCXGYbbkVRO2EwPV2N8RcoHezbYetZL26fVn/EdOW0Ri NdQ2xJise4Cj+DaLQH9iTGp3ZN9qEJGlbSA7ckk1e542LTRlFnQZw+EpXCk77SPOqJyP 7hPlqh1r98z2lNfXQfXaPz/xo+885dTEW0CBMej9FaX4MRacQmRlm6fgdrlmuwZ0OJgD 9TV/VajVknp55D3TkRa2L5FPKTaqmhze2fQVFt8oTkD723XhM9A+jIUKO0eQ2mLYbBkD LbSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=hxhH8LOM8Aikfj3NKrbZcGF2ZN+2TcVACSDxs19TXeE=; b=HPtA2EImyFfeigT1JIVcsczJnLQGyuwnlR8Phw45VeGEthz4RC7xeTbVybQRyJLFXq akMD1nB1/ntJGYSBO61Vc2tK4qC4z/195qRtR659PXR9RNvkOZFFdhNA3oEqN9xfeQhI IiVUe6X+9FybB10ce79C93tsHywukd/MbDJM8/cu6InSZ7L9DgbiruEPfc4fPREQuBeO MsC/1naZqoFcdvd9ZFIrMeVMCU8I7aW7TB497yQl9d6JY3Otc+vK7hk1WIuLLky45YKK dGLvlzbnajpKGdDcVmhdnwIh661sOzv+9wd1YF9/dwTe6dyxkAfMJY1Tiy0vodO0gNGz HmvQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel-dk.20150623.gappssmtp.com header.s=20150623 header.b="sIlEnx/9"; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id pw16si2099425ejb.430.2020.10.15.06.21.19; Thu, 15 Oct 2020 06:21:52 -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=@kernel-dk.20150623.gappssmtp.com header.s=20150623 header.b="sIlEnx/9"; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729138AbgJONRP (ORCPT + 99 others); Thu, 15 Oct 2020 09:17:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45984 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729032AbgJONRM (ORCPT ); Thu, 15 Oct 2020 09:17:12 -0400 Received: from mail-il1-x141.google.com (mail-il1-x141.google.com [IPv6:2607:f8b0:4864:20::141]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E5494C061755 for ; Thu, 15 Oct 2020 06:17:10 -0700 (PDT) Received: by mail-il1-x141.google.com with SMTP id z2so2507373ilh.11 for ; Thu, 15 Oct 2020 06:17:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel-dk.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=hxhH8LOM8Aikfj3NKrbZcGF2ZN+2TcVACSDxs19TXeE=; b=sIlEnx/9nWATWRyclEanjLwn7C6DsCywsZzmNs/Qe1bgTsDt6pFHncvr5DcnHIdAul FGaBkAQiOjZqliXJrLyB+5MYOoH5ueqVJtMjmDhWpQ5LTaKo93ogIXvjw9zaVM/l8s5W qAo4ihfo+8TSu5SRzqf+GQlbDJCpTyBqsRFjc/sohKhdb9tRDw1mzIsmmWcf+Q6wCDdj vJTJrzY9S7NBu8pRUsGPn77tj8ZMb5yEW5FyeoS+Hbp9++ihWpenpt3DB0twmyhfpDIV pe8cbgJ78DEMBUf5In05oUaJ/ISCYQtY9/uCeBbjKDvYCMsJSz4OSPuM6FzfQovm/geT 4WLw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=hxhH8LOM8Aikfj3NKrbZcGF2ZN+2TcVACSDxs19TXeE=; b=WvolDZQYc9IH5ereeMKmTArRVr/F6vGKS+48XFSYTi6fMuwjCj9Db1HFzxRqCq0FPs xeyTuKrJ5MIqlg9lbdbPn16h0ml7qLgSZG430xsGlokxz8r768qWV77COqqK+ASNAKPE +1vFfI6YzY0+CoVh8AR6PKaZHJwhPOri3w6RpZRh2G8etWqGogoJhT+ALzFpnndYJd81 rRy4Yn5TZS1vgGO+JhUHnl+pKVPIkfYcMIvGLWEs3IgwG3dd0gelYTcBWNzeoPjfIgHj 664O8lsFqyVWidXTHBKOu+QH0jjTPLjZL+AgYBqYrXrvvhbr52lef0j3AYsFas/QVW8s DTRg== X-Gm-Message-State: AOAM531PXaHqadtW6b90fAc4tN+Jej+dt/jBEWryOvQZVDsmjJ4638b8 RI6JFk7UZvh+ZdJV1R0fNEVInzpaEN7t3g== X-Received: by 2002:a92:8b08:: with SMTP id i8mr2801793ild.35.1602767829429; Thu, 15 Oct 2020 06:17:09 -0700 (PDT) Received: from p1.localdomain ([65.144.74.34]) by smtp.gmail.com with ESMTPSA id m13sm2486736ioo.9.2020.10.15.06.17.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 15 Oct 2020 06:17:08 -0700 (PDT) From: Jens Axboe To: linux-kernel@vger.kernel.org, io-uring@vger.kernel.org Cc: peterz@infradead.org, oleg@redhat.com, tglx@linutronix.de, Jens Axboe Subject: [PATCH 4/5] x86: wire up TIF_NOTIFY_SIGNAL Date: Thu, 15 Oct 2020 07:17:00 -0600 Message-Id: <20201015131701.511523-5-axboe@kernel.dk> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201015131701.511523-1-axboe@kernel.dk> References: <20201015131701.511523-1-axboe@kernel.dk> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org We already get the ti_work passed in arch_do_signal(), define TIF_NOTIFY_SIGNAL and take the appropriate action in the signal handling based on _TIF_NOTIFY_SIGNAL and _TIF_SIGPENDING being set. Signed-off-by: Jens Axboe --- arch/x86/include/asm/thread_info.h | 2 ++ arch/x86/kernel/signal.c | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/arch/x86/include/asm/thread_info.h b/arch/x86/include/asm/thread_info.h index 267701ae3d86..86ade67f21b7 100644 --- a/arch/x86/include/asm/thread_info.h +++ b/arch/x86/include/asm/thread_info.h @@ -93,6 +93,7 @@ struct thread_info { #define TIF_NOTSC 16 /* TSC is not accessible in userland */ #define TIF_IA32 17 /* IA32 compatibility process */ #define TIF_SLD 18 /* Restore split lock detection on context switch */ +#define TIF_NOTIFY_SIGNAL 19 /* signal notifications exist */ #define TIF_MEMDIE 20 /* is terminating due to OOM killer */ #define TIF_POLLING_NRFLAG 21 /* idle is polling for TIF_NEED_RESCHED */ #define TIF_IO_BITMAP 22 /* uses I/O bitmap */ @@ -123,6 +124,7 @@ struct thread_info { #define _TIF_NOTSC (1 << TIF_NOTSC) #define _TIF_IA32 (1 << TIF_IA32) #define _TIF_SLD (1 << TIF_SLD) +#define _TIF_NOTIFY_SIGNAL (1 << TIF_NOTIFY_SIGNAL) #define _TIF_POLLING_NRFLAG (1 << TIF_POLLING_NRFLAG) #define _TIF_IO_BITMAP (1 << TIF_IO_BITMAP) #define _TIF_FORCED_TF (1 << TIF_FORCED_TF) diff --git a/arch/x86/kernel/signal.c b/arch/x86/kernel/signal.c index d18304e84c09..ec6490e53dc3 100644 --- a/arch/x86/kernel/signal.c +++ b/arch/x86/kernel/signal.c @@ -808,7 +808,10 @@ void arch_do_signal(struct pt_regs *regs, unsigned long ti_work) { struct ksignal ksig; - if (get_signal(&ksig)) { + if (ti_work & _TIF_NOTIFY_SIGNAL) + tracehook_notify_signal(); + + if ((ti_work & _TIF_SIGPENDING) && get_signal(&ksig)) { /* Whee! Actually deliver the signal. */ handle_signal(&ksig, regs); return; -- 2.28.0