Re: [PATCH net-next 1/3] netlink: convert to getsockopt_iter

From: Stanislav Fomichev

Date: Mon May 04 2026 - 11:12:27 EST


On 05/01, Breno Leitao wrote:
> Convert AF_NETLINK's getsockopt implementation to use the new
> getsockopt_iter callback with sockopt_t.
>
> Key changes:
> - Replace (char __user *optval, int __user *optlen) with sockopt_t *opt
> - Use opt->optlen for buffer length (input) and returned size (output)
> - Use copy_to_iter() instead of put_user()/copy_to_user()
> - For NETLINK_LIST_MEMBERSHIPS: walk the groups bitmap and emit each
> u32 sequentially via copy_to_iter(), then set opt->optlen to the
> total size required (ALIGN(BITS_TO_BYTES(ngroups), sizeof(u32))).
> The wrapper writes opt->optlen back to userspace even on partial
> failure, preserving the existing API that lets userspace discover
> the needed allocation size.
>
> Signed-off-by: Breno Leitao <leitao@xxxxxxxxxx>

Acked-by: Stanislav Fomichev <sdf@xxxxxxxxxxx>