[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

mm/slab.c: linux 2.6.1 fix 2 unguarded kmalloc and a PAGE_SHIFT


Hi list,
this fixes catches 2 unguarded kmallocs() and changes a statement so that PAGE_SHIFT >20 causes a warning. 
At least sparc64 is prepared for a  PAGE_SHIFT >20.

hope that helps,
walter


--- mm/slab.c.org       2004-01-25 08:18:25.243165360 +0100
+++ mm/slab.c   2004-01-25 08:33:05.135401408 +0100
@@ -666,7 +666,7 @@
         * Fragmentation resistance on low memory - only use bigger
         * page orders on machines with more than 32MB of memory.
         */
-       if (num_physpages > (32 << 20) >> PAGE_SHIFT)
+       if (num_physpages > (32 << (20-PAGE_SHIFT) )
                slab_break_gfp_order = BREAK_GFP_ORDER_HI;
 
 
@@ -737,6 +737,10 @@
                void * ptr;
 
                ptr = kmalloc(sizeof(struct arraycache_init), GFP_KERNEL);
+
+               if (!ptr)
+                 BUG();
+
                local_irq_disable();
                BUG_ON(ac_data(&cache_cache) != &initarray_cache.cache);
                memcpy(ptr, ac_data(&cache_cache), sizeof(struct arraycache_init
));
@@ -744,6 +748,10 @@
                local_irq_enable();
 
                ptr = kmalloc(sizeof(struct arraycache_init), GFP_KERNEL);
+
+               if (!ptr)
+                 BUG();
+
                local_irq_disable();
                BUG_ON(ac_data(malloc_sizes[0].cs_cachep) != &initarray_generic.
cache);
                memcpy(ptr, ac_data(malloc_sizes[0].cs_cachep),

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo _at_ vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


この情報があなたの探していたものかどうか選択してください。
yes/まさにこれだ!   no/違うなぁ   part/一部見つかった   try/これで試してみる

あなたが探していた情報はどのようなことか、ご自由に記入下さい。特に「まさにこれだ!」と言う場合は記入をお願いします。
例:「複数のマシンからCATV経由でipmasqueradeを利用してWebを参照したい場合の設定について」
Follow-Ups: