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 9A043C5B552 for ; Mon, 9 Jun 2025 04:32:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 627986B0096; Mon, 9 Jun 2025 00:32:43 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 564CC6B009A; Mon, 9 Jun 2025 00:32:43 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2C9886B0098; Mon, 9 Jun 2025 00:32:43 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id EE9E36B0095 for ; Mon, 9 Jun 2025 00:32:42 -0400 (EDT) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id A0172160DFD for ; Mon, 9 Jun 2025 04:32:42 +0000 (UTC) X-FDA: 83534591364.01.CB1F587 Received: from invmail4.hynix.com (exvmail4.hynix.com [166.125.252.92]) by imf02.hostedemail.com (Postfix) with ESMTP id 9312980005 for ; Mon, 9 Jun 2025 04:32:40 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=none; spf=pass (imf02.hostedemail.com: domain of byungchul@sk.com designates 166.125.252.92 as permitted sender) smtp.mailfrom=byungchul@sk.com; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1749443560; 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; bh=DobSN31r2Lv3Gttct4JjcU3gx6dLXAMKmkgNZ9MVQJM=; b=CD79xw6OvBVz4G1v0E/IjlFGMzVoJYcwAgkPZheYwQZ+yi5oSDVHv/pD2o2xfkxmbGEHh2 d89QwZuxn6/siRf0DfoW5ZCOtSS+4OsbBARD+BJhz032Tw6ipaYn9Ei5y+IyqilplyIcmk 6vWm5RLq3XqTosbQIWLDtemhRMJ/qQw= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=none; spf=pass (imf02.hostedemail.com: domain of byungchul@sk.com designates 166.125.252.92 as permitted sender) smtp.mailfrom=byungchul@sk.com; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1749443560; a=rsa-sha256; cv=none; b=FbG/FArtAJeUqJaLD2046zG4JV+Wjm/GtdaKPvvsMIbP4uMVkE6AFIvSpkqY59pnxWpcCN 4IjRBtr5UNLvBKrG4sH94yyQStD0OmWRFmAW/b75FU/AQ57KcuY6whATy5r/eIScdarWJV l90vmK8Y3EbVoKS9LzlM9EBnk5iPB3s= X-AuditID: a67dfc5b-669ff7000002311f-79-684663e3556d 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: [PATCH net-next 5/9] netmem: use _Generic to cover const casting for page_to_netmem() Date: Mon, 9 Jun 2025 13:32:21 +0900 Message-Id: <20250609043225.77229-6-byungchul@sk.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20250609043225.77229-1-byungchul@sk.com> References: <20250609043225.77229-1-byungchul@sk.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Brightmail-Tracker: H4sIAAAAAAAAA02Sa0iTYRTHe/Y8e/e6nLytqDejxIUZXazE5EAXgi4834r6EgnZ0rc2csvm JRUCSyOT1NDCnDOmos4LLVa6rautkWlGsdLWVZ0XCrpuNZ0GtWVS3378z/93zpfDYvlZcSSr 1mYKOq0yTcFIifRTeO3qkZQdqrVnvCIwmNsYaJ3IgaZBmxgMLR0IvgdeS8Dn7GKgvtaPwfCk kMAP8ySG0QceCQw0jhG4dcaKwVP2kIGSwikMp2wmETztKBXDhckGDNb8QQk8u2Fg4F3bLzGM OUoIdOubCQyUboEHxvngf/QRgdNsFYH/XA0DFS4jA8OFAwhc9z0Eqk+WIjDfcYthasLAbImm 15tfiqhd/1ZCjZYses20gha7XZhaWs4y1OItl9A3/bcY+vDSFKF2m09ESwo+M/Tb6CtCv9zp Y6j5eh+hvUanhPosS3Zx+6QbU4U0dbagW7P5gFTV29ZD0mvCcnpqLDgfDUmKURjLcwn88/HT ohl2t7qYEDNcLO92B3CI53HreJ+nixQjKYu5z2J+1DD1R5jL7ecn6nx/mHAx/MvOYRRiGbee bx4y/T0Qxbde7QwuYtkwLpEfdGeGYnmw4nhuwtP1OXx31QgJVXDwrvmyPBTjoFnQXo2nt9Sy fOGHmGleyN8zucl5xOn/s/X/bP1/thHhFiRXa7M1SnVaQpwqV6vOiUs5qrGg4IM0nviZZEPe p3sciGORIlx2oHK7Si5WZmfkahyIZ7Finowb2KqSy1KVuXmC7miyLitNyHCgRSxRLJDF+4+n yrnDykzhiCCkC7qZqYgNi8xH5JAnOWrNe/zqyTHvLF/S7vgXllhpnrypu5RG9PujV9U3LFZl aUdvBvTD7afaI6LKvwYGvY1VuKu57Eoc7EXVRTcnx/lAR1/ecntR/3hi58qdm1jzRbX1Lj40 dhAlFkfeXvrxsWYTVxdzuPJ7EaooeFw227/t0+L0crsTb1imIBkq5boVWJeh/A2gjatAHAMA AA== X-Brightmail-Tracker: H4sIAAAAAAAAA02Sa0hTYRjHe8/77pyz1eK0LA8JJouKjLRC44kuCGUeIqL6UhSVww5tqNM2 NQ0iTSsSNbNAmzOWpm5OWq2LFyRiiuUFlFmxstzcVCrKLtYyLWrrQn778X9+z//58rBY8Y4s YjXaDFGnVaUoaRmR7dyQv8qXtE29eqhiLRhtjTRYJ7Oh3tMsAWPDPQSfvw0yMNHxkIaaa34M xr4CAl9sUxhGO70MuOvGCLSda8LgvfCIhuKCaQynm80UtFd1SaD/XokELk/VYmjK9TAw0Gqk YajxpwTGHMUEugwWAu6SOOg0LQR/z1sEHbYmCvxFVTRccppo8BW4ETjbvQQq80oQ2O67JDA9 aaTjlMIdyzNKaDG8ZASTPVO4bY4UCl1OLNgbztOC/VMZI7x42kYLjyqmidDSPEEJxfnjtPBx 9DkR3t9/Qgs1rz5Qgu3OEyL0mjqYXfP2yzYeEVM0WaIuenOiTN3b2E3Sq6TZ3VV2nIuGmUIk ZXkuhndZnXSQaW4573J9w0EO4dbwE96HpBDJWMyNS/hR4zQVHMznDvGT1RO/mXBL+WcPfCjI ci6Wtwyb/5Yu5q03HwSKWFbKreM9roxgrAgojsdm/Eefx3ddGSFBBQfu2q4qgjEObObfrcSl SG6YYRn+W4YZlgnhBhSi0WalqjQpsVH6ZHWOVpMdlZSWakeBJ6g7+f1iM/o8kOBAHIuUc+SJ 5fFqhUSVpc9JdSCexcoQOefeolbIj6hyToi6tMO6zBRR70BhLFGGyrfvFRMV3FFVhpgsiumi 7t+UYqWLclGnvy/mZHnLyMCZ41/zah0QetNoqdNWn9oST+2JYJLlc2+PlBI/ZIf3tHdaxdb6 oll9bQdeL3sznt/CVzDh0Wcpaxml3dHgmb2kRqwePHgjduuFrT57aCVYVkZIM+fX/sy5vuyW V3Wqf315MkqY2rfph0eyYLehdcWxsLwpX5SS6NWqNZFYp1f9AnIt69gAAwAA X-CFilter-Loop: Reflected X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 9312980005 X-Stat-Signature: zcguentafguouhtrs6q8yx53g99czmwz X-Rspam-User: X-HE-Tag: 1749443560-665977 X-HE-Meta: U2FsdGVkX18gSCN4o37cGLHQdhEzpWKV7DA8MGD4GJWdSR5FH4TfSTfKrMcQgMeXfarSYMZuZ++luhlYw9Ce3i3klvk3PDORMKvTiv/jJjBVC32KjLNfQSrlNCovMJxPbGBhibm0aT1IBLssOpmYQACbiA2F4mllylTGbKi8u2PBJfhyZto1n9vAm4FHOo/eMK6RrZdmjyb9jZBrU1fyUJZb8utElQWW99AzSfkiMoNUZEn6PLODh5Xmtd0zjLNuRNh4O0qEoyMecDM390i2e8pgiKedYRy4K/0TvAI7+p9O6f3aeZGnBv9L5URpfdsoWglQSp8UT52Rbm9pF98/VEGFo5COQWnsNwsbr3mUkhhpnG2fnzOG6knRLWKGPCTWIbdVP7IbxEvbgikDhjEiVU5GPWmr6qrlWOkqUDZDGIlcmQtaZRjoD4Nk7zwscXNU/pm5gR62Tgh6jIKhIJM/dk/o7s7pxOIfod+fmK/pBznpPCDfyLIi0ZvmIF2eoaGy7N+uvZDYo7Neca+5LuMYok3iFtCooBP1l3Ola9en0/Y+r9/gggRWyvKGhXghOAe1uZwmFafWHg69H4Jm5gNreQgrFUV6bNk572ZYFeqhKHaV3c/+NsED3+YmvkzD3HYBAxaZzykB56UUgUB9SqoHCRo/bGCnFoZqXcD5VaU+OK2eKi5EUeNr0xB/QmHnEE2qtV03ucAGypsMQhOjql8RAYYsMM7n3h2bhtehKVSWJkuE5mQBRVAM/ThFqU54Cn02++8ezxnYTPFXt7pfZDKY8oa6unQ4L4ldX12KdxRMoOWnlojGwKR9GzAx5H8X+fTZMlQIHQET/lxu0L1dE6r6QgQLBjVktRtoC3E+9x1mBNCLSuOFyFK7uwihugBk40JKp8uQHkpwWeQc/WbHcDUIlxNO1VS/iULz79Ja75tuDntmOliejMRCzSmBmorrhPcVYvN9baVkgjKMdnSSdo8 nYpvwzU2 wVgRdQiVJZZT5CmXNgUJ1trKOweaUaDoYwHoJEQ+cSzDdoM/YYwv5npGXj7GSNwR2logmcqspajOsj+MGB+WDCbBFG1d/Kj9n1GHgy/9nnuZM3pa9jswCmCz8NzmZdKmuzaWLNpyIft4ln6WoubWE8/VVx6jBQV1N2sa8F/ZLbreLN4OLAOxLyb5Sdii1FgdSRMRgRp9rn63D7oMaWRHw9PkapwEvCew1cU8HwKmIRIA0luprBCj/UirygcAWXNuJS07tpH6NAdYV5mI= 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 Reviewed-by: Toke Høiland-Jørgensen Reviewed-by: Pavel Begunkov --- 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