Received: by 2002:a05:6a11:4021:0:0:0:0 with SMTP id ky33csp222085pxb; Mon, 13 Sep 2021 17:33:23 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwIlMRbAZ7wKh52R8QrWZcY0osXCtduj0eA/nSC2kzrVsOCv5kNj8fYC7v2VHNEAESYhyqf X-Received: by 2002:a05:6402:1808:: with SMTP id g8mr15875160edy.188.1631579602970; Mon, 13 Sep 2021 17:33:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1631579602; cv=none; d=google.com; s=arc-20160816; b=EZJwHtarB4nvvg8y4LQFEtBhtPadamedlPwt267LFAl3+L7wTC4A5828I/FxP1TcyE wX6ejPJewpiqJMt/nixOAhD/aBEbflZ3UemBzathR1+21QsZBeZyW6io8BetFIDtA3vM MU/k0wAfXvMTwgccZhQ/smd7jGEV22Bi31zMOgJzJyyB5McmJxCozpfooEiDt5y/Q0gu CKlzggu0Mc1JlpmCjNjnv8VOYB+80pJiUem1s5P+kWAfl3bCeMoec4M9u7+U5v6zX9e7 0nwxXUWOLaDuQQTHQWA0NqqviFj2DosK4GSKe+5bjrDEuE/pv1y5eqRer225s/mTP/AA Zarw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=qiLT5wxUQTvg9fKSWr18xz+wYCIwz/2sHP7tNI6cGOc=; b=Fcas6XIVeGOjSlH4jvOoRdgnzDa6JJA1ijF+g8yJOygR5/g1MGNbXN+aKmjhu2vHTd BZ7u1TD3tEf5Qy4kbS5BN6O+oKul/puaBAPpuPja/EsgQd+CRLBHSh22Gm9rrWH1R4QM A+fqWeN4XUHHPdmOOkJdOLwe3IxKDywWo4hpfnmtlPCSz0/xWNeL4m/dAD9cb1n2CYd3 qMzEGj+hDvH1Dr4visOg4O+kGRy4Zpc0anCp24AHJhljWWtH0VIJ0DJKQhd9ykY45WXj MKnG0Qy2Pwe23fJFrhgKXv38JPHlbfEF9XpeSrss69yFUPqjCz7RDr7bBN38un03/vUF BBsQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=dpICZtoB; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id ji22si9405426ejc.361.2021.09.13.17.32.59; Mon, 13 Sep 2021 17:33:22 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=dpICZtoB; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1347489AbhIMOee (ORCPT + 99 others); Mon, 13 Sep 2021 10:34:34 -0400 Received: from mail.kernel.org ([198.145.29.99]:51904 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1346887AbhIMO3y (ORCPT ); Mon, 13 Sep 2021 10:29:54 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 5C032615A7; Mon, 13 Sep 2021 13:50:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1631541048; bh=qQ8jGAPDTJUFuzuBdGRvDqaxOg8Q2tXTxaqa0Oocntc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=dpICZtoBRwxJKY5lv7KSSd/RjTyfHoZWO5M7FW2bzNgqpNC9DE5HcSXDMw3IcLbbA lOIxjGSyarNskWHWT+0kpiJbN3B8SDSK5bBHLrqeZg73qn84gSBmSRshoBIolcMqj5 TtCII80DdhRkMDG3yIgSlOYK84fEYE4WzD9Us36o= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, kernel test robot , Andy Shevchenko , Richard Fitzgerald , Petr Mladek , Sasha Levin Subject: [PATCH 5.14 142/334] lib/test_scanf: Handle n_bits == 0 in random tests Date: Mon, 13 Sep 2021 15:13:16 +0200 Message-Id: <20210913131118.151910188@linuxfoundation.org> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20210913131113.390368911@linuxfoundation.org> References: <20210913131113.390368911@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Andy Shevchenko [ Upstream commit fe8e3ee0d588566c1f44f28a555042ef50eba491 ] UBSAN reported (via LKP) [ 11.021349][ T1] UBSAN: shift-out-of-bounds in lib/test_scanf.c:275:51 [ 11.022782][ T1] shift exponent 32 is too large for 32-bit type 'unsigned int' When n_bits == 0, the shift is out of range. Switch code to use GENMASK to handle this case. Fixes: 50f530e176ea ("lib: test_scanf: Add tests for sscanf number conversion") Reported-by: kernel test robot Signed-off-by: Andy Shevchenko Reviewed-by: Richard Fitzgerald Signed-off-by: Petr Mladek Link: https://lore.kernel.org/r/20210727150132.28920-1-andriy.shevchenko@linux.intel.com Signed-off-by: Sasha Levin --- lib/test_scanf.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/test_scanf.c b/lib/test_scanf.c index 84fe09eaf55e..abae88848972 100644 --- a/lib/test_scanf.c +++ b/lib/test_scanf.c @@ -271,7 +271,7 @@ static u32 __init next_test_random(u32 max_bits) { u32 n_bits = hweight32(prandom_u32_state(&rnd_state)) % (max_bits + 1); - return prandom_u32_state(&rnd_state) & (UINT_MAX >> (32 - n_bits)); + return prandom_u32_state(&rnd_state) & GENMASK(n_bits, 0); } static unsigned long long __init next_test_random_ull(void) @@ -280,7 +280,7 @@ static unsigned long long __init next_test_random_ull(void) u32 n_bits = (hweight32(rand1) * 3) % 64; u64 val = (u64)prandom_u32_state(&rnd_state) * rand1; - return val & (ULLONG_MAX >> (64 - n_bits)); + return val & GENMASK_ULL(n_bits, 0); } #define random_for_type(T) \ -- 2.30.2