Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756039AbdLOSSk (ORCPT ); Fri, 15 Dec 2017 13:18:40 -0500 Received: from mail-dm3nam03on0079.outbound.protection.outlook.com ([104.47.41.79]:8416 "EHLO NAM03-DM3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1755419AbdLOSSh (ORCPT ); Fri, 15 Dec 2017 13:18:37 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=George.Cherian@cavium.com; Subject: Re: [PATCH] ACPI / CPPC: Fix negative array index read in cppc_set_perf To: "Gustavo A. R. Silva" , "Rafael J. Wysocki" , Len Brown , George Cherian Cc: linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org References: <20171213224541.GA31477@embeddedor.com> From: George Cherian Message-ID: Date: Fri, 15 Dec 2017 23:48:31 +0530 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 MIME-Version: 1.0 In-Reply-To: <20171213224541.GA31477@embeddedor.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US X-Originating-IP: [50.233.148.156] X-ClientProxiedBy: DM5PR20CA0015.namprd20.prod.outlook.com (2603:10b6:3:93::25) To BY1PR0701MB1705.namprd07.prod.outlook.com (2a01:111:e400:522c::12) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ccd26f77-07c1-44bc-4843-08d543e841bd X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(5600026)(4604075)(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(2017052603307);SRVR:BY1PR0701MB1705; X-Microsoft-Exchange-Diagnostics: 1;BY1PR0701MB1705;3:4Rd9pTvTlDMOc/k9Cc6k+u2aVZCC4wrY4ZNeMh6bVHKlhVFdC/51xr+DkqHGq9/adrFRwVg8y/f7kLdrCgJuI1pdn8K2Z+1gPqKdO2pSqjkFqoTHq/ctsiwuWRt5gkv5TNAP2XiEFbO88dRcfPB8Dbih9fjEKkPVCrJfDvCIl+qcIn47vUYnQ2FhwuyHyAP8paOsAFMvh27qULYQmETu0nmbWuMEGNUBJQN1dsHYH9bbOcSu0XM5a9X+cFpMs/XT;25:njXOZ4CrkFLRUX99s0zbK5Uo6rVQtfOz3Qn4ZvOT98Lc0m7qx31Fem9Z6uqAS7noA9/x+tiVVmPVGWWr9TQlFJ/U/vjgMtVe311ucoZUpg2wXl9uecYZjqjQ/LQibvD2CMAOz3vlgHddQHV38tBFDQ8HchorRRL5wQaXdyUr/UA0Hoqx8jUnTCZesU/By7SUqQcvYakfkyW4igj2L4S2E1s2/NyACNkXN28Co2JYsS/N15wepgvCtO3K5FChCIIxSj6FJRMhegqLtcOaAT5i9fKaVGgWvBmFCnKT4FrullSZQe/b+8/M+mG8LrF2WsY6N11pzyVmy1oJTbPgk7dSuK0e8XFyPoBq021h6dwrLS0=;31:+QQNhTMTqOtm8Q/NMa0eDbG3Ytv3MyFeDsstroNkb9vsCCK2WCZHmjOQ3JqAPZ/y2d1Y3gjuHqHzoeglTZv+6fWBtGusKwYYyKLBdMeRRvoL4yCWcc11/WlV3kAmpt1MlPLQl5RmhCEpe3fQ1sjgESe/xzYvom3PJzgMFioCB7/iXcRD652C2FD8QLgmLb4usZJZVRGAUtB/cQWQN24GMvREDckoesAqs1PjPXOQx5Q= X-MS-TrafficTypeDiagnostic: BY1PR0701MB1705: X-Microsoft-Exchange-Diagnostics: 1;BY1PR0701MB1705;20:HZUZF8ZtaRw2qnGy2+RxtZITacpTSJTL015V9ooKrUbn99giUMEav2cPtIoefdtqSd6osOuzcUz9gKUulPg6UYCo8vVBtXLFb9VRzIqQeSFZCGaDOL5t+VkpFDUig9SHtS9T5E8lGdqDIlDeJg0feYKVxMOy7DjUzeKN3xvVBBBlHW4N4Ahw0NIGXp48yBz+/vD8UnqzN/Q3OmHCnnMC03cO8XNmmsqEer0eyz4GX6pkcHuyQ6UQGY3nPKqUJJIqKbLoDcyUZ8YEUVyVkV9pW2uQE4/S5kXxxg25INieQyIpGNK8eED9mxmQcs0bvY0hbnS2GHK+wq91ecced9tf/j2p+vEVT7r9mVOvmpNi3NJFJDwzPyZXE+lEcf0pogD+ALcu0L2+8hxYLRhW7X+hpNWHQHo03E6ZkLK3H6XIkrqTPeH9dTGM7u9syDctKn1+kFr9DZjfn1sW533YkzQMft/wh+WFjelD+ZBROzmh82k4vG438JO8DKU+lojSMtva9qIoSJcqKkU8WKtXZE1rs5D9sFSlKU0DCs3zoPR7mrFiKqGM5FE9oTkMaJyRRVyB1DWZixNADMivHYLr16vod+mcnN/1IZaf1BzP1gue1ec=;4:grbDgth7qqPilyzkV5LZlAjXohlc1WurCu548TCvd/yqL8tiRKpVFnid/lsQiyQkT6jW+KszT07n35RUDu5joZwWiiYXxcsmRnsuPxWYSQd/5CV+/RWUiyppJ/Fc1+QEW7yTrv3/AdwuhrkLP1np8P3PSiTW+yP+9cKoSbabYPcQg7c9YehozZCtuqZKw0Mu5Gke9j3bVOk74Gbe8tNXV0eAYe2WIRNtaGnRH/tFJnZz28NchaaRieWP7wDjNfPo6g3qYFZA+KJmcP5P+dgiDg== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040450)(2401047)(8121501046)(5005006)(10201501046)(3231023)(3002001)(93006095)(6041248)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(20161123560025)(20161123564025)(20161123562025)(6072148)(201708071742011);SRVR:BY1PR0701MB1705;BCL:0;PCL:0;RULEID:(100000803101)(100110400095);SRVR:BY1PR0701MB1705; X-Forefront-PRVS: 05220145DE X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(979002)(6049001)(376002)(39860400002)(396003)(346002)(366004)(24454002)(199004)(189003)(16576012)(230700001)(6116002)(42882006)(3846002)(6666003)(59450400001)(2950100002)(316002)(6246003)(76176011)(25786009)(65826007)(2906002)(50466002)(68736007)(4326008)(5660300001)(8936002)(64126003)(305945005)(7736002)(81156014)(8676002)(6486002)(77096006)(386003)(67846002)(72206003)(105586002)(16526018)(106356001)(83506002)(478600001)(97736004)(229853002)(23676004)(66066001)(53936002)(2486003)(31686004)(58126008)(52146003)(110136005)(36756003)(52116002)(65956001)(81166006)(65806001)(47776003)(31696002)(969003)(989001)(999001)(1009001)(1019001);DIR:OUT;SFP:1101;SCL:1;SRVR:BY1PR0701MB1705;H:[10.216.17.46];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCWTFQUjA3MDFNQjE3MDU7MjM6UkFGbmZiVmhyT1dMRHREcHIzalQ4ZkY5?= =?utf-8?B?ZGJTZHlNK1lYR0xZRnRBNXZCWlpqOHVXcDQzQ3czYStqdlZheFJPTVZMM3BX?= =?utf-8?B?ZGF3Z053VWhBZjZUNXB2cFkwalI2YlZjVEVreHlSUkpyZXNYY2lBdkhhelk5?= =?utf-8?B?U1ZBQWxnUzBzQUNUQkU3Y1VhMVlLbHFrYncxb20wNm1NczlMK3BpT1NJU0xp?= =?utf-8?B?OTQxWlU4QW9UOW5IOXk1ekYvQ1E5U2tIM1hZbmlnWG1aN3paOURSc09lRDBZ?= =?utf-8?B?R1I2L0RMM3dxdkpqWmRTbmNnSFY3RjU2RTZ6YzUxcWlid2VtR2R4d2RBRHNj?= =?utf-8?B?UUdDcXV2eUozK3h0aEtFQnUrendJUW1KNzJJcWwzV2k5RHB0WTZ5SzViVjJS?= =?utf-8?B?cmNJRjU3Qy8wM0QvR3hUVzJJWkk3ekxaVThvbzBwVjNpTFJOWU4zcjFrQUk3?= =?utf-8?B?RTlMWm5oWG0wNnJOaUwrQjNEM0VNdmJHWjJUc3kzRGxxeDRiN0xZY0VINnZ1?= =?utf-8?B?VWxPUDRLT2RQK0NIeDhkYlQ0Z0xoSnFhVjFETWl2T0FKYVhGMGR0L292bUtN?= =?utf-8?B?bVp2QXBWaTMyaGduM3ozWSs2RytUVE5zbnY0c3RpOXBlbFhEa3hQdlZ1ejJj?= =?utf-8?B?RzJSY2hqQ1oyc3p5TWV0K05wSU5zcDNFVitweEVSVVVEWUt0VWd5ZGpIUThl?= =?utf-8?B?SkFVSkRMTkxocCtoOVpCVU1sQ3RCazk1Zkt4TnpnZmFXeEYxSGFCQU1WODBO?= =?utf-8?B?eWN0RG41eEtJcXhTQXdNQU1tWWZVZXdEenFSeHNDZW5BellVK0MyVFYrWWYv?= =?utf-8?B?c3cvSmlPWkpzU3ZZNU1hdnUyQ1Q0Q1VoS1FrS2RYVTRmWlUwb1VxM3dLNUk1?= =?utf-8?B?Z1dKdzVleFhNb2kxeldtVjdCTUQwZWNPTDB3R21ycjFTVmFNZFhTM1hucUlH?= =?utf-8?B?bmsxb3haRU9NeGpkUEpxZ2JTdzZZZ3RIamdGMWZtQnJCRGtCRVZGQWtOSlFT?= =?utf-8?B?M3gzR3VUWVhybVFzOEFNYmlqM0FKbzkvRkdiZWs2bmo1OFcraFlSMlM2MUNp?= =?utf-8?B?VzRtUEZ5ekY1enhvb2RjeEo4WmhQeFNDYWF2S21jZUFEbUt3WW1IUnBvSzBa?= =?utf-8?B?bXVpakdVQlliYklqOGFTVEtLazA1R2QweUs4RUNHUzAzYlN4S0tTYm41TVNT?= =?utf-8?B?UlE1blVNbjE0RHdtcm1FVElabS9RZEdmZTFyWU1YQ3duY2J6VkREaTQwZy90?= =?utf-8?B?YjVwUDlQL3dZUG1GSkswLzFCOXFzWm40aFNxMWNEWEY1SGN4QVkwelUybWxG?= =?utf-8?B?bzR2NEMvZ09MM3RiYmpuM293L1hSRWRZOUxWMi9teEJBeDcySXowQWVRNzI2?= =?utf-8?B?ZS9wc3hJdTdXZXJTOGdvY2o0MFFZOVdlQWlqenFyY1Jyb2RNMjZOYVVYRzZE?= =?utf-8?B?aVh6eGhmQnAxTThkOENmVzdVT3gxMVY1Mno1NCtzS1NFcEtXRDRKMXAySjJC?= =?utf-8?B?RDlLT2x1N01lekF2cmwzbElMQjQ3TGpsb1ZxWHB4di9GTnNETDk2U0JJVXFE?= =?utf-8?B?RHZoMXVmdDNpcDF2c0VsTFByMXhPMFRKeVh6RDZlR0xYZ3Zjd2QxWW12eFFp?= =?utf-8?B?Rk9MaEoyQUZ6bUtCRlhyTHpDaVNocWdIRnVvanVMZmdzNi9yd1Fla00zbGI4?= =?utf-8?B?UTUxUmU1dHVaV3V1V2dTM2FSRDQ0VVVlalhtdkhrekZBL3dxWlBvRmFoLzZK?= =?utf-8?B?cDFSd1VScWdBMTBtMGVvV040d3cyckl4bVNhS2tZWVlFbzlxUEhpNVZYMHow?= =?utf-8?B?NjFkaFViUU52V1pmRzZVWkpZR1dGU3MzMWd3aXZoMkJ5SXdIODgrZkJDQkZh?= =?utf-8?B?N2Nza1BFQjdaVWhGUm4rZVd2aXdSODlBR2Q0ZjE1M3Y4VWpXNVJVNmY1K0cx?= =?utf-8?B?RHJBaVBobWdNcVZtZmkwY09yMnhWNEdkdEFzMGUzYzNwVURxeERhU1hrSkxX?= =?utf-8?Q?pbgAnwBn?= X-Microsoft-Exchange-Diagnostics: 1;BY1PR0701MB1705;6:Cj59T9sbB0cD8mM3UEHl2tvUCEHcktCrQ7QvnSYPrNRu2TG7x81kDxMbTDuLvAni1AuBO9ca3kP4CiBcKR3i1VDEe0xE1gHGiK0AmmLHOGPDJTOf8w9foJtrrJS1NJywoiKshksSr3Cx0eRid9DziuypuOcpwwr5lw/ClGAPVuaKRH+I9jYXL2SyZFqD31lVYCxF6kCQiSv2DCGG0Agxczy22yDw1abpNfzltUwNTPtfOY0YsXt0HgcOq5wOrDdqx45qy1V133qcXWoqJKqsMv7kREizuJKfantx5AqoZMTAisnmX8LPx5DDh8fMbyKtFJsroygOx1cv4PN8weUrGDoCRtlBg2k3kC9aQcwYnp8=;5:PSxxClpAlGzd8LVHY9F7q5kNCAhnB4tureIfNKPLpVvGPlT+Y94J5SZacu1g/3gN3Hk9QpL2kVD5V4j3DryC88bVpeoAU74uFWdBrLeGoRnmli3V9TvaptQq1wm2oUNG5KmXR2yTUnToErhHy1zrLguntFTk7/1EWBxFB4bv5VM=;24:Q7MvtFspmWbpEKKClslkRiRS4lfdE7hAGhmxBWp41TakpWkfn5Q8Ye0LzNYaBfb80r6Uelbelr0Tsk/fmf2BUwomI+zV5P3WV77bZ0mamNI=;7:c6GNuf6rO5eiYnxI/4tN9eUhrcCzuU8RemMwE+DbMCrkvCAAAE2C1CI5/Wg23oWRF5MC98g6IWNaLOe6qSqt1gE2k63u6AC3waqQOFHJ123sQMgf6Cls8fWVTaL5hol/tHsR8BrqxT3Cl2zkmf4ptN8yX/uIydpJ8a46Fx0hApgecrPA8+7R4U82kzlaOHQJgHA2a0R70FPcZIq+6w7wv1jkr8VBBRDn4gVUfFnm98hOeV1Nl4DSfqWCgGPZXjAd SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Dec 2017 18:18:34.8909 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ccd26f77-07c1-44bc-4843-08d543e841bd X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR0701MB1705 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1322 Lines: 35 On Thursday 14 December 2017 04:15 AM, Gustavo A. R. Silva wrote: > If pcc_ss_id is less than 0, there is a negative array index read > before verifying pcc_ss_id is not a negative value. > > Fix this by removing the code that triggers this issue. > > Notice that this code is already properly placed after the check > on pcc_ss_id at line 1182: pcc_ss_data = pcc_data[pcc_ss_id]; > > Addresses-Coverity-ID: 1426090 ("Negative array index read") > Fixes: 1ecbd7170d65 ("ACPI / CPPC: Fix KASAN global out of bounds warning") Reviewed-by: George Cherian > Signed-off-by: Gustavo A. R. Silva > --- > drivers/acpi/cppc_acpi.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/acpi/cppc_acpi.c b/drivers/acpi/cppc_acpi.c > index 30e84cc..06ea474 100644 > --- a/drivers/acpi/cppc_acpi.c > +++ b/drivers/acpi/cppc_acpi.c > @@ -1171,7 +1171,7 @@ int cppc_set_perf(int cpu, struct cppc_perf_ctrls *perf_ctrls) > struct cpc_desc *cpc_desc = per_cpu(cpc_desc_ptr, cpu); > struct cpc_register_resource *desired_reg; > int pcc_ss_id = per_cpu(cpu_pcc_subspace_idx, cpu); > - struct cppc_pcc_data *pcc_ss_data = pcc_data[pcc_ss_id]; > + struct cppc_pcc_data *pcc_ss_data; > int ret = 0; > > if (!cpc_desc || pcc_ss_id < 0) {