From mboxrd@z Thu Jan 1 00:00:00 1970 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 938E1C5AE59 for ; Wed, 4 Jun 2025 02:53:32 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 913C76B0558; Tue, 3 Jun 2025 22:53:09 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 88ECD6B055E; Tue, 3 Jun 2025 22:53:09 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 44CC46B0558; Tue, 3 Jun 2025 22:53:09 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id DA25E6B055A for ; Tue, 3 Jun 2025 22:53:08 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 94A17121FA5 for ; Wed, 4 Jun 2025 02:53:08 +0000 (UTC) X-FDA: 83516196456.14.612E659 Received: from invmail4.hynix.com (exvmail4.skhynix.com [166.125.252.92]) by imf21.hostedemail.com (Postfix) with ESMTP id DE5CB1C0005 for ; Wed, 4 Jun 2025 02:53:06 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf21.hostedemail.com: domain of byungchul@sk.com designates 166.125.252.92 as permitted sender) smtp.mailfrom=byungchul@sk.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1749005587; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:in-reply-to: references:references; bh=4rIqhgsDUJr1Thaon1ha4z8YSMzbEY4AXx/ZF8vBA0M=; b=nsYa4xG7im4Mx7vX7NZJxQNnxQH13dHrikCbPvL0Fz0VWMxa9Y1OjSvgGW1qIoZfTNgVVt 8uFhEuRDPAL4jBTz8jFhu7NbqrjfdugwJUiWwkl4/Ah+MVop4h8+J1cq1RRZSQA4P64CzQ GaKLsmdbUJ5/SXMR9uwM75GrXxmKRRQ= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf21.hostedemail.com: domain of byungchul@sk.com designates 166.125.252.92 as permitted sender) smtp.mailfrom=byungchul@sk.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1749005587; a=rsa-sha256; cv=none; b=RMoB+B9P9es6A6m1LUS0Spny71sTQHgWpSkU1ce+G0d3cQdjJMYyhEwgMO3KxqP+j2CBVX sRY+49vUNMC7D3jQc+LmclUA/w/HiaOUXR4rYsOqPgPZQ1TNoVAhkxoVii2L1B2bxYhWEb 9pr6gvxBpr5qIk96P7dYXwuEz+fbmQ0= X-AuditID: a67dfc5b-681ff7000002311f-32-683fb50a63b4 From: Byungchul Park To: willy@infradead.org, netdev@vger.kernel.org Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, kernel_team@skhynix.com, kuba@kernel.org, almasrymina@google.com, ilias.apalodimas@linaro.org, harry.yoo@oracle.com, hawk@kernel.org, akpm@linux-foundation.org, davem@davemloft.net, john.fastabend@gmail.com, andrew+netdev@lunn.ch, asml.silence@gmail.com, toke@redhat.com, tariqt@nvidia.com, edumazet@google.com, pabeni@redhat.com, saeedm@nvidia.com, leon@kernel.org, ast@kernel.org, daniel@iogearbox.net, david@redhat.com, lorenzo.stoakes@oracle.com, Liam.Howlett@oracle.com, vbabka@suse.cz, rppt@kernel.org, surenb@google.com, mhocko@suse.com, horms@kernel.org, linux-rdma@vger.kernel.org, bpf@vger.kernel.org, vishal.moola@gmail.com Subject: [RFC v4 12/18] netmem: use _Generic to cover const casting for page_to_netmem() Date: Wed, 4 Jun 2025 11:52:40 +0900 Message-Id: <20250604025246.61616-13-byungchul@sk.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20250604025246.61616-1-byungchul@sk.com> References: <20250604025246.61616-1-byungchul@sk.com> X-Brightmail-Tracker: H4sIAAAAAAAAAzWRa0hTYRjHe3fO3nMcLg5T6pSRtYioyG5aD1QmXV/6EEGBXT7UyFNbuVmz mUaZmZZtbYoFdlkwu5jOaLIuHkuktqXdoFhZy2aOhdJ1pdZSF5lO/Pbn9/z+/y8PSyk89ERW ozsg6HWqTCWW0bLvsZfnyO4sV88rKY4Hq+MGhtq+XLgeEKVgtd9F8Kv/PQO9nhYMVyrDFFhf FNHw2zFAQWdzkIGOqi4aGk/WUxAsfYzBXBShoFCslsDLuxYpnB24RkF9QYCBV/esGD7cGJRC l8tMw5MLNTR0WNKg2TYOws++IfA46iUQPn0JwxmvDcPHog4EXneQhovHLAgcTT4pRPqsOG0q uV3zTkIaLrQzxOY0kFvVs4jR56WI034KE2dPOUP8bxoxeXwuQpMGsVdCzMdDmHR3ttHkR1Mr Jo7brTR5bvMwpNc5eQO3VbY0Q8jU5Aj6uak7ZGp7z9x9N9ncY6VtVAH6i40ohuW5ZH7Qfl4y mks+/IlyzM3gfb5+ajjHc/P53mALbUQyluJCUr7TGokW4rjNfNAUiUo0N513/f4T5XJuEV/4 1i0dGU3ka+seRJ2YIe4PVUQdBZfCm8XX1PAoz31n+EfNLnqkMIF/WO2jy5DchsbYkUKjy9Gq NJnJSeo8nSY3aWeW1omGflt15O82EfW83OhCHIuUsXLRn6pWSFU52XlaF+JZShkvT5w5hOQZ qrxDgj5ru96QKWS7UAJLK8fLF4QPZii43aoDwl5B2CfoR68SNmZiATJ42/y79q+xfDEd7ntq /BrEsbrVn48Gupfk/8zHDX6zY+w6ldupM+VfVZzbELOy3TpJ2yXkelvS11euyjIyqRUprvRp KSfKyexPsx0JC01i5bK6+8WXd2JDWejhQZki7e302LgtgX973OLiVxuPmvxkbXxTX5NU/3rT lJIV834p6Wy1av4sSp+t+g+7gAJz1wIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAAzWRa0hTcRyG/Z/bjsvB0UYe7IM0LElQE1R+kOigiwcRySASS3PpoQ112qai keVlYGlqVwqdMJG8THFi5maKxBQvGFiaucxbM8Uu3u9OKl307eV5H94vL4271BButEKZxquU siQJJSSEEafzvYWvQ+SnOmYo0BoaKKjfzoSaaRMJWn0rgvWdLwJY6+6loKpyEwftoIaADcMu DrM9VgFMVc8R0FFgxMFa2kdBscaGQ56pFoOuin4S3reWkPB09yUOxpxpAQy/0VIw2fCHhDlz MQH9ZXUETJVIoUd3BDYHfiHoNhgx2HxQQcGTIR0FM5opBENdVgLKc0sQGDotJNi2tZRUwrXU fca4trIJAadrTude1XpxhZYhnGvW36e45tXHAm78UwfF9b2wEVybaQ3jivMXKW5ldozgljpH KK5qfhnjDC0jBPdO1y244BwtDErgkxQZvMo3OE4o16/6pjbSmbmlY3gO2qMKkSPNMv7svckt e6YYT9Zi2cEPspjxY9esvUQhEtI4s0iys1obdlAcZqJYa5HNLhHMcda8sWXnIiaQzRvtIv+N urP1TW/tjuM+H198bndcmAC22PQRf4iEOuSgR2KFMiNZpkgK8FEnyrOUikyf+JTkZrR/X3X2 3iMTWh8ONSOGRhInkWk8WO5CyjLUWclmxNK4RCxyP7mPRAmyrFu8KuWaKj2JV5vRUZqQuIrC LvNxLswNWRqfyPOpvOp/i9GObjloUHoiJkH8rL3o7EogHbtsXvG07gQtYB76KLX62NeLVMz4 oVjSqTLXM09UZIwJK/9x5WfIt0hbuneB+Ex1RM3o92xN+9TIh4nzW9cFA03p4fGhvx1TTOt3 yq8GzEfL7nbcjjwX5nNJ7OUfJ12SLDi76v1XxR5EuEbuerOx1KFtQEKo5TI/L1yllv0F8m41 vLoCAAA= X-CFilter-Loop: Reflected X-Stat-Signature: onq5wwtd4nnqznmng3cihg18aninmy6j X-Rspamd-Queue-Id: DE5CB1C0005 X-Rspam-User: X-Rspamd-Server: rspam02 X-HE-Tag: 1749005586-649808 X-HE-Meta: U2FsdGVkX18kqOFAiiMZaNluIlewsUtne5cVMIvq8xB2XKzMPtfjzbUB0jnVKDpiuyydLgeJ3zMOxfGbFCwrLYaE9qZoHiJcrRuVeOB7hGhyyWGXhdqhKjSD8TnfLaueUVf39Z7oOdfbdE4ZS3JIotq7Uk2iTCDpgiiZ7JFmo0pbOevqoNv70jaZQSgbl2yJ2BHlHwPZKeqtojRmE1R1KoRRcn/Id6YA27D/XezaRsqWP50gOQ4EAEOrGWp/CWqeD70r/6PmaePMyo/Mm1mYGd3ORpMxxeCmjhjaWRy22mEqYiV8qUmsAR0w4NQ0tpguCmsjaR+GfxKEba8mhj+XGN0H8yE7T9+NlJsfSk6CcmEj0tWKWnlDPpDwWKlHlu/zjLsac/wUqQD+etXzHOKuBxUZI1I+HCuOh1+3tG1vaDssdgWTYcYWU09hEw9mEVqmZE7DbtJzYbF1em2ELfYXQ3z67XeL/JnoPMkKUF7vk1e/KiXx3p05nwUKvSplOnIcDCWk+Jd32FhaI8RxjasYDrU7VnrG/VMtp8rBuFhtuP3+3dal1c/PDligVHYPPvKcUKgjrObllf42itu/K3I33oXC5lIYXx0zMpeu3GZpo1uedy522fIEKiL8AaRiBjpZguNtwvDCZe26cXXmITuYnbE2MhOCG9cAeboxug2X0SS2H5+HmAhr9O1GOmOcukiJFtSARkaYo0ZFBF2SRoLE4lkpOu89Bu1gWo7vfJf9TjM3RHs3PH080O9CWvRCfPlIOJfsyLbCNdr1LcmAWAyUhKywmqweHU+FdqxPpjE3sKRcI2EIGPwiHsht2oU0y/TCAtO90EOLOV6DfYWpv6wdmw== 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 current page_to_netmem() doesn't cover const casting resulting in trying to cast const struct page * to const netmem_ref fails. To cover the case, change page_to_netmem() to use macro and _Generic. Signed-off-by: Byungchul Park Reviewed-by: Mina Almasry --- include/net/netmem.h | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/include/net/netmem.h b/include/net/netmem.h index 2687c8051ca5..65bb87835664 100644 --- a/include/net/netmem.h +++ b/include/net/netmem.h @@ -195,10 +195,9 @@ static inline netmem_ref net_iov_to_netmem(struct net_iov *niov) return (__force netmem_ref)((unsigned long)niov | NET_IOV); } -static inline netmem_ref page_to_netmem(struct page *page) -{ - return (__force netmem_ref)page; -} +#define page_to_netmem(p) (_Generic((p), \ + const struct page * : (__force const netmem_ref)(p), \ + struct page * : (__force netmem_ref)(p))) /** * virt_to_netmem - convert virtual memory pointer to a netmem reference -- 2.17.1