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 C20E1C54E4A for ; Fri, 8 Mar 2024 17:20:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 671B78D000E; Fri, 8 Mar 2024 12:20:40 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 5FA9F8D0002; Fri, 8 Mar 2024 12:20:40 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 44D468D000E; Fri, 8 Mar 2024 12:20:40 -0500 (EST) 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 2D9F68D0002 for ; Fri, 8 Mar 2024 12:20:40 -0500 (EST) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 0F3891A02D2 for ; Fri, 8 Mar 2024 17:20:40 +0000 (UTC) X-FDA: 81874536240.06.EC5049D Received: from mail-wr1-f54.google.com (mail-wr1-f54.google.com [209.85.221.54]) by imf25.hostedemail.com (Postfix) with ESMTP id 5F5ACA0022 for ; Fri, 8 Mar 2024 17:20:38 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=FiUi9HkA; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf25.hostedemail.com: domain of alexei.starovoitov@gmail.com designates 209.85.221.54 as permitted sender) smtp.mailfrom=alexei.starovoitov@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1709918438; 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=pbCp7DmgJjmAKIHEigoBc3KX7fetXPW58mtVegm0DfI=; b=JU8BVgHg1r7m6usPJMb7yKp8rxzE/SxOV/BPaA8297Z9DSXTqU1jJAiHFoxmnMCoNJK9PM G3Yscq2DbzgGPAdHM0ScFshd1bDtcjqdtlHZrS1/HJjkm+L51D0BX6Vlr5rFllLjEocSGw yOJaCHpDN0/CHroLNTyxhHo+Yc+sb4Q= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=FiUi9HkA; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf25.hostedemail.com: domain of alexei.starovoitov@gmail.com designates 209.85.221.54 as permitted sender) smtp.mailfrom=alexei.starovoitov@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1709918438; a=rsa-sha256; cv=none; b=G37NRjaNK0eA1/2rFdAjz72D+9b8UNALBiJsy4OW/OpsnoHep1XdPEGn3wiPwpgHo5DcNQ TDU4hoE4pDviujXBtZYTCcrVK5+0L6TUnuZnGeeV9rr80EglS20mGFxRELlp7HJLe4RN4S Znu4sVWkbkpdX72eCeRpFb01r+r8/vM= Received: by mail-wr1-f54.google.com with SMTP id ffacd0b85a97d-33e695d0614so656855f8f.0 for ; Fri, 08 Mar 2024 09:20:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1709918437; x=1710523237; darn=kvack.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=pbCp7DmgJjmAKIHEigoBc3KX7fetXPW58mtVegm0DfI=; b=FiUi9HkAehyk8dJwjuOM72CdL0b+Km7OZ5J1Dq2BI5w2F5mDABjVE9Jn7CnNZm79gd YitBKJJJrLqN+rlYpdIFTz4Hua0TgU6fGgPkbtzx8hWMuQGCuvDTsNMIneZjMhJKB+Fc I/+PJLfRNsUp1HYFNv7sNPC4ZlbWy2qJ94ANXoZ6JbIVYOlmoTLaoX2epGYdmtJABHrF 61+dAIBbNEX+wM6nq90tWyhr+tqC81tcGqn1nuYcWec4mSaKfwBOeyfZfzDkoaMWav7Q 90opzq49BWJZQWDkTuVWQQ1EQcA8rYHqyL+Tc2wAYgPJzeCJkHMl7BiDQSuCagsCJ6+k BHwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709918437; x=1710523237; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=pbCp7DmgJjmAKIHEigoBc3KX7fetXPW58mtVegm0DfI=; b=acsN547mD2Ra6sCG/d1vsN4thnucOm/mIuo2Jm0Ef30YIi0s0H4SLWyNS5fQRUgSpn es9n17WB54iLlf6BDoYXnbsk2IpLhdC64nm4ryP8imkNIHYTQG0vVwJWTbBLbF4pS2Nx mTFmr3ba3l4iSTohcqpqlZ/UFYVXJwgA73gzWfRFl9xu7UkfwTJbR98PAtnbqOuZKoln aJg0v1iZ3TPfwg6f7nU1g1ItPD/nGBfBTM2iKOOmss4kD7yres7gWUmZLnjM/jYN+UHl rvYbFC4SVyBoW0NLkP1vVtrkI8FUPn3rLEva7L/2PuWaLDovbHI6tDYiKvRafGY/OvsI 9S2w== X-Forwarded-Encrypted: i=1; AJvYcCVdjvdHq+KEJXaRlkZld7tm+S+7Ej0MrM3W2An5BKb/poT5cAc/fvAuJMryZSutuZqWEvlbaP2Dxza6qG6MCYFtv8c= X-Gm-Message-State: AOJu0YwOe3TY7HKU/dczhsohUVmRW+JXYFAMG0tIVFj8bForUmcdvYtR 9m9BmJAMHaJEy0Hc6/u3B/Y1a+cs8gm0GAF1745l96FPcWifLwxvE6Nw/qWWbTq3zAJGzoWC954 R9chbS+hMAe+IRM7ypba9gPbnu+SI3Zdv X-Google-Smtp-Source: AGHT+IHEyAocoC9+N+chISdLsopzPHdFAe0K730evBmORwJM6yWIHQsZb/nmwlfe88bL3sQ0x/XNwYhYdeZBswTeILk= X-Received: by 2002:adf:e906:0:b0:33e:73f6:c620 with SMTP id f6-20020adfe906000000b0033e73f6c620mr2578060wrm.40.1709918436580; Fri, 08 Mar 2024 09:20:36 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Alexei Starovoitov Date: Fri, 8 Mar 2024 09:20:24 -0800 Message-ID: Subject: Re: vm_area at addr ffffffffc0800000 is not marked as VM_IOREMAP To: Christoph Hellwig Cc: Miguel Ojeda , Linus Torvalds , linux-mm , Andrew Morton , Catalin Marinas , Will Deacon , Linux ARM , Daniel Borkmann , bpf , Bjorn Helgaas , linux-pci@vger.kernel.org Content-Type: multipart/mixed; boundary="000000000000021009061329699e" X-Rspamd-Queue-Id: 5F5ACA0022 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: ghnms393msid6eij57rjbo9frm414xwp X-HE-Tag: 1709918438-709555 X-HE-Meta: U2FsdGVkX1/l2QlRAn/X6LIZCQimxT+waE4CTnCwokoxQE/ascI03frpjY8JkPaME8gnhQfUuO12xpwcBSzAXaNkwgudaIjCqbH25nmlyqSkZV1gfXv2+iLu1Y1ggQMMyMYSaFJ1/Y3zfu8/UOf7wGTp7cuAnWsjU9CxKhCiEH1v+tp05MgNouMkrCCNg/dZ5AsmrS7wbFH+7I7B4Ig6qJtZYEDSRt7G2GXcszi5TwxLpLjt3sqJUSrBElHTrT72hJdLkT2wqoiTTO0gC0p+UIidGDsGvXHTFsma+OpayoXmih276RTS+gg/Py1/P/LSAdI+cCp9pwDl+YdkWIpnXO4U03coJfPhJAUOk69h2nL+SCsGAiw0SycmOZCRxZMub/8VUGeyZ0ofAFpN+f67pgDBWy+DrJWor6lwj6/Bt5Nb6m2SgBzuScERxonclnOIcKIokLKKwib4VSmXh4UdXRBtOiA6zfhn3x/BJrs5M5gyivzxS8jY/9KCUcInK9Ltuu3Mxr6+zwPO4KqgFuK/1dEePODXEGcKRuBXe+UwXY4t44g6sha0eBKqFFqjPXjHU/dovFAiO3AWxZ1OiolQcXF9elaeo5o4Z2pY7LYNxKxNZHhvFXrGXPeM8KmVImdHoFxy9rKA1Tnk7YowSoaXgYcknlTwLBRT4/GmAAn4jKPSo48EgIk7Xncs9af/u9rcOuZjDJXjNEJu1ePhDV4C48MQ65eEXfrUi8YDIQwdv3Iew9u8HbrjCKEsHPMqV/pC0+nOADPhmjstUXuqnIrn1QiytWVkFTDLMPDmQxRSp3NkVKqFIyGxcFvBGbEDVAgZoSc4IWpjilcjixxE9QhVJY81ShoFEY/BXDQFguYYWkESCdRwcf2km1UUJBDkdvbj2WWB3ytLXuki+zJfZH0o06th0OShtgWrqYAwLTk2GcZICGBIU3VQijnKiqYTr3z2PlqppoO36U7E6Or0JYd YJlN2RYi kJTCJ8SKG1egQ8m9fo3kqadTeHbN2E8Vs93x2qXPJsR01FowMu0bZz2g2HMG3qScNzx8cg0Cwz4KisYx+rYQnGnga5DE5nw/r6uECbS9cT+0IEp6wNEtck9+1VN1oSaiBuCOmLnHPZbdBIuoNUiltm4v68uentLStlJN4t+WzY5Vv9oKXSkIg+6HeqW4j/orNCXelhzHuJ30fk3ejmqeY+XQfkXVdr9DHLjiYYq+DcWKmw3/RpZowUENMBBe93uF78ykj 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: --000000000000021009061329699e Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Fri, Mar 8, 2024 at 9:02=E2=80=AFAM Christoph Hellwig wrote: > > On Fri, Mar 08, 2024 at 08:33:18AM -0800, Alexei Starovoitov wrote: > > vmap_range_noflush() is static in mm/vmalloc.c > > There is vmap_pages_range_noflush() that is in mm/internal.h, > > but it needs pages instead of phys_addr_t. > > Newly introduced vm_area_map_pages() needs struct vm_struct *area > > and struct page **pages. > > In this PCI case there is no vm_struct and no pages. > > ioremap_page_range() is the only api that fits. afaict. > > Except that we want to enforce a vm_area with the ioremap flag for > ioremap_page_range, and just adding a NULL check defeats that. > > The right long term thing would be to actually create a vm_area > for the PCI_IOBASE region, but until then we just need a lower level > API. That's why I suggest to add a vmap_range() that is basically > the ioremap_page_range before you added the checks, and make > ioremap_page_range a wrapper around that that checks the area. ok. Like the attached patch? > If/when we get PCI_IOBASE handling converted to the proper > vmalloc/ioremap areas we can remove that again as well as > vunmap_range which is just used for PCI_IOBASE and other equivalent > ISA_IO_BASE in powerpc and somewhat unusual case in arm64 that I > need to look into a bit more. The plan makes sense to me. --000000000000021009061329699e Content-Type: application/octet-stream; name="0001-mm-Introduce-vmap_page_range-to-be-used-by-PCI.patch" Content-Disposition: attachment; filename="0001-mm-Introduce-vmap_page_range-to-be-used-by-PCI.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_ltix9gg70 RnJvbSBhM2EyNmM4NjE5ZjZlZDZkOGNjYTU4YWMxYjFkNTQ4OTQ4YmZlZTA1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGV4ZWkgU3Rhcm92b2l0b3YgPGFzdEBrZXJuZWwub3JnPgpE YXRlOiBGcmksIDggTWFyIDIwMjQgMDk6MTI6NTQgLTA4MDAKU3ViamVjdDogW1BBVENIIGJwZi1u ZXh0XSBtbTogSW50cm9kdWNlIHZtYXBfcGFnZV9yYW5nZSgpIHRvIGJlIHVzZWQgYnkgUENJCgpp b3JlbWFwX3BhZ2VfcmFuZ2UoKSBzaG91bGQgYmUgdXNlZCBmb3IgcmFuZ2VzIHdpdGhpbiB2bWFs bG9jIHJhbmdlIG9ubHkuClRoZSB2bWFsbG9jIHJhbmdlcyBhcmUgYWxsb2NhdGVkIGJ5IGdldF92 bV9hcmVhKCkuIFBDSSBoYXMgInJlc291cmNlIgphbGxvY2F0b3IgdGhhdCBtYW5hZ2VzIFBDSV9J T0JBU0UsIElPX1NQQUNFX0xJTUlUIGFkZHJlc3MgcmFuZ2UsIGhlbmNlCmludHJvZHVjZSB2bWFw X3BhZ2VfcmFuZ2UoKSB0byBiZSB1c2VkIGV4Y2x1c2l2ZWx5IGJ5IFBDSS4KClNpZ25lZC1vZmYt Ynk6IEFsZXhlaSBTdGFyb3ZvaXRvdiA8YXN0QGtlcm5lbC5vcmc+Ci0tLQogZHJpdmVycy9wY2kv cGNpLmMgIHwgIDQgKystLQogaW5jbHVkZS9saW51eC9pby5oIHwgIDcgKysrKysrKwogbW0vdm1h bGxvYy5jICAgICAgIHwgMjMgKysrKysrKysrKysrKysrLS0tLS0tLS0KIDMgZmlsZXMgY2hhbmdl ZCwgMjQgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9wY2kvcGNpLmMgYi9kcml2ZXJzL3BjaS9wY2kuYwppbmRleCBjMzU4NTIyOWMxMmEuLmNjZWU1 NjYxNWY3OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9wY2kvcGNpLmMKKysrIGIvZHJpdmVycy9wY2kv cGNpLmMKQEAgLTQzNTMsOCArNDM1Myw4IEBAIGludCBwY2lfcmVtYXBfaW9zcGFjZShjb25zdCBz dHJ1Y3QgcmVzb3VyY2UgKnJlcywgcGh5c19hZGRyX3QgcGh5c19hZGRyKQogCWlmIChyZXMtPmVu ZCA+IElPX1NQQUNFX0xJTUlUKQogCQlyZXR1cm4gLUVJTlZBTDsKIAotCXJldHVybiBpb3JlbWFw X3BhZ2VfcmFuZ2UodmFkZHIsIHZhZGRyICsgcmVzb3VyY2Vfc2l6ZShyZXMpLCBwaHlzX2FkZHIs Ci0JCQkJICBwZ3Byb3RfZGV2aWNlKFBBR0VfS0VSTkVMKSk7CisJcmV0dXJuIHZtYXBfcGFnZV9y YW5nZSh2YWRkciwgdmFkZHIgKyByZXNvdXJjZV9zaXplKHJlcyksIHBoeXNfYWRkciwKKwkJCSAg ICAgICBwZ3Byb3RfZGV2aWNlKFBBR0VfS0VSTkVMKSk7CiAjZWxzZQogCS8qCiAJICogVGhpcyBh cmNoaXRlY3R1cmUgZG9lcyBub3QgaGF2ZSBtZW1vcnkgbWFwcGVkIEkvTyBzcGFjZSwKZGlmZiAt LWdpdCBhL2luY2x1ZGUvbGludXgvaW8uaCBiL2luY2x1ZGUvbGludXgvaW8uaAppbmRleCA3MzA0 ZjJhNjk5NjAuLjIzNWJhN2Q4MGE4ZiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9pby5oCisr KyBiL2luY2x1ZGUvbGludXgvaW8uaApAQCAtMjMsMTIgKzIzLDE5IEBAIHZvaWQgX19pb3dyaXRl NjRfY29weSh2b2lkIF9faW9tZW0gKnRvLCBjb25zdCB2b2lkICpmcm9tLCBzaXplX3QgY291bnQp OwogI2lmZGVmIENPTkZJR19NTVUKIGludCBpb3JlbWFwX3BhZ2VfcmFuZ2UodW5zaWduZWQgbG9u ZyBhZGRyLCB1bnNpZ25lZCBsb25nIGVuZCwKIAkJICAgICAgIHBoeXNfYWRkcl90IHBoeXNfYWRk ciwgcGdwcm90X3QgcHJvdCk7CitpbnQgdm1hcF9wYWdlX3JhbmdlKHVuc2lnbmVkIGxvbmcgYWRk ciwgdW5zaWduZWQgbG9uZyBlbmQsCisJCSAgICBwaHlzX2FkZHJfdCBwaHlzX2FkZHIsIHBncHJv dF90IHByb3QpOwogI2Vsc2UKIHN0YXRpYyBpbmxpbmUgaW50IGlvcmVtYXBfcGFnZV9yYW5nZSh1 bnNpZ25lZCBsb25nIGFkZHIsIHVuc2lnbmVkIGxvbmcgZW5kLAogCQkJCSAgICAgcGh5c19hZGRy X3QgcGh5c19hZGRyLCBwZ3Byb3RfdCBwcm90KQogewogCXJldHVybiAwOwogfQorc3RhdGljIGlu bGluZSBpbnQgdm1hcF9wYWdlX3JhbmdlKHVuc2lnbmVkIGxvbmcgYWRkciwgdW5zaWduZWQgbG9u ZyBlbmQsCisJCQkJICBwaHlzX2FkZHJfdCBwaHlzX2FkZHIsIHBncHJvdF90IHByb3QpCit7CisJ cmV0dXJuIDA7Cit9CiAjZW5kaWYKIAogLyoKZGlmZiAtLWdpdCBhL21tL3ZtYWxsb2MuYyBiL21t L3ZtYWxsb2MuYwppbmRleCBlNWI4YzcwOTUwYmMuLjFlMzYzMjJkODNkOCAxMDA2NDQKLS0tIGEv bW0vdm1hbGxvYy5jCisrKyBiL21tL3ZtYWxsb2MuYwpAQCAtMzA0LDExICszMDQsMjQgQEAgc3Rh dGljIGludCB2bWFwX3JhbmdlX25vZmx1c2godW5zaWduZWQgbG9uZyBhZGRyLCB1bnNpZ25lZCBs b25nIGVuZCwKIAlyZXR1cm4gZXJyOwogfQogCitpbnQgdm1hcF9wYWdlX3JhbmdlKHVuc2lnbmVk IGxvbmcgYWRkciwgdW5zaWduZWQgbG9uZyBlbmQsCisJCSAgICBwaHlzX2FkZHJfdCBwaHlzX2Fk ZHIsIHBncHJvdF90IHByb3QpCit7CisJaW50IGVycjsKKworCWVyciA9IHZtYXBfcmFuZ2Vfbm9m bHVzaChhZGRyLCBlbmQsIHBoeXNfYWRkciwgcGdwcm90X254KHByb3QpLAorCQkJCSBpb3JlbWFw X21heF9wYWdlX3NoaWZ0KTsKKwlmbHVzaF9jYWNoZV92bWFwKGFkZHIsIGVuZCk7CisJaWYgKCFl cnIpCisJCWVyciA9IGttc2FuX2lvcmVtYXBfcGFnZV9yYW5nZShhZGRyLCBlbmQsIHBoeXNfYWRk ciwgcHJvdCwKKwkJCQkJICAgICAgIGlvcmVtYXBfbWF4X3BhZ2Vfc2hpZnQpOworCXJldHVybiBl cnI7Cit9CisKIGludCBpb3JlbWFwX3BhZ2VfcmFuZ2UodW5zaWduZWQgbG9uZyBhZGRyLCB1bnNp Z25lZCBsb25nIGVuZCwKIAkJcGh5c19hZGRyX3QgcGh5c19hZGRyLCBwZ3Byb3RfdCBwcm90KQog ewogCXN0cnVjdCB2bV9zdHJ1Y3QgKmFyZWE7Ci0JaW50IGVycjsKIAogCWFyZWEgPSBmaW5kX3Zt X2FyZWEoKHZvaWQgKilhZGRyKTsKIAlpZiAoIWFyZWEgfHwgIShhcmVhLT5mbGFncyAmIFZNX0lP UkVNQVApKSB7CkBAIC0zMjIsMTMgKzMzNSw3IEBAIGludCBpb3JlbWFwX3BhZ2VfcmFuZ2UodW5z aWduZWQgbG9uZyBhZGRyLCB1bnNpZ25lZCBsb25nIGVuZCwKIAkJCSAgKGxvbmcpYXJlYS0+YWRk ciArIGdldF92bV9hcmVhX3NpemUoYXJlYSkpOwogCQlyZXR1cm4gLUVSQU5HRTsKIAl9Ci0JZXJy ID0gdm1hcF9yYW5nZV9ub2ZsdXNoKGFkZHIsIGVuZCwgcGh5c19hZGRyLCBwZ3Byb3RfbngocHJv dCksCi0JCQkJIGlvcmVtYXBfbWF4X3BhZ2Vfc2hpZnQpOwotCWZsdXNoX2NhY2hlX3ZtYXAoYWRk ciwgZW5kKTsKLQlpZiAoIWVycikKLQkJZXJyID0ga21zYW5faW9yZW1hcF9wYWdlX3JhbmdlKGFk ZHIsIGVuZCwgcGh5c19hZGRyLCBwcm90LAotCQkJCQkgICAgICAgaW9yZW1hcF9tYXhfcGFnZV9z aGlmdCk7Ci0JcmV0dXJuIGVycjsKKwlyZXR1cm4gdm1hcF9wYWdlX3JhbmdlKGFkZHIsIGVuZCwg cGh5c19hZGRyLCBwcm90KTsKIH0KIAogc3RhdGljIHZvaWQgdnVubWFwX3B0ZV9yYW5nZShwbWRf dCAqcG1kLCB1bnNpZ25lZCBsb25nIGFkZHIsIHVuc2lnbmVkIGxvbmcgZW5kLAotLSAKMi40My4w Cgo= --000000000000021009061329699e--