Message ID | 20221129164352.3374638-6-Liam.Howlett@oracle.com |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp449208wrr; Tue, 29 Nov 2022 08:45:53 -0800 (PST) X-Google-Smtp-Source: AA0mqf4+alrp1vv+XcdPZ95iOAEQnS6oIUUimgvgf8ZPqpR44tSQ0jRtp1NMAMUNWkh1X/HyYYsR X-Received: by 2002:a17:906:190d:b0:7bd:1f71:ee0e with SMTP id a13-20020a170906190d00b007bd1f71ee0emr17563943eje.714.1669740352937; Tue, 29 Nov 2022 08:45:52 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1669740352; cv=pass; d=google.com; s=arc-20160816; b=evx0itxZHkVqXYmZbBi8io7FJJOpTFSX2b7gWqrdqGX/YTsAy1yPU0o54fbNhb5pub z+r9cneEQANrk6ORHWv7wlBMICJ2FIH+LpD4FsDXxcn0WkF+LoZX3MF5RkCBg5QxB4HF l2YfbrJzIIG1QO5KigBX9CQDNecTjGuNFYniEZPWBt83+dcoTHtMclM2GsD9EcIjjWGp UYJQS6Is44qlLvce29MNGmwPGMgth4HI+JEEEN8AmHDF/fpt9yRz2+/ItTDosXjZM4fT tosvW03LlrdGwq0PstBfF1DqIvLOfqWH3pyYH/vVfXwnHEi+W668o5/2n/WO3SAeLcue AjIg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature :dkim-signature; bh=9QxF2bsty8tFgN1YU7NieebNj9Kp3YKtX501tgL1yKw=; b=TPdXsqdjT4WIo6ZHDYhqs6U2o3pWAnKxfTZaEkTFeTj7veHNddw8XOxDXqsjipj8yF ZIRoKhdGrttkFOjZw593U/iAtGG1SglucA+Y7Fp8hsJO99P+qrgQhwrYfxtH0aaprpF/ nj0gZ/LcP/9QvyhgWefZId7/YgKJJFpJV+wK5k2HDVYGM3PC6zd1vC3rdkXJf/m/D4pi LdGEwJMxE1aW+1CyCK61Vd6NeUb74D4NQP9uFxEhnnB3O5HMv3HKIkqWeJhjoKVYQn6Q dLE1HlpmIowGGOMyTYc5O2r6mqpPyib9SxiRb4xxwdBVx4bjo9NuDjxVBOZ3I0MTNIf6 fzTQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=fTAyGszw; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=fuQ5w8Fq; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id x18-20020a05640226d200b004608c0b9a8asi14510108edd.201.2022.11.29.08.45.29; Tue, 29 Nov 2022 08:45:52 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2022-7-12 header.b=fTAyGszw; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=fuQ5w8Fq; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236038AbiK2Qom (ORCPT <rfc822;rbbytesnap@gmail.com> + 99 others); Tue, 29 Nov 2022 11:44:42 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41308 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235972AbiK2Qoe (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Tue, 29 Nov 2022 11:44:34 -0500 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7C20C5475C for <linux-kernel@vger.kernel.org>; Tue, 29 Nov 2022 08:44:33 -0800 (PST) Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 2ATGPo8c012293; Tue, 29 Nov 2022 16:44:27 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=9QxF2bsty8tFgN1YU7NieebNj9Kp3YKtX501tgL1yKw=; b=fTAyGszwRZbG0e87btMGW9/C9ZzvAvyusfmTuelLeaq0KdrRvYXowdGOV9oANrZPTNAN Y46CR37rZ8rasq2ogLSROkMY6tgKO58wQeeghAOW6cGQlbfKZ3jJPtl0X+h8UNoPYnVc xxPD6zA1+bN2bnTw8MaWlMliVAwnmOfywUvEugx7dhTgTbB+FWC0VMbn0ZOzKGzmKqAA 1tCaMzNblnyF+GcfGjLZ3hA035N5BJjvxHRWOPIq9FP2tdMskuAfs+i1koeGqaOJdVD2 W4IknqsQllCGVYQx4pb+hiwVGphdMqcIP2q3a1hojmC9eypOUo0RThaSyziphdMkB/LB Lw== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3m4aemdn8d-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:26 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 2ATG7rBX030968; Tue, 29 Nov 2022 16:44:24 GMT Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2109.outbound.protection.outlook.com [104.47.58.109]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3m398771pv-7 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Nov 2022 16:44:24 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dlI2qbPiFa2ZKtl8mIVDoxqtodB2K3cBe+HguDc2Fjycd5jn3SMtmV3Z5F7qPQg242ELlBvG+OKKQ+yLpJreE/jgb0R38N/UcZJcxZNMeJbAvUBiMns2u3yrwKBMwnHc7R9GqD7xXK3fUVzAecbV9eVK/Qf9j26n8SIY5SClFrkxK6KmV1celgeOPpk/dqoU1d7G1Yv/z3Gz7V2dyGmKC6FAO39bAE5k7FdRpyHrrGj9a7P1zauRafwc68p7pVYbPRkS4bqU+IGuQZ+7T2Y5POIqcgLcYVW4NWhj4BCgiMy4ZiDGUv3mZVedVIa0laFMhjHTcgXno0uMJwFDTCkB7w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=9QxF2bsty8tFgN1YU7NieebNj9Kp3YKtX501tgL1yKw=; b=YymQ8/aWQtSi6N553A1YyHo2JFUiaP1cbGPkgq9HyvOpF/c0auhFDb7bL33khaNnJpXSNBeeA9de8VpKfy3n2VP/GXXoutZCb5RH2liUOqJ8/T2C/88/LpJVXgRIpIKMjK29tp/tPKf9TuZT7pWzf3h+nMo9lke6o7LVOVg/BZvhlc9GIqTaeGMRhkBguk5iyk/Opo3q9kBAQqb/FKDudxJKJRDM7qxqJF5cplr/mazaLoJYzcstFaj/jo/aL0pVV09wJPRF4rMPBgzD2Y5oya0xmi08rvgxtMmsd9vBvKbQLdFXywL72T4W3psr7VFzdoqTgWi9P3h2ickuQPC5KQ== 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=9QxF2bsty8tFgN1YU7NieebNj9Kp3YKtX501tgL1yKw=; b=fuQ5w8FqxUZgrgSvePsahewq4oqV63NZYKsjQTR9MvNKrAQ0w8/0owyszTCT7PEUqGomj5yKdSJyIFksRibUGwYnbIjKiwcYixtkWO+WFCP2Z+R6qBbqJJpB7OYqy43XfAoyOvRucqFIDfG0vjUYuqTIhZY5SdTSg1kqoubnrY8= Received: from SN6PR10MB3022.namprd10.prod.outlook.com (2603:10b6:805:d8::25) by CH0PR10MB5321.namprd10.prod.outlook.com (2603:10b6:610:c9::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Tue, 29 Nov 2022 16:44:22 +0000 Received: from SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682]) by SN6PR10MB3022.namprd10.prod.outlook.com ([fe80::a02:2ac8:ee3e:682%4]) with mapi id 15.20.5857.022; Tue, 29 Nov 2022 16:44:22 +0000 From: Liam Howlett <liam.howlett@oracle.com> To: "maple-tree@lists.infradead.org" <maple-tree@lists.infradead.org>, "linux-mm@kvack.org" <linux-mm@kvack.org>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, Andrew Morton <akpm@linux-foundation.org> CC: Liam Howlett <liam.howlett@oracle.com>, Liam Howlett <liam.howlett@oracle.com> Subject: [PATCH 05/43] mm: Expand vma iterator interface. Thread-Topic: [PATCH 05/43] mm: Expand vma iterator interface. Thread-Index: AQHZBBHU9foHbUxMAEi8caFhrTc+aw== Date: Tue, 29 Nov 2022 16:44:21 +0000 Message-ID: <20221129164352.3374638-6-Liam.Howlett@oracle.com> References: <20221129164352.3374638-1-Liam.Howlett@oracle.com> In-Reply-To: <20221129164352.3374638-1-Liam.Howlett@oracle.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.35.1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR10MB3022:EE_|CH0PR10MB5321:EE_ x-ms-office365-filtering-correlation-id: f769a0be-3679-4a21-d8e8-08dad228f7a1 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: k3EWTr594Gyp8UUjm9iTLds1R9+7Aok2B9BQgYFRyQwxXZuU0sFg0nsEBstBUUkJWVKf4vrb89NrWPKg3o6BATPFRNsF0BHFywBe+Q0b2sGet8O6zemkhgkVmVC5NyqALSjp0RfDBZeOXERQQBzHtBpVWrEO2Ej70BfnYVOipxVwwLf8llpq5o1VzK1nUMX8JP8xk0oNfxLluckxPDlXHTBhs04WQhcN+i6kNDQuW9/zC+RM/xL336QItFlakGAYb4VwuI5bVWTs/NMSBLzLDiHSf+RQth6qM3QR9b/wb2ajGHAKDOEaEdM8w0u5yW3stXjd0nBfItJULeG/9bQ7gDWNIH992W+VhBaDDKLFv03QH4LKFPD9EZKhTDud5X9Fuq8/fKzRx8F9hD9Zxn/zRX5fdS+Gw+55t2cD1xKLjnNBERURDH20Zj9QlQ8xTq0sKaFKzvXnC1NLE0mmXa0oSFvkhsOrVMeS+ZMDzupIEBT3YkoZX78RuAzARSFjvf+wxx5kIFg5ii3ZIbMV0dirKLI0xYrkO2br6CprXxReYmuUryCNIcLpzr6cH1ksrtlKS3z8jL8TyyoCsRpRoIYJ801amedemA3D9slhICD5n/nU57Rf8GRsn8O/WXIyg4BgICPnzXvBVX7MgvdlOf5guH3PECK8leLDUmPnkbGZ/VGlzzkesX/oLEPQtmYwMidEkVm5qfm/FEh+EFs3hDIH9w== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR10MB3022.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(39860400002)(346002)(376002)(396003)(366004)(451199015)(83380400001)(54906003)(71200400001)(6506007)(107886003)(110136005)(6486002)(86362001)(36756003)(38070700005)(6512007)(38100700002)(122000001)(2616005)(26005)(1076003)(186003)(8936002)(5660300002)(66446008)(478600001)(44832011)(8676002)(66946007)(66556008)(64756008)(76116006)(66476007)(41300700001)(4326008)(2906002)(91956017)(316002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?q?eAON6EEcsXo7cXTdJFLoC/p?= =?iso-8859-1?q?dctwIFXbAGWOkwZLBNlut6Uncyh995C9LKN5s6QBGElArN3xYBxnJcl21kz3?= =?iso-8859-1?q?7v1IDMaw55Xju5L4GPe56VgMCWR+jP6lzpPtBWnkN1/OxcQEXMlMC6alQ8M0?= =?iso-8859-1?q?x1TYV8PaU2EOP60SDiP1vgGt16EnFrTeJYT1IbkqPk72zoj87eLB9rfhnfhJ?= =?iso-8859-1?q?6qhj5axM5laurmUgbXLzAHaPo84awIfQ7Lcy9wH4eYdyVvko6gd2HDmladyg?= =?iso-8859-1?q?zrBcBc20r2nX1Tvy7m7uXWFc8ovlexuFMvWyYm1sE9FKukPgVXCi2SG6vm+n?= =?iso-8859-1?q?YnloLuBMfBOaHmmzuv4lXjO4GwsTOZdNaar/SWgD852jzFQ8hE1ztn1TSJLm?= =?iso-8859-1?q?rZvPoCbDaLuOIFFGURAuZJV8qGMPmPj3rqy89yNiP4S9WkKOlNPPAv1q4xrt?= =?iso-8859-1?q?mLGrMbLywDlYkw3+VxsmHKETharZUsL1WffuypcUZw6uf1RtvHF7OS6iRSGu?= =?iso-8859-1?q?bPSyAV/42JDZqN5ER08tp24/MZka8tNm9HLc1GI1SDiCcrL5MR0XkAPOvLjQ?= =?iso-8859-1?q?FXNSEiD6Uphh5H7rVtCPfpSdGd/vpKy7kzW3VuFqg2no7ALxSJEqcgYnPj4d?= =?iso-8859-1?q?blfVxz+jshUZp0iP0M50bvIYm4a4GhIZDnzKpz+Z0TtdNxCWB3z3u9DMIh5l?= =?iso-8859-1?q?XGdJjYYn9dk00ndvG067MvI4jaVvHcFh+aIuwcGu/1DcvH7qKDXvHOsSSwk9?= =?iso-8859-1?q?QlAFMRRXOJeOKRLa72qXUyyLmn9i8OG20QxfjnBsIr9ktdL++Xco5vuXmCit?= =?iso-8859-1?q?2QGSucVPl9XXANs5a+e1ya6ddb1BVxAAM6K/0IkiXGoeNJoehBNxIpa4Y5tH?= =?iso-8859-1?q?OChVVPefa6UCW9awOccG4Klr0hfFE6IWUrm6PdUwqqbi31pxgDES9qO3zQOv?= =?iso-8859-1?q?kEuLv9fyvwkfx/uLQe4dobwqKsG+t4rI/yT/wj5tii9CnsqZq0p51Auwqomm?= =?iso-8859-1?q?30FOURwgXje7rspRTytoitnfFjCtCISDTA0+p4ujfE6RlGfJKGkVpOOCWJuK?= =?iso-8859-1?q?wi88+XIuAX85+TR2gHN1rSoQaDyhv9k7Peql108mpu9QfM5QN/jtlWeMAeas?= =?iso-8859-1?q?60/RatX3T7jkxn5Yx/o4xWYKcputyIqciDsdWK35x+ih0oOQudBnfjot9Bju?= =?iso-8859-1?q?bSsRawdI0/Nhl0xSwGXoVpq0juBUIDl8bYypkmnXuk4aJcfnaTUBStJl13vz?= =?iso-8859-1?q?ZhaK+KgYOGrGmTVCJWGVU1OFvM2Ya6yZZuPlxpsK5pZBZ6zQO2dMU9vX7Nzr?= =?iso-8859-1?q?Fud1tYlAkmWZgfsrt9oKOMbdQPMrNZ2tRW8XvC8QdvDMlbQOv1qGcyItW14m?= =?iso-8859-1?q?qmBYM8zSVXQf6zp9Ldj16ttC8qI5ItwWG/PmQpiYy137GxETGDFzgZfY+T09?= =?iso-8859-1?q?YHSefkLN02sUhnRbhbgMfCKdvpVZD/TJio6EFMgM+GCxaqPG7oPQLW1tbBpv?= =?iso-8859-1?q?yH4H5GA8ihK626rmvRr0A4kjicg5inVwNPyGPwVy5FUSfP1U3OEv7cAIIxZ2?= =?iso-8859-1?q?waQf707BDvXiYjrON/JT84BMk09tEyA/PM00k6AuFx4XT/KDjIMS/3Bu1n2q?= =?iso-8859-1?q?kCvGS54Li6Pslp/qQ93sPrTY2bWA1RDIfl/pCCA=3D=3D?= Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: +vnfkPxkPmUhtZdqC80uWNaVGGFVJ6EOYbCWo8EtYjoHBlle7XnTHmwxukbubNzMEhBt+bRhevCR2xd7xXd0+LrvenHdS/1LyrgS5rQC4C98Kof2lXIdCtA6bOXSFq42Xf0XcbUVmgL0LT2ROz0I3ojdl2e2U7DhXYPzwkO240xKtpwQxJual7cva/w4G9tqA4o88YIN9LleuVx7sAqIVC2aiqbvKs5MjVtoqGfvDV5YaU5ju6WG8lkJQmNjj5yuLZyC99L1VK26Ir2Asb89bE3gswpddRaMgnMiomTT6/mRZsRIiAbUtFIozGbGAlHOz7wc9oL8wA3KyA8EigVvfsumbh91BedIo5egSZ9wG+PDdDoXQsYzCRZ4CzMJ4B47J2khSIX2bfk4JrGJBJFk37MR06xTsUc2fUXxpiS8s5eZjEFOP2qd4OOxEIXOhywNzCLYzhZzxdev2qd+mEG+BKsjljoEqC2cynjxXjRkrCLg903dq5L8miyq29/2gEh9E0MqNVF0nRA3XLw8t1YVwTOMdV86srqfaeq/GXIT7vOef3uWNKkf186rVE4yzfYKKHoTNSOs1YQqGJXBep8oC6ZEmmzn2hvb2B/r6XugjUc8JZw9C6RhjYIoB2MyuQlqIYaFZDN12k5v8DTdNBbnZd4HkRmHe86WXjR8vPVTMzEEbF+CQaTHBdBYjPLB980TqPgxsqO4oObzN03noIlQtP6todUZY/Pe1kUrNIWpSg6nK2S4tHooYo61/0Z0n2qk60SRsLGu1KoPwHqq1lV4pYOHQ3QSPDxCmunhKmLn4ZcpDcuQuiVDCREcSd2W18FbNY3ta6uzxY3KAMFCn0y0joI6nraKXE4NtDkgn7lYMQ/BWXHe/K2cF1EvPDalGSazw765X153yjAw54fuK8cMjA== X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR10MB3022.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f769a0be-3679-4a21-d8e8-08dad228f7a1 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Nov 2022 16:44:21.6763 (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: Ox/3d3yn0B4Ww701y+UceTlOs5LcpcvB25iaF6pkxSEcosoNXdpTq0ECw/8q5inFTYJhHpEJlrnMjbVGNotQXA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5321 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_11,2022-11-29_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 suspectscore=0 phishscore=0 mlxscore=0 bulkscore=0 spamscore=0 malwarescore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290093 X-Proofpoint-ORIG-GUID: o2JD8iLMVvtAMqeXFaX0d501FSwV3e73 X-Proofpoint-GUID: o2JD8iLMVvtAMqeXFaX0d501FSwV3e73 X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750849660407193558?= X-GMAIL-MSGID: =?utf-8?q?1750849660407193558?= |
Series |
VMA type safety through VMA iterator
|
|
Commit Message
Liam R. Howlett
Nov. 29, 2022, 4:44 p.m. UTC
From: "Liam R. Howlett" <Liam.Howlett@Oracle.com> Add wrappers for the maple tree to the vma iterator. This will provide type safety at compile time. Signed-off-by: Liam R. Howlett <Liam.Howlett@oracle.com> --- include/linux/mm.h | 46 ++++++++++++++++++++++--- include/linux/mm_types.h | 4 +-- mm/mmap.c | 74 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 117 insertions(+), 7 deletions(-)
Comments
Hi Liam, I love your patch! Yet something to improve: [auto build test ERROR on acme/perf/core] [also build test ERROR on linus/master v6.1-rc7 next-20221130] [cannot apply to kees/for-next/execve tip/sched/core tip/perf/core] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Liam-Howlett/VMA-type-safety-through-VMA-iterator/20221130-104546 base: https://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git perf/core patch link: https://lore.kernel.org/r/20221129164352.3374638-6-Liam.Howlett%40oracle.com patch subject: [PATCH 05/43] mm: Expand vma iterator interface. config: arc-defconfig compiler: arc-elf-gcc (GCC) 12.1.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/intel-lab-lkp/linux/commit/cca685c9cb2e968b4246a2f376b1213522f09fc0 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Liam-Howlett/VMA-type-safety-through-VMA-iterator/20221130-104546 git checkout cca685c9cb2e968b4246a2f376b1213522f09fc0 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=arc SHELL=/bin/bash If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot <lkp@intel.com> All errors (new ones prefixed by >>): mm/mmap.c: In function 'vma_iter_store': >> mm/mmap.c:172:17: error: implicit declaration of function 'mt_dump'; did you mean 'xa_dump'? [-Werror=implicit-function-declaration] 172 | mt_dump(vmi->mas.tree); | ^~~~~~~ | xa_dump cc1: some warnings being treated as errors vim +172 mm/mmap.c 163 164 /* Store a VMA with preallocated memory */ 165 static inline void vma_iter_store(struct vma_iterator *vmi, 166 struct vm_area_struct *vma) 167 { 168 if (WARN_ON(vmi->mas.node != MAS_START && vmi->mas.index > vma->vm_start)) { 169 printk("%lu > %lu\n", vmi->mas.index, vma->vm_start); 170 printk("store of vma %lu-%lu", vma->vm_start, vma->vm_end); 171 printk("into slot %lu-%lu", vmi->mas.index, vmi->mas.last); > 172 mt_dump(vmi->mas.tree); 173 } 174 if (WARN_ON(vmi->mas.node != MAS_START && vmi->mas.last < vma->vm_start)) { 175 printk("%lu < %lu\n", vmi->mas.last, vma->vm_start); 176 printk("store of vma %lu-%lu", vma->vm_start, vma->vm_end); 177 printk("into slot %lu-%lu", vmi->mas.index, vmi->mas.last); 178 mt_dump(vmi->mas.tree); 179 } 180 181 if (vmi->mas.node != MAS_START && 182 ((vmi->mas.index > vma->vm_start) || (vmi->mas.last < vma->vm_start))) 183 vma_iter_invalidate(vmi); 184 185 vmi->mas.index = vma->vm_start; 186 vmi->mas.last = vma->vm_end - 1; 187 mas_store_prealloc(&vmi->mas, vma); 188 } 189
* kernel test robot <lkp@intel.com> [221130 11:36]: > Hi Liam, > > I love your patch! Yet something to improve: > > [auto build test ERROR on acme/perf/core] > [also build test ERROR on linus/master v6.1-rc7 next-20221130] > [cannot apply to kees/for-next/execve tip/sched/core tip/perf/core] > [If your patch is applied to the wrong git tree, kindly drop us a note. > And when submitting patch, we suggest to use '--base' as documented in > https://git-scm.com/docs/git-format-patch#_base_tree_information] > > url: https://github.com/intel-lab-lkp/linux/commits/Liam-Howlett/VMA-type-safety-through-VMA-iterator/20221130-104546 > base: https://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git perf/core > patch link: https://lore.kernel.org/r/20221129164352.3374638-6-Liam.Howlett%40oracle.com > patch subject: [PATCH 05/43] mm: Expand vma iterator interface. > config: arc-defconfig > compiler: arc-elf-gcc (GCC) 12.1.0 > reproduce (this is a W=1 build): > wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross > chmod +x ~/bin/make.cross > # https://github.com/intel-lab-lkp/linux/commit/cca685c9cb2e968b4246a2f376b1213522f09fc0 > git remote add linux-review https://github.com/intel-lab-lkp/linux > git fetch --no-tags linux-review Liam-Howlett/VMA-type-safety-through-VMA-iterator/20221130-104546 > git checkout cca685c9cb2e968b4246a2f376b1213522f09fc0 > # save the config file > mkdir build_dir && cp config build_dir/.config > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=arc SHELL=/bin/bash > > If you fix the issue, kindly add following tag where applicable > | Reported-by: kernel test robot <lkp@intel.com> > > All errors (new ones prefixed by >>): > > mm/mmap.c: In function 'vma_iter_store': > >> mm/mmap.c:172:17: error: implicit declaration of function 'mt_dump'; did you mean 'xa_dump'? [-Werror=implicit-function-declaration] > 172 | mt_dump(vmi->mas.tree); > | ^~~~~~~ > | xa_dump > cc1: some warnings being treated as errors > Thanks! I had already added the necessary #if defined() wrapper for this issue. > > vim +172 mm/mmap.c > > 163 > 164 /* Store a VMA with preallocated memory */ > 165 static inline void vma_iter_store(struct vma_iterator *vmi, > 166 struct vm_area_struct *vma) > 167 { > 168 if (WARN_ON(vmi->mas.node != MAS_START && vmi->mas.index > vma->vm_start)) { > 169 printk("%lu > %lu\n", vmi->mas.index, vma->vm_start); > 170 printk("store of vma %lu-%lu", vma->vm_start, vma->vm_end); > 171 printk("into slot %lu-%lu", vmi->mas.index, vmi->mas.last); > > 172 mt_dump(vmi->mas.tree); > 173 } > 174 if (WARN_ON(vmi->mas.node != MAS_START && vmi->mas.last < vma->vm_start)) { > 175 printk("%lu < %lu\n", vmi->mas.last, vma->vm_start); > 176 printk("store of vma %lu-%lu", vma->vm_start, vma->vm_end); > 177 printk("into slot %lu-%lu", vmi->mas.index, vmi->mas.last); > 178 mt_dump(vmi->mas.tree); > 179 } > 180 > 181 if (vmi->mas.node != MAS_START && > 182 ((vmi->mas.index > vma->vm_start) || (vmi->mas.last < vma->vm_start))) > 183 vma_iter_invalidate(vmi); > 184 > 185 vmi->mas.index = vma->vm_start; > 186 vmi->mas.last = vma->vm_end - 1; > 187 mas_store_prealloc(&vmi->mas, vma); > 188 } > 189 > > -- > 0-DAY CI Kernel Test Service > https://01.org/lkp > # > # Automatically generated file; DO NOT EDIT. > # Linux/arc 6.1.0-rc6 Kernel Configuration > # > CONFIG_CC_VERSION_TEXT="arc-elf-gcc (GCC) 12.1.0" > CONFIG_CC_IS_GCC=y > CONFIG_GCC_VERSION=120100 > CONFIG_CLANG_VERSION=0 > CONFIG_AS_IS_GNU=y > CONFIG_AS_VERSION=23800 > CONFIG_LD_IS_BFD=y > CONFIG_LD_VERSION=23800 > CONFIG_LLD_VERSION=0 > CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y > CONFIG_CC_HAS_ASM_INLINE=y > CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y > CONFIG_PAHOLE_VERSION=123 > CONFIG_IRQ_WORK=y > CONFIG_BUILDTIME_TABLE_SORT=y > > # > # General setup > # > CONFIG_INIT_ENV_ARG_LIMIT=32 > # CONFIG_COMPILE_TEST is not set > # CONFIG_WERROR is not set > CONFIG_LOCALVERSION="" > CONFIG_LOCALVERSION_AUTO=y > CONFIG_BUILD_SALT="" > CONFIG_HAVE_KERNEL_GZIP=y > CONFIG_HAVE_KERNEL_LZMA=y > CONFIG_KERNEL_GZIP=y > # CONFIG_KERNEL_LZMA is not set > CONFIG_DEFAULT_INIT="" > CONFIG_DEFAULT_HOSTNAME="(none)" > CONFIG_SYSVIPC=y > CONFIG_SYSVIPC_SYSCTL=y > CONFIG_POSIX_MQUEUE=y > CONFIG_POSIX_MQUEUE_SYSCTL=y > # CONFIG_WATCH_QUEUE is not set > # CONFIG_CROSS_MEMORY_ATTACH is not set > # CONFIG_USELIB is not set > # CONFIG_AUDIT is not set > > # > # IRQ subsystem > # > CONFIG_GENERIC_IRQ_SHOW=y > CONFIG_GENERIC_PENDING_IRQ=y > CONFIG_IRQ_DOMAIN=y > # end of IRQ subsystem > > CONFIG_GENERIC_CLOCKEVENTS=y > CONFIG_CONTEXT_TRACKING=y > CONFIG_CONTEXT_TRACKING_IDLE=y > > # > # Timers subsystem > # > CONFIG_TICK_ONESHOT=y > CONFIG_NO_HZ_COMMON=y > # CONFIG_HZ_PERIODIC is not set > CONFIG_NO_HZ_IDLE=y > # CONFIG_NO_HZ is not set > CONFIG_HIGH_RES_TIMERS=y > # end of Timers subsystem > > CONFIG_BPF=y > > # > # BPF subsystem > # > # CONFIG_BPF_SYSCALL is not set > # end of BPF subsystem > > CONFIG_PREEMPT_BUILD=y > # CONFIG_PREEMPT_NONE is not set > # CONFIG_PREEMPT_VOLUNTARY is not set > CONFIG_PREEMPT=y > CONFIG_PREEMPT_COUNT=y > CONFIG_PREEMPTION=y > > # > # CPU/Task time and stats accounting > # > CONFIG_TICK_CPU_ACCOUNTING=y > # CONFIG_BSD_PROCESS_ACCT is not set > # CONFIG_TASKSTATS is not set > # CONFIG_PSI is not set > # end of CPU/Task time and stats accounting > > CONFIG_CPU_ISOLATION=y > > # > # RCU Subsystem > # > CONFIG_TREE_RCU=y > CONFIG_PREEMPT_RCU=y > # CONFIG_RCU_EXPERT is not set > CONFIG_SRCU=y > CONFIG_TREE_SRCU=y > CONFIG_TASKS_RCU_GENERIC=y > CONFIG_TASKS_RCU=y > CONFIG_RCU_STALL_COMMON=y > CONFIG_RCU_NEED_SEGCBLIST=y > # end of RCU Subsystem > > CONFIG_IKCONFIG=y > CONFIG_IKCONFIG_PROC=y > # CONFIG_IKHEADERS is not set > CONFIG_LOG_BUF_SHIFT=17 > CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 > CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13 > CONFIG_GENERIC_SCHED_CLOCK=y > > # > # Scheduler features > # > # end of Scheduler features > > CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5" > CONFIG_GCC12_NO_ARRAY_BOUNDS=y > CONFIG_CC_NO_ARRAY_BOUNDS=y > # CONFIG_CGROUPS is not set > CONFIG_NAMESPACES=y > # CONFIG_UTS_NS is not set > CONFIG_IPC_NS=y > # CONFIG_USER_NS is not set > # CONFIG_PID_NS is not set > CONFIG_NET_NS=y > # CONFIG_CHECKPOINT_RESTORE is not set > # CONFIG_SCHED_AUTOGROUP is not set > # CONFIG_SYSFS_DEPRECATED is not set > # CONFIG_RELAY is not set > CONFIG_BLK_DEV_INITRD=y > CONFIG_INITRAMFS_SOURCE="" > CONFIG_RD_GZIP=y > CONFIG_RD_BZIP2=y > CONFIG_RD_LZMA=y > CONFIG_RD_XZ=y > CONFIG_RD_LZO=y > CONFIG_RD_LZ4=y > CONFIG_RD_ZSTD=y > # CONFIG_BOOT_CONFIG is not set > CONFIG_INITRAMFS_PRESERVE_MTIME=y > CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y > # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set > CONFIG_SYSCTL=y > CONFIG_EXPERT=y > CONFIG_MULTIUSER=y > # CONFIG_SGETMASK_SYSCALL is not set > CONFIG_SYSFS_SYSCALL=y > CONFIG_FHANDLE=y > CONFIG_POSIX_TIMERS=y > CONFIG_PRINTK=y > CONFIG_BUG=y > CONFIG_ELF_CORE=y > CONFIG_BASE_FULL=y > CONFIG_FUTEX=y > CONFIG_FUTEX_PI=y > CONFIG_EPOLL=y > CONFIG_SIGNALFD=y > CONFIG_TIMERFD=y > CONFIG_EVENTFD=y > CONFIG_SHMEM=y > CONFIG_AIO=y > CONFIG_IO_URING=y > CONFIG_ADVISE_SYSCALLS=y > CONFIG_MEMBARRIER=y > CONFIG_KALLSYMS=y > # CONFIG_KALLSYMS_ALL is not set > CONFIG_KALLSYMS_BASE_RELATIVE=y > # CONFIG_KCMP is not set > CONFIG_EMBEDDED=y > CONFIG_HAVE_PERF_EVENTS=y > # CONFIG_PC104 is not set > > # > # Kernel Performance Events And Counters > # > CONFIG_PERF_EVENTS=y > # CONFIG_DEBUG_PERF_USE_VMALLOC is not set > # end of Kernel Performance Events And Counters > > # CONFIG_PROFILING is not set > CONFIG_TRACEPOINTS=y > # end of General setup > > CONFIG_ARC=y > CONFIG_LOCKDEP_SUPPORT=y > CONFIG_SCHED_OMIT_FRAME_POINTER=y > CONFIG_GENERIC_CSUM=y > CONFIG_ARCH_FLATMEM_ENABLE=y > CONFIG_MMU=y > CONFIG_NO_IOPORT_MAP=y > CONFIG_GENERIC_CALIBRATE_DELAY=y > CONFIG_GENERIC_HWEIGHT=y > CONFIG_STACKTRACE_SUPPORT=y > > # > # ARC Architecture Configuration > # > > # > # ARC Platform/SoC/Board > # > # CONFIG_ARC_PLAT_TB10X is not set > # CONFIG_ARC_PLAT_AXS10X is not set > # CONFIG_ARC_SOC_HSDK is not set > # end of ARC Platform/SoC/Board > > # CONFIG_ISA_ARCOMPACT is not set > CONFIG_ISA_ARCV2=y > > # > # ARC CPU Configuration > # > CONFIG_ARC_CPU_HS=y > CONFIG_ARC_TUNE_MCPU="" > # CONFIG_CPU_BIG_ENDIAN is not set > CONFIG_SMP=y > CONFIG_NR_CPUS=4 > # CONFIG_ARC_SMP_HALT_ON_RESET is not set > CONFIG_ARC_MCIP=y > CONFIG_ARC_CACHE=y > CONFIG_ARC_CACHE_LINE_SHIFT=6 > CONFIG_ARC_HAS_ICACHE=y > CONFIG_ARC_HAS_DCACHE=y > CONFIG_ARC_CACHE_PAGES=y > # CONFIG_ARC_HAS_ICCM is not set > # CONFIG_ARC_HAS_DCCM is not set > CONFIG_ARC_MMU_V4=y > CONFIG_ARC_PAGE_SIZE_8K=y > # CONFIG_ARC_PAGE_SIZE_16K is not set > # CONFIG_ARC_PAGE_SIZE_4K is not set > CONFIG_PGTABLE_LEVELS=2 > # CONFIG_ARC_FPU_SAVE_RESTORE is not set > CONFIG_ARC_HAS_LLSC=y > CONFIG_ARC_HAS_SWAPE=y > CONFIG_ARC_USE_UNALIGNED_MEM_ACCESS=y > CONFIG_ARC_HAS_LL64=y > CONFIG_ARC_HAS_DIV_REM=y > CONFIG_ARC_HAS_ACCL_REGS=y > CONFIG_ARC_DSP_NONE=y > # CONFIG_ARC_DSP_KERNEL is not set > # CONFIG_ARC_DSP_USERSPACE is not set > # CONFIG_ARC_DSP_AGU_USERSPACE is not set > # CONFIG_ARC_IRQ_NO_AUTOSAVE is not set > # CONFIG_ARC_LPB_DISABLE is not set > # end of ARC CPU Configuration > > CONFIG_LINUX_LINK_BASE=0x80000000 > CONFIG_LINUX_RAM_BASE=0x80000000 > # CONFIG_HIGHMEM is not set > # CONFIG_ARC_HAS_PAE40 is not set > CONFIG_ARC_KVADDR_SIZE=256 > CONFIG_ARC_CURR_IN_REG=y > CONFIG_HZ=100 > # CONFIG_ARC_METAWARE_HLINK is not set > CONFIG_ARC_DBG=y > CONFIG_ARC_DW2_UNWIND=y > CONFIG_ARC_BUILTIN_DTB_NAME="haps_hs_idu" > # end of ARC Architecture Configuration > > CONFIG_ARCH_FORCE_MAX_ORDER=11 > # CONFIG_PM is not set > > # > # General architecture-dependent options > # > CONFIG_KPROBES=y > # CONFIG_JUMP_LABEL is not set > CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y > CONFIG_KRETPROBES=y > CONFIG_HAVE_IOREMAP_PROT=y > CONFIG_HAVE_KPROBES=y > CONFIG_HAVE_KRETPROBES=y > CONFIG_TRACE_IRQFLAGS_SUPPORT=y > CONFIG_HAVE_ARCH_TRACEHOOK=y > CONFIG_GENERIC_SMP_IDLE_THREAD=y > CONFIG_ARCH_32BIT_OFF_T=y > CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y > CONFIG_HAVE_ARCH_JUMP_LABEL=y > CONFIG_LTO_NONE=y > CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y > CONFIG_HAVE_MOD_ARCH_SPECIFIC=y > CONFIG_MODULES_USE_ELF_RELA=y > CONFIG_PAGE_SIZE_LESS_THAN_64KB=y > CONFIG_PAGE_SIZE_LESS_THAN_256KB=y > CONFIG_CLONE_BACKWARDS=y > CONFIG_COMPAT_32BIT_TIME=y > > # > # GCOV-based kernel profiling > # > # end of GCOV-based kernel profiling > # end of General architecture-dependent options > > CONFIG_RT_MUTEXES=y > CONFIG_BASE_SMALL=0 > CONFIG_MODULES=y > # CONFIG_MODULE_FORCE_LOAD is not set > # CONFIG_MODULE_UNLOAD is not set > # CONFIG_MODVERSIONS is not set > # CONFIG_MODULE_SRCVERSION_ALL is not set > # CONFIG_MODULE_SIG is not set > CONFIG_MODULE_COMPRESS_NONE=y > # CONFIG_MODULE_COMPRESS_GZIP is not set > # CONFIG_MODULE_COMPRESS_XZ is not set > # CONFIG_MODULE_COMPRESS_ZSTD is not set > # CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set > CONFIG_MODPROBE_PATH="/sbin/modprobe" > # CONFIG_TRIM_UNUSED_KSYMS is not set > CONFIG_MODULES_TREE_LOOKUP=y > CONFIG_BLOCK=y > CONFIG_BLOCK_LEGACY_AUTOLOAD=y > # CONFIG_BLK_DEV_BSGLIB is not set > # CONFIG_BLK_DEV_INTEGRITY is not set > # CONFIG_BLK_DEV_ZONED is not set > # CONFIG_BLK_WBT is not set > # CONFIG_BLK_SED_OPAL is not set > # CONFIG_BLK_INLINE_ENCRYPTION is not set > > # > # Partition Types > # > # CONFIG_PARTITION_ADVANCED is not set > CONFIG_MSDOS_PARTITION=y > CONFIG_EFI_PARTITION=y > # end of Partition Types > > # > # IO Schedulers > # > CONFIG_MQ_IOSCHED_DEADLINE=y > CONFIG_MQ_IOSCHED_KYBER=y > # CONFIG_IOSCHED_BFQ is not set > # end of IO Schedulers > > CONFIG_UNINLINE_SPIN_UNLOCK=y > CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y > CONFIG_MUTEX_SPIN_ON_OWNER=y > CONFIG_RWSEM_SPIN_ON_OWNER=y > CONFIG_LOCK_SPIN_ON_OWNER=y > > # > # Executable file formats > # > CONFIG_BINFMT_ELF=y > CONFIG_ELFCORE=y > CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y > CONFIG_BINFMT_SCRIPT=y > # CONFIG_BINFMT_MISC is not set > CONFIG_COREDUMP=y > # end of Executable file formats > > # > # Memory Management options > # > # CONFIG_SWAP is not set > > # > # SLAB allocator options > # > CONFIG_SLAB=y > # CONFIG_SLUB is not set > # CONFIG_SLOB is not set > CONFIG_SLAB_MERGE_DEFAULT=y > # CONFIG_SLAB_FREELIST_RANDOM is not set > # CONFIG_SLAB_FREELIST_HARDENED is not set > # end of SLAB allocator options > > # CONFIG_SHUFFLE_PAGE_ALLOCATOR is not set > # CONFIG_COMPAT_BRK is not set > CONFIG_FLATMEM=y > CONFIG_SPLIT_PTLOCK_CPUS=4 > # CONFIG_COMPACTION is not set > # CONFIG_PAGE_REPORTING is not set > # CONFIG_KSM is not set > CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 > # CONFIG_TRANSPARENT_HUGEPAGE is not set > # CONFIG_CMA is not set > # CONFIG_IDLE_PAGE_TRACKING is not set > CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y > # CONFIG_VM_EVENT_COUNTERS is not set > # CONFIG_PERCPU_STATS is not set > > # > # GUP_TEST needs to have DEBUG_FS enabled > # > CONFIG_ARCH_HAS_PTE_SPECIAL=y > # CONFIG_ANON_VMA_NAME is not set > # CONFIG_USERFAULTFD is not set > # CONFIG_LRU_GEN is not set > > # > # Data Access Monitoring > # > # CONFIG_DAMON is not set > # end of Data Access Monitoring > # end of Memory Management options > > CONFIG_NET=y > CONFIG_SKB_EXTENSIONS=y > > # > # Networking options > # > CONFIG_PACKET=y > CONFIG_PACKET_DIAG=y > CONFIG_UNIX=y > CONFIG_UNIX_SCM=y > CONFIG_AF_UNIX_OOB=y > CONFIG_UNIX_DIAG=y > # CONFIG_TLS is not set > CONFIG_XFRM=y > CONFIG_XFRM_ALGO=y > # CONFIG_XFRM_USER is not set > # CONFIG_XFRM_SUB_POLICY is not set > # CONFIG_XFRM_MIGRATE is not set > # CONFIG_XFRM_STATISTICS is not set > CONFIG_NET_KEY=y > # CONFIG_NET_KEY_MIGRATE is not set > CONFIG_INET=y > # CONFIG_IP_MULTICAST is not set > # CONFIG_IP_ADVANCED_ROUTER is not set > # CONFIG_IP_PNP is not set > # CONFIG_NET_IPIP is not set > # CONFIG_NET_IPGRE_DEMUX is not set > # CONFIG_SYN_COOKIES is not set > # CONFIG_NET_IPVTI is not set > # CONFIG_NET_FOU is not set > # CONFIG_INET_AH is not set > # CONFIG_INET_ESP is not set > # CONFIG_INET_IPCOMP is not set > CONFIG_INET_TABLE_PERTURB_ORDER=16 > CONFIG_INET_DIAG=y > CONFIG_INET_TCP_DIAG=y > # CONFIG_INET_UDP_DIAG is not set > # CONFIG_INET_RAW_DIAG is not set > # CONFIG_INET_DIAG_DESTROY is not set > # CONFIG_TCP_CONG_ADVANCED is not set > CONFIG_TCP_CONG_CUBIC=y > CONFIG_DEFAULT_TCP_CONG="cubic" > # CONFIG_TCP_MD5SIG is not set > # CONFIG_IPV6 is not set > # CONFIG_MPTCP is not set > # CONFIG_NETWORK_SECMARK is not set > # CONFIG_NETWORK_PHY_TIMESTAMPING is not set > # CONFIG_NETFILTER is not set > # CONFIG_BPFILTER is not set > # CONFIG_IP_DCCP is not set > # CONFIG_IP_SCTP is not set > # CONFIG_RDS is not set > # CONFIG_TIPC is not set > # CONFIG_ATM is not set > # CONFIG_L2TP is not set > # CONFIG_BRIDGE is not set > # CONFIG_NET_DSA is not set > # CONFIG_VLAN_8021Q is not set > # CONFIG_LLC2 is not set > # CONFIG_ATALK is not set > # CONFIG_X25 is not set > # CONFIG_LAPB is not set > # CONFIG_PHONET is not set > # CONFIG_IEEE802154 is not set > # CONFIG_NET_SCHED is not set > # CONFIG_DCB is not set > # CONFIG_BATMAN_ADV is not set > # CONFIG_OPENVSWITCH is not set > # CONFIG_VSOCKETS is not set > # CONFIG_NETLINK_DIAG is not set > # CONFIG_MPLS is not set > # CONFIG_NET_NSH is not set > # CONFIG_HSR is not set > # CONFIG_NET_SWITCHDEV is not set > # CONFIG_NET_L3_MASTER_DEV is not set > # CONFIG_QRTR is not set > # CONFIG_NET_NCSI is not set > CONFIG_PCPU_DEV_REFCNT=y > CONFIG_RPS=y > CONFIG_RFS_ACCEL=y > CONFIG_SOCK_RX_QUEUE_MAPPING=y > CONFIG_XPS=y > CONFIG_NET_RX_BUSY_POLL=y > CONFIG_BQL=y > CONFIG_NET_FLOW_LIMIT=y > > # > # Network testing > # > # CONFIG_NET_PKTGEN is not set > # CONFIG_NET_DROP_MONITOR is not set > # end of Network testing > # end of Networking options > > # CONFIG_HAMRADIO is not set > # CONFIG_CAN is not set > # CONFIG_BT is not set > # CONFIG_AF_RXRPC is not set > # CONFIG_AF_KCM is not set > # CONFIG_MCTP is not set > # CONFIG_WIRELESS is not set > # CONFIG_RFKILL is not set > # CONFIG_NET_9P is not set > # CONFIG_CAIF is not set > # CONFIG_CEPH_LIB is not set > # CONFIG_NFC is not set > # CONFIG_PSAMPLE is not set > # CONFIG_NET_IFE is not set > # CONFIG_LWTUNNEL is not set > CONFIG_GRO_CELLS=y > # CONFIG_FAILOVER is not set > CONFIG_ETHTOOL_NETLINK=y > > # > # Device Drivers > # > # CONFIG_PCCARD is not set > > # > # Generic Driver Options > # > # CONFIG_UEVENT_HELPER is not set > CONFIG_DEVTMPFS=y > # CONFIG_DEVTMPFS_MOUNT is not set > # CONFIG_DEVTMPFS_SAFE is not set > # CONFIG_STANDALONE is not set > # CONFIG_PREVENT_FIRMWARE_BUILD is not set > > # > # Firmware loader > # > CONFIG_FW_LOADER=y > CONFIG_EXTRA_FIRMWARE="" > # CONFIG_FW_LOADER_USER_HELPER is not set > # CONFIG_FW_LOADER_COMPRESS is not set > # CONFIG_FW_UPLOAD is not set > # end of Firmware loader > > CONFIG_ALLOW_DEV_COREDUMP=y > # CONFIG_DEBUG_DRIVER is not set > # CONFIG_DEBUG_DEVRES is not set > # CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set > # CONFIG_TEST_ASYNC_DRIVER_PROBE is not set > # end of Generic Driver Options > > # > # Bus devices > # > # CONFIG_MHI_BUS is not set > # CONFIG_MHI_BUS_EP is not set > # end of Bus devices > > # CONFIG_CONNECTOR is not set > > # > # Firmware Drivers > # > > # > # ARM System Control and Management Interface Protocol > # > # end of ARM System Control and Management Interface Protocol > > # CONFIG_FIRMWARE_MEMMAP is not set > # CONFIG_GOOGLE_FIRMWARE is not set > > # > # Tegra firmware driver > # > # end of Tegra firmware driver > # end of Firmware Drivers > > # CONFIG_GNSS is not set > # CONFIG_MTD is not set > CONFIG_DTC=y > CONFIG_OF=y > # CONFIG_OF_UNITTEST is not set > CONFIG_OF_FLATTREE=y > CONFIG_OF_EARLY_FLATTREE=y > CONFIG_OF_KOBJ=y > CONFIG_OF_ADDRESS=y > CONFIG_OF_IRQ=y > CONFIG_OF_RESERVED_MEM=y > # CONFIG_OF_OVERLAY is not set > # CONFIG_PARPORT is not set > # CONFIG_BLK_DEV is not set > > # > # NVME Support > # > # CONFIG_NVME_FC is not set > # CONFIG_NVME_TCP is not set > # end of NVME Support > > # > # Misc devices > # > # CONFIG_DUMMY_IRQ is not set > # CONFIG_ENCLOSURE_SERVICES is not set > # CONFIG_SRAM is not set > # CONFIG_XILINX_SDFEC is not set > # CONFIG_OPEN_DICE is not set > # CONFIG_VCPU_STALL_DETECTOR is not set > # CONFIG_C2PORT is not set > > # > # EEPROM support > # > # CONFIG_EEPROM_93CX6 is not set > # end of EEPROM support > > # > # Texas Instruments shared transport line discipline > # > # end of Texas Instruments shared transport line discipline > > # > # Altera FPGA firmware download module (requires I2C) > # > # CONFIG_ECHO is not set > # CONFIG_PVPANIC is not set > # end of Misc devices > > # > # SCSI device support > # > CONFIG_SCSI_MOD=y > # CONFIG_RAID_ATTRS is not set > # CONFIG_SCSI is not set > # end of SCSI device support > > # CONFIG_ATA is not set > # CONFIG_MD is not set > # CONFIG_TARGET_CORE is not set > CONFIG_NETDEVICES=y > CONFIG_NET_CORE=y > # CONFIG_BONDING is not set > # CONFIG_DUMMY is not set > # CONFIG_WIREGUARD is not set > # CONFIG_EQUALIZER is not set > # CONFIG_NET_TEAM is not set > # CONFIG_MACVLAN is not set > # CONFIG_IPVLAN is not set > # CONFIG_VXLAN is not set > # CONFIG_GENEVE is not set > # CONFIG_BAREUDP is not set > # CONFIG_GTP is not set > # CONFIG_MACSEC is not set > # CONFIG_NETCONSOLE is not set > # CONFIG_TUN is not set > # CONFIG_TUN_VNET_CROSS_LE is not set > # CONFIG_VETH is not set > # CONFIG_NLMON is not set > # CONFIG_ETHERNET is not set > # CONFIG_PHYLIB is not set > # CONFIG_PSE_CONTROLLER is not set > # CONFIG_MDIO_DEVICE is not set > > # > # PCS device drivers > # > # end of PCS device drivers > > # CONFIG_PPP is not set > # CONFIG_SLIP is not set > > # > # Host-side USB support is needed for USB Network Adapter support > # > # CONFIG_WLAN is not set > # CONFIG_WAN is not set > > # > # Wireless WAN > # > # CONFIG_WWAN is not set > # end of Wireless WAN > > # CONFIG_NET_FAILOVER is not set > # CONFIG_ISDN is not set > > # > # Input device support > # > CONFIG_INPUT=y > # CONFIG_INPUT_FF_MEMLESS is not set > # CONFIG_INPUT_SPARSEKMAP is not set > # CONFIG_INPUT_MATRIXKMAP is not set > > # > # Userland interfaces > # > # CONFIG_INPUT_MOUSEDEV is not set > # CONFIG_INPUT_JOYDEV is not set > CONFIG_INPUT_EVDEV=y > # CONFIG_INPUT_EVBUG is not set > > # > # Input Device Drivers > # > # CONFIG_INPUT_KEYBOARD is not set > # CONFIG_INPUT_MOUSE is not set > # CONFIG_INPUT_JOYSTICK is not set > # CONFIG_INPUT_TABLET is not set > # CONFIG_INPUT_TOUCHSCREEN is not set > # CONFIG_INPUT_MISC is not set > # CONFIG_RMI4_CORE is not set > > # > # Hardware I/O ports > # > # CONFIG_SERIO is not set > # CONFIG_GAMEPORT is not set > # end of Hardware I/O ports > # end of Input device support > > # > # Character devices > # > CONFIG_TTY=y > CONFIG_VT=y > CONFIG_CONSOLE_TRANSLATIONS=y > CONFIG_VT_CONSOLE=y > CONFIG_HW_CONSOLE=y > # CONFIG_VT_HW_CONSOLE_BINDING is not set > CONFIG_UNIX98_PTYS=y > # CONFIG_LEGACY_PTYS is not set > CONFIG_LDISC_AUTOLOAD=y > > # > # Serial drivers > # > CONFIG_SERIAL_EARLYCON=y > CONFIG_SERIAL_8250=y > CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y > CONFIG_SERIAL_8250_16550A_VARIANTS=y > # CONFIG_SERIAL_8250_FINTEK is not set > CONFIG_SERIAL_8250_CONSOLE=y > CONFIG_SERIAL_8250_NR_UARTS=1 > CONFIG_SERIAL_8250_RUNTIME_UARTS=1 > # CONFIG_SERIAL_8250_EXTENDED is not set > CONFIG_SERIAL_8250_DWLIB=y > CONFIG_SERIAL_8250_DW=y > # CONFIG_SERIAL_8250_RT288X is not set > CONFIG_SERIAL_OF_PLATFORM=y > > # > # Non-8250 serial port support > # > # CONFIG_SERIAL_UARTLITE is not set > CONFIG_SERIAL_CORE=y > CONFIG_SERIAL_CORE_CONSOLE=y > # CONFIG_SERIAL_SIFIVE is not set > # CONFIG_SERIAL_SCCNXP is not set > # CONFIG_SERIAL_ALTERA_JTAGUART is not set > # CONFIG_SERIAL_ALTERA_UART is not set > # CONFIG_SERIAL_XILINX_PS_UART is not set > # CONFIG_SERIAL_ARC is not set > # CONFIG_SERIAL_FSL_LPUART is not set > # CONFIG_SERIAL_FSL_LINFLEXUART is not set > # CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set > # CONFIG_SERIAL_SPRD is not set > # end of Serial drivers > > # CONFIG_SERIAL_NONSTANDARD is not set > # CONFIG_N_GSM is not set > # CONFIG_NULL_TTY is not set > # CONFIG_SERIAL_DEV_BUS is not set > # CONFIG_TTY_PRINTK is not set > # CONFIG_VIRTIO_CONSOLE is not set > # CONFIG_IPMI_HANDLER is not set > # CONFIG_HW_RANDOM is not set > CONFIG_DEVMEM=y > # CONFIG_TCG_TPM is not set > # CONFIG_XILLYBUS is not set > CONFIG_RANDOM_TRUST_CPU=y > CONFIG_RANDOM_TRUST_BOOTLOADER=y > # end of Character devices > > # > # I2C support > # > # CONFIG_I2C is not set > # end of I2C support > > # CONFIG_I3C is not set > # CONFIG_SPI is not set > # CONFIG_SPMI is not set > # CONFIG_HSI is not set > # CONFIG_PPS is not set > > # > # PTP clock support > # > # CONFIG_PTP_1588_CLOCK is not set > CONFIG_PTP_1588_CLOCK_OPTIONAL=y > > # > # Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. > # > # end of PTP clock support > > # CONFIG_PINCTRL is not set > # CONFIG_GPIOLIB is not set > # CONFIG_W1 is not set > # CONFIG_POWER_RESET is not set > # CONFIG_POWER_SUPPLY is not set > # CONFIG_HWMON is not set > # CONFIG_THERMAL is not set > # CONFIG_WATCHDOG is not set > CONFIG_SSB_POSSIBLE=y > # CONFIG_SSB is not set > CONFIG_BCMA_POSSIBLE=y > # CONFIG_BCMA is not set > > # > # Multifunction device drivers > # > # CONFIG_MFD_ATMEL_FLEXCOM is not set > # CONFIG_MFD_ATMEL_HLCDC is not set > # CONFIG_MFD_MADERA is not set > # CONFIG_MFD_HI6421_PMIC is not set > # CONFIG_HTC_PASIC3 is not set > # CONFIG_MFD_KEMPLD is not set > # CONFIG_MFD_MT6397 is not set > # CONFIG_MFD_SM501 is not set > # CONFIG_MFD_SYSCON is not set > # CONFIG_MFD_TI_AM335X_TSCADC is not set > # CONFIG_MFD_TQMX86 is not set > # end of Multifunction device drivers > > # CONFIG_REGULATOR is not set > # CONFIG_RC_CORE is not set > > # > # CEC support > # > # CONFIG_MEDIA_CEC_SUPPORT is not set > # end of CEC support > > # CONFIG_MEDIA_SUPPORT is not set > > # > # Graphics support > # > # CONFIG_DRM is not set > # CONFIG_DRM_DEBUG_MODESET_LOCK is not set > > # > # ARM devices > # > # end of ARM devices > > # > # Frame buffer Devices > # > # CONFIG_FB is not set > # end of Frame buffer Devices > > # > # Backlight & LCD device support > # > # CONFIG_LCD_CLASS_DEVICE is not set > # CONFIG_BACKLIGHT_CLASS_DEVICE is not set > # end of Backlight & LCD device support > > # > # Console display driver support > # > CONFIG_DUMMY_CONSOLE=y > CONFIG_DUMMY_CONSOLE_COLUMNS=80 > CONFIG_DUMMY_CONSOLE_ROWS=25 > # end of Console display driver support > # end of Graphics support > > # CONFIG_SOUND is not set > > # > # HID support > # > # CONFIG_HID is not set > # end of HID support > > CONFIG_USB_OHCI_LITTLE_ENDIAN=y > # CONFIG_USB_SUPPORT is not set > # CONFIG_MMC is not set > # CONFIG_MEMSTICK is not set > # CONFIG_NEW_LEDS is not set > # CONFIG_ACCESSIBILITY is not set > # CONFIG_INFINIBAND is not set > # CONFIG_RTC_CLASS is not set > # CONFIG_DMADEVICES is not set > > # > # DMABUF options > # > # CONFIG_SYNC_FILE is not set > # CONFIG_DMABUF_HEAPS is not set > # end of DMABUF options > > # CONFIG_AUXDISPLAY is not set > # CONFIG_UIO is not set > # CONFIG_VFIO is not set > # CONFIG_VIRT_DRIVERS is not set > CONFIG_VIRTIO_MENU=y > # CONFIG_VIRTIO_MMIO is not set > # CONFIG_VDPA is not set > CONFIG_VHOST_MENU=y > # CONFIG_VHOST_NET is not set > # CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set > > # > # Microsoft Hyper-V guest support > # > # end of Microsoft Hyper-V guest support > > # CONFIG_GREYBUS is not set > # CONFIG_COMEDI is not set > # CONFIG_STAGING is not set > # CONFIG_GOLDFISH is not set > CONFIG_HAVE_CLK=y > CONFIG_HAVE_CLK_PREPARE=y > CONFIG_COMMON_CLK=y > # CONFIG_COMMON_CLK_AXI_CLKGEN is not set > # CONFIG_COMMON_CLK_FIXED_MMIO is not set > # CONFIG_XILINX_VCU is not set > # CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set > # CONFIG_HWSPINLOCK is not set > > # > # Clock Source drivers > # > CONFIG_TIMER_OF=y > CONFIG_TIMER_PROBE=y > CONFIG_ARC_TIMERS=y > CONFIG_ARC_TIMERS_64BIT=y > # CONFIG_MICROCHIP_PIT64B is not set > # end of Clock Source drivers > > # CONFIG_MAILBOX is not set > # CONFIG_IOMMU_SUPPORT is not set > > # > # Remoteproc drivers > # > # CONFIG_REMOTEPROC is not set > # end of Remoteproc drivers > > # > # Rpmsg drivers > # > # CONFIG_RPMSG_VIRTIO is not set > # end of Rpmsg drivers > > # CONFIG_SOUNDWIRE is not set > > # > # SOC (System On Chip) specific Drivers > # > > # > # Amlogic SoC drivers > # > # end of Amlogic SoC drivers > > # > # Broadcom SoC drivers > # > # end of Broadcom SoC drivers > > # > # NXP/Freescale QorIQ SoC drivers > # > # end of NXP/Freescale QorIQ SoC drivers > > # > # fujitsu SoC drivers > # > # end of fujitsu SoC drivers > > # > # i.MX SoC drivers > # > # end of i.MX SoC drivers > > # > # Enable LiteX SoC Builder specific drivers > # > # CONFIG_LITEX_SOC_CONTROLLER is not set > # end of Enable LiteX SoC Builder specific drivers > > # > # Qualcomm SoC drivers > # > # end of Qualcomm SoC drivers > > # CONFIG_SOC_TI is not set > > # > # Xilinx SoC drivers > # > # end of Xilinx SoC drivers > # end of SOC (System On Chip) specific Drivers > > # CONFIG_PM_DEVFREQ is not set > # CONFIG_EXTCON is not set > # CONFIG_MEMORY is not set > # CONFIG_IIO is not set > # CONFIG_PWM is not set > > # > # IRQ chip support > # > CONFIG_IRQCHIP=y > # CONFIG_AL_FIC is not set > # CONFIG_XILINX_INTC is not set > # end of IRQ chip support > > # CONFIG_IPACK_BUS is not set > # CONFIG_RESET_CONTROLLER is not set > > # > # PHY Subsystem > # > # CONFIG_GENERIC_PHY is not set > # CONFIG_PHY_CAN_TRANSCEIVER is not set > > # > # PHY drivers for Broadcom platforms > # > # CONFIG_BCM_KONA_USB2_PHY is not set > # end of PHY drivers for Broadcom platforms > > # CONFIG_PHY_CADENCE_TORRENT is not set > # CONFIG_PHY_CADENCE_DPHY is not set > # CONFIG_PHY_CADENCE_DPHY_RX is not set > # CONFIG_PHY_CADENCE_SALVO is not set > # CONFIG_PHY_PXA_28NM_HSIC is not set > # CONFIG_PHY_PXA_28NM_USB2 is not set > # end of PHY Subsystem > > # CONFIG_POWERCAP is not set > # CONFIG_MCB is not set > > # > # Performance monitor support > # > # end of Performance monitor support > > # CONFIG_RAS is not set > > # > # Android > # > # CONFIG_ANDROID_BINDER_IPC is not set > # end of Android > > # CONFIG_DAX is not set > # CONFIG_NVMEM is not set > > # > # HW tracing support > # > # CONFIG_STM is not set > # CONFIG_INTEL_TH is not set > # end of HW tracing support > > # CONFIG_FPGA is not set > # CONFIG_FSI is not set > # CONFIG_SIOX is not set > # CONFIG_SLIMBUS is not set > # CONFIG_INTERCONNECT is not set > # CONFIG_COUNTER is not set > # CONFIG_PECI is not set > # CONFIG_HTE is not set > # end of Device Drivers > > # > # File systems > # > # CONFIG_VALIDATE_FS_PARSER is not set > CONFIG_FS_IOMAP=y > CONFIG_EXT2_FS=y > CONFIG_EXT2_FS_XATTR=y > # CONFIG_EXT2_FS_POSIX_ACL is not set > # CONFIG_EXT2_FS_SECURITY is not set > # CONFIG_EXT3_FS is not set > # CONFIG_EXT4_FS is not set > CONFIG_FS_MBCACHE=y > # CONFIG_REISERFS_FS is not set > # CONFIG_JFS_FS is not set > # CONFIG_XFS_FS is not set > # CONFIG_GFS2_FS is not set > # CONFIG_BTRFS_FS is not set > # CONFIG_NILFS2_FS is not set > # CONFIG_F2FS_FS is not set > CONFIG_EXPORTFS=y > # CONFIG_EXPORTFS_BLOCK_OPS is not set > CONFIG_FILE_LOCKING=y > # CONFIG_FS_ENCRYPTION is not set > # CONFIG_FS_VERITY is not set > CONFIG_FSNOTIFY=y > CONFIG_DNOTIFY=y > CONFIG_INOTIFY_USER=y > # CONFIG_FANOTIFY is not set > # CONFIG_QUOTA is not set > # CONFIG_AUTOFS4_FS is not set > # CONFIG_AUTOFS_FS is not set > # CONFIG_FUSE_FS is not set > # CONFIG_OVERLAY_FS is not set > > # > # Caches > # > # CONFIG_FSCACHE is not set > # end of Caches > > # > # CD-ROM/DVD Filesystems > # > # CONFIG_ISO9660_FS is not set > # CONFIG_UDF_FS is not set > # end of CD-ROM/DVD Filesystems > > # > # DOS/FAT/EXFAT/NT Filesystems > # > # CONFIG_MSDOS_FS is not set > # CONFIG_VFAT_FS is not set > # CONFIG_EXFAT_FS is not set > # CONFIG_NTFS_FS is not set > # CONFIG_NTFS3_FS is not set > # end of DOS/FAT/EXFAT/NT Filesystems > > # > # Pseudo filesystems > # > CONFIG_PROC_FS=y > # CONFIG_PROC_KCORE is not set > CONFIG_PROC_SYSCTL=y > CONFIG_PROC_PAGE_MONITOR=y > # CONFIG_PROC_CHILDREN is not set > CONFIG_KERNFS=y > CONFIG_SYSFS=y > CONFIG_TMPFS=y > # CONFIG_TMPFS_POSIX_ACL is not set > # CONFIG_TMPFS_XATTR is not set > CONFIG_MEMFD_CREATE=y > # CONFIG_CONFIGFS_FS is not set > # end of Pseudo filesystems > > # CONFIG_MISC_FILESYSTEMS is not set > CONFIG_NETWORK_FILESYSTEMS=y > CONFIG_NFS_FS=y > CONFIG_NFS_V2=y > CONFIG_NFS_V3=y > # CONFIG_NFS_V3_ACL is not set > # CONFIG_NFS_V4 is not set > CONFIG_NFS_DISABLE_UDP_SUPPORT=y > # CONFIG_NFSD is not set > CONFIG_GRACE_PERIOD=y > CONFIG_LOCKD=y > CONFIG_LOCKD_V4=y > CONFIG_NFS_COMMON=y > CONFIG_SUNRPC=y > # CONFIG_SUNRPC_DEBUG is not set > # CONFIG_CEPH_FS is not set > # CONFIG_CIFS is not set > # CONFIG_SMB_SERVER is not set > # CONFIG_CODA_FS is not set > # CONFIG_AFS_FS is not set > # CONFIG_NLS is not set > # CONFIG_UNICODE is not set > CONFIG_IO_WQ=y > # end of File systems > > # > # Security options > # > # CONFIG_KEYS is not set > # CONFIG_SECURITY_DMESG_RESTRICT is not set > # CONFIG_SECURITY is not set > # CONFIG_SECURITYFS is not set > CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y > # CONFIG_HARDENED_USERCOPY is not set > # CONFIG_STATIC_USERMODEHELPER is not set > CONFIG_DEFAULT_SECURITY_DAC=y > CONFIG_LSM="landlock,lockdown,yama,loadpin,safesetid,integrity,bpf" > > # > # Kernel hardening options > # > > # > # Memory initialization > # > CONFIG_CC_HAS_AUTO_VAR_INIT_PATTERN=y > CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO_BARE=y > CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO=y > # CONFIG_INIT_STACK_NONE is not set > # CONFIG_INIT_STACK_ALL_PATTERN is not set > CONFIG_INIT_STACK_ALL_ZERO=y > # CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set > # CONFIG_INIT_ON_FREE_DEFAULT_ON is not set > CONFIG_CC_HAS_ZERO_CALL_USED_REGS=y > # CONFIG_ZERO_CALL_USED_REGS is not set > # end of Memory initialization > > CONFIG_RANDSTRUCT_NONE=y > # end of Kernel hardening options > # end of Security options > > CONFIG_CRYPTO=y > > # > # Crypto core or helper > # > CONFIG_CRYPTO_ALGAPI=y > CONFIG_CRYPTO_ALGAPI2=y > CONFIG_CRYPTO_SKCIPHER=y > CONFIG_CRYPTO_SKCIPHER2=y > CONFIG_CRYPTO_HASH=y > CONFIG_CRYPTO_HASH2=y > CONFIG_CRYPTO_RNG2=y > # CONFIG_CRYPTO_MANAGER is not set > # CONFIG_CRYPTO_USER is not set > CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y > # CONFIG_CRYPTO_NULL is not set > # CONFIG_CRYPTO_PCRYPT is not set > # CONFIG_CRYPTO_CRYPTD is not set > # CONFIG_CRYPTO_AUTHENC is not set > # CONFIG_CRYPTO_TEST is not set > # end of Crypto core or helper > > # > # Public-key cryptography > # > # CONFIG_CRYPTO_RSA is not set > # CONFIG_CRYPTO_DH is not set > # CONFIG_CRYPTO_ECDH is not set > # CONFIG_CRYPTO_ECDSA is not set > # CONFIG_CRYPTO_ECRDSA is not set > # CONFIG_CRYPTO_SM2 is not set > # CONFIG_CRYPTO_CURVE25519 is not set > # end of Public-key cryptography > > # > # Block ciphers > # > # CONFIG_CRYPTO_AES is not set > # CONFIG_CRYPTO_AES_TI is not set > # CONFIG_CRYPTO_ARIA is not set > # CONFIG_CRYPTO_BLOWFISH is not set > # CONFIG_CRYPTO_CAMELLIA is not set > # CONFIG_CRYPTO_CAST5 is not set > # CONFIG_CRYPTO_CAST6 is not set > # CONFIG_CRYPTO_DES is not set > # CONFIG_CRYPTO_FCRYPT is not set > # CONFIG_CRYPTO_SERPENT is not set > # CONFIG_CRYPTO_SM4_GENERIC is not set > # CONFIG_CRYPTO_TWOFISH is not set > # end of Block ciphers > > # > # Length-preserving ciphers and modes > # > # CONFIG_CRYPTO_ADIANTUM is not set > # CONFIG_CRYPTO_CHACHA20 is not set > # CONFIG_CRYPTO_CBC is not set > # CONFIG_CRYPTO_CFB is not set > # CONFIG_CRYPTO_CTR is not set > # CONFIG_CRYPTO_CTS is not set > # CONFIG_CRYPTO_ECB is not set > # CONFIG_CRYPTO_HCTR2 is not set > # CONFIG_CRYPTO_KEYWRAP is not set > # CONFIG_CRYPTO_LRW is not set > # CONFIG_CRYPTO_OFB is not set > # CONFIG_CRYPTO_PCBC is not set > # CONFIG_CRYPTO_XTS is not set > # end of Length-preserving ciphers and modes > > # > # AEAD (authenticated encryption with associated data) ciphers > # > # CONFIG_CRYPTO_AEGIS128 is not set > # CONFIG_CRYPTO_CHACHA20POLY1305 is not set > # CONFIG_CRYPTO_CCM is not set > # CONFIG_CRYPTO_GCM is not set > # CONFIG_CRYPTO_SEQIV is not set > # CONFIG_CRYPTO_ECHAINIV is not set > # CONFIG_CRYPTO_ESSIV is not set > # end of AEAD (authenticated encryption with associated data) ciphers > > # > # Hashes, digests, and MACs > # > # CONFIG_CRYPTO_BLAKE2B is not set > # CONFIG_CRYPTO_CMAC is not set > # CONFIG_CRYPTO_GHASH is not set > # CONFIG_CRYPTO_HMAC is not set > # CONFIG_CRYPTO_MD4 is not set > # CONFIG_CRYPTO_MD5 is not set > # CONFIG_CRYPTO_MICHAEL_MIC is not set > # CONFIG_CRYPTO_POLY1305 is not set > # CONFIG_CRYPTO_RMD160 is not set > # CONFIG_CRYPTO_SHA1 is not set > # CONFIG_CRYPTO_SHA256 is not set > # CONFIG_CRYPTO_SHA512 is not set > # CONFIG_CRYPTO_SHA3 is not set > # CONFIG_CRYPTO_SM3_GENERIC is not set > # CONFIG_CRYPTO_STREEBOG is not set > # CONFIG_CRYPTO_VMAC is not set > # CONFIG_CRYPTO_WP512 is not set > # CONFIG_CRYPTO_XCBC is not set > # CONFIG_CRYPTO_XXHASH is not set > # end of Hashes, digests, and MACs > > # > # CRCs (cyclic redundancy checks) > # > # CONFIG_CRYPTO_CRC32C is not set > # CONFIG_CRYPTO_CRC32 is not set > # CONFIG_CRYPTO_CRCT10DIF is not set > # end of CRCs (cyclic redundancy checks) > > # > # Compression > # > # CONFIG_CRYPTO_DEFLATE is not set > # CONFIG_CRYPTO_LZO is not set > # CONFIG_CRYPTO_842 is not set > # CONFIG_CRYPTO_LZ4 is not set > # CONFIG_CRYPTO_LZ4HC is not set > # CONFIG_CRYPTO_ZSTD is not set > # end of Compression > > # > # Random number generation > # > # CONFIG_CRYPTO_ANSI_CPRNG is not set > # CONFIG_CRYPTO_DRBG_MENU is not set > # CONFIG_CRYPTO_JITTERENTROPY is not set > # end of Random number generation > > # > # Userspace interface > # > # CONFIG_CRYPTO_USER_API_HASH is not set > # CONFIG_CRYPTO_USER_API_SKCIPHER is not set > # CONFIG_CRYPTO_USER_API_RNG is not set > # CONFIG_CRYPTO_USER_API_AEAD is not set > # end of Userspace interface > > CONFIG_CRYPTO_HW=y > # CONFIG_CRYPTO_DEV_SAFEXCEL is not set > # CONFIG_CRYPTO_DEV_CCREE is not set > # CONFIG_CRYPTO_DEV_AMLOGIC_GXL is not set > > # > # Certificates for signature checking > # > # end of Certificates for signature checking > > CONFIG_BINARY_PRINTF=y > > # > # Library routines > # > # CONFIG_PACKING is not set > CONFIG_BITREVERSE=y > CONFIG_GENERIC_STRNCPY_FROM_USER=y > CONFIG_GENERIC_STRNLEN_USER=y > CONFIG_GENERIC_NET_UTILS=y > # CONFIG_CORDIC is not set > # CONFIG_PRIME_NUMBERS is not set > CONFIG_RATIONAL=y > CONFIG_GENERIC_PCI_IOMAP=y > > # > # Crypto library routines > # > CONFIG_CRYPTO_LIB_UTILS=y > CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y > # CONFIG_CRYPTO_LIB_CHACHA is not set > # CONFIG_CRYPTO_LIB_CURVE25519 is not set > CONFIG_CRYPTO_LIB_POLY1305_RSIZE=1 > # CONFIG_CRYPTO_LIB_POLY1305 is not set > # CONFIG_CRYPTO_LIB_CHACHA20POLY1305 is not set > CONFIG_CRYPTO_LIB_SHA1=y > # end of Crypto library routines > > # CONFIG_CRC_CCITT is not set > # CONFIG_CRC16 is not set > # CONFIG_CRC_T10DIF is not set > # CONFIG_CRC64_ROCKSOFT is not set > # CONFIG_CRC_ITU_T is not set > CONFIG_CRC32=y > # CONFIG_CRC32_SELFTEST is not set > CONFIG_CRC32_SLICEBY8=y > # CONFIG_CRC32_SLICEBY4 is not set > # CONFIG_CRC32_SARWATE is not set > # CONFIG_CRC32_BIT is not set > # CONFIG_CRC64 is not set > # CONFIG_CRC4 is not set > # CONFIG_CRC7 is not set > # CONFIG_LIBCRC32C is not set > # CONFIG_CRC8 is not set > CONFIG_XXHASH=y > # CONFIG_RANDOM32_SELFTEST is not set > CONFIG_ZLIB_INFLATE=y > CONFIG_LZO_DECOMPRESS=y > CONFIG_LZ4_DECOMPRESS=y > CONFIG_ZSTD_COMMON=y > CONFIG_ZSTD_DECOMPRESS=y > CONFIG_XZ_DEC=y > CONFIG_XZ_DEC_X86=y > CONFIG_XZ_DEC_POWERPC=y > CONFIG_XZ_DEC_IA64=y > CONFIG_XZ_DEC_ARM=y > CONFIG_XZ_DEC_ARMTHUMB=y > CONFIG_XZ_DEC_SPARC=y > # CONFIG_XZ_DEC_MICROLZMA is not set > CONFIG_XZ_DEC_BCJ=y > # CONFIG_XZ_DEC_TEST is not set > CONFIG_DECOMPRESS_GZIP=y > CONFIG_DECOMPRESS_BZIP2=y > CONFIG_DECOMPRESS_LZMA=y > CONFIG_DECOMPRESS_XZ=y > CONFIG_DECOMPRESS_LZO=y > CONFIG_DECOMPRESS_LZ4=y > CONFIG_DECOMPRESS_ZSTD=y > CONFIG_GENERIC_ALLOCATOR=y > CONFIG_HAS_IOMEM=y > CONFIG_HAS_DMA=y > CONFIG_NEED_DMA_MAP_STATE=y > CONFIG_DMA_DECLARE_COHERENT=y > CONFIG_ARCH_HAS_SETUP_DMA_OPS=y > CONFIG_ARCH_HAS_SYNC_DMA_FOR_DEVICE=y > CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU=y > CONFIG_ARCH_HAS_DMA_PREP_COHERENT=y > CONFIG_DMA_NONCOHERENT_MMAP=y > CONFIG_DMA_COHERENT_POOL=y > CONFIG_DMA_DIRECT_REMAP=y > # CONFIG_DMA_API_DEBUG is not set > # CONFIG_FORCE_NR_CPUS is not set > CONFIG_CPU_RMAP=y > CONFIG_DQL=y > CONFIG_GLOB=y > # CONFIG_GLOB_SELFTEST is not set > CONFIG_NLATTR=y > # CONFIG_IRQ_POLL is not set > CONFIG_LIBFDT=y > CONFIG_SBITMAP=y > # end of Library routines > > # > # Kernel hacking > # > > # > # printk and dmesg options > # > # CONFIG_PRINTK_TIME is not set > # CONFIG_PRINTK_CALLER is not set > # CONFIG_STACKTRACE_BUILD_ID is not set > CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7 > CONFIG_CONSOLE_LOGLEVEL_QUIET=4 > CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 > # CONFIG_BOOT_PRINTK_DELAY is not set > # CONFIG_DYNAMIC_DEBUG is not set > # CONFIG_DYNAMIC_DEBUG_CORE is not set > CONFIG_SYMBOLIC_ERRNAME=y > # end of printk and dmesg options > > CONFIG_DEBUG_KERNEL=y > CONFIG_DEBUG_MISC=y > > # > # Compile-time checks and compiler options > # > CONFIG_AS_HAS_NON_CONST_LEB128=y > CONFIG_DEBUG_INFO_NONE=y > # CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT is not set > # CONFIG_DEBUG_INFO_DWARF4 is not set > # CONFIG_DEBUG_INFO_DWARF5 is not set > CONFIG_FRAME_WARN=1024 > # CONFIG_STRIP_ASM_SYMS is not set > # CONFIG_READABLE_ASM is not set > # CONFIG_HEADERS_INSTALL is not set > CONFIG_DEBUG_SECTION_MISMATCH=y > CONFIG_SECTION_MISMATCH_WARN_ONLY=y > # CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_64B is not set > # CONFIG_VMLINUX_MAP is not set > # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set > # end of Compile-time checks and compiler options > > # > # Generic Kernel Debugging Instruments > # > # CONFIG_MAGIC_SYSRQ is not set > # CONFIG_DEBUG_FS is not set > CONFIG_HAVE_ARCH_KGDB=y > # CONFIG_KGDB is not set > # CONFIG_UBSAN is not set > CONFIG_HAVE_KCSAN_COMPILER=y > # end of Generic Kernel Debugging Instruments > > # > # Networking Debugging > # > # CONFIG_NET_DEV_REFCNT_TRACKER is not set > # CONFIG_NET_NS_REFCNT_TRACKER is not set > # CONFIG_DEBUG_NET is not set > # end of Networking Debugging > > # > # Memory Debugging > # > # CONFIG_PAGE_EXTENSION is not set > # CONFIG_DEBUG_PAGEALLOC is not set > # CONFIG_DEBUG_SLAB is not set > # CONFIG_PAGE_OWNER is not set > # CONFIG_PAGE_POISONING is not set > # CONFIG_DEBUG_PAGE_REF is not set > # CONFIG_DEBUG_OBJECTS is not set > CONFIG_HAVE_DEBUG_KMEMLEAK=y > # CONFIG_DEBUG_KMEMLEAK is not set > # CONFIG_DEBUG_STACK_USAGE is not set > # CONFIG_SCHED_STACK_END_CHECK is not set > CONFIG_ARCH_HAS_DEBUG_VM_PGTABLE=y > # CONFIG_DEBUG_VM is not set > # CONFIG_DEBUG_VM_PGTABLE is not set > # CONFIG_DEBUG_MEMORY_INIT is not set > # CONFIG_DEBUG_PER_CPU_MAPS is not set > CONFIG_HAVE_DEBUG_STACKOVERFLOW=y > # CONFIG_DEBUG_STACKOVERFLOW is not set > CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y > # end of Memory Debugging > > # CONFIG_DEBUG_SHIRQ is not set > > # > # Debug Oops, Lockups and Hangs > # > # CONFIG_PANIC_ON_OOPS is not set > CONFIG_PANIC_ON_OOPS_VALUE=0 > CONFIG_PANIC_TIMEOUT=0 > CONFIG_LOCKUP_DETECTOR=y > CONFIG_SOFTLOCKUP_DETECTOR=y > # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set > CONFIG_DETECT_HUNG_TASK=y > CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120 > # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set > # CONFIG_WQ_WATCHDOG is not set > # CONFIG_TEST_LOCKUP is not set > # end of Debug Oops, Lockups and Hangs > > # > # Scheduler Debugging > # > CONFIG_SCHED_DEBUG=y > # CONFIG_SCHEDSTATS is not set > # end of Scheduler Debugging > > # CONFIG_DEBUG_TIMEKEEPING is not set > # CONFIG_DEBUG_PREEMPT is not set > > # > # Lock Debugging (spinlocks, mutexes, etc...) > # > CONFIG_LOCK_DEBUGGING_SUPPORT=y > # CONFIG_PROVE_LOCKING is not set > # CONFIG_LOCK_STAT is not set > # CONFIG_DEBUG_RT_MUTEXES is not set > # CONFIG_DEBUG_SPINLOCK is not set > # CONFIG_DEBUG_MUTEXES is not set > # CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set > # CONFIG_DEBUG_RWSEMS is not set > # CONFIG_DEBUG_LOCK_ALLOC is not set > # CONFIG_DEBUG_ATOMIC_SLEEP is not set > # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set > # CONFIG_LOCK_TORTURE_TEST is not set > # CONFIG_WW_MUTEX_SELFTEST is not set > # CONFIG_SCF_TORTURE_TEST is not set > # end of Lock Debugging (spinlocks, mutexes, etc...) > > # CONFIG_DEBUG_IRQFLAGS is not set > CONFIG_STACKTRACE=y > # CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set > # CONFIG_DEBUG_KOBJECT is not set > > # > # Debug kernel data structures > # > # CONFIG_DEBUG_LIST is not set > # CONFIG_DEBUG_PLIST is not set > # CONFIG_DEBUG_SG is not set > # CONFIG_DEBUG_NOTIFIERS is not set > # CONFIG_BUG_ON_DATA_CORRUPTION is not set > # CONFIG_DEBUG_MAPLE_TREE is not set > # end of Debug kernel data structures > > # CONFIG_DEBUG_CREDENTIALS is not set > > # > # RCU Debugging > # > # CONFIG_RCU_SCALE_TEST is not set > # CONFIG_RCU_TORTURE_TEST is not set > # CONFIG_RCU_REF_SCALE_TEST is not set > CONFIG_RCU_CPU_STALL_TIMEOUT=21 > CONFIG_RCU_EXP_CPU_STALL_TIMEOUT=0 > CONFIG_RCU_TRACE=y > # CONFIG_RCU_EQS_DEBUG is not set > # end of RCU Debugging > > # CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set > # CONFIG_LATENCYTOP is not set > CONFIG_NOP_TRACER=y > CONFIG_HAVE_SYSCALL_TRACEPOINTS=y > CONFIG_TRACE_CLOCK=y > CONFIG_RING_BUFFER=y > CONFIG_EVENT_TRACING=y > CONFIG_CONTEXT_SWITCH_TRACER=y > CONFIG_TRACING=y > CONFIG_TRACING_SUPPORT=y > CONFIG_FTRACE=y > # CONFIG_BOOTTIME_TRACING is not set > # CONFIG_IRQSOFF_TRACER is not set > # CONFIG_PREEMPT_TRACER is not set > # CONFIG_SCHED_TRACER is not set > # CONFIG_HWLAT_TRACER is not set > # CONFIG_OSNOISE_TRACER is not set > # CONFIG_TIMERLAT_TRACER is not set > # CONFIG_ENABLE_DEFAULT_TRACERS is not set > # CONFIG_FTRACE_SYSCALLS is not set > # CONFIG_TRACER_SNAPSHOT is not set > CONFIG_BRANCH_PROFILE_NONE=y > # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set > # CONFIG_PROFILE_ALL_BRANCHES is not set > # CONFIG_BLK_DEV_IO_TRACE is not set > CONFIG_KPROBE_EVENTS=y > CONFIG_DYNAMIC_EVENTS=y > CONFIG_PROBE_EVENTS=y > # CONFIG_SYNTH_EVENTS is not set > # CONFIG_TRACE_EVENT_INJECT is not set > # CONFIG_TRACEPOINT_BENCHMARK is not set > # CONFIG_RING_BUFFER_BENCHMARK is not set > # CONFIG_TRACE_EVAL_MAP_FILE is not set > # CONFIG_RING_BUFFER_STARTUP_TEST is not set > # CONFIG_RING_BUFFER_VALIDATE_TIME_DELTAS is not set > # CONFIG_PREEMPTIRQ_DELAY_TEST is not set > # CONFIG_KPROBE_EVENT_GEN_TEST is not set > # CONFIG_RV is not set > # CONFIG_SAMPLES is not set > > # > # arc Debugging > # > # CONFIG_16KSTACKS is not set > # end of arc Debugging > > # > # Kernel Testing and Coverage > # > # CONFIG_KUNIT is not set > # CONFIG_NOTIFIER_ERROR_INJECTION is not set > # CONFIG_FAULT_INJECTION is not set > CONFIG_CC_HAS_SANCOV_TRACE_PC=y > CONFIG_RUNTIME_TESTING_MENU=y > # CONFIG_TEST_MIN_HEAP is not set > # CONFIG_TEST_DIV64 is not set > # CONFIG_BACKTRACE_SELF_TEST is not set > # CONFIG_TEST_REF_TRACKER is not set > # CONFIG_RBTREE_TEST is not set > # CONFIG_REED_SOLOMON_TEST is not set > # CONFIG_INTERVAL_TREE_TEST is not set > # CONFIG_PERCPU_TEST is not set > # CONFIG_ATOMIC64_SELFTEST is not set > # CONFIG_TEST_HEXDUMP is not set > # CONFIG_STRING_SELFTEST is not set > # CONFIG_TEST_STRING_HELPERS is not set > # CONFIG_TEST_STRSCPY is not set > # CONFIG_TEST_KSTRTOX is not set > # CONFIG_TEST_PRINTF is not set > # CONFIG_TEST_SCANF is not set > # CONFIG_TEST_BITMAP is not set > # CONFIG_TEST_UUID is not set > # CONFIG_TEST_XARRAY is not set > # CONFIG_TEST_MAPLE_TREE is not set > # CONFIG_TEST_RHASHTABLE is not set > # CONFIG_TEST_SIPHASH is not set > # CONFIG_TEST_IDA is not set > # CONFIG_TEST_LKM is not set > # CONFIG_TEST_BITOPS is not set > # CONFIG_TEST_VMALLOC is not set > # CONFIG_TEST_USER_COPY is not set > # CONFIG_TEST_BPF is not set > # CONFIG_TEST_BLACKHOLE_DEV is not set > # CONFIG_FIND_BIT_BENCHMARK is not set > # CONFIG_TEST_FIRMWARE is not set > # CONFIG_TEST_SYSCTL is not set > # CONFIG_TEST_UDELAY is not set > # CONFIG_TEST_STATIC_KEYS is not set > # CONFIG_TEST_KMOD is not set > # CONFIG_TEST_MEMCAT_P is not set > # CONFIG_TEST_MEMINIT is not set > # CONFIG_TEST_FREE_PAGES is not set > # end of Kernel Testing and Coverage > > # > # Rust hacking > # > # end of Rust hacking > # end of Kernel hacking
diff --git a/include/linux/mm.h b/include/linux/mm.h index 8bbcccbc5565..2d3a49ba2261 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -664,16 +664,16 @@ static inline bool vma_is_accessible(struct vm_area_struct *vma) static inline struct vm_area_struct *vma_find(struct vma_iterator *vmi, unsigned long max) { - return mas_find(&vmi->mas, max); + return mas_find(&vmi->mas, max - 1); } static inline struct vm_area_struct *vma_next(struct vma_iterator *vmi) { /* - * Uses vma_find() to get the first VMA when the iterator starts. + * Uses mas_find() to get the first VMA when the iterator starts. * Calling mas_next() could skip the first entry. */ - return vma_find(vmi, ULONG_MAX); + return mas_find(&vmi->mas, ULONG_MAX); } static inline struct vm_area_struct *vma_prev(struct vma_iterator *vmi) @@ -686,12 +686,50 @@ static inline unsigned long vma_iter_addr(struct vma_iterator *vmi) return vmi->mas.index; } +static inline unsigned long vma_iter_end(struct vma_iterator *vmi) +{ + return vmi->mas.last + 1; +} +static inline int vma_iter_bulk_alloc(struct vma_iterator *vmi, + unsigned long count) +{ + return mas_expected_entries(&vmi->mas, count); +} + +/* Free any unused preallocations */ +static inline void vma_iter_free(struct vma_iterator *vmi) +{ + mas_destroy(&vmi->mas); +} + +static inline int vma_iter_bulk_store(struct vma_iterator *vmi, + struct vm_area_struct *vma) +{ + vmi->mas.index = vma->vm_start; + vmi->mas.last = vma->vm_end - 1; + mas_store(&vmi->mas, vma); + if (unlikely(mas_is_err(&vmi->mas))) + return -ENOMEM; + + return 0; +} + +static inline void vma_iter_invalidate(struct vma_iterator *vmi) +{ + mas_pause(&vmi->mas); +} + +static inline void vma_iter_set(struct vma_iterator *vmi, unsigned long addr) +{ + mas_set(&vmi->mas, addr); +} + #define for_each_vma(__vmi, __vma) \ while (((__vma) = vma_next(&(__vmi))) != NULL) /* The MM code likes to work with exclusive end addresses */ #define for_each_vma_range(__vmi, __vma, __end) \ - while (((__vma) = vma_find(&(__vmi), (__end) - 1)) != NULL) + while (((__vma) = vma_find(&(__vmi), (__end))) != NULL) #ifdef CONFIG_SHMEM /* diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h index 500e536796ca..faff2cc005c9 100644 --- a/include/linux/mm_types.h +++ b/include/linux/mm_types.h @@ -819,9 +819,7 @@ struct vma_iterator { static inline void vma_iter_init(struct vma_iterator *vmi, struct mm_struct *mm, unsigned long addr) { - vmi->mas.tree = &mm->mm_mt; - vmi->mas.index = addr; - vmi->mas.node = MAS_START; + mas_init(&vmi->mas, &mm->mm_mt, addr); } struct mmu_gather; diff --git a/mm/mmap.c b/mm/mmap.c index c3c5c1d6103d..8f24021ef5b5 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -144,6 +144,80 @@ static void remove_vma(struct vm_area_struct *vma) vm_area_free(vma); } +static inline struct vm_area_struct *vma_iter_load(struct vma_iterator *vmi) +{ + return mas_walk(&vmi->mas); +} + +static inline struct vm_area_struct *vma_prev_limit(struct vma_iterator *vmi, + unsigned long min) +{ + return mas_prev(&vmi->mas, min); +} + +static inline int vma_iter_prealloc(struct vma_iterator *vmi, + struct vm_area_struct *vma) +{ + return mas_preallocate(&vmi->mas, vma, GFP_KERNEL); +} + +/* Store a VMA with preallocated memory */ +static inline void vma_iter_store(struct vma_iterator *vmi, + struct vm_area_struct *vma) +{ + if (WARN_ON(vmi->mas.node != MAS_START && vmi->mas.index > vma->vm_start)) { + printk("%lu > %lu\n", vmi->mas.index, vma->vm_start); + printk("store of vma %lu-%lu", vma->vm_start, vma->vm_end); + printk("into slot %lu-%lu", vmi->mas.index, vmi->mas.last); + mt_dump(vmi->mas.tree); + } + if (WARN_ON(vmi->mas.node != MAS_START && vmi->mas.last < vma->vm_start)) { + printk("%lu < %lu\n", vmi->mas.last, vma->vm_start); + printk("store of vma %lu-%lu", vma->vm_start, vma->vm_end); + printk("into slot %lu-%lu", vmi->mas.index, vmi->mas.last); + mt_dump(vmi->mas.tree); + } + + if (vmi->mas.node != MAS_START && + ((vmi->mas.index > vma->vm_start) || (vmi->mas.last < vma->vm_start))) + vma_iter_invalidate(vmi); + + vmi->mas.index = vma->vm_start; + vmi->mas.last = vma->vm_end - 1; + mas_store_prealloc(&vmi->mas, vma); +} + +static inline void vma_iter_clear(struct vma_iterator *vmi, + unsigned long start, unsigned long end) +{ + mas_set_range(&vmi->mas, start, end - 1); + mas_store_prealloc(&vmi->mas, NULL); +} + +static inline int vma_iter_store_gfp(struct vma_iterator *vmi, + struct vm_area_struct *vma, gfp_t gfp) +{ + vmi->mas.index = vma->vm_start; + vmi->mas.last = vma->vm_end - 1; + mas_store_gfp(&vmi->mas, vma, gfp); + if (unlikely(mas_is_err(&vmi->mas))) + return -ENOMEM; + + return 0; +} + +static inline int vma_iter_clear_gfp(struct vma_iterator *vmi, + unsigned long start, unsigned long end, gfp_t gfp) +{ + vmi->mas.index = start; + vmi->mas.last = end - 1; + mas_store_gfp(&vmi->mas, NULL, gfp); + if (unlikely(mas_is_err(&vmi->mas))) + return -ENOMEM; + + return 0; +} + /* * check_brk_limits() - Use platform specific check of range & verify mlock * limits.