lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <20231113130041.58124-9-linyunsheng@huawei.com> Date: Mon, 13 Nov 2023 21:00:40 +0800 From: Yunsheng Lin <linyunsheng@...wei.com> To: <davem@...emloft.net>, <kuba@...nel.org>, <pabeni@...hat.com> CC: <netdev@...r.kernel.org>, <linux-kernel@...r.kernel.org>, Yunsheng Lin <linyunsheng@...wei.com>, Eric Dumazet <edumazet@...gle.com> Subject: [PATCH RFC 8/8] net: temp hack for dmabuf page in __skb_datagram_iter() Signed-off-by: Yunsheng Lin <linyunsheng@...wei.com> --- net/core/datagram.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/net/core/datagram.c b/net/core/datagram.c index 103d46fa0eeb..5556782ac658 100644 --- a/net/core/datagram.c +++ b/net/core/datagram.c @@ -436,7 +436,15 @@ static int __skb_datagram_iter(const struct sk_buff *skb, int offset, end = start + skb_frag_size(frag); if ((copy = end - offset) > 0) { struct page *page = skb_frag_page(frag); - u8 *vaddr = kmap(page); + u8 *vaddr; + + if ((page->pp_magic & ~0x3UL) == PP_SIGNATURE) { + struct page_pool_iov *ppiov = (struct page_pool_iov *)page; + + page = ppiov->page; + } + + vaddr = kmap(page); if (copy > len) copy = len; -- 2.33.0
Powered by blists - more mailing lists