Все вытекает из таблицы ловушек архитектур. Обычно это называется entry.S (разделено на x86 между entry_32 и entry_64.S) и имеет ассемблерную связь, которая делает несколько вещей (в зависимости от конфигурации), прежде чем отправиться в код на C самого ядра.
Таким образом, недопустимый доступ к памяти должен поступать либо через page_fault, либо через general_protection, и, вероятно, в конечном итоге он выполнит force_sig_info, прежде чем окончательно окажется в очереди в пользовательском пространстве в send_signal (kernel / signal.c).