Received: by 2002:a25:6193:0:0:0:0:0 with SMTP id v141csp770210ybb; Fri, 10 Apr 2020 09:45:35 -0700 (PDT) X-Google-Smtp-Source: APiQypJurv5jiQy2C5LvNY81iPKNHVlehCji930UC67SIYtuXu0FV1Y6bJsA8O9vuX2kbuGEJ3rU X-Received: by 2002:a37:4f13:: with SMTP id d19mr2788349qkb.43.1586537135307; Fri, 10 Apr 2020 09:45:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1586537135; cv=none; d=google.com; s=arc-20160816; b=yiqkrtwOV6tecS50RIJK7bWDqpAYjCv6Bla8dCbT2xLczX+22WSQLmEh9Re5PIYx08 xzZJLh9kiO53AKbW8WZgqnUSKrlzaGkR+tEOaP3bzp+7kaCMSmOKthmUlOMwBNaNRBIA ifA8SdccQqlqdkWWQPzoiVhvwWl+TW3nmTFdoVYF4gaJcv9hdD9Jt/3bZX9jWS5l5ewL 0mVQITmt4iVtVA/I8W8hCGF6f0Yv0I8nNziBoUmFLA/VmKLI2FarM1lVTBaVF8p0OCtQ U7ZQrz/+aoIwO+KCYBLDNV7Bo+ZmQX1EjybzSgZvyxHp4UFTzGLe/DyDXVrSpM14RI02 rh/A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:from:subject:mime-version :message-id:date:dkim-signature; bh=ueafPH9nFZnbYCe8pBTsy3DXxC5q7uCEv34zh8QVYcE=; b=OFmdbPNvTlae6PpU6yrHO3Zz4CJ2q6YSYWuRHjpndXzz/biVaFyjJuuK3obcizLw3+ 5m9FGxzsfbTaHgstIKgEQIT6HUS/x92IE1ht8JbjMip2y5rZlMINWKKeim/vVnWep1pd 9E17DjLInxe8nYhVq8izcdsWI+BMpEET1769x8JwVGtPrYBLAJppdyHMKo+cykXw0fDR 4gEbqbQYjf4Sp4WD7rH2fJ5eqCYPPg9vVeK08PMxcPMq062hzNZ0JulIwQ7nJDuW6cKE wp/K88epdkpZLg72Zuu6oUWNkImFwAqMIC1Lyh4HPqi40EGcsO/3tLmRSmJ55oAfHpC0 UGmQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=V3JjhjmZ; 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; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id w9si1306458qvn.107.2020.04.10.09.45.20; Fri, 10 Apr 2020 09:45:35 -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; dkim=pass header.i=@google.com header.s=20161025 header.b=V3JjhjmZ; 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; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726703AbgDJQod (ORCPT + 99 others); Fri, 10 Apr 2020 12:44:33 -0400 Received: from mail-wr1-f74.google.com ([209.85.221.74]:34808 "EHLO mail-wr1-f74.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726177AbgDJQoc (ORCPT ); Fri, 10 Apr 2020 12:44:32 -0400 Received: by mail-wr1-f74.google.com with SMTP id 91so1492942wro.1 for ; Fri, 10 Apr 2020 09:44:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:message-id:mime-version:subject:from:to:cc; bh=ueafPH9nFZnbYCe8pBTsy3DXxC5q7uCEv34zh8QVYcE=; b=V3JjhjmZxR2RHOx83Yy9LM/Ff7fyUM4rsteIPOsKRC5ySgn3GXOuW1xShn7CFw3SSK O/VXh/3exarcTAjv1/kct8EgSpxHsbQWtnzlmjdwK9ip9KKpH7qEZw4ThTAYZx4Qbtnw QwfJ1F6NO2bMjVz4smENn/BeUZ/0S+0Cp63MQZPEhpBTAh0q5piB0NjQ2J31bBdUb2Bo ycwe2SzkLlIfkP++3Ymi1+wuZuf/78lrqU1spbW7v74WTKBBFBqc6U8sULIfHoyUD/Mb kuZci/1nHfFpDAcXCziIN8r2VlupXCn6JklGoC2w5m1UEjvjgxxwQ/QVO2TtFwLjmv5e rdQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:message-id:mime-version:subject:from:to:cc; bh=ueafPH9nFZnbYCe8pBTsy3DXxC5q7uCEv34zh8QVYcE=; b=CAD290zGQC8qac0OYHFpaaYLA03r+hdlPMD/ydf4NxoUvctkrjOKiGxhFg/Rw6bVcl ahIwcpotb2NOFnmfAqmp9uj2sbKmMavxueGxkq1fXfTBUyS/49zwFIDcDjIqeZewbRHl 9Yms4+09aHtsHsyr0UEtQIO60RgK6GdJIg0+hQrJ9KUIr9+kG/0pxlqcU7qqE+k/wiow gQrYOADogwej+hKf/Ms1OM09JUJ2wuEIaArNotC1nDx7qyf1Dscb/1geL9q54fNCKpE9 tvB4cuP0GsYlbPN6QOz3flPYBtSsjWkl6j9w//yYoBmXmPeFdRni7twxjAqbAN8z0zx1 CuHQ== X-Gm-Message-State: AGi0PuYPYSYGVm7CNdHfMapc/mSQOhwImKOYdLu/aTxeecoci/lk2wFd u549cgXR8ufK9Gv3GZm0fB8Ib/U/+g== X-Received: by 2002:a5d:4248:: with SMTP id s8mr5315245wrr.216.1586537069409; Fri, 10 Apr 2020 09:44:29 -0700 (PDT) Date: Fri, 10 Apr 2020 18:44:17 +0200 Message-Id: <20200410164418.65808-1-elver@google.com> Mime-Version: 1.0 X-Mailer: git-send-email 2.26.0.110.g2183baf09c-goog Subject: [PATCH 1/2] kcsan: Fix function matching in report From: Marco Elver To: elver@google.com Cc: paulmck@kernel.org, kasan-dev@googlegroups.com, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Pass string length as returned by scnprintf() to strnstr(), since strnstr() searches exactly len bytes in haystack, even if it contains a NUL-terminator before haystack+len. Signed-off-by: Marco Elver --- kernel/kcsan/report.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/kernel/kcsan/report.c b/kernel/kcsan/report.c index ddc18f1224a4..cf41d63dd0cd 100644 --- a/kernel/kcsan/report.c +++ b/kernel/kcsan/report.c @@ -192,11 +192,11 @@ skip_report(enum kcsan_value_change value_change, unsigned long top_frame) * maintainers. */ char buf[64]; + int len = scnprintf(buf, sizeof(buf), "%ps", (void *)top_frame); - snprintf(buf, sizeof(buf), "%ps", (void *)top_frame); - if (!strnstr(buf, "rcu_", sizeof(buf)) && - !strnstr(buf, "_rcu", sizeof(buf)) && - !strnstr(buf, "_srcu", sizeof(buf))) + if (!strnstr(buf, "rcu_", len) && + !strnstr(buf, "_rcu", len) && + !strnstr(buf, "_srcu", len)) return true; } @@ -262,15 +262,15 @@ static const char *get_thread_desc(int task_id) static int get_stack_skipnr(const unsigned long stack_entries[], int num_entries) { char buf[64]; + int len; int skip = 0; for (; skip < num_entries; ++skip) { - snprintf(buf, sizeof(buf), "%ps", (void *)stack_entries[skip]); - if (!strnstr(buf, "csan_", sizeof(buf)) && - !strnstr(buf, "tsan_", sizeof(buf)) && - !strnstr(buf, "_once_size", sizeof(buf))) { + len = scnprintf(buf, sizeof(buf), "%ps", (void *)stack_entries[skip]); + if (!strnstr(buf, "csan_", len) && + !strnstr(buf, "tsan_", len) && + !strnstr(buf, "_once_size", len)) break; - } } return skip; } -- 2.26.0.110.g2183baf09c-goog