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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 24B6FC3ABAA for ; Mon, 5 May 2025 14:13:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 54E846B0082; Mon, 5 May 2025 10:13:50 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4FBD36B0085; Mon, 5 May 2025 10:13:50 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3C3236B0083; Mon, 5 May 2025 10:13:50 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 1E2796B0085 for ; Mon, 5 May 2025 10:13:50 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id F21A81CC752 for ; Mon, 5 May 2025 14:13:49 +0000 (UTC) X-FDA: 83409047778.03.934248D Received: from mail-qk1-f180.google.com (mail-qk1-f180.google.com [209.85.222.180]) by imf03.hostedemail.com (Postfix) with ESMTP id 17E3A20005 for ; Mon, 5 May 2025 14:13:47 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=rowland.harvard.edu header.s=google header.b=hZT8Bifs; dmarc=pass (policy=none) header.from=rowland.harvard.edu; spf=pass (imf03.hostedemail.com: domain of stern@g.harvard.edu designates 209.85.222.180 as permitted sender) smtp.mailfrom=stern@g.harvard.edu ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1746454428; a=rsa-sha256; cv=none; b=8A/ZzxNAWzCJAoU9S14JR/KxnKliiYkf49tYV32F8Ativ264945Vc/ElpBBzQCsfDBiJeR buMwuhZBG0ttiDEdV68ZWl9RhEGYqMS2ZfiY9GoQzPxSWXSd++X5E6Ojtt3EnTt+uO0/cd G+6yPY1vCuBvV0Im/iGXmeI4hJfJ844= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1746454428; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=Km2nNwCy9nfUMi5n8/eIW1Pg+DKWEU9DbSVEm6yXt90=; b=eikj7b7BGhsxndDBX+9Eyp/EfgZE2Px9Ry5i8A+p6te8j+jWb5jmiqJTNBjb8/isQazBzn nrpSH37J0qigM2iSR5wPpBQdLOvUdFiASXnddnHnXwB33+i56cz7PJY9Kit0PZrgyhygIH sx2n+BmZ5JE6Zr+5w7KtzkaCyj/wdkY= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=rowland.harvard.edu header.s=google header.b=hZT8Bifs; dmarc=pass (policy=none) header.from=rowland.harvard.edu; spf=pass (imf03.hostedemail.com: domain of stern@g.harvard.edu designates 209.85.222.180 as permitted sender) smtp.mailfrom=stern@g.harvard.edu Received: by mail-qk1-f180.google.com with SMTP id af79cd13be357-7c559b3eb0bso270174685a.1 for ; Mon, 05 May 2025 07:13:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rowland.harvard.edu; s=google; t=1746454427; x=1747059227; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=Km2nNwCy9nfUMi5n8/eIW1Pg+DKWEU9DbSVEm6yXt90=; b=hZT8BifsV1hwwOTIN896X+8x52shKnnFhPGbkOlazpM8CA/gtBN70ekHvCyJFsQkbd ffNnReeNZRYhmn0dXMObYbtb29ckg2llYZ6kKNU4DV3Ojl7xwPACdKhqHFq5vuBWHooW ulWUHwH3xgzjqd3JAfRhrFOaC3FDoy9jtqsV8FphoKEyCtrAlwCy2U+/ixXWPTW/3/kN sVHZ0Gnkhsvx+PcEDULIHcMMME+D7FdYaF+Gmj8vdOA2bqc344mk4UX7yR2dqCpyohtV 5hir5qiBonZEBXBUZKKDMFSbRMHMuImJdliS6XQbcha1kW+4QKoU1Rw9lVTJic8IZ/wk R61A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746454427; x=1747059227; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=Km2nNwCy9nfUMi5n8/eIW1Pg+DKWEU9DbSVEm6yXt90=; b=HhjhSwnQj3RZ/urhpmjp+39D80iIH0itE+bb9HIaZhg58wSELwoTtrgoGN7qtIOq+6 yLYXhZrb80U5HzX8EvYLRDzNy3W9Ueg48w/E3MyIAp3UBmzkAbyHxPsBW9SS2YMZXxhV vOFmLU4d6JJTD8rqEMr8WS5lqqtxM/WPu2Wy+ld3H3jmT9dkjHk97t8YbdO73mQzm3+x 1MTYZImuuQ8GU9nyHvYZwx5HghIauW1uSTpC/FovqX4SBn5LBQYY/fmZOTTCj0vr5KEy EN9AXLwzr7rD4jW8FofpYSsJg4P8Xos82oXzxf0RcWrpsiOofdRzcm2G4dwWcyETMZ34 K3yw== X-Forwarded-Encrypted: i=1; AJvYcCX34J2DAqwl1nsRFkKGCMRVTFyzgoGKRBYUEGWwYnfv5wD6SgCWjeSP8+JrOZCxiOaV1TCyhdRjBw==@kvack.org X-Gm-Message-State: AOJu0YzSOhj9/6hZ7uZWLn566K/HK+k2ZrULYlGSXbqmBxg4j4p8/ZDK ojeyverkAuvQ1zKRGs8x6ZNq+6YJLTHjy5aUUseGAz/B06/dynXM4/E5/0M8ow== X-Gm-Gg: ASbGncuizh+I+rTrepBJy16FAbJAqr4BWCt1sk4E2pNTB7CNqI/1mgojpRyf3vBzM8y Zhc7Ry1YIxv8ThYKcX6tMO2FaFznRterwim+t8mWEstpHd8cQKR9gWWHgmMzwnz3w0MEwz3Vw8f o1VgcI85nReonLaaIEKz/QRleDouR2LyXCvfSZmfjb/uparU6OAo5jx9hy/Y8XFoIbX+2Su0ejm 7jWL7B9v1P0VIOXgY72tLto62trzz5xbYYOywnUvgoEpfvIv5Bd+H+nYvcVn7G4EI9VJlwqWhrl qFynoUg1QJmGtd1vHmxPOTlJTVycYxUczNHF94yYlughxT8NWsMd0/2Mg98= X-Google-Smtp-Source: AGHT+IE0jGXZkHeqo5VP6fuLU3UosiL4RXVAh+fS3HVNKXlvLlMRZFj24Qgw4HiEH1QgtxUBKzrCRQ== X-Received: by 2002:a05:620a:4884:b0:7ca:ca21:23d9 with SMTP id af79cd13be357-7cae3a88445mr1253233785a.7.1746454427156; Mon, 05 May 2025 07:13:47 -0700 (PDT) Received: from rowland.harvard.edu ([140.247.181.15]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7cad2146a3fsm574523185a.0.2025.05.05.07.13.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 May 2025 07:13:46 -0700 (PDT) Date: Mon, 5 May 2025 10:13:44 -0400 From: Alan Stern To: Christoph Hellwig Cc: Jens Axboe , "Martin K. Petersen" , "Juergen E. Fischer" , Andrew Morton , linux-block@vger.kernel.org, linux-scsi@vger.kernel.org, linux-usb@vger.kernel.org, usb-storage@lists.one-eyed-alien.net, linux-mm@kvack.org, Greg Kroah-Hartman , Hannes Reinecke Subject: Re: [PATCH 4/7] usb-storage: reject probe of device one non-DMA HCDs when using highmem Message-ID: References: <20250505081138.3435992-1-hch@lst.de> <20250505081138.3435992-5-hch@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250505081138.3435992-5-hch@lst.de> X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 17E3A20005 X-Stat-Signature: znwoiji9u8td5k848e1m4kuemry9wpce X-Rspam-User: X-HE-Tag: 1746454427-684674 X-HE-Meta: U2FsdGVkX198Qe2vClyJ1g+7iTFTplkCamimDvTM1GwcJ0DylQCuUOBDyBN5LHJAZCpWZUxzRNNr/LlQbxyn0LsoTqza8h8oW2TrZb81gHUbsL5eoH18x24cm7R6gGNvrE+CAl0TG6BKnOQpopynC6k92nXo5mxTI9QbYIixAvJIVSWRnaHDeMkBko8PAi4Gsm9JPDpeKw4aCvVPA0/T/NDAtpAGyAqz3GbYbz7mSgoKyVRLvt+u9MxmHmlFWk57zP9z0LrB7A2pudCtKbhfVNzHMBAqBfQwtVSU3EmCNCw80yeOI0BFmLm96fD4yTEjncEsINj5zju7XFaclq0SYaWHWUNgZq5T8z2CQtgxnjMOvJCbkICtw641afdoDv3MrRu/wnsF1+h1VbXWrSHeoX8H8pIHojsDkM4hmRL6F5DbgotpJ9GD4gGqp73oTzBbRn62t16hUQw1sltNFNKdLCgnB0sM1fXgycECzgB1xl4Ffw4beRxXaX1CzNoD0/rE5Cvxj3w9RZ1QxbpWzRp1p2rsT6xRz8IvSEflbColPm+0CyAvrprL8nhNvIwYd3nU1NXMmusQP7PUIqK5TP1UuuISbIYItWbRqtJ8ZRCxpGvE3IP9JBqy3+tZqBBu8mh1lFxYp+9or27afZaVsYjHEV0Uxj9FwBqTwfLEBEzHk48bNGjQSknCQTOOpUZBMse5bVHgAooP3eR/17M4q+hWTwfVRkOAQy5qgGOrOPQyj3ttez+jVYCyA19QlfgKaq5mijYz0A21BelQnI/Z3+PdhpMUmGxTay4fnRZXz4yUyCG22CpK9Dv4mY6nkfMrkDQPvHsx3L3vk1wosd3kFlLhG5T3vGoeakWgPsvfI7jQqSMnRp/Cge0ERq0fESNc4Kkds3N+VsBptv2pM4gnVOu7kaLJg4yaDuHBa19GZv2nj2gQrpHlHFDSE4I0cYofhvYm+AgDwjyDYsWOwZDHmiY f+MoEmH3 WjQLtL9qBW1RvQygo+Oh4DMFmIwFvkWMqf2imrnkq4iALfD+hQ12A+jP1Sd5824MqFE9Ks/2D+mJ1+mfKniV4nWF00Mdmv0ol04BrU1LPWo1noR7er88BkoISRDgNa3MUAw7hZ8LUYS6nJvU0RQlHQ68GJnLWOSNeCVD1orKaOGhKddwGqH5SrNj13Soz3ycDPicDMitKbmsTkyryxT6xM1n/LtCCmmcsNRYzxtrvglDgCAb6Bd8FMhSkfFqV0O44qg6F4JwNRMS6bt8zEutMtG5AzUqJtGWdsGU8fPzz0FlwWeQSF7R3mCQNui1WSGVka3WVjH9Mcr6dK3uQEHibWJE3N5WDp6BEoLzuOBETxsTkVPXtA2ABlltGV0fSF0k1ixdY6fcPNFeU5qvq0hReuqBf8SLhLUrXhmqN6vnG5BoOk4Ra7SybtCEMIPUwa7/8CwQOqutA7ESJWD7xoJK6UgJ10yCORLGKExIW/vsdx5uDAxiAAUJGuE03enmdhTS4Eeadh+bsQEj9/y8Iu2Y+SXKnVB+745FdawS7kI6haFC27UylaqfDkmTwUEdCJ3nZO1tUqssZ+wkUZDIeas314DrYKw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Mon, May 05, 2025 at 10:11:23AM +0200, Christoph Hellwig wrote: > usb-storage is the last user of the block layer bounce buffering now, > and only uses it for HCDs that do not support DMA on highmem configs. > > Remove this support and fail the probe so that the block layer bounce > buffering can go away. > > Signed-off-by: Christoph Hellwig > Acked-by: Greg Kroah-Hartman > Reviewed-by: Hannes Reinecke Reviewed-by: Alan Stern > --- > drivers/usb/storage/usb.c | 20 ++++++++++++++------ > 1 file changed, 14 insertions(+), 6 deletions(-) > > diff --git a/drivers/usb/storage/usb.c b/drivers/usb/storage/usb.c > index d36f3b6992bb..152ee3376550 100644 > --- a/drivers/usb/storage/usb.c > +++ b/drivers/usb/storage/usb.c > @@ -1056,13 +1056,20 @@ int usb_stor_probe1(struct us_data **pus, > goto BadDevice; > > /* > - * Some USB host controllers can't do DMA; they have to use PIO. > - * For such controllers we need to make sure the block layer sets > - * up bounce buffers in addressable memory. > + * Some USB host controllers can't do DMA: They have to use PIO, or they > + * have to use a small dedicated local memory area, or they have other > + * restrictions on addressable memory. > + * > + * We can't support these controllers on highmem systems as we don't > + * kmap or bounce buffer. > */ > - if (!hcd_uses_dma(bus_to_hcd(us->pusb_dev->bus)) || > - bus_to_hcd(us->pusb_dev->bus)->localmem_pool) > - host->no_highmem = true; > + if (IS_ENABLED(CONFIG_HIGHMEM) && > + (!hcd_uses_dma(bus_to_hcd(us->pusb_dev->bus)) || > + bus_to_hcd(us->pusb_dev->bus)->localmem_pool)) { > + dev_warn(&intf->dev, "USB Mass Storage not supported on this host controller\n"); > + result = -EINVAL; > + goto release; > + } > > /* Get the unusual_devs entries and the descriptors */ > result = get_device_info(us, id, unusual_dev); > @@ -1081,6 +1088,7 @@ int usb_stor_probe1(struct us_data **pus, > > BadDevice: > usb_stor_dbg(us, "storage_probe() failed\n"); > +release: > release_everything(us); > return result; > }