Received: by 2002:a25:ad19:0:0:0:0:0 with SMTP id y25csp6784190ybi; Mon, 8 Jul 2019 08:37:14 -0700 (PDT) X-Google-Smtp-Source: APXvYqwWOfTtZ26NRLiuadrWHb+3ET+9VsedZs6+/JD8HHxcN7rkJ7k+B5mdbwYoXK2SZtYwtq/q X-Received: by 2002:a17:902:3341:: with SMTP id a59mr25265067plc.186.1562600234247; Mon, 08 Jul 2019 08:37:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1562600234; cv=none; d=google.com; s=arc-20160816; b=UM+2yE+seNR7O8dqjMjXaxTOryl+GVmtUuqZr3I2Fx2o93NcjZkQcBneWqGqkUqKaF xHYU4EP93krfHcdtmuWxgp1EXJTiQQTKC3KjaQmS0mbjpjRDVH/pFtpYDJnTrnp9qQnt RIX+jLiADoSJPJP2eV4C/jbP/ZMxOhiNIaPtA2U1VNxbgS1Ge+/b7WXAqzUuD2xxfLm0 x1jyAV/+F6w2pheMcWro3AZ3xSykk100Qql8rZAX5pAEpxWBJuc6rha7wqz3Su+JZlGV fCRAs4tw3e2sY6fJ/wEMi1trS9TURP13qfT+tw0tOpJMG8ugXVAzCDO7sCUH4emiqO8e CMmw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=LF8gPpOeAwmHRnjis/9ZnkUI8UUjjJ8niHBUDq2ECr0=; b=sE1C+5ONH5mFS4KCHcmQb4YSOwhQnaw+jPajkiLWt7JbXXKweUpNdh5CSPuWN8yYIl lCMqXKMC4GKrsYp9PQD0Xk8Q5ltG9LlEs9FXUdzE963pEoNUEdQgwq9rlBbbWrfDsElR qwJzbdvTARqiJlzlfCuwSRIPDqCNMZyDFy+bv0hplfnMe+rZqqL76odejZVJ7pazI4Y0 M1hw3vCNb770NPgGFZtCDI9PxAblcLJ79hMhuaT5RCaBldf2UrOdcfC8lqmgS8nnAgT+ layRhL+I97tlcqtBlWtaWnrdSFSyo9Pf0wFyYo+1gV4+SwBjdVvtYXLchKg3EHvuj+ae p9KQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=hI5Xhh6K; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 32si19014984pla.181.2019.07.08.08.36.58; Mon, 08 Jul 2019 08:37:14 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=hI5Xhh6K; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732651AbfGHPXU (ORCPT + 99 others); Mon, 8 Jul 2019 11:23:20 -0400 Received: from mail.kernel.org ([198.145.29.99]:50180 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732353AbfGHPXP (ORCPT ); Mon, 8 Jul 2019 11:23:15 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id C77D120665; Mon, 8 Jul 2019 15:23:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1562599394; bh=vVFyYXwho3zCgkOD0rbDcYE6AzYSHyuG8zbWWEKW4J4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=hI5Xhh6KYaWvgVL4gU68kgiDY10awdSOHlKBnSOwjGI9xUWb25GqduoicBf7koaje cBawH5shtqt2M0+QaxDHq54/I4ESH1Ee2GDw3YoUkbUEnD9wJWt3u9gAXZgpRp3vkS zluTeJZ+HY8K9IIR0+VaUwXw9ZovV+XVaBrCe8z8= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, syzbot+219f00fb49874dcaea17@syzkaller.appspotmail.com, Takashi Iwai Subject: [PATCH 4.9 090/102] ALSA: line6: Fix write on zero-sized buffer Date: Mon, 8 Jul 2019 17:13:23 +0200 Message-Id: <20190708150531.120534160@linuxfoundation.org> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20190708150525.973820964@linuxfoundation.org> References: <20190708150525.973820964@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Takashi Iwai commit 3450121997ce872eb7f1248417225827ea249710 upstream. LINE6 drivers allocate the buffers based on the value returned from usb_maxpacket() calls. The manipulated device may return zero for this, and this results in the kmalloc() with zero size (and it may succeed) while the other part of the driver code writes the packet data with the fixed size -- which eventually overwrites. This patch adds a simple sanity check for the invalid buffer size for avoiding that problem. Reported-by: syzbot+219f00fb49874dcaea17@syzkaller.appspotmail.com Cc: Signed-off-by: Takashi Iwai Signed-off-by: Greg Kroah-Hartman --- sound/usb/line6/pcm.c | 5 +++++ 1 file changed, 5 insertions(+) --- a/sound/usb/line6/pcm.c +++ b/sound/usb/line6/pcm.c @@ -558,6 +558,11 @@ int line6_init_pcm(struct usb_line6 *lin line6pcm->max_packet_size_out = usb_maxpacket(line6->usbdev, usb_sndisocpipe(line6->usbdev, ep_write), 1); + if (!line6pcm->max_packet_size_in || !line6pcm->max_packet_size_out) { + dev_err(line6pcm->line6->ifcdev, + "cannot get proper max packet size\n"); + return -EINVAL; + } spin_lock_init(&line6pcm->out.lock); spin_lock_init(&line6pcm->in.lock);