From: Cong Wang <[email protected]>
Date: Sat, 15 Aug 2020 16:29:15 -0700
> __tipc_nl_compat_dumpit() has two callers, and it expects them to
> pass a valid nlmsghdr via arg->data. This header is artificial and
> crafted just for __tipc_nl_compat_dumpit().
>
> tipc_nl_compat_publ_dump() does so by putting a genlmsghdr as well
> as some nested attribute, TIPC_NLA_SOCK. But the other caller
> tipc_nl_compat_dumpit() does not, this leaves arg->data uninitialized
> on this call path.
>
> Fix this by just adding a similar nlmsghdr without any payload in
> tipc_nl_compat_dumpit().
>
> This bug exists since day 1, but the recent commit 6ea67769ff33
> ("net: tipc: prepare attrs in __tipc_nl_compat_dumpit()") makes it
> easier to appear.
>
> Reported-and-tested-by: [email protected]
> Fixes: d0796d1ef63d ("tipc: convert legacy nl bearer dump to nl compat")
> Cc: Jon Maloy <[email protected]>
> Cc: Ying Xue <[email protected]>
> Cc: Richard Alpe <[email protected]>
> Signed-off-by: Cong Wang <[email protected]>
Applied and queued up for -stable, thanks.