From nobody Sun Feb 8 10:22:00 2026 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) (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 C6A0F1FDE0B; Mon, 2 Dec 2024 11:10:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.165.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1733137853; cv=fail; b=GtXIv6ehh/onfgKbgpCoYQ39FyyO4qsyYAoQXBmwKi1aFHg5Z1kQLvn9poQphMWtMpQPuiGAL+N5A13pnRJ7z9lKvAl6xZYZZTlSwhYvwoANIQdEO9j4rv/0zKw7krzJ70yV86wJuEHBoLxi/2UzkCk2bxojRmwkBUOT75s5ONc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1733137853; c=relaxed/simple; bh=5JoRbla2bp5Qno92u/seV3kNOPx3VgM2RohSLCJUBfM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=gySWCFPnxM/DDm1kkysp7GqJdqQdr7H/wChBTe39DioKPLFfx6xhWleb3H+nbqaG/edlXro2SP7MhTQ/ZcwvCdiaWY+jfYSmPmG0Ujq8B0zlJA+vgzz/yxqJM72hmHgGVgjx/RLXWUHSP+hWZ4RWMQkEqWvMGZ6cMzSS0o0VC8A= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=FhAvR3JX; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=oFlIv+Kn; arc=fail smtp.client-ip=205.220.165.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="FhAvR3JX"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="oFlIv+Kn" Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 4B26Ww19008600; Mon, 2 Dec 2024 11:10:50 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2023-11-20; bh=I+w2hwxa/YUTZZUnekajsBhLkqgjc8gxVVx749WCQws=; b= FhAvR3JXLAIhn2RMv2fysc0zPEJ5E379/GqqJHfRSb9TQk90hXNYgdsuDO/gw8P5 UsG5kMN3ex8dDgaNqSpFU8My5tmShDDSDrQs7guvEXN/31lV6tmBvkGVOLJKDevI CkRKVm6JPQBFBpOEDdmDTuIRdW+cmqHpsjz0rnusI3ofIck+dBDjRRJGcv3bXx2P iUAWTEQljq4Lpn/34YUqJfvw3F2mtoYn4pnLJcc5skvTJfUUBNYr6YXzpe304E1s Ls7ty+O38osiomlZGTG4TrtZbhnAssZjz9Ts3GyLXZZmhcuRFcZGyB0uS5MAfH7F 7qFHcvjl+WlJE+1CdHec7g== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 437s9ytkmr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 02 Dec 2024 11:10:50 +0000 (GMT) Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 4B295XnU037342; Mon, 2 Dec 2024 11:10:48 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2172.outbound.protection.outlook.com [104.47.57.172]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 437s56r6gq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 02 Dec 2024 11:10:48 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=g50qJXi0HVVpBlmhHek/qO9uhBZTaPkD5heKPK/pnD8O3G/B+ZgL0esMaj8nZso+fWXs0h6FEg0J761c+AqfiD1AXqv6tXhkv9F6jIa8NpMW1WDFZgjFNUi8GE4fJn8nsJLMQcTouaZjhfcwTGnH4CW9wSs+TDELc4rxYKZJDIdiA8wCLcbG/u0gd3LOHglGHeaTEJZMdGfvS0p+5q4P25ILNgG5h5Z0Iqbc3KiBrE5VfZvwOKqBVFkEFlLtBYIIT5hyTMsIblr4oLDWYfRZrxhny/Ox//HjF1n55Fjf74gPSIP8/PkEaCxFvSgtrMV4mu+HMGZIoa5zlnC6CecFdg== 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=I+w2hwxa/YUTZZUnekajsBhLkqgjc8gxVVx749WCQws=; b=liMB9gshSURc1lSutt85mfLm6FNVGG96cLv62nmw+VLa7oGzbVYdM+NDjs3Tnk3XvCmlCCyyqGaTeiqVhrd2qR2o7gZx2F8t5ACq5vZXsCj+CtM0EYbfC3usU3iu/ybQTV/xe7THQyhIlJHI5ZpwiGvIExeCn5FkKYMAa49fQ29WwQgdyXVDQ6WzmVN1+uoqTzS6NPLbMJsDoBNxNPIJ74LAR+YImIWSgWmvxKmGAcD1rUdj0JpYZRaBG9sXuEbSrVAC815GU0GtEQxfaEYCd4i0ujN/L3W5m5/oZ2CkqjPhqCWoG6fr5xRo/46Lzzpq+HjmlshxiYNy/r6fXLd/TA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=I+w2hwxa/YUTZZUnekajsBhLkqgjc8gxVVx749WCQws=; b=oFlIv+KnysxgMz3/ai9Q0xPHU6BRMovjvOzWC63XaXVWLn4qwF6qjL3fgSBZp0S5W568ZhIE9lJ04EVSvqImedgA+UkVPmbjb0NudLcWwuC1Q9atTpnHMPjed/KWtvtl4SJ01UDhIxeLSjDXaYGVCNgeu4QP/4qJ9amxGEHDR88= Received: from PH0PR10MB5563.namprd10.prod.outlook.com (2603:10b6:510:f2::13) by MN6PR10MB8024.namprd10.prod.outlook.com (2603:10b6:208:501::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8207.18; Mon, 2 Dec 2024 11:10:46 +0000 Received: from PH0PR10MB5563.namprd10.prod.outlook.com ([fe80::1917:9c45:4a41:240]) by PH0PR10MB5563.namprd10.prod.outlook.com ([fe80::1917:9c45:4a41:240%6]) with mapi id 15.20.8207.017; Mon, 2 Dec 2024 11:10:46 +0000 From: Siddh Raman Pant To: Greg Kroah-Hartman Cc: stable , linux-kernel Subject: [PATCH 5.4.y 1/2] cgroup: Make operations on the cgroup root_list RCU safe Date: Mon, 2 Dec 2024 16:40:23 +0530 Message-ID: <20241202111024.11212-2-siddh.raman.pant@oracle.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20241202111024.11212-1-siddh.raman.pant@oracle.com> References: <20241202111024.11212-1-siddh.raman.pant@oracle.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2P153CA0027.APCP153.PROD.OUTLOOK.COM (2603:1096:4:c7::14) To PH0PR10MB5563.namprd10.prod.outlook.com (2603:10b6:510:f2::13) 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: PH0PR10MB5563:EE_|MN6PR10MB8024:EE_ X-MS-Office365-Filtering-Correlation-Id: b94a2504-ec7e-4dd8-903f-08dd12c1f891 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|10070799003|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?UMfz+PaznXS/1v0FiIXL7EQqrWBUOte8dgPsbf2g4yMCaTeNNJh/7bu7o1ii?= =?us-ascii?Q?gZrlMuzvO5r4pjUNd19yQ+y/55W6zWuaJdOrO/BYQst44kbz6owa4+gaAOYt?= =?us-ascii?Q?a7iQ19vwR05BWQHhAjdCYjJoZea5bHiuqD41JuNBb8u6HV5D5QDCp1baZuXn?= =?us-ascii?Q?gULrfRrxUFxPcEQqH2gLA7WcLQ0qtNmdCGBnyjBSTYlPuH2+RjvxfXKmulm6?= =?us-ascii?Q?rxL6yFPSDLtCeQACD9Z8KL7O6ppteKdDUCHyki+z7GCRbINSybJBKGfXTxaG?= =?us-ascii?Q?ouP02+MopWZvj+OzBMqpL160tuhzdDifAzfdTi5rNHV1N/gBJ/cFAg+Cb+d7?= =?us-ascii?Q?90v1wEiZK9RjKF/sDXxSW/d00l3HeUW5gOckR42X+aPSvis0JtwPk6AvuGlc?= =?us-ascii?Q?Ue95DDwPd5W5EBVHFv7Fd7iwAx9p9pDxaRRjETlCVRDvf10Chlyqm3m7A16G?= =?us-ascii?Q?P58pHJ0PIh1WAjeAW8AOAU9CozYwoDo3Zb4YdBr84wGU6xpp9k6zhi6jqCe4?= =?us-ascii?Q?5VQ/VaumZ4DBpdJ3dRSnt4KQZ7Xka3Jp4h4I3NiCuXEA7W0DEfe4IDZlOs0W?= =?us-ascii?Q?2mPbri9MYTY9ur98TgudQLl0K18GlVVzTX0Y0FFocMOKX21J7SGw38C5JfEu?= =?us-ascii?Q?9B+gpYck1zIpeKeNFeX76q+2TGyGtcm2YDY6Lu5EEZoQjHypqWBtk+1ycqut?= =?us-ascii?Q?NNZluqMyAxSPH+wHRNKaIFnEzLDHdOhc0irssnAW+2dI350YPLuKkw5fk99H?= =?us-ascii?Q?d1PvyCy8d/pd+mVfMSTzoLB6/BO46+BXLlgqhKOh8mCgnjsLzgNdwAb/1ADd?= =?us-ascii?Q?dguBxHP5t08cv26hJxQ64bK2rpiuJYb5oXLY8Tl/QPPe3w5nG+quaNfHLCU+?= =?us-ascii?Q?AiqtlLpQmD6ee1jN9+fbWtXnMY/b+XD98tDLF3ZY/+mlRbLFVCTyl5DgcYZM?= =?us-ascii?Q?NJ6ySS+Qp/y/qpwNo6l/bZ0Hjg3ExO445qkFlIaSzJ6B9JpoXpQVN351iIO+?= =?us-ascii?Q?xkg29huZAv3eVcy3n552DtK5Sj81yNcUmeLbNDsrVV32UnMVDoLgxeIPoHPG?= =?us-ascii?Q?gfhtsDBO/+0vU6QHDipEdLk682eM85LvxdoqTzG0tTjLZsTp5g6hEZW1NMMy?= =?us-ascii?Q?bR210p9/DFS3htj/8zsHxrab0UwPmAinDaZQFfh+rXkmSX8dibS/0mXl7Cj5?= =?us-ascii?Q?57/y9wq0Qr4aQscOVrxtjT5tsdBj2mRPN5Z/O48P8r+pgrSLPYgkhUWLbGal?= =?us-ascii?Q?8I2Uctim7dtBfk/w1Zl1hvGSjufnSU6NHSZZztN6RvjrBxiHB7zNwq5ZwU7F?= =?us-ascii?Q?qF6MZs2GKwTfOmYdT8FUqE9B9Jc48eOcqGskkHVA9DWNCA=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR10MB5563.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(10070799003)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?XLhCX2wHjmeVcEBxqZ7wGAdXxCnJ2r5ZAuwk0HkBeJ87o5iB8Bf2HLoNxF+t?= =?us-ascii?Q?/d7AssX2AectBrBZ0xN2RMebJt/81iy2JWjshl++r+dFlqy/ouOd4xFNQI1M?= =?us-ascii?Q?OXyuR2JyjhhaATs/+ukDoRGHhqSqWIyHh4WqYuUUnUsZiDi11m0HueZ0qiPd?= =?us-ascii?Q?xktz+RqZY3Jc4xuvzGJrUq0X2CI74QVxkVvK7Odiflc4JCBO8Wy6EShfssYH?= =?us-ascii?Q?hfkGvJFl+G2zzidqSHkcP4r9g1Ed2PTA6QIOR8JPKsrFhXFrjLEAMyoZ+p2B?= =?us-ascii?Q?P+UR3PnbIfb6Ga+9dCuE4o2+10N3qGspd7sCICWYUzHhUn5mLyyOP87HwZjT?= =?us-ascii?Q?SKiYjP09k0PVil3CIxW8dInMWSj7bvf17kWXNPYSwnvyYxTLj6FvO+fERnUT?= =?us-ascii?Q?hq5nKZEhIeijP7F7ejyfoggq+d/3mEah9tsvn6GESP0OS3dmQTlkSZ/PM4fK?= =?us-ascii?Q?gymkRbh+Sj8uGPvUaTayNYuxarZ1wAUP9eIjB8vFN35F1ASwswhNtAssq1HJ?= =?us-ascii?Q?9bxvUX9uIIm0xHmqfOQNNfCVADbkjF2Afxti8YWGFdOBmN84udGmBFic0ls/?= =?us-ascii?Q?2hwqVHPyNqWNGnj7rziiz78gA5zOzTbNqoMFfWfuqg7KXFxRMKuUoPpXEWnR?= =?us-ascii?Q?FHggLKFnWDymzeRt7SI9kcbxFFssBnLpulfbPtPuHo/6dkGJgoKFBWMcO4k1?= =?us-ascii?Q?e1WaTE41QdJFX57mW4iYXIoKXJiB9RrbJQR3cVf+6YLTepa3vdJZQD4YpFdc?= =?us-ascii?Q?Rhb3/RAxXrJeWc/FiWhhJ28tUY6L0nXH2C3crPvtWh3sB2kIX6Rx9nMgIp26?= =?us-ascii?Q?HfANxVg1CqsBX7O0zTjE5YAtwSCxfELjvldvhi65PkANws46sNZqkTpgqJBR?= =?us-ascii?Q?kauPpK2hG/VvtV10tjytjBE1t9oNWzFlRFLeUlhXd3+np9LCL9NeK0ObhVeO?= =?us-ascii?Q?b9edELhYEEN7XIU2IX54FtiJjlzFpPaAFfG3bNyK3RL4ipZ611LapuF4Tf8c?= =?us-ascii?Q?f4zEkHUD0Qk73EthBA+SKIPMEdtor854dq9A2AYwrziDr2fA2GkxlP1yc9nb?= =?us-ascii?Q?AzdRu1jvR5QP9SB3nn7QRx+SIoyGG6Y0sVvSJS/tj4e1QhE0te2serpAdQO0?= =?us-ascii?Q?VVZ1WgwS+/90xJKz8fJ7zF+nbTGiVVMpBQ9cj5xfU+J17cOuxzr/G5NUWAbB?= =?us-ascii?Q?7Ya7FFKXayX2FOYOW6NDyfcTmyteVt5CCiUVPawYDaqz9DX3ocO55meiUoAE?= =?us-ascii?Q?PD9ws+7ceCvjg3CuzaQ99YBphvOYCKm5VPmoQpSl4uy2L85SERdWAxf6bPhE?= =?us-ascii?Q?1C5ndxbFxM4/N5Ki5sil/TJhjD3yqA/2JS4BXgN2gNTCJWJlqHS6DqqpB9UU?= =?us-ascii?Q?oUfjFcwhJiK9jlOGzVtagdKC6CZzAVjwf6fCfijLmgf8CRA43FdcnTIBQm+O?= =?us-ascii?Q?gLuad1hVud2D6zuWnaP9fcIdZlXoVxmDz0hgr9SolxpvF1qzHERE1T/c7vXJ?= =?us-ascii?Q?9I5w9C0XZZbalV6N5dY9h5VDcIZ4SqHDtbzMNrJLmjAzM6nZzvWOmOe7aW4C?= =?us-ascii?Q?shQtcWideA7v7Fz6PEAoW7Lc4RvtfaYpTVginCpUqWxVPKEskEmorp8i+NKi?= =?us-ascii?Q?Vh6Rl1dEVCuwP/XxAbIdvv8=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: gNEomC+17M329ufySmIS5bO++n5QHxvg0rSd2zyhc6uOhQ3Bn5MZFzBHydHBmTdbxXrj5FOBCCJjmNZN029IH9Ftut+ecxd0vArwEg4ToioVmMh5ibSsbHsw+HTKmnDVKlluxXZhXOOcEH1qPLJKi9Pwd/ocJWrHQDR/AxE4+4RIbSMEBBGtO16k/+Uheip7i+NSRSgqunNYf5N7+GDRh2v/jgeFyyrBKOKhUjdO3AJAYyyIFz8il40iSpB4qF6EUy5tDr9aP9n7D6k9aui3XPmyrwYNIEo59Yefgz8cCxKdLKWk2sLR8XU3F+wmL87rDzidRHBFiYMTOPkG7qqSSNvo1UAkkGcJugUt37F/Gm2+tcUoRuxzQscZExW6+UuK4qAkiHtlKYZLvUuon70541qZIGdeRgUreQKzsDvTn2LWlaXGpqvK1rjQWQtelhfYV3v3t8mLjhjUOZaFm3Fw/ieMBX9jZeyEERoxHzs86ueFG60JdCqtDTOgW4EarEYaMXDWPoBv2oILTQJxwSrZG1EtvnYv8DyiszFor5LTcaDfbqtSTEQpcvTr7HRyKbOnx7j60Eo+httyNYPm9WWooDPQHy43ZEG6HItWkNtJIsY= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: b94a2504-ec7e-4dd8-903f-08dd12c1f891 X-MS-Exchange-CrossTenant-AuthSource: PH0PR10MB5563.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Dec 2024 11:10:46.7514 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: paA+E1tBH7VAgfV7uYUIunq/eNfe11ffBDoSgACJ293syj5ZtZsB8E54x07RI/dzDjSk178kLa0Zc/9jBu7Fk1UEVeyTtEPrNXRlxbIiJ00= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN6PR10MB8024 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2024-12-02_06,2024-12-02_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 mlxscore=0 bulkscore=0 malwarescore=0 mlxlogscore=999 spamscore=0 adultscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2411120000 definitions=main-2412020098 X-Proofpoint-GUID: CptGlyKRP9y0yuJ1D7UBNY4Psj0-HCXU X-Proofpoint-ORIG-GUID: CptGlyKRP9y0yuJ1D7UBNY4Psj0-HCXU Content-Type: text/plain; charset="utf-8" From: Yafang Shao commit d23b5c577715892c87533b13923306acc6243f93 upstream. At present, when we perform operations on the cgroup root_list, we must hold the cgroup_mutex, which is a relatively heavyweight lock. In reality, we can make operations on this list RCU-safe, eliminating the need to hold the cgroup_mutex during traversal. Modifications to the list only occur in the cgroup root setup and destroy paths, which should be infrequent in a production environment. In contrast, traversal may occur frequently. Therefore, making it RCU-safe would be beneficial. Signed-off-by: Yafang Shao Signed-off-by: Tejun Heo [fp: adapt to 5.10 mainly because of changes made by e210a89f5b07 ("cgroup.c: add helper __cset_cgroup_from_root to cleanup duplicated codes")] Signed-off-by: Fedor Pchelkin [Shivani: Modified to apply on v5.4.y] Signed-off-by: Shivani Agarwal Reviewed-by: Siddh Raman Pant Signed-off-by: Siddh Raman Pant --- include/linux/cgroup-defs.h | 1 + kernel/cgroup/cgroup-internal.h | 3 ++- kernel/cgroup/cgroup.c | 23 ++++++++++++++++------- 3 files changed, 19 insertions(+), 8 deletions(-) diff --git a/include/linux/cgroup-defs.h b/include/linux/cgroup-defs.h index d15884957e7f..c64f11674850 100644 --- a/include/linux/cgroup-defs.h +++ b/include/linux/cgroup-defs.h @@ -517,6 +517,7 @@ struct cgroup_root { =20 /* A list running through the active hierarchies */ struct list_head root_list; + struct rcu_head rcu; =20 /* Hierarchy-specific flags */ unsigned int flags; diff --git a/kernel/cgroup/cgroup-internal.h b/kernel/cgroup/cgroup-interna= l.h index 803989eae99e..bb85acc1114e 100644 --- a/kernel/cgroup/cgroup-internal.h +++ b/kernel/cgroup/cgroup-internal.h @@ -172,7 +172,8 @@ extern struct list_head cgroup_roots; =20 /* iterate across the hierarchies */ #define for_each_root(root) \ - list_for_each_entry((root), &cgroup_roots, root_list) + list_for_each_entry_rcu((root), &cgroup_roots, root_list, \ + lockdep_is_held(&cgroup_mutex)) =20 /** * for_each_subsys - iterate all enabled cgroup subsystems diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c index 79e57b6df731..273a8a42cb72 100644 --- a/kernel/cgroup/cgroup.c +++ b/kernel/cgroup/cgroup.c @@ -1314,7 +1314,7 @@ void cgroup_free_root(struct cgroup_root *root) { if (root) { idr_destroy(&root->cgroup_idr); - kfree(root); + kfree_rcu(root, rcu); } } =20 @@ -1348,7 +1348,7 @@ static void cgroup_destroy_root(struct cgroup_root *r= oot) spin_unlock_irq(&css_set_lock); =20 if (!list_empty(&root->root_list)) { - list_del(&root->root_list); + list_del_rcu(&root->root_list); cgroup_root_count--; } =20 @@ -1401,7 +1401,6 @@ static struct cgroup *cset_cgroup_from_root(struct cs= s_set *cset, { struct cgroup *res =3D NULL; =20 - lockdep_assert_held(&cgroup_mutex); lockdep_assert_held(&css_set_lock); =20 if (cset =3D=3D &init_css_set) { @@ -1421,13 +1420,23 @@ static struct cgroup *cset_cgroup_from_root(struct = css_set *cset, } } =20 - BUG_ON(!res); + /* + * If cgroup_mutex is not held, the cgrp_cset_link will be freed + * before we remove the cgroup root from the root_list. Consequently, + * when accessing a cgroup root, the cset_link may have already been + * freed, resulting in a NULL res_cgroup. However, by holding the + * cgroup_mutex, we ensure that res_cgroup can't be NULL. + * If we don't hold cgroup_mutex in the caller, we must do the NULL + * check. + */ return res; } =20 /* * Return the cgroup for "task" from the given hierarchy. Must be - * called with cgroup_mutex and css_set_lock held. + * called with css_set_lock held to prevent task's groups from being modif= ied. + * Must be called with either cgroup_mutex or rcu read lock to prevent the + * cgroup root from being destroyed. */ struct cgroup *task_cgroup_from_root(struct task_struct *task, struct cgroup_root *root) @@ -2012,7 +2021,7 @@ void init_cgroup_root(struct cgroup_fs_context *ctx) struct cgroup_root *root =3D ctx->root; struct cgroup *cgrp =3D &root->cgrp; =20 - INIT_LIST_HEAD(&root->root_list); + INIT_LIST_HEAD_RCU(&root->root_list); atomic_set(&root->nr_cgrps, 1); cgrp->root =3D root; init_cgroup_housekeeping(cgrp); @@ -2094,7 +2103,7 @@ int cgroup_setup_root(struct cgroup_root *root, u16 s= s_mask) * care of subsystems' refcounts, which are explicitly dropped in * the failure exit path. */ - list_add(&root->root_list, &cgroup_roots); + list_add_rcu(&root->root_list, &cgroup_roots); cgroup_root_count++; =20 /* --=20 2.45.2 From nobody Sun Feb 8 10:22:00 2026 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) (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 249DE1FDE21; Mon, 2 Dec 2024 11:10:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1733137859; cv=fail; b=hxcNQfl/IWaY+X0Ff2A7Z2hWqezqmEYoht+1eNiX7fzT5aoazUgGyckyK0Gp5HQifKyQANvWz3w0oEosUn5rfingGlYDgE3ysveoJhsY/oiDBftE/SmdFQZNjMV0RALP8BrdsIgAhYp8UPky7s3lH7/eiuAlyjhkcSZnIKBUJSE= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1733137859; c=relaxed/simple; bh=uwPLuOU4ILWYTOCPCY1cX9toyYDvZYy+qhBncDKYvXk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=uEYf/CVfYCrmxuhTURs5tlVwI0kYotIEs/0wsGf1GN4kTCarIolxo3IbnVYKdPVK6LAqrc5o8FfG63emmTF2sYmqmKpBrVh0aQFnXS1AXC93Z8H1JoGll3DzEleI8Pgu5XLbd6hARehKVrekghw3yYIXNWs82HYn87Fibehi1xQ= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=gGlM1jNB; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=QqE5IB6E; arc=fail smtp.client-ip=205.220.177.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="gGlM1jNB"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="QqE5IB6E" Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 4B26WvIg024799; Mon, 2 Dec 2024 11:10:55 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2023-11-20; bh=YcEmB4ZP4kQoAJfI9HnWYcu5flJ8w3Kbp3iiL39OVIo=; b= gGlM1jNBaGPHQwmtuq2p5vOqSerwApTCWYPiYYeTOxc2quzeIs6RHhk0U6eFmHvS xkWWF+YNNBrIoB4YS0Li+En9HU0daYF82WQom32AkoO5AxlapxnQxs4obBGq4xvk kCEgWS98/ZAAu9TXELqbDD50rXzXs/MJOuz7IbIzPQr34J7yvwnIicIlhPVXW6Fp a+3xZ31inLrOFZKXUh1rGJQMIKIsvGA6Rxrsswo27NyzKxlTO4uEk3q89N9rGIDu 0uNk+SATes2lFG1KRswOy5JFsvZA9qI12MUlSHUnb2ppe/s8kD47YiM/KWSkPon+ cT3KrrLsihxaNgwmuV2siQ== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 437sg22ppm-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 02 Dec 2024 11:10:55 +0000 (GMT) Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 4B2AcXDZ000871; Mon, 2 Dec 2024 11:10:54 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2171.outbound.protection.outlook.com [104.47.57.171]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 437s56e081-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 02 Dec 2024 11:10:54 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=tLqRYDNofTmHoOJK6ttvrynxx2K5dzK94Y63yuqUB6JAzT/deJ2XCyQ5NPpQ5iYQAV34ryrBMi/GTVtMGh0AkpM4Di5qbyH0bB/hABBS7nwwQG/hpoN72d0Af4e+pcmM0J0lkrO1esopen5FCbSkdVQKjvFDy7VhdnnniaBL0Cy/6KFQDnn/Jlh8fNKYWWdXlqNAeS5x8F3fL5C1/tOTqpMNG5stlXUvPl28vNQoZ1bLn8PiEKLpnvgwr6gxr9D73L0dswKfrWSmak99em9rQ3jFTugLpO+EiYKt8riEQICyUVkeFEafbNKga+g9v4eLVBpzuaOWCgJp2Cn2wZfqjw== 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=YcEmB4ZP4kQoAJfI9HnWYcu5flJ8w3Kbp3iiL39OVIo=; b=ExIKF5p86fpHzXub4Xn5wvxFrOXGwu+UQsquSeVfeiIoE2U4ihjsCYXvnMN5D64YqYkjF5gAXwL5oUQqIAZiHUuqWzz2TlPTZIyaINx+/XbAJwkUEW4RrcZ5z3RpLcaNrvhKiFNOr1tiWGzw6Z10gi77CG2yQ0Oiuuwemq+GziD+A4tNZUfuMq7H7eZ9H/EUXh4hr21iiTCxUyEeQ1tkfOUXpKdiJAYozmjwp7ydo6M5LbD9ElRWRo7BeT54KDEhfGv+KDV55AqrpNtJldqwQiaWPRpUfdIQ9M18gPLp2ag20bUqRLDLvWzELv1iO3CwuN56IVWTWv4vgfkbx5dJhw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=YcEmB4ZP4kQoAJfI9HnWYcu5flJ8w3Kbp3iiL39OVIo=; b=QqE5IB6Ek0frJaPr5kzx50FKrbAlVAGYxtzdgUhx51o3LyKuOEV1CO46qS0zBfq6B1Zh6l1JJ/9WX04totAneaeejertk8tceEwO/IdLOQROuMxe/v2TeqAMHe9xzPEKbw4KzO+hmtzi4jXsfZ2qak2jGFkpnKxWN35l0c742J8= Received: from PH0PR10MB5563.namprd10.prod.outlook.com (2603:10b6:510:f2::13) by MN6PR10MB8024.namprd10.prod.outlook.com (2603:10b6:208:501::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8207.18; Mon, 2 Dec 2024 11:10:51 +0000 Received: from PH0PR10MB5563.namprd10.prod.outlook.com ([fe80::1917:9c45:4a41:240]) by PH0PR10MB5563.namprd10.prod.outlook.com ([fe80::1917:9c45:4a41:240%6]) with mapi id 15.20.8207.017; Mon, 2 Dec 2024 11:10:51 +0000 From: Siddh Raman Pant To: Greg Kroah-Hartman Cc: stable , linux-kernel Subject: [PATCH 5.4.y 2/2] cgroup: Move rcu_head up near the top of cgroup_root Date: Mon, 2 Dec 2024 16:40:24 +0530 Message-ID: <20241202111024.11212-3-siddh.raman.pant@oracle.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20241202111024.11212-1-siddh.raman.pant@oracle.com> References: <20241202111024.11212-1-siddh.raman.pant@oracle.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2P153CA0045.APCP153.PROD.OUTLOOK.COM (2603:1096:4:c6::14) To PH0PR10MB5563.namprd10.prod.outlook.com (2603:10b6:510:f2::13) 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: PH0PR10MB5563:EE_|MN6PR10MB8024:EE_ X-MS-Office365-Filtering-Correlation-Id: 5051935d-1ceb-44ab-ae73-08dd12c1fb9c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|10070799003|376014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?eEgwSEo2V2xYejh4dkpvRjRzMFoxVG9ZMlVHcGxmMUFmSWxSeUlSVjR1S040?= =?utf-8?B?bXBYUE03WjlSWmRzVGUySlVabHJjajdYSFNYUjh6Q3F1bDcvNmtFRGhNV0xw?= =?utf-8?B?UkU0U0xDamFhUm8vYWtncmx3d3hYT0FXRWNBeFg5eXZhRUhrNmpuRnJUK09V?= =?utf-8?B?OVplTWJxWHJqWTU2MFdON2p5YXlWczhxb1FhM1VXUlMwZUNzbENuZ3AxeDBV?= =?utf-8?B?SjZqUWlrUC9jLzZpQ01kL0NHaWQwRW90Tm05Tzdzc29ucXNMakFlaHJvWDF6?= =?utf-8?B?ZzlvUVNrWk9xTkNPZU1JNUxWeUNzUWptZkYwT3VmTklWUitkSlpqMUwydjk2?= =?utf-8?B?Qld3cEh5Mm1MTlAwaGQ5UEl1anFQQ3IwbjJlaVk5S1NwbTBNWmxOeEE3L1Fj?= =?utf-8?B?Q1RDOHRORFhxaWovbXBaL1B2dFpTOUVsZ1FCRGlnemh4dmxpTU9ycVRHd1lS?= =?utf-8?B?d1FqSFFMZGNuL0FWU1pmeWFMVThCQTdHTU5TWm5UZ1NBTWROQUpIaVJQRDFw?= =?utf-8?B?NlZGTXBBdzIwcGhzM1pVWU0yeHNXYk1lSFYxNGNoTFdsWm5BeEJ3SnVMbktz?= =?utf-8?B?eEZ3RXVpdEZBM3dTK3ZLclh0b1I5TklsV29QVHlvU2hodEZESlI4VVpGck1C?= =?utf-8?B?aFhrVTh2UVVVelJJWVV2ZGp1Tld4MmFiOEJFeTU1RFpNbTZMUnJpSmtPT0Q4?= =?utf-8?B?Y3Rpdm1COWRvUGRzU2VRZ2hoVHh6M0QzZmVMV0U5OGhIdXA5UFZYb1hPejJk?= =?utf-8?B?QVFrYm9CZ3g5c0FIN29PcXpjdHB3eGVBa050RXU3TDBpRWJEdzJKMm5oVGIr?= =?utf-8?B?SVBCT1dRLy9ScEN5QUs5OUpVS1JMdUJvRnhOVktGUUJqaUkyaGU5YXZpT2RO?= =?utf-8?B?ejMwZzR0NFZ1a3VOU1ZwRnFqMFFKWWxTTGRPaHBNdFA0cXZwTjlCMEZCRE50?= =?utf-8?B?Ykg4VVRidmVBcjBlNGhCM1Boa21ZaVNyTUE0Zi9ROWQ1QUxVTDdXVHVxb2sy?= =?utf-8?B?Y0dHYW1mdTZiNEFrSVNuT0RkZHliMU1wYjgyM0ErcnJ3QzBYS2g1MTE4aXZt?= =?utf-8?B?TFpxQmt6QXNQVjNDQjg3amNzTzV4aFRVai83T0Jwc2xPU0JPU1hqQW1aVlVR?= =?utf-8?B?UkUvTVA1Y041aCtOTEtWbjVmZXBKMDR5M29zZVExbHpkQVgrTFdUdDBMZ2h0?= =?utf-8?B?b0dnK0wwSFN4cnNEUWJyTmV2WjVNallNYjZqU2pFb05XWk9KQnZza0dObEhv?= =?utf-8?B?SytWd05Vb2tsaDBrYnZhNk14Wm9jS0RWNWVoek9KM2h4UU9YeVBhQUhFTTZH?= =?utf-8?B?WHFSWmM1NzJOV25uQmU2VUdKWDhZUGkzdlp1bU03Q0w2N3RvSTZGMTIvTEtC?= =?utf-8?B?S1IzZFVWd1BET3VLRHdGZ213R0ZOdlI3MFFUeTNzVzR0L3VCYVNNeFRXYnYy?= =?utf-8?B?b3R0MnpKU0Mwekpla3daeVNyWUdWUFU5NklDWjBzSjFCOVdMNjBkRlpOYTJY?= =?utf-8?B?QUJucXpseWtvb2NLNDFIRjlJQ3FkaGdpTmxQUUJlMWw5clF5bE9aQ2c1TEJa?= =?utf-8?B?ZjdRbFUyL0JYdVo1bTR4TEFVUGo5bklJR3JzUTVtZ0R0SEw2TFc3eElhM3k2?= =?utf-8?B?R3p4ejZGbGM1a3VKM284RGp3a05NdU1UOXdRNkdLbGNkT2c0ajU3elhyUURi?= =?utf-8?B?bWwvYUwzVXA5L2NZRDh0c3p3TVhvdnkwT1d3cms3emhvc3BoYWE2U0pSVGUz?= =?utf-8?B?dDB5eXhIUHJLNVVYL24ybVZXQ3ZHeGJSVjB0bUIxY04vTE9Ub0J2ZllQZE5h?= =?utf-8?Q?OfKOaDJ5+KexWEWF/BaZodcXQQLJw/B6Y2ltI=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR10MB5563.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(10070799003)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RlVMNnRKWGJNbDg5MEtZK2F4bzNOZzZCOE8zakNQN3dWd1h0M3pJQkZyWVVC?= =?utf-8?B?dDNjckRyR3orbzBxSmNRdUZjMEZIQUxDUGl1THR6WGtwS081Q0JOYmMxazlN?= =?utf-8?B?OU9zUTZsV1haaDB4bS9uSzIvelRFMWRSdDEyOStxUk1mQmpUTnpvQzJOanNi?= =?utf-8?B?N2pJZU1lUTV0c215Z0pkeFFKM1dhcUNETGlWc0tYejlVcDNyeHNIbFJsaFNO?= =?utf-8?B?am9HSlViNFdvTUFMZnJqTEJ5YTZVQ0NENjZTVHJHQWFNc05Nc3c2cDNXZ1Qy?= =?utf-8?B?Ym0yMHhMeEI2VERrNUFGZFJpQ3VRTGQxMXdVK2xpbG5UTURJK1J5ZkpEVldS?= =?utf-8?B?SUJTTkt6TUZhS0I4TXlKN09xYTg1dkZoalhOZzFrdzBBaGl4SG9RdExta2xw?= =?utf-8?B?VW03MWUxcUQ3c2p3YTFQQTM1Wm44TnV6QTd0eHhjUHdUVmJTSTlJUWxzY1Rs?= =?utf-8?B?TUp3bFZCWVE2RzVQTW1kUjdiWE4xNUZlNzlJUWZpRk1zT3BNTDdjbzgyL2RM?= =?utf-8?B?S1NwTWF6SHhSaDE0bEV6bG94UVlabEJITkF0YkxmVzRqR2x1Q2c4MDN1Zkps?= =?utf-8?B?N0xOUUtxaE04UmROWjJMWmNWY2NDaVVwam9tcVo2citRUE4yd09sMWxxcXJB?= =?utf-8?B?YTkvNTZ2RkVES01mc2QxNDg3d3U4R3VRYk15dDloK0ZmajRWQUd0TDlyWk85?= =?utf-8?B?OWtvbmtTMVBlZEtTWTgxc3p1dVNaNFlJcVBwY0JSb1hjRmtLOXNETGM2TzZM?= =?utf-8?B?WVliTmxTaE9JWkV0QUtnZklWdDFYMGFwWHZsMTJVeEdzZnB1WSswZjR6b1E2?= =?utf-8?B?OHlKSUlERjNPMEhXck1YQ1JWNmxBV1ExL2tod1RMWUhSY2dKUmdQbFF1c1BR?= =?utf-8?B?N1BDck9Fcmo1NE1uRnN0MzZZRXZTRGlNeUdVWmVBd3p4Z1FrNWxuNjNYT2lZ?= =?utf-8?B?RkR3WnlYOVFCcDJKcTIzRVIvMUhrZ1Jtd1crUWJ6blppRkFvV0ZGQ0dXVlBp?= =?utf-8?B?ektCU2QxalFuTTRsMUNWMEwwbm5JbGVkTTJGeDlrSEZERlFUWDQ3eVJqMkxF?= =?utf-8?B?NGZqNmszZWcyb0dYS0dyUTFBWmk4eTcyVHRhbHE3dk5hd3drcHNVdHAvYXdr?= =?utf-8?B?MFBna3V2elo1a0tkZGZacVU4VFNDVWE5Nm5jL3U3cWU1aitWSEZjSWJRanM2?= =?utf-8?B?bWJNWnhhd1V6QXdLaENDWTlrU2JYajZqZFVERUlTZWRXYUhDSXAzTlpadEIr?= =?utf-8?B?NWNobGtOUDRtYllISWpBVE5NOW9VQVVsZm05dEdKcTFodTFlRWVwcGxONVpY?= =?utf-8?B?UktrS0E0VnR1T241c1pVRTkwS1FEN0ZEOHlzRGhTQXByOUNpd3QweTlQaWZy?= =?utf-8?B?QzhuSjlqSEJiMDRmYm5BZUt1bXdGQjdlQUlRWmhNSXZvejJ3RVVPaGNCbE50?= =?utf-8?B?cHc0K3JaWHRhMmdpam9TTkxEOEU4VTdjZ2RZSURMbkxNeFJuRTNqUE9CM0dx?= =?utf-8?B?VDBBcy85ZHJvTDhxNGhrdmFpSDg0SjZmbCtZTWZ3cGxldjE5SzBuV3M0Rm5o?= =?utf-8?B?NXdZYWd2cmM1a2NpZVBWbmt0THQ4NHdrSDFDVDM0bjNkbWRNQ05sU3hkVDk0?= =?utf-8?B?NG5DdDJLdzlSOUVjdnJOSXZ2MHBpN1M1ZDlaR2ZoSytiTGF5SzZsUThyR0xV?= =?utf-8?B?QUZLaEtjSHNFTmZvQmpUcnpEaDRrWmFreFJmbDdLeTBaa2V0aWwxZHlnZWhm?= =?utf-8?B?ZFlnOWZON0t5WTErR0JYb2ZPMlBEUXBnSGcyTEFkeDN6SkZ2bHgyZ3cxd0ov?= =?utf-8?B?Z1l0SnZFc21QaXRVTStFRkhLRFVoY2w2NlhCb3BWYzhsNUVWVUxxMFQ1MTdo?= =?utf-8?B?VElzVzdPY1hxMFY0bTN1d1AraVNjemQ0Y3hYdzZjT3d1MlFIT01jcFhRTFRv?= =?utf-8?B?ZGVOdEVNc05TM1dSNVY4ZE5QRmJNOXQ3UzRUVGtmaFVsUTQzL1ZVcVI0MHNX?= =?utf-8?B?VkxraVl1RzdSNXp1Vm1rSm9adWVXOFgxUXhRZXZUZ21adTY2dFdXQW5jVnZr?= =?utf-8?B?Mk4rS1FXUWl1SVdTV1NSOGp0SHhRd3hzeXViVlQxeDVPUTFQemQ1RFYyU0pE?= =?utf-8?B?SFdzYjlUdmR1NkNQY3puaHVkWlhSbS8waHZkOUk5d01yQWIvbUdBcFQvRG02?= =?utf-8?Q?lGMI+Aut4Qbg5nkgWDQGbaU=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: oERvmLWbQQy7YiWsLsnyl/6o4TD0QHLr1iFn+yrrfIffe+KYUZYoaNh1MY2e0gKTsajM1QG1xJuZ1Ik9QGXa+7q3Aafxc9L3dALUeLP9WdwOEoVVmUUzy1V4nwIKWAPX5IQvgjwXhCUAeAQo65a5tjo8qo+3wBSzZVdoa+XWgY49/6/eMa70GyjBH//5cBwpoFVQ97vqWmPQRe3DZqlAXPGAwmsMGobMZT9axONZ+q3feiG1AR+0FnCSg0AoVG09C3Xh+/sTbVIWqZAQVpQ9iyaN28C/LY+3pCasp4NYCy9bXe7qUs1+qfD6OsYWRpD/O+4Ck/0OG0/b2tvKRqUkm28gqfyeiPP6KqOmVu+8PVTy96qIZ/x6foLTzlug022MCsGBoAxLzZD1wBwcqHIDNSU5/XpcAq8+IsKinNZGBbJFr0M3pvyVD4NKHHiUFiYljU/MrlzxNl+UEM7KBZ2Wo0wT4dffUAjTqftfpL+2w4X8p6jpe51mSWPFGkBCmQMybJ97TvWakqIgPL305156W0X8ELlPw2jrWKc9JRnJEvTgMr6+pAeKrhEYdiKh9QYxaigtmC3NnNqdEkYuk0tfM7qv22L8P5u2pyg8I84tgj8= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5051935d-1ceb-44ab-ae73-08dd12c1fb9c X-MS-Exchange-CrossTenant-AuthSource: PH0PR10MB5563.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Dec 2024 11:10:51.8630 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: T3qFx2mffJe2WSrE3GKdI+6L2fUlD3MvTm5xNS5700+QDT86Ic8zBj9MxhYQ62Omx2HShVEibs/nwdSCMEOGrq6zpdstR+Q4sZVvHb0LIuk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN6PR10MB8024 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2024-12-02_06,2024-12-02_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 mlxlogscore=999 bulkscore=0 phishscore=0 malwarescore=0 mlxscore=0 suspectscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2411120000 definitions=main-2412020098 X-Proofpoint-ORIG-GUID: 9SXhEVAEyMQ9c9f_Rz7cr6_3I7DiDJ8A X-Proofpoint-GUID: 9SXhEVAEyMQ9c9f_Rz7cr6_3I7DiDJ8A From: Waiman Long commit a7fb0423c201ba12815877a0b5a68a6a1710b23a upstream. Commit d23b5c577715 ("cgroup: Make operations on the cgroup root_list RCU safe") adds a new rcu_head to the cgroup_root structure and kvfree_rcu() for freeing the cgroup_root. The current implementation of kvfree_rcu(), however, has the limitation that the offset of the rcu_head structure within the larger data structure must be less than 4096 or the compilation will fail. See the macro definition of __is_kvfree_rcu_offset() in include/linux/rcupdate.h for more information. By putting rcu_head below the large cgroup structure, any change to the cgroup structure that makes it larger run the risk of causing build failure under certain configurations. Commit 77070eeb8821 ("cgroup: Avoid false cacheline sharing of read mostly rstat_cpu") happens to be the last straw that breaks it. Fix this problem by moving the rcu_head structure up before the cgroup structure. Fixes: d23b5c577715 ("cgroup: Make operations on the cgroup root_list RCU s= afe") Reported-by: Stephen Rothwell Closes: https://lore.kernel.org/lkml/20231207143806.114e0a74@canb.auug.org.= au/ Signed-off-by: Waiman Long Acked-by: Yafang Shao Reviewed-by: Yosry Ahmed Reviewed-by: Michal Koutn=C3=BD Signed-off-by: Tejun Heo Signed-off-by: Fedor Pchelkin [Shivani: Modified to apply on v5.4.y] Signed-off-by: Shivani Agarwal Reviewed-by: Siddh Raman Pant Signed-off-by: Siddh Raman Pant --- include/linux/cgroup-defs.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/include/linux/cgroup-defs.h b/include/linux/cgroup-defs.h index c64f11674850..f0798d98be8e 100644 --- a/include/linux/cgroup-defs.h +++ b/include/linux/cgroup-defs.h @@ -506,6 +506,10 @@ struct cgroup_root { /* Unique id for this hierarchy. */ int hierarchy_id; =20 + /* A list running through the active hierarchies */ + struct list_head root_list; + struct rcu_head rcu; + /* The root cgroup. Root is destroyed on its release. */ struct cgroup cgrp; =20 @@ -515,10 +519,6 @@ struct cgroup_root { /* Number of cgroups in the hierarchy, used only for /proc/cgroups */ atomic_t nr_cgrps; =20 - /* A list running through the active hierarchies */ - struct list_head root_list; - struct rcu_head rcu; - /* Hierarchy-specific flags */ unsigned int flags; =20 --=20 2.45.2