Message ID | 20230529153335.389815-1-pctammela@mojatatu.com (mailing list archive) |
---|---|
State | Accepted |
Commit | f4e4534850a9d18c250a93f8d7fbb51310828110 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net-next] net/netlink: fix NETLINK_LIST_MEMBERSHIPS length report | expand |
On Mon, May 29, 2023 at 12:33:35PM -0300, Pedro Tammela wrote: > The current code for the length calculation wrongly truncates the reported > length of the groups array, causing an under report of the subscribed > groups. To fix this, use 'BITS_TO_BYTES()' which rounds up the > division by 8. > > Fixes: b42be38b2778 ("netlink: add API to retrieve all group memberships") > Signed-off-by: Pedro Tammela <pctammela@mojatatu.com> Reviewed-by: Simon Horman <simon.horman@corigine.com>
Hello: This patch was applied to netdev/net.git (main) by Jakub Kicinski <kuba@kernel.org>: On Mon, 29 May 2023 12:33:35 -0300 you wrote: > The current code for the length calculation wrongly truncates the reported > length of the groups array, causing an under report of the subscribed > groups. To fix this, use 'BITS_TO_BYTES()' which rounds up the > division by 8. > > Fixes: b42be38b2778 ("netlink: add API to retrieve all group memberships") > Signed-off-by: Pedro Tammela <pctammela@mojatatu.com> > > [...] Here is the summary with links: - [net-next] net/netlink: fix NETLINK_LIST_MEMBERSHIPS length report https://git.kernel.org/netdev/net/c/f4e4534850a9 You are awesome, thank you!
diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c index c87804112d0c..3a1e0fd5bf14 100644 --- a/net/netlink/af_netlink.c +++ b/net/netlink/af_netlink.c @@ -1779,7 +1779,7 @@ static int netlink_getsockopt(struct socket *sock, int level, int optname, break; } } - if (put_user(ALIGN(nlk->ngroups / 8, sizeof(u32)), optlen)) + if (put_user(ALIGN(BITS_TO_BYTES(nlk->ngroups), sizeof(u32)), optlen)) err = -EFAULT; netlink_unlock_table(); return err;
The current code for the length calculation wrongly truncates the reported length of the groups array, causing an under report of the subscribed groups. To fix this, use 'BITS_TO_BYTES()' which rounds up the division by 8. Fixes: b42be38b2778 ("netlink: add API to retrieve all group memberships") Signed-off-by: Pedro Tammela <pctammela@mojatatu.com> --- net/netlink/af_netlink.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)