Message ID | 20201215033151.76139-1-hoang.h.le@dektech.com.au (mailing list archive) |
---|---|
State | Accepted |
Commit | c32c928d29deb2636e5889f59305cc15b004909f |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net-next] tipc: do sanity check payload of a netlink message | 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-next |
netdev/subject_prefix | success | Link |
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, 19 lines checked |
netdev/build_allmodconfig_warn | success | Errors and warnings before: 1 this patch: 1 |
netdev/header_inline | success | Link |
netdev/stable | success | Stable not CCed |
Hello: This patch was applied to netdev/net.git (refs/heads/master): On Tue, 15 Dec 2020 10:31:51 +0700 you wrote: > From: Hoang Le <hoang.h.le@dektech.com.au> > > When we initialize nlmsghdr with no payload inside tipc_nl_compat_dumpit() > the parsing function returns -EINVAL. We fix it by making the parsing call > conditional. > > Acked-by: Jon Maloy <jmaloy@redhat.com> > Signed-off-by: Hoang Le <hoang.h.le@dektech.com.au> > > [...] Here is the summary with links: - [net-next] tipc: do sanity check payload of a netlink message https://git.kernel.org/netdev/net/c/c32c928d29de You are awesome, thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/patchwork/pwbot.html
diff --git a/net/tipc/netlink_compat.c b/net/tipc/netlink_compat.c index 82f154989418..5a1ce64039f7 100644 --- a/net/tipc/netlink_compat.c +++ b/net/tipc/netlink_compat.c @@ -213,12 +213,14 @@ static int __tipc_nl_compat_dumpit(struct tipc_nl_compat_cmd_dump *cmd, } info.attrs = attrbuf; - err = nlmsg_parse_deprecated(cb.nlh, GENL_HDRLEN, attrbuf, - tipc_genl_family.maxattr, - tipc_genl_family.policy, NULL); - if (err) - goto err_out; + if (nlmsg_len(cb.nlh) > 0) { + err = nlmsg_parse_deprecated(cb.nlh, GENL_HDRLEN, attrbuf, + tipc_genl_family.maxattr, + tipc_genl_family.policy, NULL); + if (err) + goto err_out; + } do { int rem;