From patchwork Mon Sep 30 12:33:11 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Uros Bizjak X-Patchwork-Id: 831725 Received: from mail-wm1-f47.google.com (mail-wm1-f47.google.com [209.85.128.47]) (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 C583F18B471; Mon, 30 Sep 2024 12:37:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727699832; cv=none; b=eYHGks0thzjUmW47iK//ARN0MxcJczUXUXOsZ6CQyJgmqe5SYgXdTgXwioDoKGBCwp776MakNUPfGXTjjMR3ZwTvk8DKEc3m4Qcbl4skSB4Z2Rh2vsNJbxBiCwJ7nzLb1GB/1i4SO2lzaR3+3azEEPl5iFDsagHnWvH09HClcMQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727699832; c=relaxed/simple; bh=MJaOvXfdttvUO377io9iCjqOjrH77uQ9NNVSuKdVv38=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=XU8nc8pPUMOX3DN/V3ezzXHDcLVAoz8KiTV3ZJij2DRJu4//oOvKJIzZi6iNz4MJts6P58CSO1UGaa0M4JQLmkp0qgIVFKPF9fA/b60LzVNHyM0WZiguQj2sUkm8F7LdprvomrQnJixVGd6QhqT1JTH+VYj3E32W/ZB40KpmanM= 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=JW+nPumG; arc=none smtp.client-ip=209.85.128.47 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="JW+nPumG" Received: by mail-wm1-f47.google.com with SMTP id 5b1f17b1804b1-42cba6cdf32so38164755e9.1; Mon, 30 Sep 2024 05:37:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1727699829; x=1728304629; 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; bh=F/SrlIJXoXLKGiLt5PvQw/mV4o2zsSYJUePPb/Z+Dd8=; b=JW+nPumG6NXI0/7Qqmt187JOQD9L/9ckcteZnKqYxZlWsRjGDY5rsz3G1D/2vm3C/t t9k38FclDEbilr6aoB4Jtnb0kAW2hyfEVcN5xUa81HjQYgcbaUX+7STlqJ7ZbqskxrdN uhReoraD2NCQbBd1iEgYK2BCy7Y9FtYfc6FZ+nVUySKfWvkgIBquuUGviEUOYT1K4NGr w8KEVQqYGzJ9vm+0c2yxZ8O43U8w1yIkG9ixpIPDf0JYt97fYB7zfPncCg5HXgSE1B+t e2ByfbDfB7AxMBZbWt0+jqFRhMYMtqPHYBKzvk3i0ZoxFv3VOOA8Qi3ThKlT6tJI5KyZ Krbg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1727699829; x=1728304629; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=F/SrlIJXoXLKGiLt5PvQw/mV4o2zsSYJUePPb/Z+Dd8=; b=Q8D26OyWF62qJ/KMbdC62FxlgB6mmBXFqoYv8tfSkfrD4W7j7UE+GUE7WUVuEq7lTm DGCM+vMxyzTxpomVB2qsT5Rro6/i2vVqI4lckOzjZonG0ypfzm1Va+QtzWy5sYTvkoA+ ejkRmmAhoQJw6NZfcws9m7UCROtgNM62Dw437ESHQi9fwjU+H7ekakKnsZp7RCkU/K6C jVxHXNcZuCYvgBkGUGzG7BYRN+XxnSSJrQkSKLJ3qyJpDOgUmNO9Lz1U/MhmiKVjf1KI 6/N4xvsK2lugKdOxYgYiXgT5sFrdSay56F4OMpHkOJB+fAa/OsCrSniRyZs8Us0lDWrn Ea+A== X-Forwarded-Encrypted: i=1; AJvYcCUIy4REHP/nOTwX/yFkg33O6mfvcMxil0Ys02a2YXD/Z7Wr3lSFgwWmfKF9X/bBVPIPy9E0oD/gCiHrfGk=@vger.kernel.org, AJvYcCUvu4o7wmgFXOiQ+P0dy1sHNpfkG5+oyOpFatirZC5GwV3J/m8X5JD/RcutJFnV5GcsjChhdaaR+MAMHg==@vger.kernel.org, AJvYcCV/LgoDHrUWVpdQvNxrtX7Q/FIINae3xlojD69ohqPH4jAWSfvcI3T9oJj8WrpBCEuxPYQ=@vger.kernel.org, AJvYcCWI51m03v5deYDGe+WwvtK1lzcuisNsuBQfhSY58HRxS1TJiJa7tuWHlJRYbj5ekU2HbYbTkts5OvCOQBLHw3w0@vger.kernel.org, AJvYcCXVVJmqhaQQ5LfOfYti03HDpl/zXfhOiK/n4CFJaerfwo38EcDrC9CsGt+hgtY3HInKKmUJAPSuAhJR3takHg==@vger.kernel.org, AJvYcCXYDRPynMAb99FbuxYsXG9y3jdfhMkx9UfAYpmvT5KYKMPRw2aGsglJq0UxPU+NSMcaUfpaJ4DXg6920fa3@vger.kernel.org, AJvYcCXdjuCSmHDQ5cofnsGzWUSk79b/i7cNf0Q7nPKPgXx/YGEnq4jO6uFAmKMbsvSoN1MCoJQDwQOk38Ec5JH0@vger.kernel.org X-Gm-Message-State: AOJu0Yyh7Si0iYu5GS3fTyiAXO/uLRgAGlorqD6BsiEGWDLuOgtbqh8C 06cahLJdvTc8YVKvEEf6hQpz6OUAmVxvcye5lTXm8FggBaik4CGT X-Google-Smtp-Source: AGHT+IF/2i/VrNcu+rhudxHU7EwUt1cUgREAQFrWqhKqroWgeyt01AtDZZ3Ml2SacGAQnu+k2Q1CzQ== X-Received: by 2002:a05:600c:5251:b0:42c:b8cc:205a with SMTP id 5b1f17b1804b1-42f58491029mr88602375e9.32.1727699828718; Mon, 30 Sep 2024 05:37:08 -0700 (PDT) Received: from fedora.iskraemeco.si ([193.77.86.250]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-42e96a52308sm149011355e9.43.2024.09.30.05.37.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 30 Sep 2024 05:37:07 -0700 (PDT) From: Uros Bizjak To: x86@kernel.org, linux-crypto@vger.kernel.org, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-media@vger.kernel.org, linux-mtd@lists.infradead.org, linux-fscrypt@vger.kernel.org, linux-scsi@vger.kernel.org, bpf@vger.kernel.org, linux-kselftest@vger.kernel.org, kunit-dev@googlegroups.com, linux-kernel@vger.kernel.org Cc: Uros Bizjak , Dave Hansen , Andy Lutomirski , Peter Zijlstra , Thomas Gleixner , Ingo Molnar , Borislav Petkov , "H. Peter Anvin" , Jani Nikula , Joonas Lahtinen , Rodrigo Vivi , Tvrtko Ursulin , David Airlie , Daniel Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Hans Verkuil , Mauro Carvalho Chehab , Miquel Raynal , Richard Weinberger , Vignesh Raghavendra , Eric Biggers , "Theodore Y. Ts'o" , Jaegeuk Kim , "Jason A. Donenfeld" , Linus Torvalds , Hannes Reinecke , "James E.J. Bottomley" , "Martin K. Petersen" , Alexei Starovoitov , Daniel Borkmann , John Fastabend , Andrii Nakryiko , Martin KaFai Lau , Eduard Zingerman , Song Liu , Yonghong Song , KP Singh , Stanislav Fomichev , Hao Luo , Jiri Olsa , Andrew Morton , Brendan Higgins , David Gow , Rae Moar , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Jiri Pirko , Petr Mladek , Steven Rostedt , Andy Shevchenko , Rasmus Villemoes , Sergey Senozhatsky , Stephen Hemminger , Jamal Hadi Salim , Cong Wang , Kent Overstreet Subject: [PATCH v3 00/19] random: Resolve circular include dependency and include Date: Mon, 30 Sep 2024 14:33:11 +0200 Message-ID: <20240930123702.803617-1-ubizjak@gmail.com> X-Mailer: git-send-email 2.46.2 Precedence: bulk X-Mailing-List: linux-media@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 There were several attempts to resolve circular include dependency after the addition of percpu.h: 1c9df907da83 ("random: fix circular include dependency on arm64 after addition of percpu.h"), c0842fbc1b18 ("random32: move the pseudo-random 32-bit definitions to prandom.h") and finally d9f29deb7fe8 ("prandom: Remove unused include") that completely removes the inclusion of . Due to legacy reasons, includes , but with the commit entry remark: --quote-- A further cleanup step would be to remove this from entirely, and make people who use the prandom infrastructure include just the new header file. That's a bit of a churn patch, but grepping for "prandom_" and "next_pseudo_random32" "struct rnd_state" should catch most users. But it turns out that that nice cleanup step is fairly painful, because a _lot_ of code currently seems to depend on the implicit include of , which can currently come in a lot of ways, including such fairly core headfers as . So the "nice cleanup" part may or may never happen. --/quote-- We would like to include in . In [1] we would like to repurpose __percpu tag as a named address space qualifier, where __percpu macro uses defines from . The major roadblock to inclusion of is the above mentioned legacy inclusion of in that causes circular include dependency that prevents inclusion. This patch series is the "nice cleanup" part that: a) Substitutes the inclusion of with the inclusion of where needed (patches 1 - 17). b) Removes legacy inclusion of from (patch 18). c) Includes in (patch 19). The whole series was tested by compiling the kernel for x86_64 allconfig and some popular architectures, namely arm64 defconfig, powerpc defconfig and loongarch defconfig. [1] https://lore.kernel.org/lkml/20240812115945.484051-4-ubizjak@gmail.com/ Cc: Dave Hansen Cc: Andy Lutomirski Cc: Peter Zijlstra Cc: Thomas Gleixner Cc: Ingo Molnar Cc: Borislav Petkov Cc: "H. Peter Anvin" Cc: Jani Nikula Cc: Joonas Lahtinen Cc: Rodrigo Vivi Cc: Tvrtko Ursulin Cc: David Airlie Cc: Daniel Vetter Cc: Maarten Lankhorst Cc: Maxime Ripard Cc: Thomas Zimmermann Cc: Hans Verkuil Cc: Mauro Carvalho Chehab Cc: Miquel Raynal Cc: Richard Weinberger Cc: Vignesh Raghavendra Cc: Eric Biggers Cc: "Theodore Y. Ts'o" Cc: Jaegeuk Kim Cc: "Jason A. Donenfeld" Cc: Linus Torvalds Cc: Hannes Reinecke Cc: "James E.J. Bottomley" Cc: "Martin K. Petersen" Cc: Alexei Starovoitov Cc: Daniel Borkmann Cc: John Fastabend Cc: Andrii Nakryiko Cc: Martin KaFai Lau Cc: Eduard Zingerman Cc: Song Liu Cc: Yonghong Song Cc: KP Singh Cc: Stanislav Fomichev Cc: Hao Luo Cc: Jiri Olsa Cc: Andrew Morton Cc: Brendan Higgins Cc: David Gow Cc: Rae Moar Cc: "David S. Miller" Cc: Eric Dumazet Cc: Jakub Kicinski Cc: Paolo Abeni Cc: Jiri Pirko Cc: Petr Mladek Cc: Steven Rostedt Cc: Andy Shevchenko Cc: Rasmus Villemoes Cc: Sergey Senozhatsky Cc: Stephen Hemminger Cc: Jamal Hadi Salim Cc: Cong Wang Cc: Kent Overstreet --- v2: - Reword commit messages to mention the removal of legacy inclusion of from - Add missing substitution in crypto/testmgr.c (reported by kernel test robot) - Add Acked-by: tags. v3: - Update to linux 6.12rc1. - Add more Acked-by: tags. Uros Bizjak (19): x86/kaslr: Include instead of crypto: testmgr: Include instead of drm/i915/selftests: Include instead of drm/lib: Include instead of media: vivid: Include in vivid-vid-cap.c mtd: tests: Include instead of fscrypt: Include in fs/crypto/keyring.c scsi: libfcoe: Include instead of bpf: Include instead of lib/interval_tree_test.c: Include instead of kunit: string-stream-test: Include random32: Include instead of lib/rbtree-test: Include instead of bpf/tests: Include instead of lib/test_parman: Include instead of lib/test_scanf: Include instead of netem: Include in sch_netem.c random: Do not include in prandom: Include in arch/x86/mm/kaslr.c | 2 +- crypto/testmgr.c | 2 +- drivers/gpu/drm/i915/selftests/i915_gem.c | 2 +- drivers/gpu/drm/i915/selftests/i915_random.h | 2 +- drivers/gpu/drm/i915/selftests/scatterlist.c | 2 +- drivers/gpu/drm/lib/drm_random.h | 2 +- drivers/media/test-drivers/vivid/vivid-vid-cap.c | 1 + drivers/mtd/tests/oobtest.c | 2 +- drivers/mtd/tests/pagetest.c | 2 +- drivers/mtd/tests/subpagetest.c | 2 +- fs/crypto/keyring.c | 1 + include/linux/prandom.h | 1 + include/linux/random.h | 7 ------- include/scsi/libfcoe.h | 2 +- kernel/bpf/core.c | 2 +- lib/interval_tree_test.c | 2 +- lib/kunit/string-stream-test.c | 1 + lib/random32.c | 2 +- lib/rbtree_test.c | 2 +- lib/test_bpf.c | 2 +- lib/test_parman.c | 2 +- lib/test_scanf.c | 2 +- net/sched/sch_netem.c | 1 + 23 files changed, 22 insertions(+), 24 deletions(-)