]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blobdiff - lib/assoc_array.c
Partially revert "kfifo: fix kfifo_alloc() and kfifo_init()"
[mirror_ubuntu-bionic-kernel.git] / lib / assoc_array.c
index b77d51da8c73def55d1aea5ca6c34161652981a0..d3f23a32107d18c745ebbe7f5b13ae6d966e47e1 100644 (file)
@@ -781,9 +781,11 @@ all_leaves_cluster_together:
                new_s0->index_key[i] =
                        ops->get_key_chunk(index_key, i * ASSOC_ARRAY_KEY_CHUNK_SIZE);
 
-       blank = ULONG_MAX << (level & ASSOC_ARRAY_KEY_CHUNK_MASK);
-       pr_devel("blank off [%zu] %d: %lx\n", keylen - 1, level, blank);
-       new_s0->index_key[keylen - 1] &= ~blank;
+       if (level & ASSOC_ARRAY_KEY_CHUNK_MASK) {
+               blank = ULONG_MAX << (level & ASSOC_ARRAY_KEY_CHUNK_MASK);
+               pr_devel("blank off [%zu] %d: %lx\n", keylen - 1, level, blank);
+               new_s0->index_key[keylen - 1] &= ~blank;
+       }
 
        /* This now reduces to a node splitting exercise for which we'll need
         * to regenerate the disparity table.