LINUX.ORG.RU

systemd портит материнские платы PC/ноутбуков по дефолту монтируя efivarfs на чтение-запись

 ,


1

3

Пруф: https://github.com/systemd/systemd/issues/2402 Обсуждение на HN: https://news.ycombinator.com/item?id=10999335

Для Ъ: юзеры выводят из строя PC/лэптопы, по тем или иным причинам, удаляя каталог /sys/firmware/efi/efivars/, который systemd по дефолту монтирует в rw, т.е., грубо говоря, давая возможность удалить «биос» (да я знаю, что в реальности это uefi) изнутри ОС.

Один из случаев: https://bbs.archlinux.org/viewtopic.php?id=207549 (товарищ собирался переустановить систему, но им с другом стало любопытно, что будет происходить с Гномом, после выполнения rm -rf --no-preserve-root /. Итог печален, ноутбук MSI превратился... превратился MSI-ноутбук... нет, не в шорты. В кирпич).

Что я хотел сказать. Когда мудаков или школоту подпускаешь к серьёзным вещам: написание кода для ядра или написание новой системы инициализации (которая ВНЕЗАПНО становится не только системой инициализации), или написания кода для АЭС - логично предположить, что это рано или поздно закончится катастрофой. И если история с Пшшшшаудио завершалась (а по слухам, до сих пор завершается) лишь разражением, то дохлое железо пользователей карму Леннарту сильно укорачивают, индусские коровы в негодовании от происходящего, доложу я вам.

Слава Леннарту, слава systemd, товарищи! Верной дорогой движемся мы к светлому будущему, возглавляемое светлыми умами корпорации Redhat!


Ответ на: комментарий от vehn

Открою тебе страшную тайну: игра не имеет прямого доступа в VRAM :]

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

Всю жизнь считал, что регистр - это ячейка для хранения информации.

Неправильно считал.

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

Я думаю, тут Леннарт не прав, в том что монтирует rw по умолчанию. Нарушается тут принцип security by default — то есть умолчальные настройки должны быть безопасными. Конечно GNU/Linux не OpenBSD, но принцип-то хороший и следовало бы ему следовать.

От того и весь бугурт

Но фейл тут конечно в основном на стороне разработчиков UEFI, так как по-хорошему в такой ситуации должна загружаться какая-то дефолтная разумная конфигурация, не должно быть способа убить железо программно так легко.

Разработчики UEFI как-раз предусмотрели подобный разворот событий. Проблема как всегда в имплементации.

vehn ()
Ответ на: комментарий от intelfx

Неправильно считал.

In digital electronics, especially computing, a hardware register stores bits of information in such a way that systems can write to or read out all the bits simultaneously.

Википедия. В русскоязычной тоже самое, если что. Не ходи не проверяй )

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

если ты уже рут, то какая разница - пущай уж сразу будет на запись замонтирована

ОК, а что я могу в нее писать то? Я, честно говоря, вообще не в курсе что там и как в этом uefi, но туда можно руками влезть и что-то поменять (чтоб оно, конечно, потом работало)?

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

Лол. Ссылаться на википедию в техническом споре. Тем более — я прекрасно знаю, что такое регистр. Но это всё не отменяет того факта, что «регистров оперативной памяти» не существует, и, скорее всего, узнал ты об этом от меня :]

intelfx ★★★★★ ()
Последнее исправление: intelfx (всего исправлений: 2)
Ответ на: комментарий от alozovskoy

Да, можно. efibootmgr, bootctl install, systemctl reboot --firmware-setup и прочие так и делают.

intelfx ★★★★★ ()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от intelfx

Открою тебе страшную тайну: игра не имеет прямого доступа в VRAM :]

Я вижу дальше учавствовать в словопрениях про подачу вольт через «странные регистры» у тебя больше нет желания посему давай попробуем зайти с другой стороны (я надеюсь ты ценишь моё терпение и время, которое я трачу, чтобы ты занял рациональную позицию).

Вот посмотри, ты когда-нибудь слышал, чтобы девайс превращался в кирпич через /dev/mem (мне понятна твоя точка зрения о том, что это вероятно, вопрос не в этом)? Я нет. Зато теперь мы все знаем о том, что юзеры это очень легко проделывают потому что efivars по дефолту смонтированна в rw. Это обычная житейская мудрость: надеясь на лучшее, готовься к лучшему. Я считаю, что рациональный дефолт в данном случае, это ro. Исходя из вышеизложенного ты до сих пор считаешь решение Леннарта правильным? Несмотря на все законы Мэрфи? :)

vehn ()
Ответ на: комментарий от alozovskoy

ОК, а что я могу в нее писать то?

Вот это почитай и уже от неё танцуй. Это из разряда «всё что вы хотели знать про uefi/gpt, но боялись спросить». Её вроде на русский тоже перевели.. на хабре чтоле.

https://www.happyassassin.net/2014/01/25/uefi-boot-how-does-that-actually-wor...

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

Я не ценю твоё нубство и «незаметное» прыгание между тезисами, которое ты на протяжении половины страницы ты пытаешься выдать за компетентность. Товарищ, ты слился уже раз семь за этот короткий диалог, разве ты ещё не понял? :]

// По сабжу всё уже давно было сказано.

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

Я не ценю твоё нубство и «незаметное» прыгание между тезисами, которое ты на протяжении половины страницы ты пытаешься выдать за компетентность. Товарищ, ты слился уже раз семь за этот короткий диалог, разве ты ещё не понял? :]

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

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

через регистры на процессор вольты подавать

и в чем проблема?

registrant ★★★★★ ()

Я терпеть не могу, когда случается так: проект закончен на 100%. Вдруг релиз отлижили на одни сутки, чтобы что-нибудь ювелирное доработать. Внезапно начальство всё отменяет. Свет не увидел релиз какой-нибудь классной штуки.

Так, например, было с иксами от имени пользователя. Сделали Dbus+HAL+ConsoleKit, наняли крутецкого разработчика! Он регулярно отчитывался о титанической проделанной работе! Но вдруг начальство сказало «всё прекратить - работаем над новым проектом! Иксы объявить дефективными по дизайну и пообещать что в Wayland эта фича будет».

Или как с Commodore Amiga получилось. Это же разработка Atari, но в компании был кризис, пришёл Трэмел и сказал «всё выкинуть!». Впоследствие пожалел об этом решении, когда Амигу приобрёл Commodore и без промедления выпустил на рынок. Ещё нельзя не вспомнить Sega Dreamcast, которая, слава богу, успела релизнуться! Из не-айти вспоминаю не вышедшие диснеевские мультфильмы.

Systemd заменил ряд демонов и утилит, потенциал которых не был раскрыт в полной мере. Почему? Может быть, пришли новые разрабы, ушли старые, и новые не захотели разбираться в коде? Или начальство-придурки?

ZenitharChampion ★★★★★ ()
Последнее исправление: ZenitharChampion (всего исправлений: 2)
Ответ на: комментарий от ZenitharChampion

Не нравится свободный код? Иди пиши сам, чучело.

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

Как раз наоборот, я говорю: не нравится свободная реализация того или иного механизма? Пиши свой, никто не мешает. Ты паразит, не более.

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

Уже обсудили, Леннарт прав.

Ленарт козёл.

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

Vit ★★★★★ ()

Половина твоего поста - какой-то петушиный визг не по делу. Но я согласен, мудаков и школоту подпускать нельзя, потому что они потом делают такие вот материнки, до которых если не системд то что-то другое доберется.

entefeed ☆☆☆ ()
Ответ на: комментарий от registrant

и в чем проблема?

Научи бро, через /dev/mem. Ато вона, intelfx, всё пыжился-пыжился, но таки слился.

vehn ()

Вот это днище. Нет, это не шутка? Линаксы скатились.

Yossarian ()

Типичная логика фанатика:
- У меня инсталятор федоры не срартуерт
- У тебя железо не правильное

- У меня искы на убунте сразу после установки валятся
- У тебя руки кривые

- У меня раскаладка клавиатуры не переключается
- У меня она раскладка, следовательно переключатель не нужен

И до тех пор пока так будет, линуксу на десктопах места нет

GanGSISoft ★★ ()

удаляя каталог /sys/firmware/efi/efivars/, который systemd по дефолту монтирует в rw

им с другом стало любопытно, что будет происходить с Гномом, после выполнения rm -rf --no-preserve-root /

Лёня молодец. Дегенераты должны страдать.

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

Ты пока ещё не рассказал нам, как ты собрался подать на процессор два вольта, патлатый фанатик.

Yossarian ()

Все правильно поттеринг делает, фанбои должны страдать.

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

Тот самый случай, когда встретились мудаки и идиоты.

gadfly ★★ ()

Какое же говно это UEFI.

А я им и не пользуюсь, хоть материнка и с UEFI. Гружусь в legacy режиме.

# int13h @ homepc in ~ [12:52:50]
➜ ls /sys/firmware/efi/efivars/
ls: cannot access '/sys/firmware/efi/efivars/': No such file or directory
int13h ★★★★★ ()
Ответ на: комментарий от intelfx

Ты слился, это очевидно. Против простейшего удаления каталога приводить пример записи в /dev/mem по определённым адресам определённых значений - это полный фэйл.

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

Попасть в регистры контроллера памяти, отвечающие за over-voltage?

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

Понимаешь ли.

Сабж о том, что в некоторых(!) системах удаление каталога может к чему-то там приводить.

А я о том, что в некоторых других системах, если понаписать мусора в /dev/mem или в /sys/bus/i2c/..., тоже может что-нибудь случиться. В случае с i2c для этого даже не нужно ископаемое железо.

А теперь вопрос: чем rm -rf / «по приколу» отличается от find / -type f -exec dd if=/dev/urandom of={} bs=1M count=1 \; «по приколу»?

Но разговор-то даже не об этом. Я согласен, что аргумент слабый. А о том, что vehn стал в ответ гнать пургу вида «я не знаю, что такое регистры», вместо того чтобы спросить «а каков процент систем, в которых понаписание мусора в память может к чему-то привести».

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

Ну он честно сказал, что не знает подробностей, но суть сказал правильно, это плохо?

Его пойнт в том, что стереть гораздо проще, чем написать даже просто мусора в определённый файл - правильнее и логичнее, чем твой вида «защищать systemd при любом фэйле, даже если при этом выглядеть глупо»

Dimez ★★★★★ ()
Последнее исправление: Dimez (всего исправлений: 2)
Ответ на: комментарий от Dimez

Я не вижу здесь фейла systemd.

Это _правильно_ решается либо блэклистом на уровне ядра, как напомнил tailgunner в соседнем треде, либо добавлением сакральной строчки в fstab в дуракодружелюбных дистрибутивах. Лепить ro по дефолту везде в попытках сохранить систему от ногострелов — контрпродуктивно, т. к. есть ещё масса способов так или иначе оную систему изнасиловать.

intelfx ★★★★★ ()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от intelfx

Это _правильно_ решается либо блэклистом на уровне ядра, как напомнил tailgunner в соседнем треде

Эта конкретная проблема перестает быть проблемой после монтирования в ro.

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

либо добавлением сакральной строчки в fstab в дуракодружелюбных дистрибутивах.

И давно это у нас efivars из fstab монтируется? :)

Dimez ★★★★★ ()

Что я хотел сказать. Когда мудаков или школоту подпускаешь к серьёзным вещам: написание кода для ядра или написание новой системы инициализации (которая ВНЕЗАПНО становится не только системой инициализации), или написания кода для АЭС - логично предположить, что это рано или поздно закончится катастрофой. И если история с Пшшшшаудио завершалась (а по слухам, до сих пор завершается) лишь разражением, то дохлое железо пользователей карму Леннарту сильно укорачивают, индусские коровы в негодовании от происходящего, доложу я вам.

Нехило у тебя пукан подорвало. Ты там в стратосферу не улетел?

Не systemd ломает твои материнки, а идиоты, которые вызывают rm -rf /*, не подумав 7 раз.

Если прошивка матплаты брикается от удаления EFIVARS, то это хреновая прошивка. И костыли в юзерспейсе ставить, и этим самым поощрять таких прошивкописателей, не имеет смысла.

P.S. Пишу в удалённый тред.

nexfwall ★★★★ ()
Последнее исправление: nexfwall (всего исправлений: 1)

Нет ни малейшего сомнения, что это уголовная статья.

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

Попасть в регистры контроллера памяти, отвечающие за over-voltage?

А они доступны через /dev/mem? Считаешь регистры _контроллера_ памяти доступны от туда?

Собственно я его как-раз пытался подвести под подобного рода ответ, где я его отправил бы искать пруфы, что области памяти предназначенные для «внутреннего потребления» самим устройством (или соседним устройством) доступны из /dev/mem, но парень продолжал мямлить про видеоигры и посылал меня читать про виртуальную память. Без реальных юзкейсов разговор изначально был песпредметный, у него их нет.

vehn ()
Ответ на: комментарий от nexfwall

Если прошивка матплаты брикается от удаления EFIVARS, то это хреновая прошивка. И костыли в юзерспейсе ставить, и этим самым поощрять таких прошивкописателей, не имеет смысла.

Бгг, юношеский максимализм такой юношеский. В любой подсистеме ядра полно исключений и костылей. К примеру, загляни хоть раз в libata-core.c и твои волосы больше никогда не будут мягкими и шелковистыми как прежде.

Dimez ★★★★★ ()

им с другом стало любопытно, что будет происходить с Гномом, после выполнения rm -rf --no-preserve-root /. Итог печален, ноутбук MSI превратился... превратился MSI-ноутбук... нет, не в шорты. В кирпич

И виноваты в этом не «они с другом», не Гном, не /bin/rm, а Леннарт и systemd. Байку про японскую пилораму и суровых сибирских мужиков с рельсой знаешь?

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

Ещё один фанбой Леннарта? Проходи дальше, очередь за углом, направо, возле туалета.

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

Судя по реакции, не только знаешь байку, но и узнал себя в ее героях.

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

Леннарт справедливо указал на то, что решение путём монтирования в ro — это костыль (пусть даже и оправданный для кого-то). [Он считает, что] костыли под конкретную ЦА должны быть в даунстриме.

intelfx ★★★★★ ()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от Dimez

systemd учитывает нестандартные параметры из fstab, если они там есть.

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

Лол, все регистры PCI-устройств доступны из памяти. Почитай уже про MMIO, конфигурационные пространства устройств PCI, регистры BAR и не позорься хоть сейчас.

intelfx ★★★★★ ()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от intelfx

Леннарт справедливо указал

фейспалм

[Он считает, что]

Пусть считает дальше.

tailgunner ★★★★★ ()

А есть какая-то причина монтировать efivars в rw? Система туда что-то пишет в процессе работы?

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