From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [1/5] USB: serial: fix unthrottle races From: Johan Hovold Message-Id: <20190429100338.GJ26546@localhost> Date: Mon, 29 Apr 2019 12:03:38 +0200 To: Oliver Neukum Cc: Johan Hovold , Greg Kroah-Hartman , Alan Stern , linux-usb@vger.kernel.org List-ID: T24gTW9uLCBBcHIgMjksIDIwMTkgYXQgMTE6NTA6NThBTSArMDIwMCwgT2xpdmVyIE5ldWt1bSB3 cm90ZToKPiBPbiBEbywgMjAxOS0wNC0yNSBhdCAxODowNSArMDIwMCwgSm9oYW4gSG92b2xkIHdy b3RlOgo+ID4gQEAgLTQ4NCw2ICs1MDMsMTIgQEAgdm9pZCB1c2Jfc2VyaWFsX2dlbmVyaWNfdW50 aHJvdHRsZShzdHJ1Y3QgdHR5X3N0cnVjdCAqdHR5KQo+ID4gICAgICAgICBwb3J0LT50aHJvdHRs ZWQgPSBwb3J0LT50aHJvdHRsZV9yZXEgPSAwOwo+ID4gICAgICAgICBzcGluX3VubG9ja19pcnEo JnBvcnQtPmxvY2spOwo+ID4gIAo+ID4gKyAgICAgICAvKgo+ID4gKyAgICAgICAgKiBNYXRjaGVz IHRoZSBzbXBfbWJfX2FmdGVyX2F0b21pYygpIGluCj4gPiArICAgICAgICAqIHVzYl9zZXJpYWxf Z2VuZXJpY19yZWFkX2J1bGtfY2FsbGJhY2soKS4KPiA+ICsgICAgICAgICovCj4gPiArICAgICAg IHNtcF9tYigpOwo+ID4gKwo+ID4gICAgICAgICBpZiAod2FzX3Rocm90dGxlZCkKPiA+ICAgICAg ICAgICAgICAgICB1c2Jfc2VyaWFsX2dlbmVyaWNfc3VibWl0X3JlYWRfdXJicyhwb3J0LCBHRlBf S0VSTkVMKTsKPiAKPiAKPiBEb2Vzbid0IHRoZSBzcGluX3VubG9ja19pcnEoKSBpbXBseSBzbXBf bWIoKT8KPiBPdGhlcndpc2UgaXQgbG9va3MgY29ycmVjdCB0byBtZS4KCk5vLCBzcGluX3VubG9j a19pcnEoKSBpcyBvbmx5IGEgb25lLXdheSBiYXJyaWVyLCBhbmQgZG9lc24ndCBwcmV2ZW50Cmxh dGVyIGFjY2Vzc2VzIGZyb20gIm1vdmluZyIgaW50byB0aGUgbG9ja2VkIHNlY3Rpb24uCgpKb2hh bgo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.6 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,MAILING_LIST_MULTI,SPF_PASS,T_DKIMWL_WL_HIGH,USER_AGENT_MUTT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 76F4CC43219 for ; Mon, 29 Apr 2019 10:03:42 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 415D520644 for ; Mon, 29 Apr 2019 10:03:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1556532222; bh=px6iYB39i2NbnVV4K4FjEh7chnHKxPgRHmIed8Y63uE=; h=Date:From:To:Cc:Subject:References:In-Reply-To:List-ID:From; b=v8qsn4njFoZc5YqHBCODoxKVSUmfHHCnBPbyvoKMcqANjFJ4I6QKOjAqIEPPYxkLH yANZrQlHHSgLd32UsEja7WAfkzjYu4hlCGdKYQMNgdcsxeRfORX1FHClnVosRVSy9g R5QNORDOH4Fu0awzdp9Cpe0YQCNRzRVhs3N3OMqw= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727736AbfD2KDl (ORCPT ); Mon, 29 Apr 2019 06:03:41 -0400 Received: from mail-lf1-f67.google.com ([209.85.167.67]:43228 "EHLO mail-lf1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727560AbfD2KDl (ORCPT ); Mon, 29 Apr 2019 06:03:41 -0400 Received: by mail-lf1-f67.google.com with SMTP id i68so7349247lfi.10 for ; Mon, 29 Apr 2019 03:03:40 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=PuNazoOHqlFL3cHEewE98dxi0W9UyYVBBah0gZS//q8=; b=mEezCxuJcq4dSfMrAnEDyUjkwY27FB6Lj3GLiktICdAfQOr5B6GwFwyeINrvCyJvdT LmsKAsUaN1PPOsNx4HCRxT56sPg6SwLv6s0YM3PlkoK0uIVvncVGvtr4bEu44SdquPII fb3A9hfHNQMIMQd5RrYpfTyJIq4JanIFQYMrq3qMcVxgW/xNwH7DJP/Nd/fZ6du1NJsg V4N5p6cY1WkmuwMaPsQmwyxVDnmIF6bIuBTxCjnK0+hWbgZ1x9nNpLuYmIp8bJ8jtkjT 0SAA7zfI332od4mTUtcRwHfiSafFIl0hCAuH7qG5b5Kh++p7sW+ohewyCltZJ1tMI7xz zzJw== X-Gm-Message-State: APjAAAWmxElPAxWfvtz2ztqcUc098pvnTd62SqW40HzRln1WcPsWX+pa BKuh+9Iwmju7tuDjydDZ/Dhl2fqo X-Google-Smtp-Source: APXvYqxCIcyN5o5tUJb15WU8sb7m0R3iS5VzUA2oDhEm8NiywWk8rBigpDIMYx4Z63daKmiqDOPxfA== X-Received: by 2002:ac2:5487:: with SMTP id t7mr7275592lfk.41.1556532219489; Mon, 29 Apr 2019 03:03:39 -0700 (PDT) Received: from xi.terra (c-74bee655.07-184-6d6c6d4.bbcust.telenor.se. [85.230.190.116]) by smtp.gmail.com with ESMTPSA id j13sm3481049lfb.34.2019.04.29.03.03.37 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 29 Apr 2019 03:03:38 -0700 (PDT) Received: from johan by xi.terra with local (Exim 4.91) (envelope-from ) id 1hL38M-0003E7-PF; Mon, 29 Apr 2019 12:03:38 +0200 Date: Mon, 29 Apr 2019 12:03:38 +0200 From: Johan Hovold To: Oliver Neukum Cc: Johan Hovold , Greg Kroah-Hartman , Alan Stern , linux-usb@vger.kernel.org Subject: Re: [PATCH 1/5] USB: serial: fix unthrottle races Message-ID: <20190429100338.GJ26546@localhost> References: <20190425160540.10036-1-johan@kernel.org> <20190425160540.10036-2-johan@kernel.org> <1556531458.20085.8.camel@suse.com> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Disposition: inline In-Reply-To: <1556531458.20085.8.camel@suse.com> User-Agent: Mutt/1.11.4 (2019-03-13) Sender: linux-usb-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-usb@vger.kernel.org Message-ID: <20190429100338.MdKV8_ZYBv2lpxlRQezdWQhDl_5y-SPBCiCh66x8Hdo@z> On Mon, Apr 29, 2019 at 11:50:58AM +0200, Oliver Neukum wrote: > On Do, 2019-04-25 at 18:05 +0200, Johan Hovold wrote: > > @@ -484,6 +503,12 @@ void usb_serial_generic_unthrottle(struct tty_struct *tty) > > port->throttled = port->throttle_req = 0; > > spin_unlock_irq(&port->lock); > > > > + /* > > + * Matches the smp_mb__after_atomic() in > > + * usb_serial_generic_read_bulk_callback(). > > + */ > > + smp_mb(); > > + > > if (was_throttled) > > usb_serial_generic_submit_read_urbs(port, GFP_KERNEL); > > > Doesn't the spin_unlock_irq() imply smp_mb()? > Otherwise it looks correct to me. No, spin_unlock_irq() is only a one-way barrier, and doesn't prevent later accesses from "moving" into the locked section. Johan