Допускает ли стандарт C арифметику указателей с участием void*? Нечто типа
void *buffer = getBuffer();
buffer += offset;
Насколько я понимаю, это undefined behavior, но компиляторы это пропускают и обрабатывают адекватно. Где можно про это прочитать?
Второй вопрос - пропускают ли подобный код в ядро? Если со ссылкой на прецедент, то вообще здорово.