LINUX.ORG.RU

Ядро Linux проверено статическим анализатором PVS Studio

 , , , ,


2

6

Исходный код ядра Linux (3.18.1) был проверен проприетарным статическим анализатором PVS Studio, разработанным в Туле. Анализатор нашёл ряд ошибок и крайне подозрительных участков кода. Полный текст статьи можно найти на сайте компании или на habrahabr.ru.

PVS-Studio ориентирован только на Windows, поэтому для проверки исходного кода ядра Linux была написана утилита на С++, которая для каждого запущенного процесса компилятора сохраняла командную строку, текущую директорию и переменные окружения. По результатам проверки были выбраны и подробно описаны некоторые интересные сообщения.

>>> Результаты проверки ядра Linux (3.18.1) анализатором PVS-Studio

В комментариях к предыдущей новости было много странного негатива и заблуждений. Я хотел прояснить некоторые вопросы, оставив комментарии. Но было поздно, так как тема была удалена. Мне предложили создать новую, что я и делаю.

Андрей, это не хабр :) Тут обезличенная новостная стилистика должна соблюдаться.

AP ★★★★★ ()
Ответ на: комментарий от AP

Ну не умею :) Я тут мимоходом. Быть может кто-то перепишет как-то ещё. Ну или засуньте куда-то в оффтопики. Всё равно можно будет обсудить с интересующимися что-то. Ибо на Хабре писать комментарии может весьма ограниченная группа людей.

Andrey_Karpov_2009 ()

А проверьте еще {Free,Open,DragonFly}BSD.

anonymous ()

Андрей, линк на хабр по этому поводу уже был тут.

andreyu ★★★★★ ()
Ответ на: комментарий от AP

с каких пор на лоре всё так строго? :)

anonymous ()

Новость неоднозначная.

Я так и не понял, что это было: пиар или таки годное дело? Сами ребята не стесняясь, пишут про эдакий красивый рекламный ход. Но вроде как и сообществу помогли (помогли?). Посмотрел вскользь, ошибки вроде не критичные, скорее предупреждения...

P.S. Чую, назревает срачик )))

pmedved ()

Эх, раз, ещё раз…

Deleted ()

А сам PVS-Studio проверяли при помощи PVS-Studio?

olibjerd ★★★★★ ()
Ответ на: комментарий от pmedved

P.S. Чую, назревает срачик )))

Ты опоздал. Да и срачик годный только между апруверами был.

mandala ★★★★ ()
Ответ на: комментарий от olibjerd

Я ждал этого коментария в этой версии обсуждения.

mandala ★★★★ ()

Переведите на английский и дайте Линусу почитать. А мы пока за попкорном.

Solace ★★ ()

Так можно ли ждать PVS Studio для Linux? ;)

hobbit ★★★★★ ()
Ответ на: комментарий от ivanlex

На хабре были ссылки, можешь сходить посмотреть.

mandala ★★★★ ()

Вы таки мне скажите, 12309 они нашли или нет?

haku ★★★★★ ()

Линус Торвальдс уже отреагировал на попытку пропатчить запись нуля там, где уже нуль. Он обнаружил, что это хуже - это порча памяти, если строка не влезает в 99 байт.

https://lkml.org/lkml/2015/1/4/177

ответ Линуса

Actually, it's worse than that. This:

>         len = snprintf(fname, 99, "%s", buf);
> -       fname[len-1] = '\0';

is complete garbage, since the return value of snprintf() is not the
length of the result, but length of what the result *would* have been.

So if the string doesn't fit in 99 bytes, it will actively corrupt
some random memory after the string. It's not writing zero to what was
already zero, it's corrupting memory.

Anyway, from a quick glance your patches look fine, but you need to
sign off on them. See Documentation/SubmittingPatches.
anonymous_incognito ★★★★★ ()

Немного оффтоп, но есть довольно популярный открытый проект Linux Multimedia Studio (несмотря на название, собирается и под Windows), переполненный багами. Кажется, он не проверялся даже CppCheck (хотя недавно в списке рассылки заговорили, что неплохо было бы проверить с помощью Coverity). Понимаю, что вряд ли сообщество решит скинуться хотя бы на CppCat, но если вы его проверите, может быть, найдётся интересный материал для статьи.

Ceiling_QB ★★★★ ()
Ответ на: комментарий от olibjerd

Ну всё, сейчас тебя заминусуют.

Wait, oh shi~

Deleted ()
Ответ на: комментарий от hobbit

Так можно ли ждать PVS Studio для Linux? ;)

Не, лучше открытия исходников под свободной лицензией? :)

Ведь свободный софт - это хорошо, а проприетарный - плохо

Harald ★★★★★ ()

И чего, теперь будем бесконечно форсить эту новость на ЛОРе, пока каждый анонимус не запишет название «PVS Studio» себе в подсознание?

asaw ★★★★★ ()

2 новости есть. Теперь осталось пройти маршем «Я - PVS Studio» во главе с Путиным и будет порядок.

punya ★★ ()

Что этот рекламный вброс делает на лоре?

ttyv0_o ()
Ответ на: комментарий от pmedved

Я так и не понял, что это было: пиар или таки годное дело?

И то, и другое. И это хорошо.

andreyu ★★★★★ ()
Ответ на: комментарий от olibjerd

А сам PVS-Studio проверяли при помощи PVS-Studio?

Кроме этого вопроса, есть еще один популярный - «а вы отправили отчет разработчикам тестируемого приложения?»

andreyu ★★★★★ ()
Ответ на: комментарий от hobbit

Так можно ли ждать PVS Studio для Linux? ;)

Это второй по частоте использования вопрос в топике о PVS Studio :)

andreyu ★★★★★ ()

Пиар ход, хотя, несмотря на мое отношение к проприетарщине, хорошо, что проверили. Может будет меньше багов. Безусловно, если (проприетарная=потенциально вредоносная) программа предлагает патчи, их нужно вручную проверять, Линус молодец.

Klymedy ★★★★★ ()

Почему бы вам не сделать открытый сервис для проверки СПО вашим анализатором? Потому что пока вы сами тыкаете отдельные проекты, это жалкий пиар без пользы для сообщества, и ИМХО это сильно портит вам репутацию.

slovazap ★★★★★ ()
Ответ на: комментарий от Shaman007

хм. а я думаю - видел другую новость. с тридцатьпервого-первого не пил. ЛОР взломали или глючит?

а тут другая новость.

а -Wall половину этих ошибок не выявит?

samy_volosaty ★★★★★ ()
Ответ на: комментарий от samy_volosaty

И что же им должны предложить свободные проекты, которые в большинстве своём пишутся на энтузиазме?

slovazap ★★★★★ ()
Ответ на: комментарий от slovazap

Сервера с ОС на базе ядра Linux не всегда живут только на голом энтузиазме,зарабатывают они конечно не кодом,проекты ведут и развивают для внутреннего применения,ну и с другими для превлечения разработчиков делятся.(Гугл,Мордокнига)
Да и другие проекты могут поддерживаться коммерческими проектами.
(Например sip телефония)
Предложите свои услуги им.

torvn77 ★★★★★ ()
Ответ на: комментарий от torvn77

Из набора слов который вы написали я не понял ничего. Какие услуги я должен предложить? Какая нафиг телефония?

Я раскрою свою мысль, если она непонятна: компания паразитирует на опенсорсе, не принося ему никакой реальной пользы. Почему? Потому что их проверки а) точечные и б) нерегулярные (скорее всего, даже однократные для каждого проекта), при том что они сами пишут как важно проводить статический анализ постоянно. Итого, профита для сообщества нет, профит для конторы есть - PR. Это паразитизм, и этим обусловлено крайне негативное отношение к компании в профессиональной среде.

Я предлагаю сделать публичный сервис аналогичный travis-ci: свободный софт проверяется бесплатно, закрытый код - по платной подписке. Профит СПО сообществу очевиден, профит компании - положительный PR и намного более широкая коммерческая аудитория. Вопрос «cppcat под linux» также, возможно решается.

slovazap ★★★★★ ()
Ответ на: комментарий от slovazap

Подразумевается, что если нужны регулярные проверки - опенсорсный проект покупает лицензию.

CatsCantFly ()
Ответ на: комментарий от slovazap

Какая нафиг телефония?

Пример после короткого гугления:
http://www.mango-office.ru/products/SIP?gclid=CM6j55Oxj8MCFePPcgodBZAAGw

http://www.google.ru/url?sa=t&rct=j&q=&esrc=s&source=web&...

Наверняка они свою сеть строят на основе какого ни будь опенсорсного сервера и неужели ни одна из этих компаний не захочет заплатить за ревизию своего продукта?

torvn77 ★★★★★ ()
Ответ на: комментарий от slovazap

Я раскрою свою мысль, если она непонятна: компания паразитирует на опенсорсе,

Вданном случае программа не структурообразующая,можно и потерпеть.

На худой конец сделайте открытый аналог,или начните краудфандинговую компанию по сбору средств для выкупа кода.

torvn77 ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.