From patchwork Thu Aug 8 18:33:38 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Martin Oliveira X-Patchwork-Id: 13758055 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id C8C70C3DA4A for ; Thu, 8 Aug 2024 18:35:40 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5C50C6B009D; Thu, 8 Aug 2024 14:35:40 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5743B6B009E; Thu, 8 Aug 2024 14:35:40 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3793A6B009F; Thu, 8 Aug 2024 14:35:40 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 180016B009D for ; Thu, 8 Aug 2024 14:35:40 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 92172C15E9 for ; Thu, 8 Aug 2024 18:35:39 +0000 (UTC) X-FDA: 82429931598.06.035195A Received: from NAM02-BN1-obe.outbound.protection.outlook.com (mail-bn1nam02on2115.outbound.protection.outlook.com [40.107.212.115]) by imf16.hostedemail.com (Postfix) with ESMTP id CD3C6180018 for ; Thu, 8 Aug 2024 18:35:36 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=eideticcom.onmicrosoft.com header.s=selector2-eideticcom-onmicrosoft-com header.b=RB8UnFDp; spf=pass (imf16.hostedemail.com: domain of Martin.Oliveira@eideticom.com designates 40.107.212.115 as permitted sender) smtp.mailfrom=Martin.Oliveira@eideticom.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); dmarc=none ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1723142127; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=pRUDFAbvP4Wci+R7KuxCrccwPqV5quWpHJXtfd77Uvs=; b=IAxS3ucOE3OLZ363TzX1emmZuapS/B4506zszi8qJS8lGdhmPmvsx7tCun/9wjh+0MV0Xi PSf7aANrsSql22Bm+diU0ZRSae2YOp1RRuodz3Am6SQUze6BVAymLh7zJDGHCoKIzegj5P PDpFgN1fmOMsB3Bi3iRW6YD8ilYl/6c= ARC-Authentication-Results: i=2; imf16.hostedemail.com; dkim=pass header.d=eideticcom.onmicrosoft.com header.s=selector2-eideticcom-onmicrosoft-com header.b=RB8UnFDp; spf=pass (imf16.hostedemail.com: domain of Martin.Oliveira@eideticom.com designates 40.107.212.115 as permitted sender) smtp.mailfrom=Martin.Oliveira@eideticom.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); dmarc=none ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1723142127; a=rsa-sha256; cv=pass; b=Z2h/L+Un7IZmff+WtRktsNM/MdLtgEyD7i1S52EOXdEPCrahqSNA56jpUl2vVKExhN1qox 3rLDw6248bylU1KU4VY+zmwexyrF9Wxhyz3aZt06BVmCep4Xe1Z80ejypda7Lx8dNZJfhL 7tFciVMonlQ39eIgsNmYCiJ3sTS/yvc= ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=wb3gPNuFAKfM3kob2T7fs3Mg/zNlEz61+NUZl4pUxpqfvDQfcy6Y9ufdlV8Nyed5wcXnGPvSL/CHPtvooG/kmaU21gsVYIh3/+ewSKhVYiF+ItOt0N9/7DrwvjBNr0WYA/s4sGNjv0mUJtxfjoD2S9eni0o0Md/+qBjCtPXzMNH3OaZm1ryDjF7n45jiDYobB0dNUpbK4HCgLZg9iEw079KlHqwkuLGBCiJDIvJ7Zz1f7VQet5SrT84a5EvWk80pdpAdudyklLkxjVEBX/efjCMYC5zNho+hnwtAvsBcVoAWuKkpN+Iacd7ie4Eu182kA76vRdw7MyAoCozyg568pA== 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=pRUDFAbvP4Wci+R7KuxCrccwPqV5quWpHJXtfd77Uvs=; b=kw9djgDsYwDoxd2C4VjVcqoMLa4iilRJAt2ATAU/qlIhgOzXhOX/z1tBKnImTlgXh2uNdU64MVYxVRRXn/Jszsp4rjWRbw7vILA6tBK/6bR2ga0CJ1g8WSruz612//R0hlDUnWF/JQcTUjd04lnyFnSM5AuuOMSSAav0hqYgu2aLcQYFcca/KT+L7ryseuljlZSNBFePCx9VuVukuW6N3n8EQmncZW+he7R6djcGaPmLdWlZSPhmIqPcTlj4IyX0MY5su79xzQ3lSNgVYj0ssAAxl9QGUKi69yqpfsCrU7IXRGJZblJlwE5nBCc4I1NV5bhgvLV/QK43HTvRSbfGdQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=eideticom.com; dmarc=pass action=none header.from=eideticom.com; dkim=pass header.d=eideticom.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=eideticcom.onmicrosoft.com; s=selector2-eideticcom-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=pRUDFAbvP4Wci+R7KuxCrccwPqV5quWpHJXtfd77Uvs=; b=RB8UnFDpYGk4WIvEaZYq7Px6GoybhdhyGJDGWCjwLHew0koqhJzp3s/9NhISYYJPD8NmWmGAkblVgd8XsRG0CgwrZe9lVGAPlRJYUSfxm+ikjXc0dG4NizVkwoCr2zV4WqDRH9Vl8RJ9+zbeF0bHIwvrrGZeawnMwvYt2HylqKk= Received: from PH7PR19MB6828.namprd19.prod.outlook.com (2603:10b6:510:1ba::20) by IA1PR19MB6348.namprd19.prod.outlook.com (2603:10b6:208:3e4::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7849.14; Thu, 8 Aug 2024 18:33:53 +0000 Received: from PH7PR19MB6828.namprd19.prod.outlook.com ([fe80::69c8:bdb9:b882:b849]) by PH7PR19MB6828.namprd19.prod.outlook.com ([fe80::69c8:bdb9:b882:b849%3]) with mapi id 15.20.7828.023; Thu, 8 Aug 2024 18:33:53 +0000 From: Martin Oliveira To: linux-rdma@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: Andrew Morton , Artemy Kovalyov , Greg Kroah-Hartman , Jason Gunthorpe , Leon Romanovsky , Logan Gunthorpe , Michael Guralnik , Mike Marciniszyn , Shiraz Saleem , Tejun Heo , John Hubbard , Dan Williams , David Sloan , Martin Oliveira Subject: [PATCH v5 2/4] kernfs: remove page_mkwrite() from vm_operations_struct Date: Thu, 8 Aug 2024 12:33:38 -0600 Message-ID: <20240808183340.483468-3-martin.oliveira@eideticom.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240808183340.483468-1-martin.oliveira@eideticom.com> References: <20240808183340.483468-1-martin.oliveira@eideticom.com> X-ClientProxiedBy: MW4PR04CA0072.namprd04.prod.outlook.com (2603:10b6:303:6b::17) To PH7PR19MB6828.namprd19.prod.outlook.com (2603:10b6:510:1ba::20) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH7PR19MB6828:EE_|IA1PR19MB6348:EE_ X-MS-Office365-Filtering-Correlation-Id: e8fe6235-4ead-4990-611e-08dcb7d8a767 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|52116014|7416014|38350700014; X-Microsoft-Antispam-Message-Info: r/inA3VT/8mfOp8ld6nKLqNGAfmT2/ixqrT3JXm9HT54veh6XbiIINy7ywt2BBxrLfOmbQqZra3Wig8Hjp0rCs+8UevX0MONWDEYlPOQSVtDTT5oqQ9z9ZknafUtWxGUdsunA1NWGjd0L+UmykvYU1zQeqSvK6KUtJfMkAA/9Od1ULsbqKh1E+qWAPd47Yly0nZKes6HWrhXhRTBdy+fAf4BS/Mv0rXYdGTu1bjRLheZ2x5+ybzPst1mL0OVdmSQYhx+3px6CpxFntXWs7IfVF4GMYF68pk4bbnsHGkGpd9ZtZEULgBZKESKclQ3j3oejLIWGBeUt7W8xj7sm5ovBQSowf3AEnPg75KZ3PGHQcHokncPhQCKIh4daoW55Pt9ctbAZCcXXWrLHKUWEKKcj/iJ43ylnU13ET23s+EnTUR4EKHWsFpqm7F9zPz7g/S4R4FglL5p4/bweNAiHTVtP/CyCqD+QyDzgFw0weXUOuBstPhNFWtclb/veEVcrPDImWonAk1RSo7c2IHwjtaRU8Y1dn2htfKJ8GnOm9tp4hJTitsHlsDF+Jo6zOMFWJWmR72zGOOFxsuXVpWc5mHAquQYEJh+u9F8OhX8hTkjILQGHfqppqYZUSfd6mhq+1dtdOliBcb9GwWIjg3fTvtXcCdmdrZge0BRlV8EsglApf5S6jJxhfSgXjKMDRw4GAhz/sYfx9TfIh5u4gZ1CfLYt4x9vB/28aCJqV0AuwqtrjWwI2SvFN/Tr3SoriX89YI7FeJ5CSVMmnE7vWqcGMOhsBVboBz1RxHmfJYsGGuWS0qjuqPbutaCpyqt4ILnVErprw0I22Vink+DqSbIqgLa2KddOytj28npBUUN3yC/mhM56xPJ013HLlN7hYBrjxQ4pdfny6wmXszlNmyrhnGwJNCVFPo3B0YEnFhBJMI55vhdBXfdzJ5Uk0LKraIMac5/DxDeVIuGGuQ1GNz3QNfbcHq3P1lWMTWoeuazn62Fze13nAUGwO+V+QyWNrU1KRC0i5mhdYqsdvWE3OQ/KNOXS+2ESlsEBtTQGVfZoDx88TfyvDaCatS4fsrhAqKGO2tCrOU2QlETf30DsHGMlaMaZ0vtlQEeW0WeFMhtP5VZs4y3BK1i9vX8HyOVtPneW2stOpZ4jyRTQ30yI89eVxVsckVepBISgSSiUXBwnjjqcdZZiNS0IxBRgmCQVbnn/cnW/m+eLOETTZfNM6LE10pQt+sMyXpNjM1ZqfWNCwtTG5KHHGbKiFsODcsemcIpmEnL0VvMZajkiTno7mwLxYfgrl6VSj7W2tShXg24rzMRAaQNVzupJ/F4QzMnc+Fvr1VQ9nwMidwaeWJ4Y2MzRXmzVXQgZhBEw/7VzEbIOhmQmOCX1IKgKIuSUl4Q/ELuKBkFIJmF69jE1WRUOShf7zWAyg== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH7PR19MB6828.namprd19.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(52116014)(7416014)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: yyf1WoVvEStKZSmkiXOYLR4Bd5OaDzNbJTkW/CdtySv9bR3pHgXjJgZDWZHzYVEWzUKaTWIKNfJ/WZZcNfDIJ+F9nVmOAYNFW/H/3yzv+wMBsWkzuOC7YYx0z7JYY668brQsWDeIprt5/awrMYC2qHuYJrHrT+enKPjlcg3yVPqrMojNNIa15bzbpgkky8jovGUY+nEjkAwh8xnts3LZxXPcpp1sERAz0tZHH+auaQhm+dImD/ocW86oceQxCc7EIKWLdKjIoWtLTe7jjRDauGb5V0Lmzv6EwR6saWfbCr8pMcKNBBGMfxx1+qLMJiklg6gJnfcu/mpz5s+OQczvU4+HZ/8jMDWnmmble8g7eZslepeLBpqFV81zDb+wfgIwZzMrKO2jCiPgpaKdt93lXUbZiTVcLwYgFP0YP9sssAAR2RmbamzJSL9I6iev4g94KanGjzFfhLMSDjXnoJexABAATI+Hpk1RKC3l7jVitNwWmjmkNN/nOMb37KJrZA7nnNbDX4Ok1FYR9uZ1Ixn7XGNvPqQDhUC4JAdVbvq22EHcG3sPjkTM4uAE33ngyPfCF2uC+2d34RwwC86NSRiA67RCH33U2v+HqP2t9qjAoUO0zr4Uv/o1X/o3My1ukhPrPIM/OyP/y8GsH0PeXpCb5MIMf2uzQRJSvMIGeAx2n/6yjzuRU5P5dcSgIVubdLs+d8bA/gGRqv4UMWUqhFSlPiEVZzGpt9c3aOD2Fsgba1Y68VaQ+M5Z2RepRmso7Wtc020oPYFCydsH8e4tFHENK3xbf2pKq7fDuXtnJJdg/jbcSj8kcAnMe4O0MTIx/O+pyym3J+LoXgCP0pdfoxp6rBSascjKigtPNLwbJKKEL1SSLUqN3JqKPF0TWwVR3nxxXC5eEC70r1XfJRBxIFSE+neuNAZG8eWMkIYh7+m51ny20q2Uxon2u8/k+5PctWKIP7DgeoDBnoF8VzMdVPk3a2EFtiRwf7EwEORfAqpwR1N4cuRhkAR7uFSCGBoJSh+/vAM+m5HndgWw6DGvJL6RzGFYgIiQ62WlV360PPEL2dca2rgiQRgJoyoCmpJ5w02xti44ITil4DXVTgEBLU8apgW8g9XWpugsbl9MbC4DR1kWhTtTZndgNJUuyDC9XHFyGxJOGXpJp5WpQNtJ9b3x/MLFs/YDMujzNEuDpGUqBKMb/7xIE6QVdF12GMxQwQ3qQoB15zn7jEb4Z7HPdZdoBAAASHVj0KCE6BK1H1QzSyzp91P8ooay4K5gmJP+0y21eDgU88zLuMdTplzKsUGsDDgyCC3AYTOZfRkTRNk+aSU/+o/EBblbqfikuTr7ibp8ZUwXOq+C4c+zjhAMr7qtQaFmdzJc4zoW48tjyszfpEsQPUoTC7yUhnPUWaXXloGAnCkeqZWYh2/xR5vde0knh8QiSucVaYqbvO6W7fpSXXATqoJrtPO4FR+sRSzJkZlmjzmUH/xuvZtLyuZyfavF4ef4MWhCm1ESWRoEFMnWHV0atzG3gMnAzOiXKWb4O8QKAbgXqDN8WOl/AWujk/HYxnBa1uf16mFXev0AY56o8Sp/jkOYRbFwDcavncWmPSjRFIW4ZFW+TlyYoyDrgYft4Yyp1M/Q4sUp4lBv6RJkNvg= X-OriginatorOrg: eideticom.com X-MS-Exchange-CrossTenant-Network-Message-Id: e8fe6235-4ead-4990-611e-08dcb7d8a767 X-MS-Exchange-CrossTenant-AuthSource: PH7PR19MB6828.namprd19.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2024 18:33:53.0371 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3490cd4b-0360-4377-abb1-15f8c5af8fc2 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: OckluIzi8BL2FY3s8sO/bhcIGAsU1YoquPX9U5CVsPL3KMM3n721vf8I9WeGgRy+MNXfjGWhL8JBpV2qsOs/o5a6Reqpv/n3qwmc0U4cyH4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR19MB6348 X-Rspam-User: X-Stat-Signature: fwfjf96wd8tdd3faetyruchacjn1azp8 X-Rspamd-Queue-Id: CD3C6180018 X-Rspamd-Server: rspam11 X-HE-Tag: 1723142136-169659 X-HE-Meta: U2FsdGVkX19MDWW3FY2oYWFqvejvNhBERl3gQJ5q3IgJV4DirSm27dr9Hjdrq4qn2qIlY8tC2dwmsJrWNhpayByF2sUOtKawi8rOKthAZLVnirjm3WF8YwHfY1zW1IX8P2BLgSpFvVJ5SIye67EOa3ecX653gSskqdF0ohUq+rqu9M9f9Cdlr9tJmRGo2EK1UoXkE9JzPuO6bdwVNQ+Y5RX8T/BSPDYDUep4HqB1B9M/Z2/Dv2PCOY+hZhPqAQZRd80X7aTHeP+mSC3EMK7YPklxekf9xp5FC/X1N8c8ZxL8clWfn90B0PfzC8DvvCHtfQliMArhKV5bR3X1guwR+1SwWPfJh4bZNAXPOuq6TceDadPabPGshpvDCER8zckf2mez6jKDxOdVZkUDbgzaJAxT6OnKHLqhN3tI51WMUu8soJTxqvQwxpWNZE2RbknrdennJmsAkfV74EiWuiGeN33bpW8DzyTYtmb+C6UhZPVZJZn/JhggjIBub4VAjS7/dUNpLpErT5R9i9x2cDtWz8eGEYpTqBurShUmHaPAg0P4eTUBh1FEW1eIdRBIvMmy/4SDh2JmF9nQf1tWxOabIBahsE26Wc8xKKZOzCvxRfFbS8n+ZlOL8FnUvB/CEBKG3flWmQTrrTzJK3xMKd7SLAqklYfVOOGL8d2YUbJtThVCUWVYypq4BM4atzqu/no/KT8DfwtlVFP+MCLIIqpCsGYUpcjd+QYCyIDhCOydhkZ9NYYg+X1R2xO+8vfutesJYBMSxhKdsRExjDOf7+G/rpNIRSblMn/wpk9SU+ymF4rX+s4huOrHZLtDyr5/pcAKAJx3glR4uGnBhyx0HfZ/YAzBQjj3rYZoox7HEb/8R/RPJiXFQm58ZFcfE8s2edCYAGZ9lhc3vcx31uyDRMqBWj2RO1gUZAk1UTvI1NtLItVHCZ4F0+v0WHJDxWK2PHKrTO80w1vFhzK+TtzsBe0 +kSsAYT/ KFj2xYge3P/+LT1922Sz2KOlIletHJtKzJZmhCG2W36bvSu+xwpEPbAenfc0DPXNYppkYBm0le6LQiie5KF4MnE4WHzRehWrrRXtdfF6xePjXLDOHW/WLEwYiAfZS5u4xZ/HNbwEQZb2WBQaUlTtF3FZ95iHmfZSPcSxNED+ikqjpLcsVqoAe4ByGXndgrfuA4jqIesAdFXgJ4vR9Eb2QM3bLnFc5Okm22KtgLq0tV7fj6/dchSojNEpQhKPZ4METtIopOVtRtFwAiDjtHDxdHchJbeIZ04xMvqeFP5Pyya6s5z4f4AS5nSk8lTSRbwHbuR6kTJCTnAOV9THMROlCOBqnurl7UaKu+7umY+B61a0u8ntmQTYP2Z6aUDoAi2YLL4rHp49t9Z9oWhI9RqY4ZY/M6MniWU0mEb/r+ppzdJ1cGqCgK1dMyQKS6KwoeHARwmleE1nfZWygCpvQRqVB7mMs2A== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: The .page_mkwrite operator of kernfs just calls file_update_time(). This is the same behaviour that the fault code does if .page_mkwrite is not set. Furthermore, having the page_mkwrite() operator causes writable_file_mapping_allowed() to fail due to vma_needs_dirty_tracking() on the gup flow, which is a pre-requisite for enabling P2PDMA over RDMA. There are no users of .page_mkwrite and no known valid use cases, so just remove the .page_mkwrite from kernfs_ops and WARN if an mmap() implementation sets .page_mkwrite. Co-developed-by: Logan Gunthorpe Signed-off-by: Logan Gunthorpe Signed-off-by: Martin Oliveira Reviewed-by: Christoph Hellwig --- fs/kernfs/file.c | 40 +++++++++++----------------------------- 1 file changed, 11 insertions(+), 29 deletions(-) diff --git a/fs/kernfs/file.c b/fs/kernfs/file.c index 72cc51dcf870..a747ed95063f 100644 --- a/fs/kernfs/file.c +++ b/fs/kernfs/file.c @@ -386,28 +386,6 @@ static vm_fault_t kernfs_vma_fault(struct vm_fault *vmf) return ret; } -static vm_fault_t kernfs_vma_page_mkwrite(struct vm_fault *vmf) -{ - struct file *file = vmf->vma->vm_file; - struct kernfs_open_file *of = kernfs_of(file); - vm_fault_t ret; - - if (!of->vm_ops) - return VM_FAULT_SIGBUS; - - if (!kernfs_get_active(of->kn)) - return VM_FAULT_SIGBUS; - - ret = 0; - if (of->vm_ops->page_mkwrite) - ret = of->vm_ops->page_mkwrite(vmf); - else - file_update_time(file); - - kernfs_put_active(of->kn); - return ret; -} - static int kernfs_vma_access(struct vm_area_struct *vma, unsigned long addr, void *buf, int len, int write) { @@ -432,7 +410,6 @@ static int kernfs_vma_access(struct vm_area_struct *vma, unsigned long addr, static const struct vm_operations_struct kernfs_vm_ops = { .open = kernfs_vma_open, .fault = kernfs_vma_fault, - .page_mkwrite = kernfs_vma_page_mkwrite, .access = kernfs_vma_access, }; @@ -475,12 +452,17 @@ static int kernfs_fop_mmap(struct file *file, struct vm_area_struct *vma) if (of->mmapped && of->vm_ops != vma->vm_ops) goto out_put; - /* - * It is not possible to successfully wrap close. - * So error if someone is trying to use close. - */ - if (WARN_ON_ONCE(vma->vm_ops && vma->vm_ops->close)) - goto out_put; + if (vma->vm_ops) { + /* + * It is not possible to successfully wrap close. + * So error if someone is trying to use close. + */ + if (WARN_ON_ONCE(vma->vm_ops->close)) + goto out_put; + + if (WARN_ON_ONCE(vma->vm_ops->page_mkwrite)) + goto out_put; + } rc = 0; if (!of->mmapped) {