Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp1749784ybl; Sat, 11 Jan 2020 02:03:50 -0800 (PST) X-Google-Smtp-Source: APXvYqzP3/b5GjItHXbwPjwXzdx3GG2QK35jfmidaxGnHFujY8DKFZNSS4DMqi6d7cV/AyhgLnmm X-Received: by 2002:a05:6830:1e16:: with SMTP id s22mr6249341otr.340.1578737030668; Sat, 11 Jan 2020 02:03:50 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1578737030; cv=none; d=google.com; s=arc-20160816; b=T4tYvmzZ6BJmOSdxpNpjxFL88J+ukkCN2vPJGhMIBo4DQ6vwfwtyXefR12s5/rQlPM qeDSnV2xJwBDswGX2VLZkwF42fz3INPjjTi6Dl6wWAFT/IFXhvfbWx4RRX23FpeoUi3K OQcLkMUFO757KZ3osefERdAy0VHXBK1ECdQTwXp7HrtPZ0wzpZrBv4Fgl1NQ0Sfl8m2A XDDDqx+uFGzTptpwOounnlEsJhXbdqap6hzhyMNnCcfnwK/7YYA/xHedQI3zlr2e7Czg xe0E0qmQ2fJMcHdQ3JpOdUqwb2bk8catAiWK+w23kpFybGHYIgaOt4zeggtjt2NUt7DL Rxqw== 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 :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=UYsUGEHtG69xDozPEEa6PQiVfRvRFREJvG6lf7gi0aE=; b=ts1FNhiQhe8nFwEkqcn4IPbdWRWvqQ6MInJWnc/q+b/g7b9vZQpzmry1wP8B6ce9Xl KfWc0tHIDC4CPWPyDfrcreHN2Y2LdAmYbQVEQ6IOrZ3YOt8slf0k/j3I5RLvqjbMCm2C qe49yV61qcKf7RTlvYDKuJ/Oee+mkZGX1Q/m+A1qbT3aUcsUzgc7ijlcIXyy/MJoW19V Qymcx9CxCpgke9I72TRrzDZYrqvJ4gD1qM9YwR/t6vaM8xqeWk2mBjVuAflKtM1PQGqn hpe8qJ1VoClFsUO7A5SEUBY17bBy4PyYHTtHDkEf/oSj2JioI6sGle+K6uYvo8Y77AWy yIwg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=l1UL1Zhu; 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 t28si3397226otr.16.2020.01.11.02.03.39; Sat, 11 Jan 2020 02:03:50 -0800 (PST) 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=@kernel.org header.s=default header.b=l1UL1Zhu; 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 S1729467AbgAKKBz (ORCPT + 99 others); Sat, 11 Jan 2020 05:01:55 -0500 Received: from mail.kernel.org ([198.145.29.99]:59732 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728833AbgAKKBy (ORCPT ); Sat, 11 Jan 2020 05:01:54 -0500 Received: from localhost (unknown [62.119.166.9]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id D53882084D; Sat, 11 Jan 2020 10:01:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1578736913; bh=lfWjhJOim8/hVj2RmOHfNBLhqUiZM0pgfFhdbKid6Qk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=l1UL1ZhuRkslqosJmpBYgfXDEL2sZnsnxn8+uAPZVUYoVycOfeN7kFI6mn+R2m+bX b4WzL+TlXiysVPWdpW+GGK8hQd3OTOdYYMF6ntwLTmM4ZnCXYjv6TYBPfJE2QdjZtx 5cWWkWzIkXL/Z++vBUthCE6E1w5/TszXDO8RE15g= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Tom Zanussi , Sven Schnelle , "Steven Rostedt (VMware)" Subject: [PATCH 4.9 30/91] tracing: Have the histogram compare functions convert to u64 first Date: Sat, 11 Jan 2020 10:49:23 +0100 Message-Id: <20200111094855.840373857@linuxfoundation.org> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200111094844.748507863@linuxfoundation.org> References: <20200111094844.748507863@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Steven Rostedt (VMware) commit 106f41f5a302cb1f36c7543fae6a05de12e96fa4 upstream. The compare functions of the histogram code would be specific for the size of the value being compared (byte, short, int, long long). It would reference the value from the array via the type of the compare, but the value was stored in a 64 bit number. This is fine for little endian machines, but for big endian machines, it would end up comparing zeros or all ones (depending on the sign) for anything but 64 bit numbers. To fix this, first derference the value as a u64 then convert it to the type being compared. Link: http://lkml.kernel.org/r/20191211103557.7bed6928@gandalf.local.home Cc: stable@vger.kernel.org Fixes: 08d43a5fa063e ("tracing: Add lock-free tracing_map") Acked-by: Tom Zanussi Reported-by: Sven Schnelle Signed-off-by: Steven Rostedt (VMware) Signed-off-by: Greg Kroah-Hartman --- kernel/trace/tracing_map.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- a/kernel/trace/tracing_map.c +++ b/kernel/trace/tracing_map.c @@ -90,8 +90,8 @@ static int tracing_map_cmp_atomic64(void #define DEFINE_TRACING_MAP_CMP_FN(type) \ static int tracing_map_cmp_##type(void *val_a, void *val_b) \ { \ - type a = *(type *)val_a; \ - type b = *(type *)val_b; \ + type a = (type)(*(u64 *)val_a); \ + type b = (type)(*(u64 *)val_b); \ \ return (a > b) ? 1 : ((a < b) ? -1 : 0); \ }