Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1166131AbdDXHWk (ORCPT ); Mon, 24 Apr 2017 03:22:40 -0400 Received: from dubhe.uberspace.de ([185.26.156.47]:58460 "EHLO dubhe.uberspace.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1166070AbdDXHWj (ORCPT ); Mon, 24 Apr 2017 03:22:39 -0400 X-Greylist: delayed 401 seconds by postgrey-1.27 at vger.kernel.org; Mon, 24 Apr 2017 03:22:38 EDT Subject: Re: [PATCH v2] usb: core: Warn if an URB's transfer_buffer is on stack To: Florian Fainelli , linux-kernel@vger.kernel.org Cc: arnd@arndb.de, maksim.salau@gmail.com, Greg Kroah-Hartman , Alan Stern , Mathias Nyman , Peter Chen , Roger Quadros , Baoyou Xie , Sekhar Nori , Chris Bainbridge , Wolfram Sang , "open list:USB SUBSYSTEM" References: <20170424012939.29929-1-f.fainelli@gmail.com> From: Clemens Ladisch Message-ID: <1f64fcfb-10b0-0407-8f6e-86f94601003f@ladisch.de> Date: Mon, 24 Apr 2017 09:15:55 +0200 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.0.1 MIME-Version: 1.0 In-Reply-To: <20170424012939.29929-1-f.fainelli@gmail.com> Content-Type: text/plain; charset=us-ascii Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 705 Lines: 22 Florian Fainelli wrote: > We see a large number of fixes to several drivers to remove the usage of > on-stack buffers feeding into USB transfer functions. Make it easier to spot > the offenders by adding a warning in usb_hcd_map_urb_for_dma() checking that > urb->transfer_buffer is not a stack object. This description is incomplete. > + } else if (object_is_on_stack(urb->transfer_buffer)) { > + WARN_ONCE(1, "transfer buffer is on stack\n"); > + ret = -EAGAIN; > } else { > urb->transfer_dma = dma_map_single( Not only is there a warning, but the check also forces all those URBs to abort with an error. Well, that makes it even easier to spot the offenders ... Regards, Clemens