Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp3405458pxf; Mon, 22 Mar 2021 05:50:27 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyK6ty7Xsss9yBubZvvE2Zf6xvHmGr4dBgJ7iRdy/vF4D/FL6t0zJ8KFv0pnbuxyu/mx720 X-Received: by 2002:aa7:c403:: with SMTP id j3mr25534010edq.137.1616417427649; Mon, 22 Mar 2021 05:50:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1616417427; cv=none; d=google.com; s=arc-20160816; b=IMPMc5AhsM2RyHG+1wxwWQEcN1AjOv/f3tvb0Tnn5YejNV8OCN+dGs/DrZUH+IYXPp 2P2XQeS5UlFihoNhpsVRljRT3zAQT0oJmBsg4/zFmwWUuj1BdgRXKc4q8mUe57WvqC6K zwGV6QHmcrE5qSZgx0aG7VwQFUGLth+Yf4BxALDoaeQmJndWkHQFB52+XV/bLY+LtK1L 8hjV+03REzs1n6mT8f4VMAQP2PgA3a/yJfZSa9zzPY3eYE1Pom/jwc9On1rZNFR4hE7S YbJ1yao2K0aCJrry4dOHh1DondX3pZ6y/dulDgHozjUCbS8I+cn7YAr0yYfkmEBgWDX7 BiwA== 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=s9ykr/OhVcPNb758UwpvC9HW1iFmyXfdYD5KSfl5BPPkcegSmh7s5aV3s7Dfcgfmdc APyKk7zqtU3APbAj+hnkGjgOTjFElnwR7Q0SBtbX3yKID7e/HSM0YdTjQ+F74hm7yDv/ yDa1g05kTsMKXoal3RKWkbxmAIsujTs9YuN6au2lI5pNSY+xZMyGs/Dq9BQt2sq34i4x jDlh2LNpMpldvC+/mzPJUMqoTZnalrDdavrpFXISvVj8Dp0F0tDV2V83hEfesBfjCbUY nwrIc80JkWWXYBQqdMhQPZ+IM+xfMfuZMAwxBedH6IIxYVdvqVBfdzFDff0hAxJR6SvM Hiuw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=LRkGNXQU; 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 k2si3226199ejx.546.2021.03.22.05.50.05; Mon, 22 Mar 2021 05:50:27 -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=LRkGNXQU; 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 S230385AbhCVMqP (ORCPT + 99 others); Mon, 22 Mar 2021 08:46:15 -0400 Received: from mail.kernel.org ([198.145.29.99]:34122 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231704AbhCVMi0 (ORCPT ); Mon, 22 Mar 2021 08:38:26 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 3A394619B6; Mon, 22 Mar 2021 12:37:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1616416656; bh=Rqh84oPfGpkLWryE55UI1gfvz+d8MIqsBpn7j7LeXzQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=LRkGNXQUucXwTPtE7lOmTSiw9QWTCo3n8XHJxq8RDd39uy36oeJ3SEc6oWWJTNIvv 44Gh0nfv8ECcQSuhBpNU1HPPFLsE7QlmZGw8zEIltzLqKaPXrRmEeL72xI8cUoKGaX g1Wq7aS4njqRZySxRj7fuEvYmkaJQsXYETH6Xpks= 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.10 035/157] ALSA: usb-audio: Fix unintentional sign extension issue Date: Mon, 22 Mar 2021 13:26:32 +0100 Message-Id: <20210322121934.872616590@linuxfoundation.org> X-Mailer: git-send-email 2.31.0 In-Reply-To: <20210322121933.746237845@linuxfoundation.org> References: <20210322121933.746237845@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);