Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754575AbcC1H4b (ORCPT ); Mon, 28 Mar 2016 03:56:31 -0400 Received: from mail-pa0-f46.google.com ([209.85.220.46]:36136 "EHLO mail-pa0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754026AbcC1H4T (ORCPT ); Mon, 28 Mar 2016 03:56:19 -0400 From: Chunyan Zhang To: alexander.shishkin@linux.intel.com Cc: linux-kernel@vger.kernel.org, mathieu.poirier@linaro.org, zhang.lyra@gmail.com Subject: [PATCH] stm class: correct masterID range in setting via sysfs Date: Mon, 28 Mar 2016 15:55:42 +0800 Message-Id: <1459151742-31733-1-git-send-email-zhang.chunyan@linaro.org> X-Mailer: git-send-email 1.9.1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1254 Lines: 30 The type of masterID is defined as 'unsigned int', theoretically one can set masterID with a number larger than 'INT_MAX' as long as 'stm_data::sw_end' is larger than 'INT_MAX'. Also, 'stm_data::start' and 'stm_data::end' is initialized in respective drivers which should be able to use any value less than 'UINT_MAX' for their masterIDs, of course including those values larger than 'INT_MAX', but the current policy is wrongly assuming that masterIDs would not be larger than 'INT_MAX'. This patch just corrected that. Signed-off-by: Chunyan Zhang --- drivers/hwtracing/stm/policy.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/hwtracing/stm/policy.c b/drivers/hwtracing/stm/policy.c index 1db1896..ce3edfd 100644 --- a/drivers/hwtracing/stm/policy.c +++ b/drivers/hwtracing/stm/policy.c @@ -107,7 +107,7 @@ stp_policy_node_masters_store(struct config_item *item, const char *page, goto unlock; /* must be within [sw_start..sw_end], which is an inclusive range */ - if (first > INT_MAX || last > INT_MAX || first > last || + if (first > UINT_MAX || last > UINT_MAX || first > last || first < stm->data->sw_start || last > stm->data->sw_end) { ret = -ERANGE; -- 1.9.1