Кто хорошо разбирается в линуксовом аллокаторе, подскажите, если в функции kmem_cache_alloc вылезает проблема при проверки флагов RED_ZONE, это говорит о том что память коррапченная в результате buffer overflow?
Названия я несколько упростил, потому что ядро на железяке стоит 2.4, а все популярные доки, что смог найти, для 2.6 и там всё немного по другому. Если конкретно:
Файл: mm/slab.c
Функция: kmem_cache_alloc_on_tail
Проверка:
if(xchg((unsigned long *)objp, RED_MAGIC2) != RED_MAGIC1) {
BUG();
}