Message ID | 20210506223530.2266456-1-arjunroy.kdev@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Commit | a6f8ee58a8e35f7e4380a5efce312e2a5bc27497 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net,v3] tcp: Specify cmsgbuf is user pointer for receive zerocopy. | expand |
Context | Check | Description |
---|---|---|
netdev/cover_letter | success | Link |
netdev/fixes_present | success | Link |
netdev/patch_count | success | Link |
netdev/tree_selection | success | Clearly marked for net |
netdev/subject_prefix | success | Link |
netdev/cc_maintainers | warning | 2 maintainers not CCed: yoshfuji@linux-ipv6.org dsahern@kernel.org |
netdev/source_inline | success | Was 0 now: 0 |
netdev/verify_signedoff | success | Link |
netdev/module_param | success | Was 0 now: 0 |
netdev/build_32bit | success | Errors and warnings before: 1 this patch: 1 |
netdev/kdoc | success | Errors and warnings before: 0 this patch: 0 |
netdev/verify_fixes | success | Link |
netdev/checkpatch | success | total: 0 errors, 0 warnings, 0 checks, 7 lines checked |
netdev/build_allmodconfig_warn | success | Errors and warnings before: 1 this patch: 1 |
netdev/header_inline | success | Link |
Hello: This patch was applied to netdev/net.git (refs/heads/master): On Thu, 6 May 2021 15:35:30 -0700 you wrote: > From: Arjun Roy <arjunroy@google.com> > > A prior change (1f466e1f15cf) introduces separate handling for > ->msg_control depending on whether the pointer is a kernel or user > pointer. However, while tcp receive zerocopy is using this field, it > is not properly annotating that the buffer in this case is a user > pointer. This can cause faults when the improper mechanism is used > within put_cmsg(). > > [...] Here is the summary with links: - [net,v3] tcp: Specify cmsgbuf is user pointer for receive zerocopy. https://git.kernel.org/netdev/net/c/a6f8ee58a8e3 You are awesome, thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/patchwork/pwbot.html
diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c index e14fd0c50c10..f1c1f9e3de72 100644 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c @@ -2039,6 +2039,7 @@ static void tcp_zc_finalize_rx_tstamp(struct sock *sk, (__kernel_size_t)zc->msg_controllen; cmsg_dummy.msg_flags = in_compat_syscall() ? MSG_CMSG_COMPAT : 0; + cmsg_dummy.msg_control_is_user = true; zc->msg_flags = 0; if (zc->msg_control == msg_control_addr && zc->msg_controllen == cmsg_dummy.msg_controllen) {