Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp3396488pxf; Mon, 22 Mar 2021 05:36:29 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzLi5AWXMqV+oYVKHBQJwp2SMRWc3y9LYnsLmgEVtblVERPdG/3CTc/5jTc3eLKAteaDoB+ X-Received: by 2002:a17:906:5918:: with SMTP id h24mr19400380ejq.501.1616416589389; Mon, 22 Mar 2021 05:36:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1616416589; cv=none; d=google.com; s=arc-20160816; b=PwHsjfyjOeBIWGYVZj0MoIv7BHilYEnYv2RDI8geSnE7VDIvKfHgHRv3ASdlLraznh fH4IWpn7i6eRaduCewlqQpx1lZHUW6FI2pB+SSbT/c+iH+OomufARg3UP5ntBf5jCbOX f+MUpob0MFu1xo+5K0F1apEUlrm1v4DUf8h9wvyCdwRBcn6k8WW4N++NXCz9Jbf1iw+F yEnksfSljbsM9SrsiF2ymV1fZSdXCpTHyvC78+c2jJj1ZrtTwcyQy4WYyVs+uD7Fq6FU xXbIpepnxSBcMGZ7HSpFoNdRFcyI3qdeNLlk6zWYUsKpQLYvrW31I7uRIAofCNhxqBJJ 0osA== 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=QsDtNeeRzqWPRjnvuFVf3y9mxg2o5eSicA/1UTC7sEQ=; b=gF9hMEEEL971aVpBMJjwg3cTM5QR4j6Oeu2cVM4riv8ecrxGh0eCVEdAI1ZfmOhljO k8nJVVEPDcSagE2lXr7fd85AKtbqZ48ypBigxr9IyqT/K3JwhjRmqD4+YvqK5brmM2yY hO579Z0W6GrkfEN2/Y0zShs5aolRr+ybl41m7paEEjzdTUF6hCJPdDRVbQj/tT32Vh14 CqskDgsbQkSNGfdOAB5ZYvhYXcUqw6GNUeUZ7XCEkTuGQIoY4riKBFlcEvqDQycBHzbE GAJgfvMjoVO6TzDUD8LniP62CpCyHeakml9l46Ccbpa5KyL5KcsOhf52UhlTSPRE/LHd iEpA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=IwOV4VoU; 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 d8si11325332edy.246.2021.03.22.05.36.07; Mon, 22 Mar 2021 05:36:29 -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=IwOV4VoU; 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 S231499AbhCVMfI (ORCPT + 99 others); Mon, 22 Mar 2021 08:35:08 -0400 Received: from mail.kernel.org ([198.145.29.99]:54840 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230196AbhCVMcg (ORCPT ); Mon, 22 Mar 2021 08:32:36 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id C3F2661992; Mon, 22 Mar 2021 12:32:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1616416356; bh=Rqh84oPfGpkLWryE55UI1gfvz+d8MIqsBpn7j7LeXzQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=IwOV4VoU6ILOT4H8IW20iXIYb8YEuLMZ6cwwZI0dHZmLd0Pqhv6s2Qkh7qGb24L2m OvKCGu2LRVuhyAiYMDRoi3j4bHuFK67pICucfZGmZD0zDbI/0G8rjcJMa5vPU3EnBv p8DBwt8BXRODUCzqVd3mDNMpVcb+CezwHLJzUYk4= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Colin Ian King , Takashi Iwai Subject: [PATCH 5.11 040/120] ALSA: usb-audio: Fix unintentional sign extension issue Date: Mon, 22 Mar 2021 13:27:03 +0100 Message-Id: <20210322121930.996167381@linuxfoundation.org> X-Mailer: git-send-email 2.31.0 In-Reply-To: <20210322121929.669628946@linuxfoundation.org> References: <20210322121929.669628946@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: Colin Ian King commit 50b1affc891cbc103a2334ce909a026e25f4c84d upstream. The shifting of the u8 integer device by 24 bits to the left will be promoted to a 32 bit signed int and then sign-extended to a 64 bit unsigned long. In the event that the top bit of device is set then all then all the upper 32 bits of the unsigned long will end up as also being set because of the sign-extension. Fix this by casting device to an unsigned long before the shift. Addresses-Coverity: ("Unintended sign extension") Fixes: a07df82c7990 ("ALSA: usb-audio: Add DJM750 to Pioneer mixer quirk") Signed-off-by: Colin Ian King Link: https://lore.kernel.org/r/20210318132008.15266-1-colin.king@canonical.com Signed-off-by: Takashi Iwai Signed-off-by: Greg Kroah-Hartman --- sound/usb/mixer_quirks.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- a/sound/usb/mixer_quirks.c +++ b/sound/usb/mixer_quirks.c @@ -2883,7 +2883,7 @@ static int snd_djm_controls_put(struct s u8 group = (private_value & SND_DJM_GROUP_MASK) >> SND_DJM_GROUP_SHIFT; u16 value = elem->value.enumerated.item[0]; - kctl->private_value = ((device << SND_DJM_DEVICE_SHIFT) | + kctl->private_value = (((unsigned long)device << SND_DJM_DEVICE_SHIFT) | (group << SND_DJM_GROUP_SHIFT) | value); @@ -2921,7 +2921,7 @@ static int snd_djm_controls_create(struc value = device->controls[i].default_value; knew.name = device->controls[i].name; knew.private_value = ( - (device_idx << SND_DJM_DEVICE_SHIFT) | + ((unsigned long)device_idx << SND_DJM_DEVICE_SHIFT) | (i << SND_DJM_GROUP_SHIFT) | value); err = snd_djm_controls_update(mixer, device_idx, i, value);