Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp3087076ybt; Mon, 29 Jun 2020 15:01:55 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwVFvVg6KoJjWmXjvYM3om98f7BHyuXH6u+cErop7ft+uB0aBbTr4S0+3dDIFElSyWd+/F2 X-Received: by 2002:a05:6402:ca3:: with SMTP id cn3mr20734940edb.64.1593468115446; Mon, 29 Jun 2020 15:01:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1593468115; cv=none; d=google.com; s=arc-20160816; b=KY3VEkod6yQDDmOIbBrjgzazn1LZKD23ZPwOK0fKfYRKXsAnq8iBUa9LkSygQI7NYe CfYPrPSmHko4zYYQlvjTBqw2t7YaNS+4onqPSHmWQwftUMfAf074GK/e88601i0Ak1/R QSTTrGhr3KeDEW1B4cRIPjddSK6JWUFae2GjPTl7DKNvhgGKBzO3zuAa3KVwKDnvws2y Y6uHcGO0epBzI1ompWQWFf1zVU6RlHLu588LWZpR1RJFv5Hh4MSHbT/hkq3r5Du265Qt kGHj4fSdqrXBCWwXsuFyA8eq0XN4xRxhftYu6+0Pcf267eFwIyXSvx0am7GGlbE4A//Y v3YQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=4JHUPEJSNJWixn0eyF/QVW+dPxgDOskHwFo8rTisctI=; b=Xxdz+IETyeFN/orI6R4yLwXmBD95FRtmHuojKB/5/yWInmcXlN18Ppm/t7kCDNGt/B MfZe/9qdp1uA3BfAOMUtc1CQXV17AEEwTjGPdL0rH06WYs+PowiHN678TH9E2WZpLSSd CkMZ5OY9UqWw8eYB3WbY4EAYZX/AGolHb8zUCjVrZ4yXmpUKAZftG4P72VEAofk6TgV5 snBHHHM9vkPZWqeejdXWwax6rhIfm93pilZuAw/tVURdoF2bBEs/NLvMLfqSEYH1h6qE q/xb+sK9AlBoyeqBNHztguQnDxgxO1ieyZyMnH5Cyz1qpYo2PFv8ZjSgcgOKNX11lmUj pz9A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=Qx0s0X8o; 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=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id y12si536661ejj.648.2020.06.29.15.01.32; Mon, 29 Jun 2020 15:01:55 -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.org header.s=default header.b=Qx0s0X8o; 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=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2391737AbgF2WAU (ORCPT + 99 others); Mon, 29 Jun 2020 18:00:20 -0400 Received: from mail.kernel.org ([198.145.29.99]:56780 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726385AbgF2SfY (ORCPT ); Mon, 29 Jun 2020 14:35:24 -0400 Received: from sasha-vm.mshome.net (c-73-47-72-35.hsd1.nh.comcast.net [73.47.72.35]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id D0D8E2476D; Mon, 29 Jun 2020 15:21:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1593444086; bh=2ubDCHODXZNNgKbQOQukr/eKLce8EHPTK8F1h0as8Xg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Qx0s0X8oI1dSC1YCRmGWBjw+xtyAkuprNaRSUWW1u475riF6+J/9Vq3fECcCtDyVE S92tbGFd1yD7mTdtBs8Ogp09o70PZjuxtX7uoEK1Of2JPHLQFMydijCYpzi+49ju01 gmKbOeBKHe4+MdsgSnUheqeKnq260RsDW4lW9eLY= From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Sven Schnelle , Vasily Gorbik , Sasha Levin Subject: [PATCH 5.7 196/265] s390/ptrace: pass invalid syscall numbers to tracing Date: Mon, 29 Jun 2020 11:17:09 -0400 Message-Id: <20200629151818.2493727-197-sashal@kernel.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200629151818.2493727-1-sashal@kernel.org> References: <20200629151818.2493727-1-sashal@kernel.org> MIME-Version: 1.0 X-KernelTest-Patch: http://kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.7.7-rc1.gz X-KernelTest-Tree: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git X-KernelTest-Branch: linux-5.7.y X-KernelTest-Patches: git://git.kernel.org/pub/scm/linux/kernel/git/stable/stable-queue.git X-KernelTest-Version: 5.7.7-rc1 X-KernelTest-Deadline: 2020-07-01T15:14+00:00 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Sven Schnelle [ Upstream commit 00332c16b1604242a56289ff2b26e283dbad0812 ] tracing expects to see invalid syscalls, so pass it through. The syscall path in entry.S checks the syscall number before looking up the handler, so it is still safe. Signed-off-by: Sven Schnelle Signed-off-by: Vasily Gorbik Signed-off-by: Sasha Levin --- arch/s390/kernel/entry.S | 2 +- arch/s390/kernel/ptrace.c | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/arch/s390/kernel/entry.S b/arch/s390/kernel/entry.S index 3ae64914bd144..9584e743102b7 100644 --- a/arch/s390/kernel/entry.S +++ b/arch/s390/kernel/entry.S @@ -368,9 +368,9 @@ ENTRY(system_call) jnz .Lsysc_nr_ok # svc 0: system call number in %r1 llgfr %r1,%r1 # clear high word in r1 + sth %r1,__PT_INT_CODE+2(%r11) cghi %r1,NR_syscalls jnl .Lsysc_nr_ok - sth %r1,__PT_INT_CODE+2(%r11) slag %r8,%r1,3 .Lsysc_nr_ok: xc __SF_BACKCHAIN(8,%r15),__SF_BACKCHAIN(%r15) diff --git a/arch/s390/kernel/ptrace.c b/arch/s390/kernel/ptrace.c index 3f29646313e82..fca78b269349d 100644 --- a/arch/s390/kernel/ptrace.c +++ b/arch/s390/kernel/ptrace.c @@ -848,11 +848,9 @@ asmlinkage long do_syscall_trace_enter(struct pt_regs *regs) * call number to gprs[2]. */ if (test_thread_flag(TIF_SYSCALL_TRACE) && - (tracehook_report_syscall_entry(regs) || - regs->gprs[2] >= NR_syscalls)) { + tracehook_report_syscall_entry(regs)) { /* - * Tracing decided this syscall should not happen or the - * debugger stored an invalid system call number. Skip + * Tracing decided this syscall should not happen. Skip * the system call and the system call restart handling. */ goto skip; -- 2.25.1