Разделы

ПО Свободное ПО Безопасность Стратегия безопасности Бизнес Кадры

В новый Linux попала ошибка, «способная убить все ядро»

Линус Торвальдс сообщил, что в процессе исправления давней ошибки в ядре Linux был создан код, «способный убить все ядро». Код просочился в версию 4.8, представленную три дня назад, поскольку Торвальдс не проверил работу сотрудника.

Линус Торвальдс с шумом отругал коллегу

Линус Торвальдс (Linus Torvalds) подверг жесткой критике версию ядра Linux 4.8, представленную им же самим 2 октября 2016 г. Как оказалось, новая версия содержит код, способный убить все ядро Linux. Вредоносный код попал в ядро по вине топового разработчика Эндрю Мортона (Andrew Morton), который неудачно исправил ошибку, имевшуюся во всех версиях ядра с 3.15 и выше. Торвальд высказал все, что думает о коллеге, в характерной для него бесцеремонной манере.

Технический аспект проблемы

Торвальдс сообщил, что Мортон некорректно использовал механизм отладки BUG_ON(), который использовал при работе с предрелизной версией ядра версии 4.8. По словам Линуса, он принял ряд исправлений от Мортона в готовом виде непосредственно перед релизом версии 4.8. Торвальдс признал, что часть вины за ошибку лежит на нем, так как ему следовало обратить внимание на добавленные строки BUG_ON(). Он отметил, что разработки Мортона пользуются доверием, однако в этом случае код явно не был в достаточном объеме протестирован, прежде чем его направили к Торвальдсу.

В резких выражениях создатель ядра Linux пообещал изъять саму идею «идиотского» BUG_ON() из практики отладки, однако напомнил, что в 2002 г. лично опубликовал руководство по использованию этого механизма, где пояснил, когда его не следует применять. Как бы то ни было, по словам Торвальдса, прежняя ошибка в ядре, кочевавшая из версии в версию, была несравнимо безобиднее, чем «убийство всего ядра».

Эндрю Мортон (слева) и Линус Торвальдс

Следует отметить, что в версию ядра Linux 4.8, на создание которой ушло около двух месяцев, было внесено более 13 тыс. исправлений от 1,5 тыс. разработчиков. Общий размер патча составил 41 Мб, изменения коснулись 11303 файлов.

Проблема общения в сообществе разработчиков ядра Linux

Грубая критика в адрес Мортона – не первое проявление неуважительной манеры Торавльдса общаться с коллегами. В начале 2015 г. создатель ядра Linux открыто заявил, что он – неприятный в общении человек, и что его заботит только качество его продукта, а не окружающие люди.

В марте 2015 г. участники сообщества разработчиков ядра Linux подписались под кодексом разрешения конфликтов, написанным одним из ведущих разработчиков Грегом Кроа-Хартманом (Greg Kroah-Hartman). Примечательно, что Торвальдс одобрил нововведение, которое должно было в первую очередь умерить его собственный пыл.

В конце 2015 г. года участники сообщества Сара Шарп (Sarah Sharp) и Мэтью Гарет (Matthew Garrett) отказались от дальнейшей работы в нем, поскольку не могли больше выносить грубости общения, а также гомофобских и сексистских шуток. В частности, у Гарета был конфликт с самим Торвальдсом, который в грубой форме раскритиковал его работу, впоследствии получившую всеобщее признание.

Валерия Шмырова