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 5F48CC531DC for ; Fri, 16 Aug 2024 08:58:02 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id EBA116B02E4; Fri, 16 Aug 2024 04:58:01 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E6A486B02E5; Fri, 16 Aug 2024 04:58:01 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CEF5B8D002B; Fri, 16 Aug 2024 04:58:01 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id B13796B02E4 for ; Fri, 16 Aug 2024 04:58:01 -0400 (EDT) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 2FF71121A52 for ; Fri, 16 Aug 2024 08:58:01 +0000 (UTC) X-FDA: 82457506362.01.D944A71 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf03.hostedemail.com (Postfix) with ESMTP id E5DEB2002E for ; Fri, 16 Aug 2024 08:57:58 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=KDtNI3g9; spf=pass (imf03.hostedemail.com: domain of david@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=david@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1723798620; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=3kPI6r1w4qQs31tMsarBNqKUKUjQAoblMFtYfPMJ9a8=; b=8cJhdmNTaXfW9QmdRfFsjx2j9PdrD50yMGz7nDJ9GrTiuw7S/PyvKRX3XcSW+c2YpeltTP rc3VK2rL7R/hqz2RQi5gpla72+PKlpIjnUvFww6obJJb67aQhqqNCPbXeBhXKdkZZdvyod ppgpMLptbZcMd4nL5jq4aHkfezMd4BY= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=KDtNI3g9; spf=pass (imf03.hostedemail.com: domain of david@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=david@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1723798620; a=rsa-sha256; cv=none; b=X3Ot2ZfQMHuSRk2YM1a/nX/cL2r3Dj32rwxZ6u4MBqcnFHv8+npOpQDST4UK3QkAj3rdz2 Hwp6HhSnfuL9v0l41yEVezRub7u2z4YaPZcB+Yszy7HVpud766J3L8Cbk2n0tGfRhtPLpR yI/fbrzZB5P6vc6KJdweo0IPf8V6K8c= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1723798678; h=from:from: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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=3kPI6r1w4qQs31tMsarBNqKUKUjQAoblMFtYfPMJ9a8=; b=KDtNI3g9KSpCA1dgxJChtGzqgwSkXu54o7HOKQDNhTDKEZD5gqWGlf3yWImInfbLe8iUwn UbQD8veT/vGufrjd4AYkB9phSAscuTH2OIxF7iK4rQNa4qOYWnlnydf/afCzZFwCbRbPg+ wAOj1Welp2b47o7dZLuK/7DdMs1lIzg= Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-175-IeF09Hg4OsOyuvg23Ygycw-1; Fri, 16 Aug 2024 04:57:40 -0400 X-MC-Unique: IeF09Hg4OsOyuvg23Ygycw-1 Received: by mail-wr1-f71.google.com with SMTP id ffacd0b85a97d-3718d9d9267so620352f8f.0 for ; Fri, 16 Aug 2024 01:57:40 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723798659; x=1724403459; h=content-transfer-encoding:in-reply-to:organization:autocrypt :content-language:from:references:cc:to:subject:user-agent :mime-version:date:message-id:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=3kPI6r1w4qQs31tMsarBNqKUKUjQAoblMFtYfPMJ9a8=; b=oPcCQxuCd/wMxXWfCkQ6GsBbcV+OaACLx0IrTQZNUtyTty5KKxKZEU7e+wUKPSNnBt kaZk7+OTquLfHRfXSp8BFAZSAPjxGz7oK/Ij79tL0hewplmO/iNRxF3D7XXlYswWfEEN 1BmQcJep+rjkdc8Li9rThC79KDqai4YtnKkudc8vjmJgR6JwesKnaHXt9A/uH94NLgKT lWYhjsuF+l85atISnWBNCVhVtboLltHFMxF72QQT0b3u4gtT8/SP6TrURtcw3aH/3uTH HRcBf7WxzGNlUzsUsPfqb1eiXLRaPbozQavURwyoDJWvkI+lnnLZnHtFQaau8So44XJ2 pw8w== X-Gm-Message-State: AOJu0YxXmiyJFxaJafS4Ydq7uQ1VkTqB0iPohDddxNXlN3lPu+t+qq6o E2UG4bHrRSTOpmjMIC1BUwpF1HsybhKQjbCORL1IsNAFFNjez6wvoFmH3Ho5nLugcgZBjL287qN huiMgeeVD0jh3tfRKqMrrilsXOxukUC3FFNXlvi6l0xHj8KJR X-Received: by 2002:adf:ce8e:0:b0:367:95e6:158a with SMTP id ffacd0b85a97d-371946db8bbmr1185497f8f.63.1723798659095; Fri, 16 Aug 2024 01:57:39 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFtCXvPWHFOf3OHKw0wVaLF55Z+fjaN7H4hllFfLrVeIdxyqJKhSbCID4om543+9USnXxnkcw== X-Received: by 2002:adf:ce8e:0:b0:367:95e6:158a with SMTP id ffacd0b85a97d-371946db8bbmr1185470f8f.63.1723798658567; Fri, 16 Aug 2024 01:57:38 -0700 (PDT) Received: from ?IPV6:2003:cb:c721:b900:4f34:b2b7:739d:a650? (p200300cbc721b9004f34b2b7739da650.dip0.t-ipconnect.de. [2003:cb:c721:b900:4f34:b2b7:739d:a650]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-429ded7ead3sm72048675e9.47.2024.08.16.01.57.37 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 16 Aug 2024 01:57:38 -0700 (PDT) Message-ID: <192dcb60-e274-4b2c-a626-608bee4dbe65@redhat.com> Date: Fri, 16 Aug 2024 10:57:36 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] Resource: fix region_intersects() for CXL memory To: Dan Williams , Andrew Morton , Huang Ying Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-cxl@vger.kernel.org, Davidlohr Bueso , Jonathan Cameron , Dave Jiang , Alison Schofield , Vishal Verma , Ira Weiny , Alistair Popple , Andy Shevchenko , Bjorn Helgaas , Baoquan He References: <20240816020723.771196-1-ying.huang@intel.com> <20240815215302.5ed29b99e94a48aea49269ce@linux-foundation.org> <66bede74cb96f_1c18294ce@dwillia2-mobl3.amr.corp.intel.com.notmuch> From: David Hildenbrand Autocrypt: addr=david@redhat.com; keydata= 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 WNyWQQ== Organization: Red Hat In-Reply-To: <66bede74cb96f_1c18294ce@dwillia2-mobl3.amr.corp.intel.com.notmuch> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Stat-Signature: 1hs8xho5wbgycs7bakptee8hg4tdr6gg X-Rspam-User: X-Rspamd-Queue-Id: E5DEB2002E X-Rspamd-Server: rspam02 X-HE-Tag: 1723798678-559929 X-HE-Meta: U2FsdGVkX195/FSVzgqvpkwsGdzsG81RkIxfrziQJ0OBIO0RQZWMf0aFJKSLinfFLIF0dji0Z+hX2PDmb9BXrXbi6/SwUDnLGyYHbqaXXo/zYOXoywUFoUKKLvkou/Fedqm9wBqztk3LwcR90+rZkCoPU5WrF6aypM7aJX3N9IjnSmz8bLfihGZLNUvSjAdoMRijsiULXYLgtdD9qCD+GeqhyP3MbS4pWEqAbIDwp/6J2OYLW5hejGB8v/qIQ7PbX+h9W5Hh9ZKv8r0U2WHgJPtmor+8g/Xv141UYm/pRlE93n0pvIIjqripuuoU+MBmaUDINeZFYMLvzc+0SK9A4clatS1PIiAkf50ycEEZsIIuelReRYsPDy5oIqjG664CNMZyPiNs0YslzgZY+kUV4XHXxNhXPSlDFFe3ewdj/svb14GD8si0byrYusM3iVyXfVxKuVnfHDirFcImMsBilDIIbaBhjAnE5hOVDmqHcwqvaMdSsI5/6Fe3tnbrdYtvHeoU/Cl14QinZLSnSZ6w/PLiywdPfKxotMw4HyGO+kSXGYFyEJiURnppLzfoJG0AlAv0b0C48dXXJJz2Txw7PIzozryHU1Ru9FsZtnTYTo8eXZ+fub9EO3nWHfhSisCraQzqcG72RjZj7DJz7YVmp2WJhWNQzsMJIKsU9Xj0nNb/uCVipeWcvtmktPQ+KaPGaSWpIrmHW3gds3D+CESxvlTppkEoHzvTR//hn0+jVLEEZcBqLKg2IuBcG/4BKr78i7Y1jaIhWWL8jnHbdpJo6/7XJzVaBrqtHE//UM0/OTBY3Fi3UvQmFipm/MTREKpm4Be96/xcOZRaEMRm89SsAeP91oEt1vDCxFg9uWDAa122xe6PKlge0HWWYffxCMkBlrpWyjexV2Z3ABNZ+WejoO5f9Uo4RDLZi5cpakTBeeR+SKR4n1lVsHbNW0hheqb0rK/yw2QQrbZefYgH+W/ l0y8eotk +JO4Yyt1X1Zy403LlbDdoVW1cknN4jFskfUbGflNqK1zad5XlkwnpzlOYAkFGFdP5ZNSX21uVhL+8CIWjD96U8w8zd8y7jCHLzWZ1AJtoiP+zI8fjtleD+RxKmE7KqDyWUDHT3CD6LuCMs+vlMpCpro1lIr4A8xoQ10HNKh6M9hwc48OcCAVmlM8hiIiDhUnkrWnjKRL+UCE8vWNNDTJ0Skn07UpCpDJF/C8ZPK4JR6OkT+b0LP9qmPspe98hwb6wrEImB5QPFt/EqjEsnSdT3zGPf1GNMLz/10AVSEsYaDZt+nm0EyYkv9WBNUVSdteTJgbqniwAe4ETV659LfS9rQfVQYxhfKKjjlvKzvu+Ma1gTqj+WyPEg1E9pIhiAmvfB3UrVzP0LEWhlfczB8xEBLe8ZK/1o9Pcj7OjLB65G7eU6aXlXanftp/Dab1rsETIDvW6 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 16.08.24 07:07, Dan Williams wrote: > [ add David ] > > Andrew Morton wrote: >> On Fri, 16 Aug 2024 10:07:23 +0800 Huang Ying wrote: >> >>> On a system with CXL memory installed, the resource tree (/proc/iomem) >>> related to CXL memory looks like something as follows. >>> >>> 490000000-50fffffff : CXL Window 0 >>> 490000000-50fffffff : region0 >>> 490000000-50fffffff : dax0.0 >>> 490000000-50fffffff : System RAM (kmem) >>> >>> When the following command line is run to try writing some memory in >>> CXL memory range, >>> >>> $ dd if=data of=/dev/mem bs=1k seek=19136512 count=1 >>> dd: error writing '/dev/mem': Bad address >>> 1+0 records in >>> 0+0 records out >>> 0 bytes copied, 0.0283507 s, 0.0 kB/s >>> >>> the command fails as expected. However, the error code is wrong. It >>> should be "Operation not permitted" instead of "Bad address". And, >>> the following warning is reported in kernel log. >>> >>> ioremap on RAM at 0x0000000490000000 - 0x0000000490000fff >>> WARNING: CPU: 2 PID: 416 at arch/x86/mm/ioremap.c:216 __ioremap_caller.constprop.0+0x131/0x35d But we should definitely fix the warning. >>> ... >>> >> >> Presumably we want to fix earlier kernels? If so, are you able to >> identify a suitable Fixes: target? Possibly 974854ab0728 ("cxl/acpi: >> Track CXL resources in iomem_resource")? > > At least that commit, but I think this problem potentially goes back > farther to: > > c221c0b0308f device-dax: "Hotplug" persistent memory for use like normal RAM > > ...because that started the era of "System RAM" as a non-top-level > resource. > > David did a bunch of work to fix this back in: > > 97f61c8f44ec kernel/resource: make walk_system_ram_res() find all busy IORESOURCE_SYSTEM_RAM resources > > ..but the fallout in region_intersects() was missed. Sounds reasonable. For virtio-mem we set IORESOURCE_SYSTEM_RAM|IORESOURCE_EXCLUSIVE on our (highest) parent resource (to make any /dev/mem access attempts of that memory fail). So the problem is likely specific to other add_memory_driver_managed() users. I have a faint recollection that at some point we had code that would set IORESOURCE_SYSTEM_RAM on parent resources up the tree, but either my memory is wrong or that code was ripped out long ago. Fix idea is reasonable: check if anything in that range is IORESOURCE_SYSTEM_RAM. -- Cheers, David / dhildenb