From patchwork Mon Jan 25 06:55:52 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Oliver O'Halloran X-Patchwork-Id: 572614 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [103.22.144.68]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 039CB1402A0 for ; Mon, 25 Jan 2016 17:57:35 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b=d+Tuc1cy; dkim-atps=neutral Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id D401B1A0C62 for ; Mon, 25 Jan 2016 17:57:34 +1100 (AEDT) Authentication-Results: lists.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b=d+Tuc1cy; dkim-atps=neutral X-Original-To: linuxppc-dev@lists.ozlabs.org Delivered-To: linuxppc-dev@lists.ozlabs.org Received: from mail-pa0-x22a.google.com (mail-pa0-x22a.google.com [IPv6:2607:f8b0:400e:c03::22a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id A508F1A03F9 for ; Mon, 25 Jan 2016 17:56:14 +1100 (AEDT) Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b=d+Tuc1cy; dkim-atps=neutral Received: by mail-pa0-x22a.google.com with SMTP id yy13so75951873pab.3 for ; Sun, 24 Jan 2016 22:56:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id; bh=CBr8SijtzJnZp60k1IV6eEHOYU7YnQF2qo4kS4BpTec=; b=d+Tuc1cyOp4Gt0h4TMZp5idJANYcrXfZNQMCwmwomDa6S9vU8/D1Sh3vjbvHn5Fwr2 Q1QTLDZCGKtMDQImkPX7j8fRjDNhjUWji+GZ79wZDYH4AE4enDtxjQJbnHee84Ll+sOE cfHCTjsoWFlZk1m6A78VjSQymn4//GPr8EBnj7Ns6RztqQv3qC1Qw/5gpKTWduu+k090 3pyZd5WbZjH0JDL96TYeMixDZXkS4zKUVQaApPkC3wOEoSMAzYnFKvhWceSzn4gM0Bz+ Ce4+WqeEiYjQ3fdLHwXiLPIemrHEG4EGnwLI+B6X9TAoW6erRETpUjC0tsJC7xTCKrCY Ct2g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=CBr8SijtzJnZp60k1IV6eEHOYU7YnQF2qo4kS4BpTec=; b=hwsz9+kpPD06/iFkREbJAlgx/FtEmbgsoq5llfa4Fa/SYIF9/pzpW7YQ/seG4cDaQt 6247JEOi0VP2cv4WI5WB98gLQM9Yld15E5DIDL6R6I4f52j1596GQaQgUld/FutExo+j lvK32hdG4GA9ngJjFUmZAPQMiwQwO30PSvdPGNb+cNvbN6lTtNHRdxtF7u6RYZqWpKzx iQgHCNTSCkmlOBE+5wEgpucib0D+i4S+An8U7JFJr/++a3csLtI6e0T5zv1NEd+9k11V kymOAq7ZzIgXNxCroClW5dOr6UvRzZtBL7tO7lbShYC7Adb+3Aa2bisJeQPeeu/BoqfM tiEg== X-Gm-Message-State: AG10YOTXglwduXxw0IRhdulImnl8WTDkB/fV7dKcTmWzMAmEdjYgio0wVGcMZZzBi+WwEw== X-Received: by 10.66.129.232 with SMTP id nz8mr23752685pab.102.1453704971602; Sun, 24 Jan 2016 22:56:11 -0800 (PST) Received: from canetoad.ozlabs.ibm.com ([122.99.82.10]) by smtp.gmail.com with ESMTPSA id e1sm25856201pas.1.2016.01.24.22.56.09 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 24 Jan 2016 22:56:11 -0800 (PST) From: Oliver O'Halloran To: linuxppc-dev@lists.ozlabs.org Subject: [PATCH] Fix fall-through from case 30 (rld*) to case 31 Date: Mon, 25 Jan 2016 17:55:52 +1100 Message-Id: <1453704952-11197-1-git-send-email-oohall@gmail.com> X-Mailer: git-send-email 2.5.0 X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Oliver O'Halloran MIME-Version: 1.0 Errors-To: linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" I think this bug can only be triggered if the instruction to simulate is malformed. The switch in the else case only handles the zero and one case, but it extracts bits 4:1 from the instruction word so it may be other values. It's pretty minor, but a bug is a bug. Signed-off-by: Oliver O'Halloran --- arch/powerpc/lib/sstep.c | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/powerpc/lib/sstep.c b/arch/powerpc/lib/sstep.c index dc885b3..e25f73c 100644 --- a/arch/powerpc/lib/sstep.c +++ b/arch/powerpc/lib/sstep.c @@ -925,6 +925,7 @@ int __kprobes analyse_instr(struct instruction_op *op, struct pt_regs *regs, } } #endif + break; /* illegal instruction */ case 31: switch ((instr >> 1) & 0x3ff) {