Source
2108
2108
goto done;
2109
2109
2110
2110
return -E2BIG;
2111
2111
2112
2112
done:
2113
2113
cachep->freelist_size = cachep->num * sizeof(freelist_idx_t);
2114
2114
cachep->flags = flags;
2115
2115
cachep->allocflags = __GFP_COMP;
2116
2116
if (flags & SLAB_CACHE_DMA)
2117
2117
cachep->allocflags |= GFP_DMA;
2118
+
if (flags & SLAB_CACHE_DMA32)
2119
+
cachep->allocflags |= GFP_DMA32;
2118
2120
if (flags & SLAB_RECLAIM_ACCOUNT)
2119
2121
cachep->allocflags |= __GFP_RECLAIMABLE;
2120
2122
cachep->size = size;
2121
2123
cachep->reciprocal_buffer_size = reciprocal_value(size);
2122
2124
2123
2125
#if DEBUG
2124
2126
/*
2125
2127
* If we're going to use the generic kernel_map_pages()
2126
2128
* poisoning, then it's going to smash the contents of
2127
2129
* the redzone and userword anyhow, so switch them off.