From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pz2-f0.google.com (mail-pz2-f0.google.com [74.125.228.0]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AEC2F444719 for ; Tue, 18 Aug 2026 09:24:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.228.0 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787045071; cv=none; b=X8blU7J/TAutAh2XtXf9IcNaMIQDKUW5NbTAPC+7o2wr96khGvL5BOPz4jd9jD7uxrS5Rz6YxqEmCsgSFJlkEMlizunDnPCbtFlAz79+xOUevzR36RcPyEqnFPONezzTai0LdQS6/HmYeJx4RzlZ62XgQmuziSa/S5qGa0Ox9og= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787045071; c=relaxed/simple; bh=XK9oF+spn3Q9EflDQqaeZhgSOFD37Pm50QwK+qYrZ+c=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=hexWWINCmfnsOUH6E59WJaLPYLgX2mm2K9DtfK2miDRIfIaB+WX052yulWtynsZAtBgJM35t2w/GZe77hOGqXC6D3VOcPuW7YX6KlbGvc2v/8AazAlAzIbITeuOjLv65/OVTdax0BJRwrU62nA/0+O5APSpaEg0DDFb1vvbH64A= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=PfGE9eU0; arc=none smtp.client-ip=74.125.228.0 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="PfGE9eU0" Received: by mail-pz2-f0.google.com with SMTP id 41be03b00d2f7-cbb92a1213fso1618602a12.0 for ; Tue, 18 Aug 2026 02:24:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787045069; x=1787649869; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to:content-type; bh=A1pbnb70esMHiIG2GjQa1pvwn7zF1O2Mpz4YdOsewSo=; b=PfGE9eU0qLUTeR3yocRlqp1Lp39l1848+4zz/Xn9auDyXy8K7hhuyldv7q8DUeWIFi PCyGlfBUDDHwHGX0hi2Pj+tTWKFwLUk7H/vSTbSJqLgtSHs0DgP/tENMz8FeuRsAjZuU ZgX3yD2vqpmpllPO+SWqWpMzbguc/Fnj7i1Wu7+TbRSW+AxcJOiRuDEb6NFiklGkZWn8 mayaRIhEFKzS4pDDgxytHsWP9pYrM6OZ5eg1yE4v+WWergcNWQ0+Rg5OgQlLgKz0hmWH 2cFziwZrt/5ZUiEB6SnXvYdjcLgxsnaKBoTUA9PHXNJa+fTIfpVFuvJQ0+X398Bg/sFx GRbA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787045069; x=1787649869; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=A1pbnb70esMHiIG2GjQa1pvwn7zF1O2Mpz4YdOsewSo=; b=de67zv3hwAHo0BnRyGJjMi5tH5gbsgk0WcudaK9Vf70Fo8Yk0WERtxv6tO2Bnw9a/7 BP3zD7cqPHp5wT208CGIUNTbl2S+EmI8F/8v8hq/zkq3vKVo3I6h5B+G0cR0BHKJCHv1 oM/yZkbzBtY7A1562UryWpfoxCMPy8jbZbYuC+xvLBhO/RBzHtn0Z0Ud0COtYE0o71Gl xmxrv4rw8SUoWR/uxfLIeNQYTfp3IKvV2x/mUlmoDSfGSPEjA4hxQDVh03akwGnQbQda hSbcQ3AmjebXRvFDb09Jx+CPm9Xj3CAJmqwnmHyPeUmKASsket4qavaR75AvNlosHGBY RXAQ== X-Forwarded-Encrypted: i=1; AHgh+Ro1VHhnlLAKGqxk9s39omn7aUkMwVrdfpdh+6nArFh6aN9ao38RfIeqB0EgMwW3i4VO15yWBqJJj7fVPxc=@vger.kernel.org X-Gm-Message-State: AOJu0YzyxTXL2sA4LS8tFWUWxFTXE/y5SEFh+rGrNwANScQpiwVlX3Y8 L+S8XeKKG8XvNYzZu3WtY6C9Uv1RbHnAG0uyMpByupIQI1EuqOcJ1hVX X-Gm-Gg: AR+sD10R62RZAaD5kTBX8tinbx2O2q4eOpJAzrD6enNvzDZav0D1k2cAeNkzGbXyX4D LY567Sfg9UkGQrfieIoHXC0X7MihRPCi4yYFgnZhYDWjtU61vELGUGbr+t3fcq/WPvAy/GI0L4a fPUWGa92ZxxlTLxT1adocbGKKvh6rtTjmrIpUZnNmSpC3CuBQHfjeJrEYqmxshdCr4G1NdoAC9s q3oXs69U2yIxTMoE6zeQjizKIoaadE9k2nNdAZImNx+MFc46Nw38bOE90L+KbWT4W9nDHMIFr// 2jdPg+GMCLI7/VVZGFtAQNm6ngCQKWXIkvRJGkDKRn5fCQ2VQwPcRDGo1jDv/Ip60lxVayTW+PM WoxZXv2RpsZUzOV8rnrWTCR1S0HNEhdswqTAydQMsmzgrVWB5usCpQP29LgQLl6dfqXncptKLF3 HhGQyjIUA1bSfAKZyIgXz1is48XVqJofuz0gaNXcgXuRA28e7FOq/NY1VscynMma3pgbXIg6Sh X-Received: by 2002:a05:6a20:c90b:b0:3c4:2cf9:28ad with SMTP id adf61e73a8af0-3cc71ddfff1mr40412723637.12.1787045068712; Tue, 18 Aug 2026 02:24:28 -0700 (PDT) Received: from intel.company.local ([122.11.210.25]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-cc13c036c50sm1855975a12.26.2026.08.18.02.24.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Aug 2026 02:24:27 -0700 (PDT) From: Wandun Chen To: robh@kernel.org, saravanak@kernel.org, rppt@kernel.org, m.szyprowski@samsung.com, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: akpm@linux-foundation.org Subject: [PATCH v2 0/5] of: reserved_mem: several fixes about reserved memory Date: Tue, 18 Aug 2026 17:24:15 +0800 Message-ID: <20260818092420.2859026-1-chenwandun1@gmail.com> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Wandun Chen This series fixes several error-handling issues in the reserved-memory initialization paths. Static reserved-memory nodes are reserved during the early DT scan but initialized later. The first patch prevents a node whose early reservation failed from reaching the late initialization path. The following two patches reject overlapping static regions. Without these checks, overlapping nodes can be initialized over the same physical memory, result in data corrupt. The last two patches fix cleanup of no-map regions after driver. Sashiko reported these issues in [1] [2] [3]. [1] https://sashiko.dev/#/message/20260814090305.4C8741F00A3D%40smtp.kernel.org [2] https://sashiko.dev/#/message/20260814084718.29C341F000E9%40smtp.kernel.org [3] https://sashiko.dev/#/message/20260806100605.2C2C01F000E9%40smtp.kernel.org v1 --> v2: 1. Rework failed-node tracking in patch 1: do not track zero-sized nodes, and keep a reserved_mem slot when tracking overflows. 2. Reject static reserved regions overlapping existing no-map regions. 3. Keep MEMBLOCK_NOMAP flag for static no-map regions when init failure. Wandun Chen (5): of: reserved_mem: skip init for regions whose early reservation failed of: reserved_mem: reject static regions overlapping no-map memory of: reserved_mem: reject statically placed regions overlapping existing reservations of: reserved_mem: release dynamically allocated no-map region on init failure of: reserved_mem: retain static no-map memory on init failure drivers/of/of_reserved_mem.c | 87 +++++++++++++++++++++++++++++------- include/linux/memblock.h | 1 + mm/memblock.c | 14 ++++++ 3 files changed, 85 insertions(+), 17 deletions(-) -- 2.43.0