From patchwork Tue Oct 10 15:52:48 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jeremy Linton X-Patchwork-Id: 115417 Delivered-To: patch@linaro.org Received: by 10.140.22.163 with SMTP id 32csp3911304qgn; Tue, 10 Oct 2017 08:53:02 -0700 (PDT) X-Google-Smtp-Source: AOwi7QDo2i7Y0gJfJ+BWLZEhshPLQNta+Ukd7uHTJHiVbeeBDAHvelHYrAljhFRbynH2BSvlmohG X-Received: by 10.159.242.137 with SMTP id u9mr7038335plr.243.1507650782642; Tue, 10 Oct 2017 08:53:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1507650782; cv=none; d=google.com; s=arc-20160816; b=TAfENGB7xuFSehIMB+CxtiaXjKctCjxbp73W/6/5jP2RtZOBFh4JOF67DWDptYc/OI nLdlHhadTCxbFRpPDQ7wLZ+zM0vSl68GX8mE7VrQxn7CGy4VPA7tB8+gAdjmH1ftNwQU q5NBwGzgb9g4mA57GA2FGpDS5GN+c5HKkGPqXmNm3/GQN52ZncPtIe1BPEXgVWV1AL1K aQIbMsoduqIT91e9rdwNUTDXZlFXkCZOeEQ/fFNIUvOH5xmAsA64UiN8KcdtEuta/qtw 3NoRpurugx/wo0b4afp7oZjduXnuiUHISx+sPgOiw08sON/XJffDdDiPKOytjk7KqyJQ VR0g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :arc-authentication-results; bh=ypV9wI7xDtGHboN1gM7RUz6ckhaISNwD1osy0c4MG+Y=; b=Cj27YhVrr/As4npSmGBjx8Y7hd0PSr7oHW/EcBlSsgpYVRuS38zYacO3v/m7Qpl4B4 THwhIEo/Q+NDFffsSyL6TOm+F/xnTxh1ij1G8Vw7XU8NXgmLBhWIvRZtLzojoeuHQGpE W/OrQn+4q6lakDsDsqoZ8hWTXWGVxoG4ZGLOCaQAgBqN78t3Rp1Jix6ng8P3RvAwvV1T b3WPqRxXPnGueqhl4LJRT5W9rVHjTkXmTAOmNr2Nl5XL8l+J3BN373dcrZ11QTwWdL/9 e/ld8uFlp2EQCF8UANQ8iU8uKhRRQeA/mfRVy7Q8tfEphTHizAtwHafbxOdnS+Ht004M 9Veg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id s18si2979176pfg.199.2017.10.10.08.53.02; Tue, 10 Oct 2017 08:53:02 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932457AbdJJPxA (ORCPT + 26 others); Tue, 10 Oct 2017 11:53:00 -0400 Received: from usa-sjc-mx-foss1.foss.arm.com ([217.140.101.70]:47006 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932142AbdJJPw7 (ORCPT ); Tue, 10 Oct 2017 11:52:59 -0400 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id F2CC01529; Tue, 10 Oct 2017 08:52:58 -0700 (PDT) Received: from beelzebub.austin.arm.com (beelzebub.austin.arm.com [10.118.12.119]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id A84B43F483; Tue, 10 Oct 2017 08:52:58 -0700 (PDT) From: Jeremy Linton To: linux-kernel@vger.kernel.org Cc: peterz@infradead.org, mingo@redhat.com, Jeremy Linton Subject: [PATCH] locktorture: Fix Oops when reader/writer count is 0 Date: Tue, 10 Oct 2017 10:52:48 -0500 Message-Id: <20171010155248.11602-1-jeremy.linton@arm.com> X-Mailer: git-send-email 2.13.5 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org If nwriters_stress=0 is passed to the lock torture test it will panic in: Internal error: Oops: 96000005 [#1] SMP ... [] __torture_print_stats+0x2c/0x1c8 [locktorture] [] lock_torture_stats_print+0x74/0x120 [locktorture] [] lock_torture_stats+0x40/0xa8 [locktorture] [] kthread+0x108/0x138 [] ret_from_fork+0x10/0x18 This is caused by the deference to a null statp. Fix that by checking the n_stress for non zero count before referencing statp. Signed-off-by: Jeremy Linton --- kernel/locking/locktorture.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) -- 2.13.5 Acked-by: Peter Zijlstra (Intel) Reviewed-by: Jeremy Linton Tested-by: Jeremy Linton diff --git a/kernel/locking/locktorture.c b/kernel/locking/locktorture.c index f24582d4dad3..8229ba7147e5 100644 --- a/kernel/locking/locktorture.c +++ b/kernel/locking/locktorture.c @@ -716,10 +716,14 @@ static void __torture_print_stats(char *page, bool fail = 0; int i, n_stress; long max = 0; - long min = statp[0].n_lock_acquired; + long min = 0; long long sum = 0; n_stress = write ? cxt.nrealwriters_stress : cxt.nrealreaders_stress; + + if (n_stress) + min = statp[0].n_lock_acquired; + for (i = 0; i < n_stress; i++) { if (statp[i].n_lock_fail) fail = true;