Răsfoiți Sursa

genetlink: Fix off-by-one in genl_allocate_reserve_groups()

The bug fix for adding n_groups to the computation forgot
to adjust ">=" to ">" to keep the condition correct.

Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller 9 ani în urmă
părinte
comite
b8e429a2fe
1 a modificat fișierele cu 1 adăugiri și 1 ștergeri
  1. 1 1
      net/netlink/genetlink.c

+ 1 - 1
net/netlink/genetlink.c

@@ -185,7 +185,7 @@ static int genl_allocate_reserve_groups(int n_groups, int *first_id)
 			}
 		}
 
-		if (id + n_groups >= mc_groups_longs * BITS_PER_LONG) {
+		if (id + n_groups > mc_groups_longs * BITS_PER_LONG) {
 			unsigned long new_longs = mc_groups_longs +
 						  BITS_TO_LONGS(n_groups);
 			size_t nlen = new_longs * sizeof(unsigned long);