diff options
| author | Yunsheng Lin <linyunsheng@huawei.com> | 2024-10-28 19:53:39 +0800 |
|---|---|---|
| committer | Jakub Kicinski <kuba@kernel.org> | 2024-11-11 10:56:27 -0800 |
| commit | 3d18dfe69ce46f106af327736d2261d7e3ee81c0 (patch) | |
| tree | 508012ac2ca4270f28b0eee0cceed9959c589dfd /net/sunrpc | |
| parent | 8218f62c9c9b283dd296a23ea8fbbd6be7bd5760 (diff) | |
| download | linux-next-3d18dfe69ce46f106af327736d2261d7e3ee81c0.tar.gz linux-next-3d18dfe69ce46f106af327736d2261d7e3ee81c0.zip | |
mm: page_frag: avoid caller accessing 'page_frag_cache' directly
Use appropriate frag_page API instead of caller accessing
'page_frag_cache' directly.
CC: Andrew Morton <akpm@linux-foundation.org>
CC: Linux-MM <linux-mm@kvack.org>
Signed-off-by: Yunsheng Lin <linyunsheng@huawei.com>
Reviewed-by: Alexander Duyck <alexanderduyck@fb.com>
Acked-by: Chuck Lever <chuck.lever@oracle.com>
Link: https://patch.msgid.link/20241028115343.3405838-5-linyunsheng@huawei.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net/sunrpc')
| -rw-r--r-- | net/sunrpc/svcsock.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/net/sunrpc/svcsock.c b/net/sunrpc/svcsock.c index 825ec5357691..b785425c3315 100644 --- a/net/sunrpc/svcsock.c +++ b/net/sunrpc/svcsock.c @@ -1608,7 +1608,6 @@ static void svc_tcp_sock_detach(struct svc_xprt *xprt) static void svc_sock_free(struct svc_xprt *xprt) { struct svc_sock *svsk = container_of(xprt, struct svc_sock, sk_xprt); - struct page_frag_cache *pfc = &svsk->sk_frag_cache; struct socket *sock = svsk->sk_sock; trace_svcsock_free(svsk, sock); @@ -1618,8 +1617,7 @@ static void svc_sock_free(struct svc_xprt *xprt) sockfd_put(sock); else sock_release(sock); - if (pfc->va) - __page_frag_cache_drain(virt_to_head_page(pfc->va), - pfc->pagecnt_bias); + + page_frag_cache_drain(&svsk->sk_frag_cache); kfree(svsk); } |
