From: Dmitry Safonov <dima@xxxxxxxxxx> Date: Sun, 5 Aug 2018 01:35:53 +0100 > It's legal to have 64 groups for netlink_sock. > > As user-supplied nladdr->nl_groups is __u32, it's possible to subscribe > only to first 32 groups. > > The check for correctness of .bind() userspace supplied parameter > is done by applying mask made from ngroups shift. Which broke Android > as they have 64 groups and the shift for mask resulted in an overflow. > > Fixes: 61f4b23769f0 ("netlink: Don't shift with UB on nlk->ngroups") > Reported-and-Tested-by: Nathan Chancellor <natechancellor@xxxxxxxxx> > Signed-off-by: Dmitry Safonov <dima@xxxxxxxxxx> Applied and queued up for -stable.