From nobody Sat Feb 7 18:00:50 2026 Received: from SN4PR2101CU001.outbound.protection.outlook.com (mail-southcentralusazon11012052.outbound.protection.outlook.com [40.93.195.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 787C33451AE; Fri, 16 Jan 2026 04:25:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.195.52 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768537520; cv=fail; b=V70WieQ8NTAaYuKvr9WOs9gMrQor1GhwyhvzW4UOUM2qyRh6RWahoch2t2xkxmsjFLjCyoet30JSSdJ+2AbLXcEKmGCSoK8Z1RM3wodTLQ7Pj9iMt7eb8zdBSPpCfFjeFZmEtuPoxDiCCbSeYQRozfCPXcV18cR6ti56t9loZ+M= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768537520; c=relaxed/simple; bh=mzuJv5j9kC37XTykQgfPGcQzwWQ9l2TLlglv9jJXItM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=taHf03UEv2dcS3KlRD1K5psx6FGUQM6pC0mb6tAmDuPKPs+pE/yaZ/OaXu0WkbPbaOEoEIOFvMEbBZAQfK72xyDSSQ0bFmSXXT8CLGFfJhzuxbnsyWH6FVV51wHqKxdS9iEwm3obHAdAGqqGT1IEKhMoLxSARpcCekTeC04iod0= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=PPfXC0dG; arc=fail smtp.client-ip=40.93.195.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="PPfXC0dG" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=e4aZ6eJuO1kZ9Vws9/0diMs5na3hnDlnDNLfXzA9TPOZ5dwK8Umkpx+iBlCC+yRcK66Cj5j+SXl+QRIXtUsts4UKfUaXyeO68p6kbmJLtt8LXE38ONQIncQbfR9VvFdgUopeOCfDcmuMlMAxgTmsHvrCVmkMzAHVvzrK10YGot1QzzqlGwywEEBCtUW/JTTz+XB67ht/10c+rZc0TvtelUvmun+mA2Fz57d9H3hRBq+uBJic9AykSigpRSoJyZ5ccB3ho8QoY4gsxmOaB001y+8NI4SsaWG8d4BCxefOdsdywNVM6pCrkAiS84Wzh/vj/QSaNk++VIK/ac4BA60xZw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=p1aSG8Z2rbMPJuG9ML4hNEIbvmlGzPzrnmoQI2wCT9Y=; b=KmMmNIAtD+uJ+oNqZXNVCo8HAqXRxkKlh3sDGnmrVHM+ts1i3mTYBr/j4H39HtGcVFai7Iw1TPdCQxdCFoVbke5fKYFEMX46JiLZBIcsVwz0M2dn/EyZdglIlnmVcwZe9+V3L/+k+24TouaA1wYmgbmaE88aAR2l8cCDhfH0fNe84uoY0KNWRpn48vZ0qw+R4I3EhC3yyOPEt5168XawnyOMc9jaT6KtTf7QxA5tVKXSXO4rJHwb6OzB9iBtZfDK4jeuURuDOPla7lEwmadesqbSR3anXwlVJb2pU4WT6qeKEmnQwH/BMFo25yl620u7MiuLGl2VeXyWPwGvCS+XiA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=p1aSG8Z2rbMPJuG9ML4hNEIbvmlGzPzrnmoQI2wCT9Y=; b=PPfXC0dGR5PMdMWyiDoVM/IjnkdCmIpyZo34JTleGHoCvi0UyQ/g4zgdpAs+SLZmQlxLS8gQ5M2OK39pJdtPSYWvkMvUthAIwJ5fUoNWuVZArYtH7MOjQ/2+iFznVFu5KoFNAM5hx5CXm5VUNYzSn+7ZAppnMntGrEqUNAeSZfnYiTR13F8bikfKLF3a4PYjfIlsM9qyoEzep7+Iw3qLIX9gcMPG0XbWAFOGMwBda/ScR4gZwdWRt/bXjCHGsF6DUIbOp5eoPBTGMY2anHFKrsGUXp1sWbQZpnRLnu3qWCyWmwsUYkBsYcijBVbj6xMnUrCaPaEYMh2b/AOBq/QyfA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from PH0PR12MB8800.namprd12.prod.outlook.com (2603:10b6:510:26f::12) by LV3PR12MB9188.namprd12.prod.outlook.com (2603:10b6:408:19b::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9520.5; Fri, 16 Jan 2026 04:25:14 +0000 Received: from PH0PR12MB8800.namprd12.prod.outlook.com ([fe80::f79d:ddc5:2ad7:762d]) by PH0PR12MB8800.namprd12.prod.outlook.com ([fe80::f79d:ddc5:2ad7:762d%4]) with mapi id 15.20.9520.003; Fri, 16 Jan 2026 04:25:14 +0000 From: Yury Norov To: Steven Rostedt , Andrew Morton , Masami Hiramatsu , Mathieu Desnoyers , Andy Shevchenko , Christophe Leroy , Randy Dunlap , Ingo Molnar , Jani Nikula , Joonas Lahtinen , David Laight , Petr Pavlu , Andi Shyti , Rodrigo Vivi , Tvrtko Ursulin , Daniel Gomez , Greg Kroah-Hartman , "Rafael J. Wysocki" , Danilo Krummrich , Joel Fernandes , linux-kernel@vger.kernel.org, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-modules@vger.kernel.org, linux-trace-kernel@vger.kernel.org Cc: Yury Norov , "Yury Norov (NVIDIA)" , Jani Nikula , Aaron Tomlin , Andi Shyti Subject: [PATCH v5 1/6] kernel.h: drop STACK_MAGIC macro Date: Thu, 15 Jan 2026 23:25:04 -0500 Message-ID: <20260116042510.241009-2-ynorov@nvidia.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260116042510.241009-1-ynorov@nvidia.com> References: <20260116042510.241009-1-ynorov@nvidia.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: BN9PR03CA0741.namprd03.prod.outlook.com (2603:10b6:408:110::26) To PH0PR12MB8800.namprd12.prod.outlook.com (2603:10b6:510:26f::12) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH0PR12MB8800:EE_|LV3PR12MB9188:EE_ X-MS-Office365-Filtering-Correlation-Id: 657ea600-ca76-4926-b139-08de54b73eff X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024|7416014|10070799003|921020; X-Microsoft-Antispam-Message-Info: =?utf-8?B?VG5XMXRCQUJ5a1Fsa3RBN1VCOE13THA2SkRhS1YvL0huQ1NjaGF2ellVWENJ?= =?utf-8?B?cmdKWllrNmkxa2FlblZuRkd0SkVEYy95b1BKNVZqYnFjTEp3SXU4bnBncy8z?= =?utf-8?B?R1FaaE1xdzdGOFhBVU9IcU9pcFBNR0F6SXEwY1hjR3pHWS8yMjFHeUtoeE1u?= =?utf-8?B?NFRUNlB0NTA5eTYxcmJMTCtZZG83eXVSVzJqdEdpdHpMTklGK3JsNHRsNDJV?= =?utf-8?B?VHFPb0xwa0FZNHA1V284bzVHblBUd0FJdnJ0cnZzSnVnTGo4bHR3NzdRN3hw?= =?utf-8?B?WWlrRVFlVm5BWDIzTkhtQnNmQzNYY2FNWEVodXhzdm1zYTFRdkZoczUxSTdG?= =?utf-8?B?UGdRbmlVWjhXNWlIeDdET2RpWnl2M09wdUE2NVlmNkI5ZHhUemhzMEsvLzh6?= =?utf-8?B?ekJWSFlacHRwNFV3cG1CT3NWRndxZUMraEgybGFyOUtGaEhQNVFtejhPK3NL?= =?utf-8?B?RHl3RVpzdm1vZVFtbGMyS3RrMHdwaU9hNjZMK1Zhakhxc3g1NitIOEpmcjlC?= =?utf-8?B?OUpOV2VPZUlBYjJ2VXdZdFRaU2N4TFpGRFZpQ0RIUjQ2TlVNMXVzbHVvRklZ?= =?utf-8?B?QTdBYjI2ZTZ0OVFPVnp0eE1xWjMwd241MWkwN2xSTUVUZ3phZXFHRXJHeDBu?= =?utf-8?B?MnNQbHJMcHFWNk96ekN5TU9ablM1cU1Md25EakIyUkZGZldpNitTMEhwNHUy?= =?utf-8?B?OWI1Sy9kVG9QYmxCVEloZTNTWXdqYkFBakJWdmZEU3MzM2NRREF6SW43aWxW?= =?utf-8?B?eHgxN0NRZVFBcjN3UFYwa0xlZjhlRGp1SVZnT2w1RnluQ0lXalVOQTV6c2k2?= =?utf-8?B?eCtiemJ5L3BoVThLbjZEdTdhUVJEVWl4cjFNaWk3SkhNcFdYTGxycDd4ZHM3?= =?utf-8?B?a1l1cFdFOFpHUjY3NS8xNnRqbkJaMkhzazVqRS8zK3N3U0hTSStTR2NCQWxv?= =?utf-8?B?Tm84YjhCZG9McnZtUSs2bTZreTFFMkN1OUVab2R4aGJIZTF3SDhyY1RaQ2da?= =?utf-8?B?cm5YQ3ZXY2NsSFFGTHRFc1NZN29KTVBpcnU4V1VrNkwvUG1aYkhMcFZvbE04?= =?utf-8?B?M3c1Q1IzUjFYSUgxZ3lOR2pMTkJ0RUpLb1d5WnBlY3ZpL0hWM2tiTVloNzV2?= =?utf-8?B?U0c3ZFdMbFZjcU1na0NLcmVuRTk0T0FQYms3YU5lRUZic2ROaFdMeWdVL3ps?= =?utf-8?B?a0xXQUR0ZVpBeGd3cytzaHRXNGE5UXhPUVBRQ3RTYmJMUnRrb00xMTVJTzg2?= =?utf-8?B?eG8yZ3FTTGZDL1pxdEEwVE1iOXdCeThhbXNBZ21EeXVVUlVZeWJnQVhNeTho?= =?utf-8?B?NlBOTW9UNkNPVkREV3hLKzRaUGFpOGVUaTY4WG5HaUhQYWJ3aG1HVzdnQ25O?= =?utf-8?B?ME5HMlpuN2pxQ21BNk1Pazhpdkk5b1F6ZVJhRzNyc2puQ2FRVVFYRTd2dXlU?= =?utf-8?B?ZXQ2bk5LTGxTL3NBeWY0WDA5TXdxNEdIOVVZUkJSRCtJMU1PNnJ1ZGkwWThT?= =?utf-8?B?TkY5VTgveDM0SEhZYTF2VEI1R3BsRnA5blFMMDBYZE8yb2RsblYwalN0aXlD?= =?utf-8?B?a2VTNmYyajVqYkJuWUJCN3VRYmdjTkN1eDFFVGFqYTFheXhnMTg5UjNwYmJs?= =?utf-8?B?dWZyWnVETnVrb3VMS3U5cmNkNGZYTzJ0M1pvVFJNaHFvc1h1cERtRjBGM245?= =?utf-8?B?ZThnSVI1bC94WGdOK3R2azQzMUZmOGxhQ0pabnJuMS8rZ2tuMmdJeVV6OGk5?= =?utf-8?B?bkl3YVh5bnJ0cFRON08rdlNEN042S2tGdFY2ZTJzSlNhR21aTXJHZDhubkg5?= =?utf-8?B?cUlZdm4ycGhvbjRlSFczc3Z6aFJGVnp6djE2ZUs1K09sQ1lNK0NIMDU5REtW?= =?utf-8?B?VTNIRGhjRzVVMUduVEgvZ0FwaEJiSXZJWXNTUldBZ0RSL1ZYUjJKcmJ6eXBo?= =?utf-8?B?a0s4Q1Q1VjVxNmwybWFxUWRVS3o0RmN1dE9yb0xVNkFzN09pV05oalVZVE5U?= =?utf-8?B?Wms2UWg5QytRUkFrcER6WlNCOFFVQjd5Z2V4T21ieVJ0cHdISEJzQnQzUUVI?= =?utf-8?B?M1ZEa1ZMY3Q4S0NZSHpMbytNczlMZGVkanhEUHpYU0RLQm1qZ3l1T3lXdmtD?= =?utf-8?B?aUUvZjhJcUVrQ0lsaHBIdVpOMWVzZUVaNXNqRkpPSEFOSnAwSVM1YjgyeFlu?= =?utf-8?B?cFE9PQ==?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR12MB8800.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(7416014)(10070799003)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VG91YVdrR3U5eXMzYTZFNXVhOU9WWjB1UTJvMHVQUU9BSXVxd1o2ZWxIekJz?= =?utf-8?B?Z1l1NHdHWE5EMW5ZZXRuKy9mRWR2dW4zZlpCSnJpYUhCeU4xWEhMdUZ6NGpy?= =?utf-8?B?VHZzMzcvenZjMEFyTGdSRW5hS0dHSVpsWE1DeDNtNlVKbEFpNWhxcnRkNXhZ?= =?utf-8?B?cU5jeHFvYUNsK2E4SlNZclM0RWE0UlcvbWZKeTJVbFRiSHNjUkJXZkpKcnpJ?= =?utf-8?B?RU96TmNhNUgySXd5S0lNKy96aUVweldZUUFnTzNvRytMbHdZNFZCajZxR3RK?= =?utf-8?B?TXFyQXlPeXFOK2QwanFTdFNsMm5ob3BwWGFXSUdQQkRBWUZJcllCVkZQeGJp?= =?utf-8?B?U2Y1M1BSeEF4aDdyejRvVXVOTVhob1RaUUxZaWF4VEJpVTkxUVJ6STd3L0Qv?= =?utf-8?B?bUJSSHUzUTBqa3R1UGZzR2RkSTFsYXAwM0k3TllDMm5hYzVYS0FqMk82UGE1?= =?utf-8?B?U2FDNGxqM3pQdnZwRmVKWFRvTWN6dzlWVGE1UVowUlZKSVBnSDIyOWliREMr?= =?utf-8?B?bHdyZzBkS3l0ZW9xQ1dZeU55eDVydTZ0b2I3SDRCUS9vSjRqUTZ3eWREM2Ja?= =?utf-8?B?SVBFMC9DMVptVVRTMy81YVdxUkg0amVYQ1hQc3BuaHY0akQ0dzJZMzEzNlMv?= =?utf-8?B?ZXNEamJWVkVCaElNamhRVGtkS0lWbGJXcDNheG9SWUQ0dzRJandnOHBMbFhl?= =?utf-8?B?ODVrdG5TZmVqcEJxT0VsMWc5RmJYcHA1bXdKb256REJmVnhhRHZLM0hLeWpv?= =?utf-8?B?VVJoQWM3N2toTzFpWWpLaE9NRWFrNWZtaU9yRFE1RmNacmtMVzU1SDd6cEN4?= =?utf-8?B?cDdrdU50b0o3V1NjbVltdnZvVzEzOG5LTlIxL0dqelpHRDlmQmhGbG80NSt6?= =?utf-8?B?dlJCSmFjT2I1M0d0dzlnTnM0L1E0ZHJwWGRyUHVSemVrK3c1djJyZkRIb3Bv?= =?utf-8?B?T1lQOUxTVUtEdEhqN25BeDdITGt6TElybGlMUWhKT214YWlVYlluazFOdHFa?= =?utf-8?B?bVZOOVVoUlNjOEI4MGYyUHUyTkswQVBpanF5THJnai93N1U1UXpGZ3l4V25D?= =?utf-8?B?cEQxSmFVZnRVUEh4NFR4WjhJcng0N1V3UlR5RXdoZ1N4VWZ4d05jYS9ueUpK?= =?utf-8?B?YzNZaS9kVUkrdzdmVzVaYUk5RFd1cm5ZbFdoQlltWGlGMFlqOEFERnpsMkts?= =?utf-8?B?VnlBUXJDV1JjeWlRcE9GRHlVS1o0N091bnNrVUdtQnB2ODBlMy83WTZWYU0w?= =?utf-8?B?dTlkUXVGVmE2Y093b0MxS2syVXd6TkJNSWpZSVFmaVFET0dMVTBiM0JqeHBy?= =?utf-8?B?ZUxMaXdPRXVxZzE3bW5PWG0wb0wzc1Zwam1pYkNZZ3FndFJYenZpRTVpTGVG?= =?utf-8?B?VGh6YTZPMnp3amdoTzZmOHhOVFN0UjhJR0RWMk96cnhlaHQ0SHgzbEF4YkdB?= =?utf-8?B?M0dLMnZqWVFiaFA5RXR5R2VLTjRYZW4ycm5xSlpCSnBQbDNlRVBFaEUxZFd1?= =?utf-8?B?elpYMnI4cG5BUUsvb2JtQ1Y5RHgzQ2YzU2pNektnTTFLSGFtT2dYVmJiY2Zo?= =?utf-8?B?UmFHWlpyNHV5NTNFclJsMHpJdnN6K25HbklhNURqa2VLMDJtTXBqZ3BZK28y?= =?utf-8?B?eEFJZmdXL2xmR1B0Wjh2MTdPY2lCZ2hoL1FjTW9JQk5jMFpvUnBiWWVuWkph?= =?utf-8?B?SHMra0dJa2hKYjJWaWEvMDZ3ekRtMjN4MlFGZ1dsZXBNWFhNQUZzTDB1dzZD?= =?utf-8?B?WTVyaFBmK2Q1WTJiU3FVRCt5cExWZjJTN3Bxa0p4NWRPNmw4RE9VUk11b2du?= =?utf-8?B?RmUrQWFsajZLaWk0aXZ4eGpOaW9lcTlMSGxRTUtNU2FCSzY2Sklud0dybEx6?= =?utf-8?B?RTIrZnVHQWh2OXpqQitMNGhZSTZBbmZGcGJGRmlybjNOZW05MHArVEllOGNj?= =?utf-8?B?WVNlWDFLSitvdEhMNCtZWUNjVHB4R0tMRkdRNGxJb29GbHBlMW5KbFV4bUV6?= =?utf-8?B?YmhHWXdIditCRDUzck9lcEdXUVllOFpJQWNyeTI0ek52dFp2aVlqbEloY1pl?= =?utf-8?B?eXJBcGcyWWJxRDlYQzdGRE9HZUJ4S1JKQUdRcTJkVERJcngxbTd3Y2NRb3RL?= =?utf-8?B?aDRSZGM0RitMWTBWa1FCQmUzM2VyMnJIN3I1aTRmaXJIUWw3S29KdHZBMStN?= =?utf-8?B?NjlSV29JV043WERHNURPWFlpbGRWbmRuakVDWnBMUXVNT1FybEd5NlVsMWRS?= =?utf-8?B?ekFpZHV5RTZQN2cxSm41cm5YRm9ZcVVRaWdDbjRHNE5tOS9oZFdqaXd0UVVp?= =?utf-8?B?Q0k2cFlJalQ2UWZ6YXFWK29sWEFha2VMTmczcUtQQXR5OTB4SmpvVnZxNDg4?= =?utf-8?Q?fcg4L84wPnN1ojIJ/EhMJ8OUFFJRVh7qZNGwg?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 657ea600-ca76-4926-b139-08de54b73eff X-MS-Exchange-CrossTenant-AuthSource: PH0PR12MB8800.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2026 04:25:14.7314 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 1YvFEDFM0R2rIQWwvnomh5eBRnCv9xH3u67pFBeJFiqBzNnPdoUNr0Ao74MhGmsBXbsr62HQRk1W1AtgCgepbg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR12MB9188 The macro was introduced in 1994, v1.0.4, for stacks protection. Since that, people found better ways to protect stacks, and now the macro is only used by i915 selftests. Move it to a local header and drop from the kernel.h. Reviewed-by: Andy Shevchenko Acked-by: Randy Dunlap Acked-by: Jani Nikula Reviewed-by: Christophe Leroy (CS GROUP) Reviewed-by: Aaron Tomlin Reviewed-by: Andi Shyti Signed-off-by: Yury Norov Reviewed-by: Joel Fernandes --- drivers/gpu/drm/i915/gt/selftest_ring_submission.c | 1 + drivers/gpu/drm/i915/i915_selftest.h | 2 ++ include/linux/kernel.h | 2 -- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/gt/selftest_ring_submission.c b/drivers/g= pu/drm/i915/gt/selftest_ring_submission.c index 87ceb0f374b6..600333ae6c8c 100644 --- a/drivers/gpu/drm/i915/gt/selftest_ring_submission.c +++ b/drivers/gpu/drm/i915/gt/selftest_ring_submission.c @@ -3,6 +3,7 @@ * Copyright =C2=A9 2020 Intel Corporation */ =20 +#include "i915_selftest.h" #include "intel_engine_pm.h" #include "selftests/igt_flush_test.h" =20 diff --git a/drivers/gpu/drm/i915/i915_selftest.h b/drivers/gpu/drm/i915/i9= 15_selftest.h index bdf3e22c0a34..72922028f4ba 100644 --- a/drivers/gpu/drm/i915/i915_selftest.h +++ b/drivers/gpu/drm/i915/i915_selftest.h @@ -26,6 +26,8 @@ =20 #include =20 +#define STACK_MAGIC 0xdeadbeef + struct pci_dev; struct drm_i915_private; =20 diff --git a/include/linux/kernel.h b/include/linux/kernel.h index 5b46924fdff5..61d63c57bc2d 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h @@ -40,8 +40,6 @@ =20 #include =20 -#define STACK_MAGIC 0xdeadbeef - struct completion; struct user; =20 --=20 2.43.0 From nobody Sat Feb 7 18:00:50 2026 Received: from SN4PR2101CU001.outbound.protection.outlook.com (mail-southcentralusazon11012052.outbound.protection.outlook.com [40.93.195.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 43548337B90; Fri, 16 Jan 2026 04:25:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.195.52 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768537531; cv=fail; b=g6zKZsU7A+Jo690RXuEr8OpPwpO/ZHwHJq1oZoT9E/j1W9v6jsiFugexqPEX7mve5/GzdjSNoCcQvRVxQgAloGT7jrvxU+VnxcF6TroNNR9k7vtRFj6uOK/6R5Kfw6jM5j1dO0BwTs8lSyPe/qPgLt62RAYQdrbXj8/THNqVM7A= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768537531; c=relaxed/simple; bh=4qtlUYipoWlthQc5iJ+Rc0iqz0DkqDFr0A7UIng9KuE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=SNozJOkQ642Vrlmq2fteQojKnljknuuD1Mg67nL5QF080pbj00c8zsq3mhbQvZum0P1rE/nCP5RB7tG1KCfyetVfzv8B384iADm8Zi2dDes94onz7u2tJycWrDAY9GUF9NLFnL0Eb+J+JuB/LGdgPhXJoM/Y96QELUK3pw86dMc= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=rvGsLkTW; arc=fail smtp.client-ip=40.93.195.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="rvGsLkTW" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=EVFDhRZR4d8iBCRerRhD0ChE7un/AwXx0ZavwBG81cOpunY2QmWGnBJ0Jb+dXdckxtpngzymYWK1rnB67v41kgQfyNqCbszq0YdTRENpVQPa6myvvGvYbOHUjpTSSlcJNLCWf+BhqLc814cUeVEg1N3JC8G0Xbd5UgaUYc+OJgzDFTLYRqYbG1sfaC4Noxk9m2axA+FjitNaG8es3cjTYgk6wHrsRJxAuefkMbehrwXwGB7KZDUaKasFta5Jk5CoH8xptvYrwkJLikfZlvOV2SAXciq7KfoROhF2H2gdHyoj0oGvp+BhTfMMRWF3Tf8cbhraLW6rp/wed8eCk1QECA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Yov1Pi8MbNbUTubi/SC1PcUJkrHxPzst2GUMSIwemnE=; b=gZ/a2QIytFNUJ5/BDM2eVrWiuWZgDWOnAfJRykzidbqHZ3RwcWxFqUtX/qX229OYr91rK++FwL6YtXU24okBzsByhhMQ/5tOmmk5wcHHd1RZhzLfgKx3mKUTA47kZLErnwW8I45na/QdNNmgSp8jE5El2NIbQyp3i2g26uaG9XPGRUjzY8XHIkv96CrOKMXByAL2K6BMcuzwzmtFolzg03JXHFoFSEJHBKYECdalFjUltCCaVHdVF8sP22clVNsB2jfCtUcBuuKEJyNGPWyDALEwgxsWqMXC+Ii1SjSoPlGmmL7vhMgQuWPDrBrQryZWmrpM5SPWV7kDvUkZ1mpxvg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Yov1Pi8MbNbUTubi/SC1PcUJkrHxPzst2GUMSIwemnE=; b=rvGsLkTWPt4GW8xcM1FAqIXMAxdYDTEQg4Jk+8MkjX1p27vPrqtbsYpk7Zrf6qgcKeIqQX6DiXKy2eGQeP2SLQPp72dTphFILPst43cAbGVnORNAbtpi29v5NF8hNwkBONo9jM2t4D7U181j4TYcIApZglKZJCidHSF6r289oVOEnieF2jQlkRczB3V417T8p9rfpV35nlf1H6cfDiPX9bI2rTf98y4hy/SkVpdYOBuXOgyOjCh2z44NR6yNKaWiFTHe/JLxTQF9BNKheVFLJFpiAoaFswsIywhNbu9Xu0Z4n8AChWGOrb6r79xWFit/wJUhcd09B4RttPmOaB0FVQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from PH0PR12MB8800.namprd12.prod.outlook.com (2603:10b6:510:26f::12) by LV3PR12MB9188.namprd12.prod.outlook.com (2603:10b6:408:19b::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9520.5; Fri, 16 Jan 2026 04:25:16 +0000 Received: from PH0PR12MB8800.namprd12.prod.outlook.com ([fe80::f79d:ddc5:2ad7:762d]) by PH0PR12MB8800.namprd12.prod.outlook.com ([fe80::f79d:ddc5:2ad7:762d%4]) with mapi id 15.20.9520.003; Fri, 16 Jan 2026 04:25:16 +0000 From: Yury Norov To: Steven Rostedt , Andrew Morton , Masami Hiramatsu , Mathieu Desnoyers , Andy Shevchenko , Christophe Leroy , Randy Dunlap , Ingo Molnar , Jani Nikula , Joonas Lahtinen , David Laight , Petr Pavlu , Andi Shyti , Rodrigo Vivi , Tvrtko Ursulin , Daniel Gomez , Greg Kroah-Hartman , "Rafael J. Wysocki" , Danilo Krummrich , Joel Fernandes , linux-kernel@vger.kernel.org, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-modules@vger.kernel.org, linux-trace-kernel@vger.kernel.org Cc: Yury Norov , "Yury Norov (NVIDIA)" Subject: [PATCH v5 2/6] moduleparam: include required headers explicitly Date: Thu, 15 Jan 2026 23:25:05 -0500 Message-ID: <20260116042510.241009-3-ynorov@nvidia.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260116042510.241009-1-ynorov@nvidia.com> References: <20260116042510.241009-1-ynorov@nvidia.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: BN9PR03CA0061.namprd03.prod.outlook.com (2603:10b6:408:fc::6) To PH0PR12MB8800.namprd12.prod.outlook.com (2603:10b6:510:26f::12) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH0PR12MB8800:EE_|LV3PR12MB9188:EE_ X-MS-Office365-Filtering-Correlation-Id: c97778a2-ba33-4f08-b7d6-08de54b74024 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024|7416014|10070799003|921020; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?9R4qvtqAf+DM92pVWxzXAFrTyIgT3gxibXeaR4pOsfRWcIW8+1Kp2FDEXeAT?= =?us-ascii?Q?i1oVs9IP8jTn4YY/SIeveGfu5tUYGxwBIfN6WYiB5Je4ApvGbdL6tMFT2DeU?= =?us-ascii?Q?uFhrXGkFc8e0uF9xX5/ioKUOjucifTkuma9fXSHPGHniQ6mmFN5ZThZIFj1M?= =?us-ascii?Q?FNg+Af79kDVr/rVSyZzrTnpQjdyn6OvJuiD0qMXbGy3WPaezvEstNX+fJbZ0?= =?us-ascii?Q?SDAgbXf9K/vovk0ga5MhOcOf0v7PTQuop3OWjRr5txPmsVql1SHUsn4Q2vf8?= =?us-ascii?Q?NyAWLIx8PsITWpwlvcd4mvLy2iGYyteDINnaL0Y0/eOASztwmkLPvXOmLPK1?= =?us-ascii?Q?XUwV0l9rT4+bdd2q9PB+r+wuHarZnpncVFcgNuhlsoAsntdGOLHHzquZ3mom?= =?us-ascii?Q?RyIWoXibKFnSzVENhGZknkVNXBd1onu7Ok6HowFUEjn0eRcoZ+FA1508qBo8?= =?us-ascii?Q?RC+3rXGdFCkFG6WAXF8ha0uHi5MRxMYNooqJMjHYOnYyxUhG5HtSByBtVdm/?= =?us-ascii?Q?/gl7j6vbjricH202jsISNlHEKCsK9kQq0makFv8/oejkllLm0bPxtFplQG3P?= =?us-ascii?Q?28qBoygAv8ubtKG0C1s6+omMTrr4C2EHm/RKdMlN/Q2fi581u3cdoG3eEtit?= =?us-ascii?Q?Txgwax1oWfS5HC5BIWLtjwZ1eHhO8LpZwaFLGCrvaF1AMwhdk3VUgUI0kF7H?= =?us-ascii?Q?lX3jGInmmICTHytzHfLVeSS5dofcN49YIaxQC+DIQVTXSqYvUq7eL3v+eNzQ?= =?us-ascii?Q?GkakVGnn35wOvSdZdebHTMClFTE4WhXrK3k3tzyjh6S/oyCDk2KOW0Nd4C7B?= =?us-ascii?Q?6nwOJNioDYGWAqzgFqxk7YKvZRsEg0vjqQyKl4CsK4yrYtQ2V425HLCeiGLR?= =?us-ascii?Q?7yQmiIKPC80IdN3P0imqC+wRSuSK6K56DzZkImjAuQjNSaNGomnr05Hsj1I+?= =?us-ascii?Q?OmqBs3ZpbhBITWRf8Qf+4MdKW4xT055VTdk3KE9ZtmafGbRt0EZ8/1ZzLXnW?= =?us-ascii?Q?XNifYK1arVEnA8DK4npTWNnKkSzueOGIk9IaggYjcf47PCDD6aMK5MxKNIFg?= =?us-ascii?Q?XmFVRyREblPcLDSvmUvXz6qmW23r2+brwYeOFXob/nWhMfjLWl4Dl+dQy1Et?= =?us-ascii?Q?Ce5w2LoXBekrjMNdoy6Z37Ymd33NmE5Zm02iDTtX7yox6SLxDcLwd+FoM0sw?= =?us-ascii?Q?yUmxJmVAgyyuxF3XnzjTAvBLu78GTDLdqXUdYy1wnNIElOpese+JlkKTNmeL?= =?us-ascii?Q?g6VxvOjZpND2AzQapjZHMGqOz0TArutfw02RCz///HrGe0Xr1CevSc2WjFRR?= =?us-ascii?Q?0ESIXvZ3qKyRBMsuH5rG1SDCkzS0vhkhhUUrLIxFsyP61En8X7iZfpdfprgH?= =?us-ascii?Q?4oufnWZUC5ezz/xZAQ6bniIBSVAyaIUmYqOoxtz+WaT0bA0aYlorxUYklrZT?= =?us-ascii?Q?DMCV9wXpZBwRVbXjkP/pWhe7upnJCmYg4sfk9/94eGoxMhZR0JA6GIaQ/aI7?= =?us-ascii?Q?W+8ZccioM02cgA9NoWYrdHkwsNOdyjJk576li1VP5eozhI/37u7TWe14k7Xo?= =?us-ascii?Q?UocNJc2DCr/9jG5pwKsg4DuKLCi6uNgJ7D9/nokX5PGyr8/PiJPmw8LHWQuB?= =?us-ascii?Q?5g=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR12MB8800.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(7416014)(10070799003)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?BmnPhwwjnhXpz8dDR4vDoaFGtIoKjvKb0hAqaVVaTdQwwC0Ssj3cXaiOYNAX?= =?us-ascii?Q?XWP7NGtOJcFF0AY9bn1A7K1CzxxAxzUJC8idz9IO4ONa66byk4SqaPLHwU+5?= =?us-ascii?Q?9usEVcdPVD34zq3mY0kiYfCwDOtN6Xm0nrt6MSabRim4JQOi6aovZW6KzBum?= =?us-ascii?Q?NIFlTSgy7veQe02glvuYt+xEicWid+ebAbHc31teWQ8aiueK/zoMNFLDJpx7?= =?us-ascii?Q?eorh4CqlFwQ1or3ophbaOOvsYdi3IZhraOBVUA5gV6E+EnVPraZRtas6yH6U?= =?us-ascii?Q?sHGnReVdwiBUYalODVUYkXlEEtgCjD0W0hZcRsyaIoblkUX31svsv7iOJQqX?= =?us-ascii?Q?k+7kSf7ivp3vv8DhJKQ170Q35XHx/zzeOfnJg0qjPTHTTzRS73/X64nDg/Ha?= =?us-ascii?Q?NIbuKmf/e/CKdzwXR66phaxuifTzZZmGTUIGAC3ivRNSx+CbeJvthfE1ry/z?= =?us-ascii?Q?2cPmPUMyyssOPo68hNGudpOO7sZzQk6MLH+Ao8URAP7suOMuMXPBdzXpBSuh?= =?us-ascii?Q?+CO+MYiaRj7DKYDLCKiM+hahHwNHCN9xwE3i/tLOmcjd5AjlxNxLKRrnbxul?= =?us-ascii?Q?U3xgolveIuFuprBDS3N6qqpCHqaC7OOXS5NTBZ3amjOXGwYqCGE24KuSFFVw?= =?us-ascii?Q?RbEFjW1ueGC2VBws0dSsF3LSEo0H7FUs+wcKC4bV4MWC2RcH+MuHsGTyvBUP?= =?us-ascii?Q?hLTx3cdyCsJapxIr8ijfnF4B5SGc7jNoxTDM1+tv3Xj2zc/siWbqHA6hkqFm?= =?us-ascii?Q?vcPFFEb/zQVSQLs1e7NFMa8oBQuQu8URZSgUzJpd1vfXcnNoAPbArzaYO7y3?= =?us-ascii?Q?7IiTxs5Q/IdFi6QN35OPr9Y9mTE7l48FCykmYhJQZj6baOKfFiAm6kuUFtFX?= =?us-ascii?Q?7EIP/9xIpk2WGWB35k3DvfV9zqVyPmBGp0N+0S+ycqxdVxmiNjIK5/6CSCly?= =?us-ascii?Q?Kx1Rc/yE9xYgj4IDJU7NF31srNstpenjxNMKEKP4rARqKGZR72YPqo0N0Cz/?= =?us-ascii?Q?ZluUWMll1r1+rjRVr2RtRRs6Y3Ur1XZRGyPYDnkD4EwhBNufTOn26s4sNJGw?= =?us-ascii?Q?gH0POG84IAElvOy/KWW0dmz/lK0kpIVuRvetKEQSoMwcSu/oChcwbcqN/fIj?= =?us-ascii?Q?0ldNJFbePaxuogAvjWr5G92lioL52+bENg6AycMKa6cXKGPElHGOmEXMMrA9?= =?us-ascii?Q?rNGoypgb75Knrp7h+DOA7adr2X9j6wBuGY3C39dsB25byrsE1ln81BMAZ8TV?= =?us-ascii?Q?RBPKcu3JTwE8DLxcfnbUXyo0N1ge7xnL7OPGyb9PMsNw36LUTPSlBYVfboRi?= =?us-ascii?Q?5I7j+hxtWkcF7MUjQUEk6FErt6ulOTt/lZLi+xqgr1mgdg07aclUXqYyvhfx?= =?us-ascii?Q?IuQjNw2+/MdExo/380WJ7rmcICe1Xq2y1XwlPgRiJ/2JPIH8MVphNrDBccGS?= =?us-ascii?Q?743ly/ege3rjJ8cpkHzH4wFLL2JUeU/Kw9iXzH/xQRZTVlgJxFevpGZhRZlV?= =?us-ascii?Q?xB46y+Sd+8sy2mQvxF0Av+bqTvdGyAdFVLfotzXpLLD/RjKfZgDU8+9sBL6F?= =?us-ascii?Q?n1kWI0CxdiquBL/WsR4avS1kNoGtuc9Bo8Y9gfDMiYNSyx/nyV51vQuKlKcC?= =?us-ascii?Q?azoswlB6p82DJjfB/55xWGyxdEd9pTgls45MLR2GIh2+FDGlR5l2tb4zVvqd?= =?us-ascii?Q?ESlkXqciqNdiK0YJTtVjPrhYufElHpqhc/uJgHzA+ylufsNr1zToLQ5V0WP7?= =?us-ascii?Q?rt9GNnt2ECLiaoXZJF3HnzojQSdIEujwEyPZnar+w+DzcQFtFpm6?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: c97778a2-ba33-4f08-b7d6-08de54b74024 X-MS-Exchange-CrossTenant-AuthSource: PH0PR12MB8800.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2026 04:25:16.6535 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: KtMPQHxKTiO4vAVuLOWaMu0M22dcb0rsZjCUvQ9vrX1ct5cVTmumt/ScG7S7O4BzByqsH/VVgQeUB2+ej3PeKQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR12MB9188 Content-Type: text/plain; charset="utf-8" The following patch drops moduleparam.h dependency on kernel.h. In preparation to it, list all the required headers explicitly. Suggested-by: Petr Pavlu Reviewed-by: Petr Pavlu Reviewed-by: Andy Shevchenko Signed-off-by: Yury Norov Reviewed-by: Joel Fernandes --- include/linux/moduleparam.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/include/linux/moduleparam.h b/include/linux/moduleparam.h index 915f32f7d888..03a977168c52 100644 --- a/include/linux/moduleparam.h +++ b/include/linux/moduleparam.h @@ -2,9 +2,14 @@ #ifndef _LINUX_MODULE_PARAMS_H #define _LINUX_MODULE_PARAMS_H /* (C) Copyright 2001, 2002 Rusty Russell IBM Corporation */ + +#include +#include +#include #include #include #include +#include =20 /* * The maximum module name length, including the NUL byte. --=20 2.43.0 From nobody Sat Feb 7 18:00:50 2026 Received: from SN4PR2101CU001.outbound.protection.outlook.com (mail-southcentralusazon11012052.outbound.protection.outlook.com [40.93.195.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D2150345745; Fri, 16 Jan 2026 04:25:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.195.52 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768537533; cv=fail; b=Kho9rUD1dBORcMrP/DwRPZjNIkGBGuw2NlLiBEJ37oi7sVRdTKUYUDBvhpVClLgpd6jj6Z/OD64Ol+WzxydFWOZiUFrJ5sp2Z0EvcDGQOoXFIk5XOxzT7wzCa4PdzquT/+i3WPa5ZecJ59tlQZMW515Z2RXWtix4PqaBAz1UzgY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768537533; c=relaxed/simple; bh=ncNV7I7bVf4qrC4s2E/Di1JhlGdg/VS5+2dC3GrU8FU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=kJ/Cy5AG6mnp2ivBR86fXumnBbo6iZPE3EtaqlEeeAaZ0kRUpwKGhyzVCWZwosyWDFLrc8DHufUlDLtwxcQ5JrSj2CwdHNrLL4XAaOdDCj++7selvGA9GhOgQhZ0XrYv1yS/lcL0inpLynepPbpj+Vbdq8wiYgb66hiAfvsAHV0= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=JrBIhnda; arc=fail smtp.client-ip=40.93.195.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="JrBIhnda" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=aMPCp08OVpBduWA1I8FDnAS4ZxKmN56TjcstjoQUIwxqTglHgVkIZ5+GgXqLg5PuYEcvl/wNia2guT7mILNq5PPglwsw13h+vuigwH0K18xvVQIOt82z2l2tfBjJwl6vyTapyaxvgeaGRsh90alyhNHwuPsRz6nHxiyyawZ5dkt5hwIZcZkjgOguf6EMXXraHMA7Kdf3o7mfiH00niEMgqkbDQ2AyXRnl5+FRZaZt7MjM20hAWWxEf3YBJmzQUkghRHnz5k/8CSb1TwqIVC5YEAU+70A+uLZF9OZ3lV6wYyIBkmuqgb6S+IcTdH1PdAbbJIKEgLBrH9Y6HgeXbpwBg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Yt2xArM4PimbyjwV3mDUKdXLilLDoGk3ta3ffeI/Q0U=; b=V8iwp5UoBOdrJMMEQmzGh1jmsxN19RgZHTw+x1Clxr1IW6+FyRP2DclmJUCgmowXqALXAqGJjj8l9Yv9uq0uhiWLsrHBs64ylzggyoI2ODRloS4eJOtqGy+A9GpvrL9bUhowJ+2WeF5wk/UoKDXzBqCojxppqf/XSlu4U3Kr8G/YwpLOz6/MVw3gRNxq0kgDqZEl6eA7pxs0u2VSfEIl2VFr2LVGsKrLHcpxQqq4/zbL6nNNPOcUfHD0aM+mkk6VGvkDTP9boyUYlxE+2ED9LSsjUDIfp7HNoV3XR3Dm3jAsTDOEFq7JLfD7sE5n9hIlCZ5k09Fq7lZ/oHFaHFWz5Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Yt2xArM4PimbyjwV3mDUKdXLilLDoGk3ta3ffeI/Q0U=; b=JrBIhndaSl50fj/sXFZWgGJ/DApFUmTkCT9H22llPbX+HbwY9CWAtzPdUg/rF8N4iZYP1zVkwRyugSDPcbFTI1LLaiGe36yRuhoZBAKYfPzSme44PGTP3NpRLMoTB7ILxcsJiM7VlQUJXAf4eMNa/8mZ3qScgehjucJlDz0AoStHdhU3gSsmZVf3TIhKKPnUlJ3LtHHER75s/vgqeTtJXUJ08HMe8y77rR6x9DYUkUM+RK/L4n9QcUhUceCMI04gGLJWUVZeNECmTbDhrflUUmTpv1sfowpTgC3iC9ZQg6X7dwOFtWbRNzU7LLbHvpW3xlgAG27HyEew4LR5lvow+g== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from PH0PR12MB8800.namprd12.prod.outlook.com (2603:10b6:510:26f::12) by LV3PR12MB9188.namprd12.prod.outlook.com (2603:10b6:408:19b::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9520.5; Fri, 16 Jan 2026 04:25:18 +0000 Received: from PH0PR12MB8800.namprd12.prod.outlook.com ([fe80::f79d:ddc5:2ad7:762d]) by PH0PR12MB8800.namprd12.prod.outlook.com ([fe80::f79d:ddc5:2ad7:762d%4]) with mapi id 15.20.9520.003; Fri, 16 Jan 2026 04:25:18 +0000 From: Yury Norov To: Steven Rostedt , Andrew Morton , Masami Hiramatsu , Mathieu Desnoyers , Andy Shevchenko , Christophe Leroy , Randy Dunlap , Ingo Molnar , Jani Nikula , Joonas Lahtinen , David Laight , Petr Pavlu , Andi Shyti , Rodrigo Vivi , Tvrtko Ursulin , Daniel Gomez , Greg Kroah-Hartman , "Rafael J. Wysocki" , Danilo Krummrich , Joel Fernandes , linux-kernel@vger.kernel.org, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-modules@vger.kernel.org, linux-trace-kernel@vger.kernel.org Cc: Yury Norov , "Yury Norov (NVIDIA)" Subject: [PATCH v5 3/6] kernel.h: move VERIFY_OCTAL_PERMISSIONS() to sysfs.h Date: Thu, 15 Jan 2026 23:25:06 -0500 Message-ID: <20260116042510.241009-4-ynorov@nvidia.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260116042510.241009-1-ynorov@nvidia.com> References: <20260116042510.241009-1-ynorov@nvidia.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: BN9PR03CA0407.namprd03.prod.outlook.com (2603:10b6:408:111::22) To PH0PR12MB8800.namprd12.prod.outlook.com (2603:10b6:510:26f::12) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH0PR12MB8800:EE_|LV3PR12MB9188:EE_ X-MS-Office365-Filtering-Correlation-Id: fc23c2d5-5ed2-4ff9-1672-08de54b74154 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024|7416014|10070799003|921020; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?zLt+GseKnDlk4ZoIUSkPiC+yoaYiuZAE8oWx1Ry/0Bs+IvuGUo9EmrW2hpy5?= =?us-ascii?Q?I3005WD/jmVJ6lDF3OXBYSDfQvdNBmo/kFavsTO5SyLzcrnPLPbDXGNz9Wbd?= =?us-ascii?Q?YLHg5NQmWIp0Y1WNU9KsS5KunaL4ra8XDOoIiX6sdPdKY5G3dLr9Z5SjaOvG?= =?us-ascii?Q?4cJCNyfzM1070vKhrmPvrgzVmmJxq6vUGqp4DOnQ9tLpZbzxUyo2De/mSxya?= =?us-ascii?Q?mPpJ67LlRvnyBfx1T7XaCiEJFx1YlsNJDGtxOhgsid3JRVsKIYABGWCUuViF?= =?us-ascii?Q?VqQEtPJ23wnh2QxdAPJA6f99oWEpDkkcEJZmaaG/lPz6/Y8VPrCjcnWdjGj6?= =?us-ascii?Q?N9DO7JPBltLYC9i9Mjikrk0TrVfaNmVgcFYsT3OUjmW/O+K1Fe1TdNhs2s3i?= =?us-ascii?Q?nZWinexQm79+lhwDGT88dIHmqyW+dzGT80QuP8gJBGJ5ws2PPTmuf2za/xPi?= =?us-ascii?Q?8pYjlbrESsJ/YEQcLtz55pt4pntMeZ9wWO9/B2rthuZDoAKJkJtPP0ENvEpu?= =?us-ascii?Q?byF0EsZxzpad9721BmG3OLzzc/Tlxa847apX4HeyjOFts/3C9Z2tV+apFwAX?= =?us-ascii?Q?GUcA2QMUgc3arQcIIDlczLOAygi+zmHERGORhr6AkUP+bTA85WjiwYokk7JE?= =?us-ascii?Q?T0X688uL7/LEX6sJQJ+bWHyKXAsi6PY91gJcM2Q0+fzjIc/SNUwWg3xSNcLj?= =?us-ascii?Q?iE8TcZtmPHVfxTwLp9RlMzgivmPewd3hCEMTUxwGZqvUfT2zngE/Z43TccZv?= =?us-ascii?Q?+64KK8F03FqO9TJq3NkxYHg6cFN3v5bgxzJGgQQotzq8qKSfvlQDI1dtA/Fe?= =?us-ascii?Q?GtYkxEGMNSyb8sY/JL8wqcvZl0ZynSBTDt/1v04ERdTZ6nubC5GqhTSkgkIh?= =?us-ascii?Q?gfVuTQSinyD3TiKcGnBvut+NjgEogWp8plerRBkku57VkxF4sVIh5sNYVEB5?= =?us-ascii?Q?n+IZXsZ3aStxuri2WcNDrunUXjnI+qzuDf7OkscK6ndpV3WlxOWGZEOnz7bg?= =?us-ascii?Q?n25seZPT8zKrzpFhlAcS/f4RPWNdzLJ7CtJ/UJEZI067K5htTSO2FjJff8lG?= =?us-ascii?Q?rwjijIB0yVLUCiEevheknLCEdc8nphOrTzJjGi0jFjodpSt9NaUziAhw/y7o?= =?us-ascii?Q?4mYTwmA45K+iDcRCS19I/aQsSP6d0oz68DQHNKuH5qT+atWfKhz1355UkVdK?= =?us-ascii?Q?r82ivgKisiDQVAA1e3mR8Hbqc5nYhuflReYgZNFAbohBns7kZXCAajKKQEp1?= =?us-ascii?Q?uaXWZXm7Eeh6oXAQHN5mjRmj8lmuMz3XTw6ZfVJptHEiW3DbV85Xksu++OPx?= =?us-ascii?Q?OF1KHAyF5VusHuaNd76xW3jY7CfL38B6iAkWPJ0Wcj5UiOTIYIQPYYRJRJZs?= =?us-ascii?Q?GGr6eoCgaJAxv/hWmCiRQUmhQAiKwbbqEuUSZXTNic8x1j0h+vkaBzEJTKf4?= =?us-ascii?Q?O+oapIuWfPPkBrJ1lNtceN8uQzs+7mOmjbTfOQ0o/nCFNl3A4Yt3xat2u6Nl?= =?us-ascii?Q?tG7AMmerlt0CLQsUyLGirdnoZ2nqpVobjEBPZhQBilbe7enOWXJF/4+trn2r?= =?us-ascii?Q?OQ85YIa/nwlLoKkF/3dhO+7FZNACFR3cHS8q8TmairhnA2OHuV3OXgkf/UK4?= =?us-ascii?Q?dA=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR12MB8800.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(7416014)(10070799003)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?BIi5S3PDEX8PftecZiekcFIzuj4v9eqxSNXa5/zSEnrSwFOkP8cjkqLbGMMT?= =?us-ascii?Q?xXRrsPZGnTkizJlvmf1z0h/02AI4asYjtndD92kYpdU1m6RzHfFAbbQpgo4+?= =?us-ascii?Q?w759HiSZ8viA1fmFVaJonzn0KvSuI+QzAuGYwSlkqDuqQtN9BjvBnRGNSz2o?= =?us-ascii?Q?MNz+Fjv3G1iq0YgcHA973c9KToKeeuWiuTUZ79bK+3CD0cA3ZeuQumHcitrq?= =?us-ascii?Q?UDItNr3/jo4+Vqq1jxT7dhNG2h6tHYt77DEZ3O9axZ1wYSKjmwzn9Z4k1OjW?= =?us-ascii?Q?VyzePZB1GP9XSQ28EiYkcnZ9n+bBfrztQhJcESP1suKy+eEWXR0Gwkqske5X?= =?us-ascii?Q?9buGFegJ7v2XnfqE/KMIeZlhUOTC75y+17xYbK9cRQ9zWZUs7hrNT2qFoRnW?= =?us-ascii?Q?pfBtNCFQWyhsHYcdZmtk24b9oaMc9+gKBkwl30gaQ/yTidIAHnLdcqWfoOEc?= =?us-ascii?Q?FysF+hvFuWYiHuIZTD4hsVbJPLTQBaIOVn9hVoa+DJa1yzZEvP9KLe8nvdoD?= =?us-ascii?Q?D5YbBysXFTzzpDzsMbn61MoC3wWIIsf++MFfn5ZHEbSVmKZVcOuuQIhQSy5P?= =?us-ascii?Q?+cEg3HRJXwuZmRCvoamdData0yk+ZkztKEhmgnrokaILYgeVl4zuh5mHp0vW?= =?us-ascii?Q?lXGEXj0gCqawsaRTSPgK0Vwa08sdXQa1cAED6U1zLhRKoKj8YLYIBoa63Dkl?= =?us-ascii?Q?HgaYvylE2I5soOly5yt1+4rrmLpk9U8B6AIUx/oTvaiTPlZ/Of98soQLkMSB?= =?us-ascii?Q?hoqnkW43VD3f9VFFILaGhK824yS/1DAEjQRbP6G2k6596F3UhMfDK8st7rX4?= =?us-ascii?Q?CZQ+yFCB8f8cZQCa2oGxlTBP6jMBB/iCNo76gdhtswTa/LJOS/0hFZLvaW7/?= =?us-ascii?Q?rpiLf8kGisTXoUFDtfwHm+69crEUGWQ3tayGz0t3y9yncqg+/LDjAaG7rIv5?= =?us-ascii?Q?0tv0HO5ixvRupiI9uM+yQmkIA6B//HKkVlJL/w2QExw9fOA2wiCHqEVjKiRD?= =?us-ascii?Q?sXmS3q86BVL8A9EpKYg+d1IsxQN6AqxekjQh73LwXHyUSN8Ux6X9UfJkwBlx?= =?us-ascii?Q?VGt+j7XQ6vBdlm0fk6pnlzVrd+RscmlV7kgqivh6LqsfHRL3d5xWmoms3I1y?= =?us-ascii?Q?e29ADnJL+wSmIG/5Ko/s6RJ4tdNdS7g8qbhWCKwkqwBVkkkB4/OFeOeGhn0I?= =?us-ascii?Q?6D+LWK+Tbj357jnlOi9UNH1BW9TabyoItadcFkjBrNepPkrJC6REwWpuajva?= =?us-ascii?Q?ilH1xkqdVN0wz7GFZUWei2CMwI7AuabccmHD8wVo3DjpigEeQp7zBjXQtdjz?= =?us-ascii?Q?Lxp2E9xXaO+RPtZN+V5tFUiGB2ETDcri0WZ4BnrGCaYvi58NHWOnCWn3dY4o?= =?us-ascii?Q?dZ6choo41XxzXH+QCvDpzTlP1LjatW/LnkWHA+KmI8nU4kRNG6kz9U91YREf?= =?us-ascii?Q?gx8CWABrFGJrD5GfPqtvSEEPtMI+4H+gKkm15KPr83/aLwGzpSZVAsiffH3T?= =?us-ascii?Q?l+1ECSYqvQ3LySMMLCG79enTlR5G2mr0NaTzpnFbyy/M27ziyA3+f2y8/mdI?= =?us-ascii?Q?RhlfQHgv7U/Ld09qjr0oWcuzyHya8Wo9LTi/+4U5P5uMdnWxiOMlS7F5VKW1?= =?us-ascii?Q?zsAvkcqQxQ4BMqdMHiX35DI9FVqXyjnW/C7clNuidLyk+7KPrzyFAoLqsojP?= =?us-ascii?Q?RHeF3tSJntWAZra+J84lU62sTrsqZA+FCDGzqK6xcPrL9Kei4VwaU2Vpc/gq?= =?us-ascii?Q?/BMeC1vNUbx6NbzCupid6/A5rSPILbMpJnnlocgw++gk8L554E7K?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: fc23c2d5-5ed2-4ff9-1672-08de54b74154 X-MS-Exchange-CrossTenant-AuthSource: PH0PR12MB8800.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2026 04:25:18.6300 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: +gebbi3mheNSbKuJ9YW7k+ZyN5to1G0zCt5MPhhw3nWmOuf9Zab0Gbay6NPZV1VXOsHRYKg3O1J6kRCUqqcQXQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR12MB9188 Content-Type: text/plain; charset="utf-8" The macro is related to sysfs, but is defined in kernel.h. Move it to the proper header, and unload the generic kernel.h. Now that the macro is removed from kernel.h, linux/moduleparam.h is decoupled, and kernel.h inclusion can be removed. Acked-by: Randy Dunlap Tested-by: Randy Dunlap Reviewed-by: Andy Shevchenko Reviewed-by: Petr Pavlu Signed-off-by: Yury Norov Acked-by: Greg Kroah-Hartman Reviewed-by: Joel Fernandes --- Documentation/filesystems/sysfs.rst | 2 +- include/linux/kernel.h | 12 ------------ include/linux/moduleparam.h | 2 +- include/linux/sysfs.h | 13 +++++++++++++ 4 files changed, 15 insertions(+), 14 deletions(-) diff --git a/Documentation/filesystems/sysfs.rst b/Documentation/filesystem= s/sysfs.rst index 2703c04af7d0..ffcef4d6bc8d 100644 --- a/Documentation/filesystems/sysfs.rst +++ b/Documentation/filesystems/sysfs.rst @@ -120,7 +120,7 @@ is equivalent to doing:: .store =3D store_foo, }; =20 -Note as stated in include/linux/kernel.h "OTHER_WRITABLE? Generally +Note as stated in include/linux/sysfs.h "OTHER_WRITABLE? Generally considered a bad idea." so trying to set a sysfs file writable for everyone will fail reverting to RO mode for "Others". =20 diff --git a/include/linux/kernel.h b/include/linux/kernel.h index 61d63c57bc2d..5b879bfea948 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h @@ -389,16 +389,4 @@ static inline void ftrace_dump(enum ftrace_dump_mode o= ops_dump_mode) { } # define REBUILD_DUE_TO_DYNAMIC_FTRACE #endif =20 -/* Permissions on a sysfs file: you didn't miss the 0 prefix did you? */ -#define VERIFY_OCTAL_PERMISSIONS(perms) \ - (BUILD_BUG_ON_ZERO((perms) < 0) + \ - BUILD_BUG_ON_ZERO((perms) > 0777) + \ - /* USER_READABLE >=3D GROUP_READABLE >=3D OTHER_READABLE */ \ - BUILD_BUG_ON_ZERO((((perms) >> 6) & 4) < (((perms) >> 3) & 4)) + \ - BUILD_BUG_ON_ZERO((((perms) >> 3) & 4) < ((perms) & 4)) + \ - /* USER_WRITABLE >=3D GROUP_WRITABLE */ \ - BUILD_BUG_ON_ZERO((((perms) >> 6) & 2) < (((perms) >> 3) & 2)) + \ - /* OTHER_WRITABLE? Generally considered a bad idea. */ \ - BUILD_BUG_ON_ZERO((perms) & 2) + \ - (perms)) #endif diff --git a/include/linux/moduleparam.h b/include/linux/moduleparam.h index 03a977168c52..281a006dc284 100644 --- a/include/linux/moduleparam.h +++ b/include/linux/moduleparam.h @@ -8,7 +8,7 @@ #include #include #include -#include +#include #include =20 /* diff --git a/include/linux/sysfs.h b/include/linux/sysfs.h index c33a96b7391a..99b775f3ff46 100644 --- a/include/linux/sysfs.h +++ b/include/linux/sysfs.h @@ -808,4 +808,17 @@ static inline void sysfs_put(struct kernfs_node *kn) kernfs_put(kn); } =20 +/* Permissions on a sysfs file: you didn't miss the 0 prefix did you? */ +#define VERIFY_OCTAL_PERMISSIONS(perms) \ + (BUILD_BUG_ON_ZERO((perms) < 0) + \ + BUILD_BUG_ON_ZERO((perms) > 0777) + \ + /* USER_READABLE >=3D GROUP_READABLE >=3D OTHER_READABLE */ \ + BUILD_BUG_ON_ZERO((((perms) >> 6) & 4) < (((perms) >> 3) & 4)) + \ + BUILD_BUG_ON_ZERO((((perms) >> 3) & 4) < ((perms) & 4)) + \ + /* USER_WRITABLE >=3D GROUP_WRITABLE */ \ + BUILD_BUG_ON_ZERO((((perms) >> 6) & 2) < (((perms) >> 3) & 2)) + \ + /* OTHER_WRITABLE? Generally considered a bad idea. */ \ + BUILD_BUG_ON_ZERO((perms) & 2) + \ + (perms)) + #endif /* _SYSFS_H_ */ --=20 2.43.0 From nobody Sat Feb 7 18:00:50 2026 Received: from SN4PR2101CU001.outbound.protection.outlook.com (mail-southcentralusazon11012052.outbound.protection.outlook.com [40.93.195.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B9FA13469F1; Fri, 16 Jan 2026 04:25:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.195.52 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768537539; cv=fail; b=a9SjwskowRFh0KFsJcx5lXBTPYp9p1vcKr7HLkN/JWC+w/AEwsfL5IiKD6SdBoyY0AdX3YQ7tprxqHU1okt/VONCpWqazM/gB44949ImR1KflM8NhzHB+XaYMwIgw6iFGDMMhVWIAQqKxZ+9/9yjmEInYKHZjhX4GuZ01CNrtDw= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768537539; c=relaxed/simple; bh=WFOzVc7a3nZUNhnBlx+WR7i5SpNEYKJplJieXt+ergA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=tZXpmEtijQ/+4chd1r+l33/rr/kNzUByo0qbpRWzi/g90u+8V1BMao/8osTjGRYAVambFHyn+e/WGxpTq8/a/uCyqC8B+OEHsS+zKHasDKXMUskXE5d3PuUjhQUk8Y4sYJ2wr0HaeJVST7AhzDgfv6PLKO7Xl7+6IdhfCQH4VP8= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=f2UOVcBS; arc=fail smtp.client-ip=40.93.195.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="f2UOVcBS" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ElTi1lDxeBznB1AE/4B6ECimukLSRsGwhXXzsc8AbidoNaxzJtN4DIZ0nV0fvfPhtt3lwbDfNxoTBlE8Fh87IdY6odpYBg9OB9QE53XVqhZ9NRcAMn9wLGah8cOOYFSMO88YqrwlGa0agoB6DN1ldyp/59EdGg+/DUVrLxKfiWiyXHDV7lhqU+SE/MKmTLTAz65O/gcf/D6EomFQGkmnvMzjpyMKFWUX81sichWyPvImhh4sltj134hfLhcWrH2v1D64GQ0LOtlow5RQws8lg3V5q8SnNHVWnWow8biSKUhy3Bp6zeUWGMOD9JD1qKogWBmuQAGbL6rsUPlUz1HURQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=mH4REHL4gSw8skJJ3H6FZHuRgD9LfGtoAZcVVVS8UXY=; b=pKHoKm7/sTad8INOnJhXuUE87uUvJenvnbmP67mlR/cgorL9rEnr+TrBjolDg7NEf76wJRIkMzzvC5Yoopk5qroapj4MfINPbDOKOLHTOnXQpSZF7PWXaFgdJwWNyzYM5bjYL0AyjIPN3vnsh9NDSyp3N9t+a3pHTHIcXlwIwF1cQkSDyvAHL/JyA9HVcF435tq46JV4+XhG4cjvsZmXW5uNM1ZOsr5viUK2p8GXKnIk4gtPmFAOrjzXpOo/SOHMGUQSOR0apRJ3NWrxRxL8lZoYJWbb9oAibmaK+3oo6lOutt/kJ6JAcCzPQP/vDF2BkafR0ys8mvXThKZQPuBgVQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=mH4REHL4gSw8skJJ3H6FZHuRgD9LfGtoAZcVVVS8UXY=; b=f2UOVcBS82/drv90rHhkyJIknW1j5oB+U07bGjvcfVHIqZD16DRXEQ8F9lgbT09x4+VyNa9Jj+cZgq8C9RLVnVo7JI4MVsP/+pZK98/j+OA3wCfu2bYKvGuOlVyDzhLV+93X13zi9LoQTSw6yeYuwp83jllOhK0KHCvaWWEywChz0+8GWKpZLUBdeUJ3NAQlekBaibrebgbtmyD/dpzjyAs301MZ1KSQzzbTh+SQy9Jm+X4ZssVLqnzvrcpmCnRprvz8OIvhSYdHbYxv4DqDadk/Ajst85H1l/fDEAnMfhZVkwpweMNj7+v54YFOp6w6V2yLtl8JUM6JppeL2gmGYQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from PH0PR12MB8800.namprd12.prod.outlook.com (2603:10b6:510:26f::12) by LV3PR12MB9188.namprd12.prod.outlook.com (2603:10b6:408:19b::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9520.5; Fri, 16 Jan 2026 04:25:20 +0000 Received: from PH0PR12MB8800.namprd12.prod.outlook.com ([fe80::f79d:ddc5:2ad7:762d]) by PH0PR12MB8800.namprd12.prod.outlook.com ([fe80::f79d:ddc5:2ad7:762d%4]) with mapi id 15.20.9520.003; Fri, 16 Jan 2026 04:25:20 +0000 From: Yury Norov To: Steven Rostedt , Andrew Morton , Masami Hiramatsu , Mathieu Desnoyers , Andy Shevchenko , Christophe Leroy , Randy Dunlap , Ingo Molnar , Jani Nikula , Joonas Lahtinen , David Laight , Petr Pavlu , Andi Shyti , Rodrigo Vivi , Tvrtko Ursulin , Daniel Gomez , Greg Kroah-Hartman , "Rafael J. Wysocki" , Danilo Krummrich , Joel Fernandes , linux-kernel@vger.kernel.org, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-modules@vger.kernel.org, linux-trace-kernel@vger.kernel.org Cc: Yury Norov , "Yury Norov (NVIDIA)" Subject: [PATCH v5 4/6] kernel.h: include linux/instruction_pointer.h explicitly Date: Thu, 15 Jan 2026 23:25:07 -0500 Message-ID: <20260116042510.241009-5-ynorov@nvidia.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260116042510.241009-1-ynorov@nvidia.com> References: <20260116042510.241009-1-ynorov@nvidia.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: BN9PR03CA0586.namprd03.prod.outlook.com (2603:10b6:408:10d::21) To PH0PR12MB8800.namprd12.prod.outlook.com (2603:10b6:510:26f::12) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH0PR12MB8800:EE_|LV3PR12MB9188:EE_ X-MS-Office365-Filtering-Correlation-Id: f6342366-a7dd-4fa8-f00f-08de54b7428b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024|7416014|10070799003|921020; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?u+I7+HokhO0N69Hor8AsHsxzVwbGFVhkU13Y2nafJMQ8O8lRs16KXJNhOa3H?= =?us-ascii?Q?SIU20KXoiKZgPlNNXJYi+0YKebmTKsl5NwRzs/803kV1zbDuBWR2K+GoMh+V?= =?us-ascii?Q?ufKTOi8WaNU1swScTPcq6EXQJMGMZSMmwRtSu20DQPovetTD8bXJRNAEuku5?= =?us-ascii?Q?ctw9VvSqt6debi2Dhxde8RBKvW+/Cli+Cs32TfGdTAne3jm8CVdPk+UrTZYl?= =?us-ascii?Q?BVHVwe3JBSkbAnOCTP1LwJsSKwzX1i7nSOAyIn/jEmAD9II895O9cA4FV/iL?= =?us-ascii?Q?0MWld2c2A26YgNeVavlOtaobr8OXnhmV900Mqn5Zc1C4yeKinKNKf/bCfTk5?= =?us-ascii?Q?Ope12qWpEh+JbLNRxCizuOKE5hcq7V14Ood4ZTHFmK7Ufy2OgW6/hw9MK9hA?= =?us-ascii?Q?fpihqPlJJLURh9WsaXkSTz1khifmcxzF9i7hcbvRUz0oPCEYtXEpfd72H+Cz?= =?us-ascii?Q?WZQhD+W4Phg8e8jVXIV4JAVw2QwYNGoDfG0lB8kcLLv7qU1rYR8U85uGWc2J?= =?us-ascii?Q?twjmjbF7C8up7wlXJHpakSNOK67lrLUYKIJBXCq1J//wG1ke1F+gewZIAv/z?= =?us-ascii?Q?kBEnr5JwXnxXZCUhKjU5nhvdRf15Pm5zXYzIP+/Zy+wAyS7/XauoPIRIKPe8?= =?us-ascii?Q?alV9XRCIv0KJZGFYv+pva0a7i71rc8rnSYPye6FjVClOwo7L8obZQUP4stEX?= =?us-ascii?Q?gMDnO1HfQK/MS+N+OX9xLS8+a3uC+tlCbz7at6k/+z9/KevuP8WtCPCN3kTv?= =?us-ascii?Q?2L+8N8sY3Zj26sJmMjrTr2Fu+V3Z5EOt8w0Biu4rhq2G7nJoT/oxwnyKUhxl?= =?us-ascii?Q?gXVLVPzt1wKiZvhnMK+UeQkGKCrd92Wh1zZlZw2qERun+cDmBtIUcZXlIch1?= =?us-ascii?Q?lNWZ9dc7UySF1n2ym1SiqBFM4glhN7+Dy8YU8uxppPKy5Zhqu5ZpUMIZsHRt?= =?us-ascii?Q?NohQyQEthiwoXkZXZjg439kE8KaJyDt52MopDOCIdv+6HHHqKfIlRBVlFPOC?= =?us-ascii?Q?CMuERxQllHEYaZVGK1W5j4XVJs0jjP4ivpP56qH4HpWloHzV69R1DomIAQsv?= =?us-ascii?Q?7VmsFtziA1501pl9M+l6jWJdBZU4qsXVWvcEQxSjmvAJuel2LAPtY2jquA+L?= =?us-ascii?Q?w01nmwhCqbkSvjs8CZtY2oXI91SjQbUnLGLvl1UrCPp8qu6AwNp+dq2xHovi?= =?us-ascii?Q?XdCBotRUTSuqzexoz2y3yQ6Z13zJJfEFEHbwX3ilfu0ern7293ljCJpypOAv?= =?us-ascii?Q?7Ymt17c+tpMmmSEBuCXjrt3Y+1FxuinXZCNPsdu81ufrzm04z1OflfqKr1eG?= =?us-ascii?Q?/D44l9K9lt5p44XapLRPBYzOrASzlAbzB5vZjbEohHxTAb9c5F7KH4foCM4y?= =?us-ascii?Q?n/QEoQRFj7tWUHGVjWt3b9vLPXiZDYfW/IM8vi8A+pAzBJWPJf+5Gc+8jr/u?= =?us-ascii?Q?aZzFH4LoojdHz/Q9hPjAu+wXbPVcspHYx/58otDEHLwxRIdGVnZTi7OQQUCS?= =?us-ascii?Q?uwJLkyIbh7M9uYUz29GojqrWnn/u8neu87lBaciEV2ZegasyiZk7KZeGo8PM?= =?us-ascii?Q?Wb4Byc3dtpyxZOGvnHnaBIrK0iNCOz447l2gfY9WoDc+3RQIP3QrMY5vLxKH?= =?us-ascii?Q?4A=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR12MB8800.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(7416014)(10070799003)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?jrxOo4KmM8pnyN1AiZ7XMlkHDB1qzJLkUKAQvx+eiokEF912E8YDfxPg0Nyu?= =?us-ascii?Q?EV8183W33hWzujQd1sRSlbcSHDV7Sv+OoIhU1Vqz/ACT9CtBRQYMi9UKvwe1?= =?us-ascii?Q?a718A0ZjSstUIbXvZqqlbVsb4gcf7S44PqHIEw2HWoMYGVxvZPjPT9JAxHk2?= =?us-ascii?Q?YFXRifXQBR0cYBDojdyKHNML3xSCeswT+/R9MMVp4YIrOY7Kf16mNH2wdXbV?= =?us-ascii?Q?r2L0Er7syqlRH3HgmLxtXX2/9JTqRus4FoltIlhhcxho15D48JX209wYB7gs?= =?us-ascii?Q?VKLmW7/f04lw764kz5ompbduYknpxeBIiA9lEwh/w9VmBrby5XU9ejbevE9u?= =?us-ascii?Q?vTe20TjX815cJgk53ehmUXK35WjN/yamG/RrtphJL/Yrx0CpkBEzhlkk9KUa?= =?us-ascii?Q?PVPfDwmKXCUka5PUo27Rj/nT2qLdWJBCdUkGvKdYUm9r9v0JGvm6SGu0s+sW?= =?us-ascii?Q?ZnE7vv/J+RjVijyE3g8nqp2Z8F/plSAfkC/6Pn3FamSIXJzgGHfkRJgZKUcR?= =?us-ascii?Q?TCauTZ3JNoPuuU2yfc+XsjaA1Q5ZG7sQb/RPmtDns0VqqHJnRvmafTssYblC?= =?us-ascii?Q?Atwp5Mry3XWYbzK+UYmsDXM7HieU32z+Egzpysxcain8pG/J2jXl1fpT4e3j?= =?us-ascii?Q?1b4P9PWiKYDCiJ1mFD1W3H/XjcolLynmqKl3p4200xA5VFmkb+5/w9O92oNm?= =?us-ascii?Q?uhBrvhsL39BKlz9O8wf+3pZ0g6hrk5xgJmdAqCCzUSHD967WDwx1wBhHJG8e?= =?us-ascii?Q?AbX1OyXZyVBkXvEB4zYJfFoij9Sv6wcdDmKmXgfSVUuUoPYSdeHIY7+7EpNN?= =?us-ascii?Q?YtFRX8ZJL4nN7sVieydOHFJD6VldMqVOB4+eNnk2CEe0UwxXHyOaOPhNlGcm?= =?us-ascii?Q?fblmKTztxK+MPVWgbbVpAbF8j5+SHhwr9HCytru8VVrmRusUm4HGZAU5GyY7?= =?us-ascii?Q?5EGEpeVoxDrPM5QJfM9q2h9Gxy7+pBbh9KEj1CSyPWa+eLnaaAfb7Tb2Za68?= =?us-ascii?Q?WHcw0Wz+qlgM5ljH7ipPCLJ3IH2l8zWGITWKSGiD2eAHLPqdVprnyJQlZjKr?= =?us-ascii?Q?EkH+s3/fF9rOg8r3P3fbxSuSAvR51CoXUWCTQf8Q3rHBvLYmTXQQaMRa19Oc?= =?us-ascii?Q?HKrQ2ts3lawl5jFBqrwNJ4l3Bd+fi4Rj/3FMfzvvcOikjTB+A+6rphWL6/du?= =?us-ascii?Q?xPmB8Ene+eXMn+AXGSCrmNRailI0ptWjbDW4bGmw6GKLVHbddO2REi1GPcSj?= =?us-ascii?Q?5oTh1MXwuz/SUTLLpBOSaH447XzFjyQAev4UFv/cOQ/OQYo2wviUW3lf3KfS?= =?us-ascii?Q?1+EOqJ7Mu4UD007EFLfOP686DZgAstQHx//HY0DpKDOX0GJReMERl/Ma4tLo?= =?us-ascii?Q?BrU2BvA66Z7dMYRL/MLZ1zu0YrnRj2brlKaqO8vayQR4ANZLnDe6MNiNrkmg?= =?us-ascii?Q?4L3wtgCSyH7tKFvOHj/X804huaa7SnVl6gxkWCZlxGchW8rcKkKXPX4JEmgt?= =?us-ascii?Q?PFsug4vWzIe+gavW3i4audI6jt/tfu471S2gHku7nbMF5UghBXc5FcT0WieT?= =?us-ascii?Q?s2wLsc5NG9dvL0y+7P2EZfV/cJq14xkQR0gjsZrjDsHg2Cya4+JTpmu51uYl?= =?us-ascii?Q?2coRos3IwmspRfWIm89wWj+hUTWDJvaqy1jniF4OctLA9EgPZ67IQEvR4dvj?= =?us-ascii?Q?yN9oJl1O6uiiRDmWcturHINCo9zxF8Av/rBGKDHzIiG7ALwE70jvSfj2QdBr?= =?us-ascii?Q?vHOHjvkQmKFvVTNsA1qivks/fnox+M2Jz4goHU1BCAiHWbrWQy0C?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: f6342366-a7dd-4fa8-f00f-08de54b7428b X-MS-Exchange-CrossTenant-AuthSource: PH0PR12MB8800.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2026 04:25:20.6526 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: uHxmABoMYRz/USnm1TzuFO34N9pBqWIwsUKTQy3YbfIUX6YojszWSlMR4s8PyJgLUXv6MELiKxnlchKS2dVMmA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR12MB9188 Content-Type: text/plain; charset="utf-8" In preparation for decoupling linux/instruction_pointer.h and linux/kernel.h, include instruction_pointer.h explicitly where needed. Signed-off-by: Yury Norov Reviewed-by: Andy Shevchenko Reviewed-by: Joel Fernandes --- arch/s390/include/asm/processor.h | 1 + include/linux/ww_mutex.h | 1 + 2 files changed, 2 insertions(+) diff --git a/arch/s390/include/asm/processor.h b/arch/s390/include/asm/proc= essor.h index 3affba95845b..cc187afa07b3 100644 --- a/arch/s390/include/asm/processor.h +++ b/arch/s390/include/asm/processor.h @@ -31,6 +31,7 @@ #include #include #include +#include #include #include #include diff --git a/include/linux/ww_mutex.h b/include/linux/ww_mutex.h index 45ff6f7a872b..9b30fa2ec508 100644 --- a/include/linux/ww_mutex.h +++ b/include/linux/ww_mutex.h @@ -17,6 +17,7 @@ #ifndef __LINUX_WW_MUTEX_H #define __LINUX_WW_MUTEX_H =20 +#include #include #include =20 --=20 2.43.0 From nobody Sat Feb 7 18:00:50 2026 Received: from SN4PR2101CU001.outbound.protection.outlook.com (mail-southcentralusazon11012052.outbound.protection.outlook.com [40.93.195.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2C4F2346A06; Fri, 16 Jan 2026 04:25:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.195.52 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768537551; cv=fail; b=QvexCbL3qdPIpiVKqvSX3l/Erz1fL0b9r8x8JIarDYQ+Y9xsAkiTFqT7zsR4HWsOgG4e8n3XqR0CX8u0u9+6DsvodDOxZFVB+58Tv1v/C36AfgbwwoO0TrXXTf8dj+Qr2fNQgOvQzu72f1sMonMn6qKYEL2/FGoiVtipJlENV6o= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768537551; c=relaxed/simple; bh=A7Y1sbaIEG6XKkkkyF7LaNS6DJacLEElMlaig/Uthhc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=c8V/Rar3j6BlOFpHG0ZbHSZGr1Ur6+/QYx79BvVK1dOFVTVle/dM3SjTaxTb4D0m8RsCNnqxAYsCVFJI7rNDqRVIGOF4fDcLFBlSdlGgkVis8FPupAEVXSrbxfzsbaD6LuXvMzyDOJ3Sh7B3dZVRgpsGsC42N7C9oXecZBDUVHE= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=nNF1+DXm; arc=fail smtp.client-ip=40.93.195.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="nNF1+DXm" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=jXE5+Nv3sfFcgD5pal0YOq93UFXP/c4ifFDBYsL1g3WsocsQuSzZYRoompWieSPQ1OpBBdMM5t/FZXhxV9XUCdESUgOHxxRco2TXlFljn9j8lwDZ/q4hTFO87YteeZWY2XJBdYjpSPv/tTzgdyGEvrXQBFURz3jLBF90HBCOtsHjFuFMIYeh4AOVUSrhHUWf3s98pkLqhoGs3ZtfcLkZwFZxFztliAexK6eFBBpiJDkLp/QL23mNdkUDgKh1qv/9QtPRGUkp6cxfxLalCMtVt16jRO/dLI1tDn+Mxcyj4wE/C3tLYai9WWx5LQGrI50XAdCDgvro8rVKALaycu67XQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=TUx1bEFo2/v5hM0VtLV7AEBmP7HSjOB7jjV48rab/Ys=; b=yZGFyJJyCug+JDoLqlmHyFAGKtu+jzKMVLWbx+3w2M94+uvCck3RceoUJuOJvFVwy5oUX4tCVeYh9aJaB81OGqEfoxg6SutP1XlRUrQnvOcIHl+RFDJNFY2PPJ3QXylZbNpTiJWQDMRhz2kZCw7UPZUnJgK7AnDKTXZXXIwWQeq9kauP81O5l/jSZyKEGIAPihbsRnUqGR3nGshYve+3zmm6XeprWAmbo5rM5qmEPVfZl8dBZAcME/PgWgxSiDOKshb/VVvoWC+h9kXaWGIUUqIPkfQUk2NAWe2Fmw9jNkqeO6Ggqmq8SdbwZZXIKnEggt3UAShTv/ysxD4PRAUOKw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=TUx1bEFo2/v5hM0VtLV7AEBmP7HSjOB7jjV48rab/Ys=; b=nNF1+DXmmNzB1mH/6Q+KnfrFoUqDWWxOM+ycW+Eqd5boVtKdLnFe/EJ0j3AoKrQN59LA29F15IbL2/nRpEtRV4lf4dyVAx81ZeBETNeWi0z8CKgLWnsayE1opcFrt/guDWKUB2xmK45tYrkII8u6Erhw7c2Q7p0Uf1QB2KDDIx0V7NSWfUl4/NYknnaTduk+HrUB1Gl+xsNzMW4hsSZgP841H6lS16jQkxUQa7JvERN8gSD06f8yYRSOfzE/pv1BSETuffWjsJ6ZV5tXmRUK35hIpmDs82jWu7kinPKbjx5VEVSwx1U2FNhflHdY578CcWpL5tBwysTVpWVD3+CrOw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from PH0PR12MB8800.namprd12.prod.outlook.com (2603:10b6:510:26f::12) by LV3PR12MB9188.namprd12.prod.outlook.com (2603:10b6:408:19b::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9520.5; Fri, 16 Jan 2026 04:25:22 +0000 Received: from PH0PR12MB8800.namprd12.prod.outlook.com ([fe80::f79d:ddc5:2ad7:762d]) by PH0PR12MB8800.namprd12.prod.outlook.com ([fe80::f79d:ddc5:2ad7:762d%4]) with mapi id 15.20.9520.003; Fri, 16 Jan 2026 04:25:22 +0000 From: Yury Norov To: Steven Rostedt , Andrew Morton , Masami Hiramatsu , Mathieu Desnoyers , Andy Shevchenko , Christophe Leroy , Randy Dunlap , Ingo Molnar , Jani Nikula , Joonas Lahtinen , David Laight , Petr Pavlu , Andi Shyti , Rodrigo Vivi , Tvrtko Ursulin , Daniel Gomez , Greg Kroah-Hartman , "Rafael J. Wysocki" , Danilo Krummrich , Joel Fernandes , linux-kernel@vger.kernel.org, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-modules@vger.kernel.org, linux-trace-kernel@vger.kernel.org Cc: Yury Norov , "Yury Norov (NVIDIA)" Subject: [PATCH v5 5/6] tracing: Remove size parameter in __trace_puts() Date: Thu, 15 Jan 2026 23:25:08 -0500 Message-ID: <20260116042510.241009-6-ynorov@nvidia.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260116042510.241009-1-ynorov@nvidia.com> References: <20260116042510.241009-1-ynorov@nvidia.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: BN9P223CA0014.NAMP223.PROD.OUTLOOK.COM (2603:10b6:408:10b::19) To PH0PR12MB8800.namprd12.prod.outlook.com (2603:10b6:510:26f::12) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH0PR12MB8800:EE_|LV3PR12MB9188:EE_ X-MS-Office365-Filtering-Correlation-Id: e531d0e3-73ba-4596-2458-08de54b743ca X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024|7416014|10070799003|7053199007|921020; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?e2rxGABtZdMeXgCFC2e4VHFWprIUNGjuYEPO9IoM8Bpz7h4nrTLVK7BQ6OPg?= =?us-ascii?Q?Dc7ob/s2cYaSXuTPObyleWV21+pZfN8ey7Nr9mmJui5qwQJtYl4qod32pkMr?= =?us-ascii?Q?wpexCwBTuSA8B06hbRfKLMTme/Hc7EaG34tTEg7BxxbSFkr7jHvB2vT7hPBj?= =?us-ascii?Q?/1N1n6i8TS42SPpSe14jyT10WyE/49I1I2beMMSYt+82RdizwCD3hvLzZdss?= =?us-ascii?Q?sSPf9f8wx/ot3ygOJAJCMdm9xRCvolTn4+kRVuncIdVqNksZd9rmTkS47qFX?= =?us-ascii?Q?uJgjUOBGLiv/t9sLHndYTFRMTesjRKeteMO0djvHDZxNbkv6UBlc17IplBeg?= =?us-ascii?Q?iS0rlM0gGPzlF+0cr9OxpGaNETRFeoKJIlgoznRy2lYsixZM33Cf7pujiXHU?= =?us-ascii?Q?1VO3SaTSeJRuMtTqLKDILVW7xZuRpm3XhodttdMHsyzhRBxM+D8pHUDs6NzS?= =?us-ascii?Q?qW5N4JMFyWksQ5yGPe1ZYos4et0hL7KQwgX86zX261hpwdZ2p6gQrOgv4hWD?= =?us-ascii?Q?19xIF+yZTIKBQe3DvRJlAroLt/ZkTzsj/VAoNCKxD9AoIMuiSirD3ZZfeSRw?= =?us-ascii?Q?p2sEueUWPGY1x4orPu+Vyq8KzfoRw05IIoPht/d78JtVVm01dJXh1r0CVR64?= =?us-ascii?Q?6Z+FEQr9bx4mWQbSeErXKM6FEN8jJpwSeRRYq+m/qTR6vJmTkmVUqxPO5xMd?= =?us-ascii?Q?TmLO+z8Gpt175L+vPnB41FSpnwOn2PY/wFzOii4uHNrainIoQhJadw85mWvl?= =?us-ascii?Q?qfGLLKwBT+tApjLf58OvxhVPSyfEmu1eUdHrUKbCzuM9panl8jhbcKGJmW8Q?= =?us-ascii?Q?FEI/XpPHGgE/fNfqU2Qzi/8JcPZaDpJ01q3hOlwB3XgUSqx6f145QQB2C0RM?= =?us-ascii?Q?jTZV6KaQg/KAqwXFjyN1GW6AwzBx7IaxRqsbW2sboGN81dxZEE0cCDJ6ziSs?= =?us-ascii?Q?9Z2UvvyfFwGPxe4Am/Zf3YtWVb3b0U9L5Mmv0dw6XdwZL0g+x6dZt4MfTaCX?= =?us-ascii?Q?9MY5MOHvzw75ToTINBDgGs5ynfIAaZFOLlXdUXDNLaPykArlHTMBYmaPu3vJ?= =?us-ascii?Q?LGQaVmnmmIOIQGJ+pJA7vaQTjaOwAdiegGWcE4UgU9Sy8GdBehXK2tVMPYbo?= =?us-ascii?Q?cavSSw7UiYj5yKWFBgBDnc3xQiwdcMBNSM6K/yBNQs+SwlV9OfYFhszcuRsJ?= =?us-ascii?Q?49UDMSoFVJliEXUDiNDn0j2pdgDKh/0mjH7H8JBRhFyYiBVyLzZ21UrWEwDg?= =?us-ascii?Q?GmDK6cYWweGMJff0EIRNZyyi+QIfcq3SYG1dR3dOGvDOis4OmmQkYNIEYOj1?= =?us-ascii?Q?JaHXdtMGm9IZnwlAPhbuEeWqP8AgfSn8xNSK2GTIP9DhsmSXfyDWqdUwAClC?= =?us-ascii?Q?jM++0bZKlSnL/vKQT0q68BsDk1ZF4bY0nkKibzhAjQhPoNlTboZnsbhpzAwe?= =?us-ascii?Q?x7KCAaguDrQ4hle3QOlS+4Yqk0hTWk+2i6Jca4suTQSY3GWP2zj8C9C0wppH?= =?us-ascii?Q?t766SDev4YT+Z/7JE4r0BAPtbUZ2oILR/lEOfvnmYJRWzuq+pjm2r6ucSdOU?= =?us-ascii?Q?x+AdGHwMhcHGD3qrkBLkPNCpChaSYMOFDxzeKzIplI3YLzRej3/2T538dgIG?= =?us-ascii?Q?3xQ0lqcL3EE+kC5ElHTBWoI=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR12MB8800.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(7416014)(10070799003)(7053199007)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?uwthsp518GTqP8cyPTa6sCOY0sbWptUecVwTzq/ecj2Ag97YOAcPpcDhOSQw?= =?us-ascii?Q?6ZNSHdtEG9yaBPlZmjZ2beK3SROApROouWZmaWtBuQ2cbvn4Zy5VAVGojMQK?= =?us-ascii?Q?R0E3cHqM7C/YmvnwbXTkPcTbq9YRBEomN4Ij5MtwD/ii2rtvkfGn/BfcVkY9?= =?us-ascii?Q?ziFHaAx5LM5nSD9Qp6+xxGaXOxxu0WjgVZs67NC4Wmj4Sgxbb2VWklsXhuEq?= =?us-ascii?Q?YLDSoQuUTMFaO65HsCZ4xJU7eRr4y3FEAj+idR6ylnfmzYPikECUQycLg+mH?= =?us-ascii?Q?wWMp8+eO6oxUqjYhgrU5NxGqfpsvVyilNm9taPBf9Pv4dfP9PpgWE5jAtor+?= =?us-ascii?Q?hGQJrTRIcRxMon81OkVgZKDRApbvtnRUp7Ln9EDsYHe6ppxztBkaTk1mrdIA?= =?us-ascii?Q?ybxh1eiJeHgTwd6TVvH1gmTe8UK8fN10t43IM0dW0bRy7xCqw53hY74ZXrqi?= =?us-ascii?Q?0oTp+dv4e8H3OA3nJ3shqgcYaLWZDhQnTGxlrB/9JNpIPL7gyzRVH12dsLh/?= =?us-ascii?Q?pNShVa75HUSu85PwJymzGwtsRVa4DsIbq/Edrta7VwyNfQ9EYfFBiwAw/nRF?= =?us-ascii?Q?vq+nUbM2YbKy6SqVC4vI2gS+Eci856uJa6ehQk53Cg3pvCQLiOueK0aSG6A5?= =?us-ascii?Q?ugxETAqUtyVFXIJX2nFZ6PvCbcGBAXF6ltsEAQbyJAFJ6d4Slo+RclrSm3k/?= =?us-ascii?Q?aTqsOGPTzEcWxRJp52WADR2qPCKtWiXmkzUKQu+RQNq7taH9EvjoPbuvj62h?= =?us-ascii?Q?6DHIlL2WTtNsb1qPoh+V7aOBxifU++ALxePCrdEYtIvQowXPARVX36wMA3/F?= =?us-ascii?Q?JeVn8JNyxvUQJHr1t3yqtGj1O5u28TOgsme6NVcfnSBlVozv6tnIGYXWce6p?= =?us-ascii?Q?KHW8kXBGTJt+5tAcvDYmgGCMpHUJmKx3e2IP+6AtiJjWyUtikqkLgHEHIibA?= =?us-ascii?Q?pjJqyba6j7jp8jC5/4EpwXx7qCuWy8mIouPdIKPs9a/6bl1QIIpuLq4fsxgG?= =?us-ascii?Q?CmEfj7ruNyMODG9mRRXr7iVZCIzOsQ2nxRNHE3bP79R75/vLhz6dVOEfEz+B?= =?us-ascii?Q?xxaL0undOxYre7IkW6s+D+H3TsV7MwfGOtRGJv87SXgd0ledFTBdm7l51KyE?= =?us-ascii?Q?8u4pu0VLU0rVHAJ9xEw/zrpRsM1ES/GQjcyieWClLBgjE9NkX7uzdcZfrQtK?= =?us-ascii?Q?dyDoIFIvN2ICKL3BikgLwWKjyplvpBMckZh0HyEfC39lYaYF2C9ZAbWBHfyD?= =?us-ascii?Q?+/XqCQEXmrPFwveYf+l8Xaf9e4vrTgC/rD8FBR7I5hF1lu9CCToGFaiTFg5K?= =?us-ascii?Q?zeUFfive/2QxAKmiYCgZW6/NmL4azct0zjeLCRzDE24FN11w6LMU0NIf+6Kj?= =?us-ascii?Q?R6m9sV8ha6rgDaAaAnFaU9y7PAv1oo3UV0nTik55rBhU51YnDcFappuXGxbP?= =?us-ascii?Q?296XEa0aFpEv31mvsk9ZdnFPrc1t1c3aZM2IE+DLeVx+U/XamXUoDLC0Sx1W?= =?us-ascii?Q?EJJ3idrVMrJj4XtVLF/1JP9riFhEYJJkSVLs5BpXubDkqM0hnX9NQogEWUkp?= =?us-ascii?Q?2xEU6eJSOIVxhK9+xMSWrSz5k/Xyof6744FqCmO3XJqZCXsgEuBg35YDUlrJ?= =?us-ascii?Q?A9g84zlOG5ADuIuYgU3eHmmx76DpDLKGlOYKbtpfCXLq0jbHvR15HID3aPvQ?= =?us-ascii?Q?sM/GUphUzhj8TTAbb8sLIEArZ1fzQcYHXejJOW7VuR83qfH6vtNLqeycBpbw?= =?us-ascii?Q?FxBzvkNcf4Hs+ItEfFO6zNtauQeWs4x4spAZlQsEo1qCq7Pam5KX?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: e531d0e3-73ba-4596-2458-08de54b743ca X-MS-Exchange-CrossTenant-AuthSource: PH0PR12MB8800.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2026 04:25:22.7902 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: u70UcDSq2y82N6CD3sJN8mF4KFq9sfd+sgY11Cygz/C2OLGLwjdDT4XbcWU03FuxSIMUov9DM85c4kEeY9NiLA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR12MB9188 Content-Type: text/plain; charset="utf-8" From: Steven Rostedt The __trace_puts() function takes a string pointer and the size of the string itself. All users currently simply pass in the strlen() of the string it is also passing in. There's no reason to pass in the size. Instead have the __trace_puts() function do the strlen() within the function itself. This fixes a header recursion issue where using strlen() in the macro calling __trace_puts() requires adding #include in order to use strlen(). Removing the use of strlen() from the header fixes the recursion issue. Link: https://lore.kernel.org/all/aUN8Hm377C5A0ILX@yury/ Signed-off-by: Steven Rostedt (Google) Signed-off-by: Yury Norov Reviewed-by: Andy Shevchenko Reviewed-by: Joel Fernandes --- include/linux/kernel.h | 4 ++-- kernel/trace/trace.c | 7 +++---- kernel/trace/trace.h | 2 +- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/include/linux/kernel.h b/include/linux/kernel.h index 5b879bfea948..4ee48fb10dec 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h @@ -329,10 +329,10 @@ int __trace_printk(unsigned long ip, const char *fmt,= ...); if (__builtin_constant_p(str)) \ __trace_bputs(_THIS_IP_, trace_printk_fmt); \ else \ - __trace_puts(_THIS_IP_, str, strlen(str)); \ + __trace_puts(_THIS_IP_, str); \ }) extern int __trace_bputs(unsigned long ip, const char *str); -extern int __trace_puts(unsigned long ip, const char *str, int size); +extern int __trace_puts(unsigned long ip, const char *str); =20 extern void trace_dump_stack(int skip); =20 diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index baec63134ab6..e18005807395 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -1178,11 +1178,10 @@ EXPORT_SYMBOL_GPL(__trace_array_puts); * __trace_puts - write a constant string into the trace buffer. * @ip: The address of the caller * @str: The constant string to write - * @size: The size of the string. */ -int __trace_puts(unsigned long ip, const char *str, int size) +int __trace_puts(unsigned long ip, const char *str) { - return __trace_array_puts(printk_trace, ip, str, size); + return __trace_array_puts(printk_trace, ip, str, strlen(str)); } EXPORT_SYMBOL_GPL(__trace_puts); =20 @@ -1201,7 +1200,7 @@ int __trace_bputs(unsigned long ip, const char *str) int size =3D sizeof(struct bputs_entry); =20 if (!printk_binsafe(tr)) - return __trace_puts(ip, str, strlen(str)); + return __trace_puts(ip, str); =20 if (!(tr->trace_flags & TRACE_ITER(PRINTK))) return 0; diff --git a/kernel/trace/trace.h b/kernel/trace/trace.h index b6d42fe06115..de4e6713b84e 100644 --- a/kernel/trace/trace.h +++ b/kernel/trace/trace.h @@ -2116,7 +2116,7 @@ extern void tracing_log_err(struct trace_array *tr, * about performance). The internal_trace_puts() is for such * a purpose. */ -#define internal_trace_puts(str) __trace_puts(_THIS_IP_, str, strlen(str)) +#define internal_trace_puts(str) __trace_puts(_THIS_IP_, str) =20 #undef FTRACE_ENTRY #define FTRACE_ENTRY(call, struct_name, id, tstruct, print) \ --=20 2.43.0 From nobody Sat Feb 7 18:00:50 2026 Received: from SN4PR2101CU001.outbound.protection.outlook.com (mail-southcentralusazon11012052.outbound.protection.outlook.com [40.93.195.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E54A7346766; Fri, 16 Jan 2026 04:25:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.195.52 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768537554; cv=fail; b=VM/TFvE10FcYqZN0Jyqocmld954GJO4RBALjG+E9J6nsE5pMlDLjyhW80ZEBUUFl8IyJmszHsVFuoiLZm5RFbFYzk/jM9x58fiRB5iXQEHQJB5uvGnjv7/5WYipMCw2KgoAbJmA0+Fnkw+lDm3B+atYcRfcCVC/kptT2mP0dkpw= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768537554; c=relaxed/simple; bh=swNU1Cp+6VC5bSJBcFA0oXnxanKOvZ4Yt3ekIl+e/6w=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=txPpQPbM16mm1nV+RecUH2u/p/2ql8RoTWFZJzvNPCG1q0jkViTXK45rx9pZlfmdKq1Ec2FT1Ed4TTG44O2keAgdbjDGIzxO071p0YJK814eX1zhhIT+mz2UAOBTeAs4cE9lJl3796fjqfonvCVIApRa01YBgruCJJpNI9OasZQ= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=cMNVDF39; arc=fail smtp.client-ip=40.93.195.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="cMNVDF39" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=vf80Wy0S8njQqCW3Q2y3alYISzhLIEcSmBaRCYhwnPeR68rFj/rHWhxyaO2kFnYGYTk2q3GFhRFs8lruzt/pF5urUGvfClUsxLsZ1JFm47rEPJ0c8Lq4xeFkOIXXczPCw0EWr39pd9mq9iHVxNVC7dPty4YLiDQPzFvuxExRhuFlr9ZGMuBAeSCm0/R7Dl2HlzXTRabyVj5XHG7kVKUCLChvrfKh3UvK8ncmQQWC2PQrOoF3iJtgwXthY05y5G+ppKfVjD7P7q9texXphAiYxtOuueC1PTGWsHRwByJjE0hnqFZmJVNV/ucDAJDzZWXst8Q5KwSRyOPtSbIwo8TpZg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=49uKfNCblPIbuAaIumNUQfnpfJGhQ6JmPFcix/5b4L8=; b=wWvt0CzLfNFdegLyd6JHvYw98rYBxG6/gsOC8XLmTv+lTkVKlWm4KIxEiDGIJJPTTgcYKrCfNKWh3mW5Bs3JhRFmrOg6+RSRjggGfxwo4bQWVSCiWi1QWdrMmQgP+Jh5z0CujZhBGgp9Qvj9ujr60GJDc7v6yjL2Z5fGBCabL+u7o70Ah0QHCU0LekWBoD0RJzYFat5FARCapi3HypOfrO7KU1uURp2ZELGMWRIGhM1vQ3ptG+q1EA6doI651sG8h7XXm+E8lrCYFfvQoH/pIIZe1CLeTD72gcs2Gfqh/Ez6GNi+g6nzH+umGbVtahUVWrSkRRn6PrB1g2PfsYroTA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=49uKfNCblPIbuAaIumNUQfnpfJGhQ6JmPFcix/5b4L8=; b=cMNVDF39ji1jsuL0vXhvD8kXiAuWBzAPjtN5dCjuyzkkdd+rmTBiPnvn4rAs+WxjGCUzfhDbgg1n7uvEhi/F2STW3N4E/r//23RrHC+6h2QxsNq83Ez1vC+814lu7ciJGoBtABPIxOZ4DQQfx7RvN4KqgASTI8W4gS7guWAYZhLfSamqfW+MLCN4w9wgY0WQTeNTB+DNCXUOzvopsKqGyQQE28zzXD0mrZxSH9ArAIkjsq3SN9v1z9VFKfB4CgTCJtOesKbDRYRKJ4iJ+7/jLLYi+lBC7MAcwJxmhJRUWP/1ADD5rW6954/URN0jSNLWeqM/vNJb5ELHktAZLFz7vg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from PH0PR12MB8800.namprd12.prod.outlook.com (2603:10b6:510:26f::12) by LV3PR12MB9188.namprd12.prod.outlook.com (2603:10b6:408:19b::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9520.5; Fri, 16 Jan 2026 04:25:24 +0000 Received: from PH0PR12MB8800.namprd12.prod.outlook.com ([fe80::f79d:ddc5:2ad7:762d]) by PH0PR12MB8800.namprd12.prod.outlook.com ([fe80::f79d:ddc5:2ad7:762d%4]) with mapi id 15.20.9520.003; Fri, 16 Jan 2026 04:25:24 +0000 From: Yury Norov To: Steven Rostedt , Andrew Morton , Masami Hiramatsu , Mathieu Desnoyers , Andy Shevchenko , Christophe Leroy , Randy Dunlap , Ingo Molnar , Jani Nikula , Joonas Lahtinen , David Laight , Petr Pavlu , Andi Shyti , Rodrigo Vivi , Tvrtko Ursulin , Daniel Gomez , Greg Kroah-Hartman , "Rafael J. Wysocki" , Danilo Krummrich , Joel Fernandes , linux-kernel@vger.kernel.org, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-modules@vger.kernel.org, linux-trace-kernel@vger.kernel.org Cc: Yury Norov , "Yury Norov (NVIDIA)" Subject: [PATCH v5 6/6] tracing: move tracing declarations from kernel.h to a dedicated header Date: Thu, 15 Jan 2026 23:25:09 -0500 Message-ID: <20260116042510.241009-7-ynorov@nvidia.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260116042510.241009-1-ynorov@nvidia.com> References: <20260116042510.241009-1-ynorov@nvidia.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: BN9PR03CA0240.namprd03.prod.outlook.com (2603:10b6:408:f8::35) To PH0PR12MB8800.namprd12.prod.outlook.com (2603:10b6:510:26f::12) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH0PR12MB8800:EE_|LV3PR12MB9188:EE_ X-MS-Office365-Filtering-Correlation-Id: 1ea75a62-1f90-4e6d-136a-08de54b744fd X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024|7416014|10070799003|7053199007|921020; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?nG1AHkiCyRfaCsw1gIJ40CZU5fmj84GDNfIKQRPEF20l/W/4HXRMg5YV74s1?= =?us-ascii?Q?2Hi8uejwiF0sPfkQgTzIKQB6YQMMZhcNsFicbe86pPnjsax2Y0hCWmPOxH+P?= =?us-ascii?Q?WSYd/kG2rsehnmCiQRBQLXZsO5lKe6XSGjwqIhO9W4cJh2ON15eAts4cpghY?= =?us-ascii?Q?0ZTMFwpjNirXA39BLk3BNE1/ktZBdeIEbKH05klzh8TqNL5ZehTmTLJGI8Sj?= =?us-ascii?Q?cnYiU8wYq7JM/xp4nHWg07hu2jhC4fhgRdH878LPspXpJ/9vXPts3ul2l87L?= =?us-ascii?Q?T3/1MdzQFs6aMNDMfoytTz4o8KA1r0BbJVOQd8CBJkoF9oUsui8KuATNVnaL?= =?us-ascii?Q?GVl7RArjXHU49dwNkyYd1s8rNiC/qKUZMan7/hHR/UrJa0yOekKZeACvHkl0?= =?us-ascii?Q?ybpBGsaMSR9W8u/+VVV5WLVIy2C0HzLtrvc9B0078w5RZqcUEIwI0LfIOy9H?= =?us-ascii?Q?9QJAPRve0BGPgtRtxuespdhvynvXk7YJYSmelnGL4LsrLjZk8YHXyJBH0+Rq?= =?us-ascii?Q?MlqgbZIibU+7lq8AKtksekY20CfATh7Ns+imZ4bciub7Tg3TErS7+UC0U078?= =?us-ascii?Q?xGOpRVsT9rBDa/erAQV1B6VLM8fpvm8kXs4Qq0zrAsvuRh7vVlo0rLa/2jDg?= =?us-ascii?Q?rVNmiaZraKtRQ6M4zCKR7zX3eljVD28bFBdIB8AHqHA6sM8E3R2s1FaZrfIO?= =?us-ascii?Q?XA3oMUpidWRh6cvquu4imnAWLgP1jxuRmA+KOe9XLyO/ug/j0f0lISWYgN7o?= =?us-ascii?Q?apNbDXzC6F+0NVbua8/8yUKZotERdHo+quxJ/hy7NbtoP57knuNbqDYTuOFH?= =?us-ascii?Q?P4AinSvjCmxnQCSkqzyKvfslAMe3pcMRxXLLpMn9ObkgVz5ejU/j87L8dylo?= =?us-ascii?Q?JDv0z2BvjDB13GmVXZUPcUurn4mVXHH46IsZMoaeYtlTvYnrHQNDAuX64fo9?= =?us-ascii?Q?rpdw341DXetDG6tQqxUcgsBqDyyqssY+pSTCmtdGtnsrLsG6xnM28KS2d8hz?= =?us-ascii?Q?vOVxXz5jao0iSGcypbrU4Pl9MWY/ofkaelUc4qLSr45y4KW2yQPnobkk7f0G?= =?us-ascii?Q?J+gDX1WSJxsPAjIt7L7zJeb8wEgjmL2nydii99HgWWcPI3VQzqinaTl6X0o6?= =?us-ascii?Q?toFU9y0Xj7UzqggculXu96WlOQpY7FoUsOJAj3xLY+uiEOoRkfkl2z5A9FGt?= =?us-ascii?Q?3EEeYANXrquH70Jg0BLbiIUF6oAkb6htgpMY6Wu4UV9WvSTI4D2zwA52+uPe?= =?us-ascii?Q?1LFdXLtZF0/N7eP/M2/f29QU4vIp3NRqDzZN5FdoatBuTcchZj7j0PnrVOUN?= =?us-ascii?Q?ZsVgKtpZcaKRXtBaJOMuYXNwnF9mcoJFlKPd3l5sF1vjScgILrx30RCxjyfO?= =?us-ascii?Q?Jxd9ncE0X/cequrcwfIiEEMbNS47+BwgD7ekajti3S56891CldQhRbziof5W?= =?us-ascii?Q?0WYYF4G90LH4ulCEQMgwJle9G2B88J3voTaRjqPrG0uJ1zNcoPLnrfOr1N/G?= =?us-ascii?Q?8qlnFBrKeu0HAZMtzToZueNKtGGxcHUm+h8Rdptj8IU4L7ugVMfuWZhO5vX9?= =?us-ascii?Q?JqJSLY59fopkN0C5+Du4L3pLeo3a791N93aCMOfeBED/vPC/+WuALK7fj9w8?= =?us-ascii?Q?EQ=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR12MB8800.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(7416014)(10070799003)(7053199007)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?obni4u9IV/bJzc11tsN3P1b4OMZ8D7gdescnZI5IshXZ9+zrhtUQ6JUPoK8R?= =?us-ascii?Q?NQ+YeV1NvbSvpZ/UAaiwDy7SMAd7YzO0qhE4GYbOUAOgFsz3NafjbMbJ0gJg?= =?us-ascii?Q?1wKKSwTZOsTlV01sw84LBpqZzqq9j9JQ01mVAg19SCK/zj5+j+wEAk9yLa7u?= =?us-ascii?Q?hWtpwaJJRpXVwzO+xZYfyJeNm2fZC9ud5nSVaQki1QjHpM14vIxZpO+8gBXz?= =?us-ascii?Q?9GSef/kv3gdmWc63jF4dJnezIA6t72YFMKTt6kkMd4lPJyMJl0LDv/e9VZn1?= =?us-ascii?Q?mAK9Ip8fLpwM36uwjmqt6MaqYRv3MxGGub43vMrTZ3MgR+2PEPiRkh+EiEOC?= =?us-ascii?Q?vO1qLd35L8du/rnHoetnCtnp7XUrBcEvE5cqEoINPR9/6fA8zib+/Jhbz+cn?= =?us-ascii?Q?uafJ9w+ea1E+rYRAsxP7W8SVms8xbcQd0Rp7phyBWjLJbZNKbY2ObjgKTEQK?= =?us-ascii?Q?yN+rKP6E2arA1dJwak+lXbyj4kO3xk2F0SF/RRArT+RLt1NDRMxJl+eVkyom?= =?us-ascii?Q?/07w2ijaaCiXsttyK0jAhqTywM4njY3eiWc8a6VSwBzCaQDyraaYuAiu6/O7?= =?us-ascii?Q?om7yjN98pTK+fAgryLr4POMskWxTdkIi2THVtUa2h5rsjyq3qhqvqL1fT5UV?= =?us-ascii?Q?taEcSxHHF6hVkgCVBMIyDyAbx5DMz28Rw0ZWwTA/I3ELlbpONts5xDCVgbvh?= =?us-ascii?Q?Gs565B2JOGdWVTj3rBrLc5fJINggH/yMlsZ2/G/nlDIQQDRO0P5XiQAIQamj?= =?us-ascii?Q?tjbKFEep1CiKP2eKBD9dNRqYFcdzWE+OKAdGPTs35sd5+d4n+/5YFHBbNF/H?= =?us-ascii?Q?z3GliEmhkOwaIwLiNqQb/xqsRcULmbME2WjoTSSanq3B6fHakD4W0jnCVHfg?= =?us-ascii?Q?lq1lUTDjIETcyUuxt4B0Yz2VR4AsbmsFatp4tzeurjcxl5ZBDd3fkWUiRWUj?= =?us-ascii?Q?6TAC0z+yUA1hF5hojFl9v4t4LJKWws8g4em/5wIbvMWwLMtxne6r5FS6KHoA?= =?us-ascii?Q?xUa82kCAICT6xCNXiKysi6yYBHkxA7oZqJH3WcsAie9QsOxO3FUB4QIfTVKo?= =?us-ascii?Q?5DO+BBGYkyZ7NZgOJ0iLF5EnqnGc8M2JO76ZjhWjf3sDuXOhaIL8lHQ8KO7j?= =?us-ascii?Q?a+LQbLuvIjHFbZuROtlhWgWNIj7F9mmvi+LjvX8e6aDKRApJWeiY21ptdmRo?= =?us-ascii?Q?GV8emoFcw4kn1MwaMMFQQPwCwssiyv/4fSH/YEC44vJuNZzGeMtHV9da0/IP?= =?us-ascii?Q?zoabmLT22gqmntV640tbWdt6jmtXelZF4dF7ATfdD5QANBAwc/ot4VyXnIfI?= =?us-ascii?Q?J4GRDpmuyq7KdGpF+7y7g7GpYykdPeaXR0ozHQKqP1US3Y2eCmQTtRevaA2Y?= =?us-ascii?Q?Ws+n9XPg7bapvgOVu3iAvMjq8FkcaSWNI3aiIg0c9wvcUfIqfBvxrc9j35Dp?= =?us-ascii?Q?7ot6y9ktPDcPs2Zi6WuPhF42ZDffyRNnZOZsjdT19BddR2jJFG3w0Vv4eRV7?= =?us-ascii?Q?TGKWhf4AEpznUDmd3M/+ctwTREIBT76C2SJrO2ipVNz9D5zVftIgEU7LWW66?= =?us-ascii?Q?WYZ0pkFRwBTcqrWEH6bSl5IH8Ut5lyIjj35Qhs5KuUh1L4oIOajwyN6Z87SX?= =?us-ascii?Q?1YJ2HnJMblETT0upNgZrFtJTyx904+HfgNzTJ40/zf2gxEyDCgxl7zVGCsX1?= =?us-ascii?Q?dz2VcC1/DoUeng1zmK1X04WazwSNYbnURUuSRGX+zy3TAyquTA7Vbz0AZYUT?= =?us-ascii?Q?7aubNa8r8s0sIGU68WVGE8BgswSPSxSqLKUU64KPu9F6KXHEH7dj?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1ea75a62-1f90-4e6d-136a-08de54b744fd X-MS-Exchange-CrossTenant-AuthSource: PH0PR12MB8800.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2026 04:25:24.8318 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 7SBbOHBn1D79Evj5xeDpMoJBIVOiybRvxCge2iA4a7UG/LuPgj9OfyO/v0idb4vVMtng4z19iiWDYEVSIdbcSQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR12MB9188 Content-Type: text/plain; charset="utf-8" Tracing is a half of the kernel.h in terms of LOCs, although it's a self-consistent part. It is intended for quick debugging purposes and isn't used by the normal tracing utilities. Move it to a separate header. If someone needs to just throw a trace_printk() in their driver, they will not have to pull all the heavy tracing machinery. This is a pure move. Acked-by: Steven Rostedt Reviewed-by: Andy Shevchenko Signed-off-by: Yury Norov Reviewed-by: Joel Fernandes --- include/linux/kernel.h | 196 +-------------------------------- include/linux/trace_printk.h | 204 +++++++++++++++++++++++++++++++++++ 2 files changed, 205 insertions(+), 195 deletions(-) create mode 100644 include/linux/trace_printk.h diff --git a/include/linux/kernel.h b/include/linux/kernel.h index 4ee48fb10dec..a377335e01da 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h @@ -32,7 +32,7 @@ #include #include #include -#include +#include #include #include =20 @@ -190,200 +190,6 @@ enum system_states { }; extern enum system_states system_state; =20 -/* - * General tracing related utility functions - trace_printk(), - * tracing_on/tracing_off and tracing_start()/tracing_stop - * - * Use tracing_on/tracing_off when you want to quickly turn on or off - * tracing. It simply enables or disables the recording of the trace event= s. - * This also corresponds to the user space /sys/kernel/tracing/tracing_on - * file, which gives a means for the kernel and userspace to interact. - * Place a tracing_off() in the kernel where you want tracing to end. - * From user space, examine the trace, and then echo 1 > tracing_on - * to continue tracing. - * - * tracing_stop/tracing_start has slightly more overhead. It is used - * by things like suspend to ram where disabling the recording of the - * trace is not enough, but tracing must actually stop because things - * like calling smp_processor_id() may crash the system. - * - * Most likely, you want to use tracing_on/tracing_off. - */ - -enum ftrace_dump_mode { - DUMP_NONE, - DUMP_ALL, - DUMP_ORIG, - DUMP_PARAM, -}; - -#ifdef CONFIG_TRACING -void tracing_on(void); -void tracing_off(void); -int tracing_is_on(void); -void tracing_snapshot(void); -void tracing_snapshot_alloc(void); - -extern void tracing_start(void); -extern void tracing_stop(void); - -static inline __printf(1, 2) -void ____trace_printk_check_format(const char *fmt, ...) -{ -} -#define __trace_printk_check_format(fmt, args...) \ -do { \ - if (0) \ - ____trace_printk_check_format(fmt, ##args); \ -} while (0) - -/** - * trace_printk - printf formatting in the ftrace buffer - * @fmt: the printf format for printing - * - * Note: __trace_printk is an internal function for trace_printk() and - * the @ip is passed in via the trace_printk() macro. - * - * This function allows a kernel developer to debug fast path sections - * that printk is not appropriate for. By scattering in various - * printk like tracing in the code, a developer can quickly see - * where problems are occurring. - * - * This is intended as a debugging tool for the developer only. - * Please refrain from leaving trace_printks scattered around in - * your code. (Extra memory is used for special buffers that are - * allocated when trace_printk() is used.) - * - * A little optimization trick is done here. If there's only one - * argument, there's no need to scan the string for printf formats. - * The trace_puts() will suffice. But how can we take advantage of - * using trace_puts() when trace_printk() has only one argument? - * By stringifying the args and checking the size we can tell - * whether or not there are args. __stringify((__VA_ARGS__)) will - * turn into "()\0" with a size of 3 when there are no args, anything - * else will be bigger. All we need to do is define a string to this, - * and then take its size and compare to 3. If it's bigger, use - * do_trace_printk() otherwise, optimize it to trace_puts(). Then just - * let gcc optimize the rest. - */ - -#define trace_printk(fmt, ...) \ -do { \ - char _______STR[] =3D __stringify((__VA_ARGS__)); \ - if (sizeof(_______STR) > 3) \ - do_trace_printk(fmt, ##__VA_ARGS__); \ - else \ - trace_puts(fmt); \ -} while (0) - -#define do_trace_printk(fmt, args...) \ -do { \ - static const char *trace_printk_fmt __used \ - __section("__trace_printk_fmt") =3D \ - __builtin_constant_p(fmt) ? fmt : NULL; \ - \ - __trace_printk_check_format(fmt, ##args); \ - \ - if (__builtin_constant_p(fmt)) \ - __trace_bprintk(_THIS_IP_, trace_printk_fmt, ##args); \ - else \ - __trace_printk(_THIS_IP_, fmt, ##args); \ -} while (0) - -extern __printf(2, 3) -int __trace_bprintk(unsigned long ip, const char *fmt, ...); - -extern __printf(2, 3) -int __trace_printk(unsigned long ip, const char *fmt, ...); - -/** - * trace_puts - write a string into the ftrace buffer - * @str: the string to record - * - * Note: __trace_bputs is an internal function for trace_puts and - * the @ip is passed in via the trace_puts macro. - * - * This is similar to trace_printk() but is made for those really fast - * paths that a developer wants the least amount of "Heisenbug" effects, - * where the processing of the print format is still too much. - * - * This function allows a kernel developer to debug fast path sections - * that printk is not appropriate for. By scattering in various - * printk like tracing in the code, a developer can quickly see - * where problems are occurring. - * - * This is intended as a debugging tool for the developer only. - * Please refrain from leaving trace_puts scattered around in - * your code. (Extra memory is used for special buffers that are - * allocated when trace_puts() is used.) - * - * Returns: 0 if nothing was written, positive # if string was. - * (1 when __trace_bputs is used, strlen(str) when __trace_puts is used) - */ - -#define trace_puts(str) ({ \ - static const char *trace_printk_fmt __used \ - __section("__trace_printk_fmt") =3D \ - __builtin_constant_p(str) ? str : NULL; \ - \ - if (__builtin_constant_p(str)) \ - __trace_bputs(_THIS_IP_, trace_printk_fmt); \ - else \ - __trace_puts(_THIS_IP_, str); \ -}) -extern int __trace_bputs(unsigned long ip, const char *str); -extern int __trace_puts(unsigned long ip, const char *str); - -extern void trace_dump_stack(int skip); - -/* - * The double __builtin_constant_p is because gcc will give us an error - * if we try to allocate the static variable to fmt if it is not a - * constant. Even with the outer if statement. - */ -#define ftrace_vprintk(fmt, vargs) \ -do { \ - if (__builtin_constant_p(fmt)) { \ - static const char *trace_printk_fmt __used \ - __section("__trace_printk_fmt") =3D \ - __builtin_constant_p(fmt) ? fmt : NULL; \ - \ - __ftrace_vbprintk(_THIS_IP_, trace_printk_fmt, vargs); \ - } else \ - __ftrace_vprintk(_THIS_IP_, fmt, vargs); \ -} while (0) - -extern __printf(2, 0) int -__ftrace_vbprintk(unsigned long ip, const char *fmt, va_list ap); - -extern __printf(2, 0) int -__ftrace_vprintk(unsigned long ip, const char *fmt, va_list ap); - -extern void ftrace_dump(enum ftrace_dump_mode oops_dump_mode); -#else -static inline void tracing_start(void) { } -static inline void tracing_stop(void) { } -static inline void trace_dump_stack(int skip) { } - -static inline void tracing_on(void) { } -static inline void tracing_off(void) { } -static inline int tracing_is_on(void) { return 0; } -static inline void tracing_snapshot(void) { } -static inline void tracing_snapshot_alloc(void) { } - -static inline __printf(1, 2) -int trace_printk(const char *fmt, ...) -{ - return 0; -} -static __printf(1, 0) inline int -ftrace_vprintk(const char *fmt, va_list ap) -{ - return 0; -} -static inline void ftrace_dump(enum ftrace_dump_mode oops_dump_mode) { } -#endif /* CONFIG_TRACING */ - /* Rebuild everything on CONFIG_DYNAMIC_FTRACE */ #ifdef CONFIG_DYNAMIC_FTRACE # define REBUILD_DUE_TO_DYNAMIC_FTRACE diff --git a/include/linux/trace_printk.h b/include/linux/trace_printk.h new file mode 100644 index 000000000000..bb5874097f24 --- /dev/null +++ b/include/linux/trace_printk.h @@ -0,0 +1,204 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef _LINUX_TRACE_PRINTK_H +#define _LINUX_TRACE_PRINTK_H + +#include +#include +#include +#include + +/* + * General tracing related utility functions - trace_printk(), + * tracing_on/tracing_off and tracing_start()/tracing_stop + * + * Use tracing_on/tracing_off when you want to quickly turn on or off + * tracing. It simply enables or disables the recording of the trace event= s. + * This also corresponds to the user space /sys/kernel/tracing/tracing_on + * file, which gives a means for the kernel and userspace to interact. + * Place a tracing_off() in the kernel where you want tracing to end. + * From user space, examine the trace, and then echo 1 > tracing_on + * to continue tracing. + * + * tracing_stop/tracing_start has slightly more overhead. It is used + * by things like suspend to ram where disabling the recording of the + * trace is not enough, but tracing must actually stop because things + * like calling smp_processor_id() may crash the system. + * + * Most likely, you want to use tracing_on/tracing_off. + */ + +enum ftrace_dump_mode { + DUMP_NONE, + DUMP_ALL, + DUMP_ORIG, + DUMP_PARAM, +}; + +#ifdef CONFIG_TRACING +void tracing_on(void); +void tracing_off(void); +int tracing_is_on(void); +void tracing_snapshot(void); +void tracing_snapshot_alloc(void); + +extern void tracing_start(void); +extern void tracing_stop(void); + +static inline __printf(1, 2) +void ____trace_printk_check_format(const char *fmt, ...) +{ +} +#define __trace_printk_check_format(fmt, args...) \ +do { \ + if (0) \ + ____trace_printk_check_format(fmt, ##args); \ +} while (0) + +/** + * trace_printk - printf formatting in the ftrace buffer + * @fmt: the printf format for printing + * + * Note: __trace_printk is an internal function for trace_printk() and + * the @ip is passed in via the trace_printk() macro. + * + * This function allows a kernel developer to debug fast path sections + * that printk is not appropriate for. By scattering in various + * printk like tracing in the code, a developer can quickly see + * where problems are occurring. + * + * This is intended as a debugging tool for the developer only. + * Please refrain from leaving trace_printks scattered around in + * your code. (Extra memory is used for special buffers that are + * allocated when trace_printk() is used.) + * + * A little optimization trick is done here. If there's only one + * argument, there's no need to scan the string for printf formats. + * The trace_puts() will suffice. But how can we take advantage of + * using trace_puts() when trace_printk() has only one argument? + * By stringifying the args and checking the size we can tell + * whether or not there are args. __stringify((__VA_ARGS__)) will + * turn into "()\0" with a size of 3 when there are no args, anything + * else will be bigger. All we need to do is define a string to this, + * and then take its size and compare to 3. If it's bigger, use + * do_trace_printk() otherwise, optimize it to trace_puts(). Then just + * let gcc optimize the rest. + */ + +#define trace_printk(fmt, ...) \ +do { \ + char _______STR[] =3D __stringify((__VA_ARGS__)); \ + if (sizeof(_______STR) > 3) \ + do_trace_printk(fmt, ##__VA_ARGS__); \ + else \ + trace_puts(fmt); \ +} while (0) + +#define do_trace_printk(fmt, args...) \ +do { \ + static const char *trace_printk_fmt __used \ + __section("__trace_printk_fmt") =3D \ + __builtin_constant_p(fmt) ? fmt : NULL; \ + \ + __trace_printk_check_format(fmt, ##args); \ + \ + if (__builtin_constant_p(fmt)) \ + __trace_bprintk(_THIS_IP_, trace_printk_fmt, ##args); \ + else \ + __trace_printk(_THIS_IP_, fmt, ##args); \ +} while (0) + +extern __printf(2, 3) +int __trace_bprintk(unsigned long ip, const char *fmt, ...); + +extern __printf(2, 3) +int __trace_printk(unsigned long ip, const char *fmt, ...); + +/** + * trace_puts - write a string into the ftrace buffer + * @str: the string to record + * + * Note: __trace_bputs is an internal function for trace_puts and + * the @ip is passed in via the trace_puts macro. + * + * This is similar to trace_printk() but is made for those really fast + * paths that a developer wants the least amount of "Heisenbug" effects, + * where the processing of the print format is still too much. + * + * This function allows a kernel developer to debug fast path sections + * that printk is not appropriate for. By scattering in various + * printk like tracing in the code, a developer can quickly see + * where problems are occurring. + * + * This is intended as a debugging tool for the developer only. + * Please refrain from leaving trace_puts scattered around in + * your code. (Extra memory is used for special buffers that are + * allocated when trace_puts() is used.) + * + * Returns: 0 if nothing was written, positive # if string was. + * (1 when __trace_bputs is used, strlen(str) when __trace_puts is used) + */ + +#define trace_puts(str) ({ \ + static const char *trace_printk_fmt __used \ + __section("__trace_printk_fmt") =3D \ + __builtin_constant_p(str) ? str : NULL; \ + \ + if (__builtin_constant_p(str)) \ + __trace_bputs(_THIS_IP_, trace_printk_fmt); \ + else \ + __trace_puts(_THIS_IP_, str); \ +}) +extern int __trace_bputs(unsigned long ip, const char *str); +extern int __trace_puts(unsigned long ip, const char *str); + +extern void trace_dump_stack(int skip); + +/* + * The double __builtin_constant_p is because gcc will give us an error + * if we try to allocate the static variable to fmt if it is not a + * constant. Even with the outer if statement. + */ +#define ftrace_vprintk(fmt, vargs) \ +do { \ + if (__builtin_constant_p(fmt)) { \ + static const char *trace_printk_fmt __used \ + __section("__trace_printk_fmt") =3D \ + __builtin_constant_p(fmt) ? fmt : NULL; \ + \ + __ftrace_vbprintk(_THIS_IP_, trace_printk_fmt, vargs); \ + } else \ + __ftrace_vprintk(_THIS_IP_, fmt, vargs); \ +} while (0) + +extern __printf(2, 0) int +__ftrace_vbprintk(unsigned long ip, const char *fmt, va_list ap); + +extern __printf(2, 0) int +__ftrace_vprintk(unsigned long ip, const char *fmt, va_list ap); + +extern void ftrace_dump(enum ftrace_dump_mode oops_dump_mode); +#else +static inline void tracing_start(void) { } +static inline void tracing_stop(void) { } +static inline void trace_dump_stack(int skip) { } + +static inline void tracing_on(void) { } +static inline void tracing_off(void) { } +static inline int tracing_is_on(void) { return 0; } +static inline void tracing_snapshot(void) { } +static inline void tracing_snapshot_alloc(void) { } + +static inline __printf(1, 2) +int trace_printk(const char *fmt, ...) +{ + return 0; +} +static __printf(1, 0) inline int +ftrace_vprintk(const char *fmt, va_list ap) +{ + return 0; +} +static inline void ftrace_dump(enum ftrace_dump_mode oops_dump_mode) { } +#endif /* CONFIG_TRACING */ + +#endif --=20 2.43.0