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)

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

А если про копипасту с опеннета, то с честным указанием источника можно.

Лор вдруг открылся для меня с новой стороны. Век живи…

krasnh ★★★★
()

Для тех, кто в недоумении, какую картинку так рьяно обсуждают выше:

Исправление maxcom, вчера 15:58:

Изображение удалено

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

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

krasnh ★★★★
()

Чего разнылись, чтобы не писали в бинарник - нужно отбирать права, а запущен бинарник или нет - дело десятое

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

Затем что библиотеки перезаписываются, а бинарник нет.
Обновления ставить не закрывая программ.

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

На маке это давно есть на винде тоже.

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

Ты предлагаешь старой работающей программе смапить сегменты из новой версии или вообще другой программы?

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

Да, это разумное объяснение. Я чот об этом не подумал. :( Все чот про ядро и про безопасность. Ну профдеформация, извините.

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

Для этого достаточно удалить файл бинарника и записать новый.

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

Век живи

Так это давно уже разрешено. С тех пор как лорчик начал сдуваться в плане контента. Слава б-гу, есть еще трудяги вроде @dataman (за что ему отдельное спасибо, т.к. у него много полезных новостей) и еще парочки юзеров. Иначе б тут вообще был кисляк.

Gonzo ★★★★★
()
Ответ на: комментарий от no-dashi-v2

Забыли добавить, что эта штука работает только если нижележащий слой это поддерживает.

Жаль. А я уж надеялся, что копирование с одного сервера NFS на другой теперь можно атомарно сделать.

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

Я предлагаю поддерживать маппинг консистентным независимо от записи в файл загруженной программы. Более того, я почти уверен что именно так это и реализовано в свежей версии.

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

Не, правильный вопрос - почему до сих пор пихают сишку, при том что она вся нахрен сломанная by design. Так-то до этого что только не пихали, начиная с ады, но сишники как ни осиливали так и не осиливают, раст тут не принципиален

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

Разработчики ядра: было бы неплохо интегрировать раст в ядро. Это открывает нам новые возможности

Белки-истерички: жыдорептилоиды пропихивают раст!!! голактеко опасносте!!!

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

Да да, все уже поняли что сишечка это религия, кондовая такая средневековая религия - мрачные, укрощающие плоть монахи, хлещущие себя по спине (и пользователей), вши(bugs), вонь(комменты на опеннете), агрессивные и восторженные фанатики(лор), святые Керниган Ричи терпели и нам велели - вот это всё

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

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

А вот сишечка это скорее атеизм - все в твоих руках, как накодил то и получил.

Qui-Gon ★★★★★
()
Ответ на: комментарий от zurg

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

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

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

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

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

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

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

Интересный речевой оборот))) Ну ведь не зря же сообщество разделилось на два лагеря! Видимо всё же есть нюансы?

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

Обновления ставить не закрывая программ.

Этим занимается кто, пакетный менеджер или сама программа?

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

Ну ведь не зря же сообщество разделилось на два лагеря! Видимо всё же есть нюансы?

По вопросу полезности пастеризованного молока люди тоже разделились на два лагеря. И по вопросу реальности магии и экстрасенсов. Что сказать-то хотел?

hateWin ★☆
()
Ответ на: комментарий от Qui-Gon

дебилы быдлокодеры

Там в треде про unsafe в крестах пример привели. Теодор Тсо, по-твоему, дебил-быдлокодер? Он в 2013 закоммитил код, содержащий типичную сишную ошибку — запись в память за пределами массива из-за отсутствия проверки размера записываемого объекта. Си позволяет маскировать подобные проблемы, эту ошибку нашли только через ПЯТЬ лет. Именно такие проблемы Раст и пытается решить. По крайней мере, частично. Все остальное — твои фантазии

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

Отстаньте вы уже от меинтейнеров ядра. Они коммитят код который прилетает откуда угодно, и понятно что весь код меинтейнер проверить и переварить не может. И протестить в общем-то тоже.

Единственное что может быть полезным в расте - что язык настолько уродлив что имеет высокий порог входа, и прежде чем на нем hello world написать придется поучить чуть больше чем аналогично на С. Впрочем это тоже несколько сомнительный барьер учитывая особенности индийского обучения программированию - там отлично вбивают синтаксис языка так что падаван ночью проснувшись от удара палки может написать синтаксически идеальный код котороый скомпилируется без единой ошибки при этом ни разу не понимая что этот код делает и нафига он нужен.

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

Отстаньте вы уже от меинтейнеров ядра

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

Они коммитят код который прилетает откуда угодно, и понятно что весь код меинтейнер проверить и переварить не может. И протестить в общем-то тоже.

Эту ошибку искали пять лет. Эта ошибка была в коде драйвера ext4, самой популярной файловой системы в линуксе. Именно по этой причине разработчики ядра интересуются растом. Чем больше таких ошибок язык позволяет отловить на этапе разработки, тем проще будет разработчикам сопровождать большие проекты. При этом раст не является серебряной пулей, раст просто решает некоторую часть проблем. Собственно, на данном этапе разработчики ядра просто экспериментируют, пытаясь определить, действительно ли раст снижает трудозатраты, или привносит больше проблем, чем решает.

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

Не перекладывай с больной головы на здоровую. У Теда одна ошибка проскочила за дцать лет - а сколько там в растопроектах ощибок и глюков? Ни одной за историю, да? Все ж идеально.

Thunderbird написан на вашем любимом расте. И что - там полгода ищут понять не могут почему он собака убивает IMAP почту к чертям начиная с версии 122. И это только одна плюха

Так что это у растбоев только раст панацея от ошибок и дурацкая иллюзия что если бы Теодор писал на расте а не на С то него вообще было бы все идеально.

В отличии от растбоев Линус отлично понимает что переписывание кода ядра на расте бесполезный мартышкин труд и не будет того пока Линус у руля.

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

Qui-Gon ★★★★★
()

У меня 6.2 пока, стандартное ядро.

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

Как именно тегирование памяти решает все проблемы, которые решает раст? Что делать на отличных от эльбруса архитектурах?

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

Тегирование памяти здесь непричем. Он умеет контролировать границы выделенной памяти и не дает писать за пределы массива, при компиляции это может и не отслеживается, но зато UB легким движением руки превращается в сегфолт, благодаря чему отлавливается и исправляется.
В расте же предлагается юзать только итераторы и запретить пользоваться произвольным доступом к элементам массива.
То есть переписать все на анально-ограниченный язык ради условной безопасности vs добавить в хардварь средства защиты и поддержать их в ядре. Даже не знаю.

Что делать на отличных от эльбруса архитектурах?

А что делать архитектурам которые не поддерживаются llvm и/или для которых раст и его библиотека слишком жирные?

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

А что делать архитектурам которые не поддерживаются llvm и/или для которых раст и его библиотека слишком жирные?

Архитектур, поддерживаемых растом, больше, чем одна. И процессоры, реализующие эти архитектуры, массово производятся, в отличии от (не танцпол, просто констатация факта).

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

но зато UB легким движением руки превращается в сегфолт, благодаря чему отлавливается и исправляется.

А раст позволяет обнаруживать часть проблем на этапе компиляции.

В расте же предлагается юзать только итераторы и запретить пользоваться произвольным доступом к элементам массива

Это ты выдумал. Тебе никто не мешает обращаться к элементам. Включил unsafe и обращайся по самое небалуйся.

То есть переписать все на анально-ограниченный язык ради условной безопасности vs добавить в хардварь средства защиты и поддержать их в ядре. Даже не знаю.

Проблема в том, что раст и аппаратная защита памяти никак друг друга не исключают. Аппаратная защита смягчает последствия некорректного обращения с памятью. Раст позволяет строго разделить кодовую базу на безопасную и потенциально небезопасную части и отлавливать часть ошибок еще на этапе компиляции. Идеологически, эти два подхода никак не противоречат.

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

А раст позволяет обнаруживать часть проблем на этапе компиляции.

Так переписав/перелопатив весь код.

Включил unsafe и обращайся по самое небалуйся.

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

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

Ну и записал за границы массива, точно так же

Нет. Не точно так же. А только в том случае, где без ансейфа никак. В остальных случаях ты можешь пользоваться безопасным подмножеством языка. Это ограничивает количество мест, где возможен факап, вот и все. Раст не позволяет полностью избавиться от риска испортить память, но позволяет уменьшить вероятность такого исхода.

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

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

Это в идеальном мире, в реальном они плохо друг на друга накладываются, что бы иметь безопасность на уровне компиляции на расте пишут так что там по нескольку раз копируются данные и пробегаются массивы, зачем железу которое заточено на безопасное исполнение вот этот вот неоптимальный код? Плюсовые объекты с указателями на сегменты самое то.
А расту не нужно безопасное железо он ориентируется на то что меинстрим в llvm и предлагает заткнуть недостатки меинстримовых архитектур рантайм библиотекой.

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

Ну и записал за границы массива, точно так же

Ты непробиваемый. Ты правда не видишь разницы между полным отсутствием возможности переложить часть заботы по обеспечению безопасности на компилятор и возможностью использовать unsafe только там, где компилятор не вывозит? В первом случае весь код будет условным ансейфом, а во втором — только часть.

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

Это в идеальном мире, в реальном они плохо друг на друга накладываются

Поподробней, пожалуйста. Что именно плохо накладывается и почему?

на расте пишут так что там по нескольку раз копируются данные и пробегаются массивы

Что копируется, куда копируется? Примеры в студию.

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

Я тебе ещё раз напоминаю: отделение безопасного кода от небезопасного и проверки на этапе компиляции ортогональны аппаратной защите памяти в принципе.

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

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

Что копируется, куда копируется? Примеры в студию.

Как делают двумерный массив на си? Просто к указателю плюсуют длинну линии и записывают в массив потом обращаются/обрабатывают функцией элементы по x/y и записывают в фаил.
Как это на расте безопасно сделать ? Считать весь массив и превратить его в несколько маленьких. Потом уже его обойти и скопировать в новый одномерный. Казалось бы ну записать то можно и в старый одномерный, чтоб там лишние алокаторы/очищения не звать, размеры то не изменились, а хрен, нельзя так.

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

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

Да, с многомерными структурами там грустно. Но Раст делали в первую очередь для системного программирования, а не как замену Фортрана.

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

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

ну и бред, что нельзя? почему нельзя?

я ходил его изучать на его главный сайт

и, как видно, так и не изучил

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

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

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

да, надо сообщить всем кто пишет: эмбедед, компиляторы, математические библиотеки, игры, системные библиотеки, базы данных и даже ОСи на расте, что всё это невозможно так как лоровский иксперд строго доказал что нельзя безопасно разбить большой массив на маленькие… О_О, да что это вообще значит?

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

Раст сделали не для системного программирования а для разработки одного продукта - движка мозиллы. Все остальное от лукавого.

Qui-Gon ★★★★★
()
Ответ на: комментарий от hateWin

Разработчики ядра: было бы неплохо интегрировать раст в ядро. Это открывает нам новые возможности

Это не разработчики ядра. Это как раз белки истерички. Дайте нам раст в ядро - уж мы тот тут такого понапишем, куда уж вашим одряхлевшим умом Теду, Грегу, Эндрю и жтому как его на Л - забыли блин.

Дали. Ну и где обещанное то? Кроме воплей эй Тед - тыт тут косякнул 5 лет назад на си, вот мы тебе подогнали новый тинструмент который не даст больше косякнуть, давай бросай свой си и пиши на ржавом.

Очень напоминает похожий модно-молодежный проект - веланд. Тоже верещали ваш икс стар, там одни косяки, дайте нам, вот мы , да мы молодцы, мы молоды круты и нешаблонно мыслим. Наш боинг будет облетать земнной шар за полминуты и потреблять на это один миллилитр топлива. Ну дали им. И что - да ничего. В итоге 15 лет ковыряния, вливания кучи корпоративных денег и массы хорошо оплачиваемых профи эту поделку кое-как причасали и появидись - совсем недавно - статейки - сессия вейланда по энергоэффективность сравнялась с сессией на X в гноме. Еще более позждний - а теперь и в кде. 15 лет догоняли стоячего - иксы то никто особо не развивал, ими пользовались ну и чуток правили под новое железо, компиляторы и системыне быблиотеки.

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

Qui-Gon ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.