LINUX.ORG.RU

Linux 6.11

 

Linux 6.11

1

3

Вышел очередной релиз ядра Linux 6.11 с рядом значимых изменений, важнейшие среди которых:

  • Добавлена поддержка операций атомарной записи на блочном уровне, при которых на накопитель записывается либо весь указанный набор блоков, либо ни один из блоков. Это может предотвратить ситуации, когда после сбоя оборудования или по иной причине записывается лишь часть блоков, а в другой части остаётся старая информация. Включение атомарного режима записи осуществляется системным вызовом pwritev() в который добавлен флаг RWF_ATOMIC.
  • Снятие запрета на запись в исполняемые файлы, связанные с работающими процессами. Ранее при попытке записи в исполняемый файл запущенного процесса ядро выводило ошибку.
  • Добавлена возможность разработки драйверов блочных устройств на языке Rust. В качестве примера в ядро добавлен драйвер rnull, представляющий собой аналог драйвера null_blk, написанный на языке Rust. Также продолжен перенос изменений из ветки Rust-for-Linux, связанных с использованием языка Rust в качестве второго языка для разработки драйверов и модулей ядра (поддержка Rust не активна по умолчанию, и не приводит ко включению Rust в число обязательных сборочных зависимостей к ядру).

С более полным списком изменений можно ознакомиться на Опеннете.

>>> Официальный релиз

★★★★★

Проверено: hobbit ()
Последнее исправление: Dimez (всего исправлений: 5)

Снятие запрета на запись в исполняемые файлы, связанные с работающими процессами. Ранее при попытке записи в исполняемый файл запущенного процесса ядро выводило ошибку.

Прикольно, а я никогда даже не пытался так сделать

dron@gnu:~/Рабочий-стол/test$ echo test > a.out 
bash: a.out: Текстовый файл занят
dron@gnu:~/Рабочий-стол/test$ 

Ура, я успел! Но… зачем разрешать по умолчанию перезаписывать исполняемый файл во время его работы? Не будут ли приложения семи себе BSS константы перезаписывать? Ну хрен знает, ну приспичит кому, при этом хеш суммы поедут и паранойя будет, мол а чёэто у меня debsumm у установленного пакета не может хеши проверить и всё, паника, паранойя, бутылка, алкоголизм, долгое лечение, развод и вся жизнь на смарку.

Ну, а если серьёзно зачем? Обновлять файл? Так ядро не запрещает удалять и подменять целиком исполняемый файл, применять при обновлении бинаря не его замену, а замену его части? Так в этом тоже смысла нет. Дописывать в конец работающего исполняемого файла данные? Зачем?

UDP:

Всё равно херня какая-то тут точно где-то есть и будут не очевидные грабли из за которых в следующей версии всё откатят. назад. Вот к гадалке не ходи. Что-то да случится. А уж какое раздолье для всяких нехороших программ ой мама не горюй.

Берёшь такой бинарь проверяешь его, в нём всё чисто и нет обращений к сети, запустил его, а он что-то модифицировал в себе и при следующем запуске уже делает запрос к сети. Весело, опять же вся инфраструктура основанная на хеш суммах поедет нахер, если теперь это будет фича, самоизменяемые бинари, во класс. Не, это прикольно и можно наверное делать что-то полезное, но если это станет популярно, ну а чё можно же! То это значит такой софт тупо будет падать на прошлых версиях ядра, и превратит /usr/bin в кажу из непонятно чего.

LINUX-ORG-RU ★★★★★
()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 3)
Ответ на: комментарий от LINUX-ORG-RU

Вишенка на торте

Yes, someone in userspace could potentially be relying on this. It's not
completely out of the realm of possibility but let's find out if that's
actually the case and not guess

Буквально (не перевод, а смысл), давайте просто попробуем это сделать, авось прокатит. Мы понятия не имеем к чему это может привести, у нас мол даже цели никакой нет, просто вот. Живите теперь с этим, может быть у вас что-то отвалится, кек лол.

Так что вопрос «зачем?» остался, не зачем, а просто так. Но зачем просто так?

LINUX-ORG-RU ★★★★★
()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 3)
Ответ на: комментарий от LINUX-ORG-RU

Берёшь такой бинарь проверяешь его, в нём всё чисто и нет обращений к сети, запустил его, а он что-то модифицировал в себе и при следующем запуске уже делает запрос к сети.

Это и раньше можно было, если хочешь защититься от этого, то сделай его readonly.

MOPKOBKA ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

запустил его, а он что-то модифицировал в себе

можно сделать и старым способом

ядро не запрещает удалять и подменять целиком исполняемый файл

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