From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751421AbcFKB0n (ORCPT ); Fri, 10 Jun 2016 21:26:43 -0400 Received: from mout.gmx.net ([212.227.15.19]:50301 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750974AbcFKB0m (ORCPT ); Fri, 10 Jun 2016 21:26:42 -0400 From: Heinrich Schuchardt To: Andy Whitcroft , Joe Perches Cc: linux-kernel@vger.kernel.org, Heinrich Schuchardt Subject: [BUG] False positive in scripts/checkpatch.pl Date: Sat, 11 Jun 2016 03:26:02 +0200 Message-Id: <1465608362-4677-1-git-send-email-xypron.glpk@gmx.de> X-Mailer: git-send-email 2.1.4 X-Provags-ID: V03:K0:QN5V5AD44aXO+5scCi7iWNZKIe9l+ZF05kxsp161AAEuEtl/Zgh 3cndfVYdRE6kH7agye8isuQ2BaRki9EUetYGdZ91SPTXoeDwAmoIKjmkD+0RUORmlUtbJT7 jti0ZpSjbsd+EhVqPu55wFm5LxL5S9L6M9q1/IIMsmxcLog4iPA3SXc5tcsslaKGEabML/c 1Nx5sAww7k91MPYBKZ6vg== X-UI-Out-Filterresults: notjunk:1;V01:K0:KFEM6j/pINo=:IEPgxoZGqhGit31nhZZ/xH H0YTH6kEcOJ159W2PMOwJS5PTyY6goqczQcr5n5plDuOZa+SdvW1IL/s7IdBMp0QsXmTAXiZ6 KBTrX0YF73uqqb+3ASGusGd5wYO51xD0zLuXp3oo61BXfRuzP6ChIUZ9x6QiadWOubf3OknnG wGwevgi5bYzROl/1PF0V6e22H0FUOyRYll8yAjGDGY1Q8j4d/4rcLHntggB1nta0ppXdmpGUi g1uqxIQ8JZ8WpzhjajjaFIV50+V0WWfueIouSjxkVYKlqqC/xTRcCEhAbx3yhDLPv9Rykl6gx Lh6GG6F7ZsMl4ZNxqYEsEO+zYi/GXXeH1tjVgiXNIPPkeCXPjBBP+OEOQdvati040jSp8nlL+ p04cpA1U3+A46JgEpLQH5A9cMMkwDnf8YivM8pd20nhxIBj3oWVF4VIeiemI3Gz5xn6tdlwWC 10x4ThIK0QG/q9a453/u9/Y/O+wGgC3vucj5sVqp6FIpHl+CrvxcHmCvsEjfu5wVyor/ZKdy2 mB6IIjzFwrM0oPOKXT6z9wXgudLHffAnpjWf54Y3aMpnAXeoMB1OdoZBaXpSctDeuKNUZdXH8 KKRuPlyjDtlp/imCfJ4ZrjFF9pm2bY8wOhK+YyyrTZMlgSsKQgWOzhWwJ4ghYK301KYm+m6hB C7FStOPDX01GbWeMBL04c1Vzkp2Txft+SqaJTF49T+Kv37/MaoKPhbOZHWZ/b6thfxv2VL4S/ 26rYEZ1kBZNLGIeIRW2Gc09GBKr1NXesSer3pSqe/BCEYS+u4ujVk1e4MYg= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org scripts/checkpatch.pl reports ERROR: Please use git commit description style 'commit <12+ chars of sha1> ("")'- ie: 'commit 0123456789ab ("commit description")' for this patch. On 64bit systems an undetected overflow may occur in do_proc_dointvec_minmax_conv_param as can be demonstrated with the following example: # echo 9223372036854776806 > /proc/sys/kernel/threads-max # cat /proc/sys/kernel/threads-max 998 Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> --- kernel/sysctl.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/kernel/sysctl.c b/kernel/sysctl.c index 35f0dcb..a9e7be3 100644 --- a/kernel/sysctl.c +++ b/kernel/sysctl.c @@ -2313,7 +2313,17 @@ static int do_proc_dointvec_minmax_conv(bool *negp, unsigned long *lvalp, { struct do_proc_dointvec_minmax_conv_param *param = data; if (write) { - int val = *negp ? -*lvalp : *lvalp; + int val; + + if (*negp) { + if (*lvalp > (unsigned long) INT_MAX + 1) + return -EINVAL; + val = -*lvalp; + } else { + if (*lvalp > (unsigned long) INT_MAX) + return -EINVAL; + val = *lvalp; + } if ((param->min && *param->min > val) || (param->max && *param->max < val)) return -EINVAL; -- 2.1.4