SUNRPC: off by one in BUG_ON()
authorDan Carpenter <dan.carpenter@oracle.com>
Wed, 29 Oct 2014 08:44:16 +0000 (11:44 +0300)
committerJ. Bruce Fields <bfields@redhat.com>
Wed, 29 Oct 2014 15:37:42 +0000 (11:37 -0400)
The m->pool_to[] array has "maxpools" number of elements.  It's
allocated in svc_pool_map_alloc_arrays() which we called earlier in the
function.  This test should be >= instead of >.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
net/sunrpc/svc.c

index ca8a7958f4e6dbbc03bdac783d23f8fec155c3b1..349c98f9818b3c841f07a4af44fecaad03039c89 100644 (file)
@@ -189,7 +189,7 @@ svc_pool_map_init_percpu(struct svc_pool_map *m)
                return err;
 
        for_each_online_cpu(cpu) {
-               BUG_ON(pidx > maxpools);
+               BUG_ON(pidx >= maxpools);
                m->to_pool[cpu] = pidx;
                m->pool_to[pidx] = cpu;
                pidx++;