The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Обновление ядра Linux 5.10.1 с исправлениями по горячим следам

15.12.2020 09:05

Примерно через сутки после релиза ядра Linux 5.10 сформирован корректирующий релиз 5.10.1, в котором отменены два изменения в подсистемах md и dm raid, в которых всплыли проблемы. Первое изменение касалось перевода типа переменной chunk_sectors с int на unsigned, а второе изменяло лимит на выполнение операции discard для raid1 и raid10.

  1. Главная ссылка к новости (https://lkml.org/lkml/2020/12/...)
  2. OpenNews: Релиз ядра Linux 5.10
  3. OpenNews: В реализации программного RAID для Linux обнаружена ошибка, которая может привести к повреждению мета-данных
  4. OpenNews: В MD/RAID6 в Linux выявлена проблема, которая может привести к потере данных
  5. OpenNews: Проблема с повреждением разделов Ext4 оказалась в md-raid0
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/54257-linux
Ключевые слова: linux
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (64) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 09:12, 15/12/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    А зачем вообще если сразу понятно что переменная никогда не примет отрицательное значение не применять тип unsigned?
     
     
  • 2.7, _hide_ (ok), 09:29, 15/12/2020 [^] [^^] [^^^] [ответить]  
  • +10 +/
    Вы вообще исходники чужие когда-нибудь читали? Это ещё цветочки -- к ошибкам не приводит и ладно.
     
     
  • 3.15, Аноним (15), 10:02, 15/12/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Там приводит к варнингам компиляции - потому и попытались исправить :)
     
  • 3.43, Аноним (43), 20:53, 15/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Полезли исправлять и привело. Значит там знаковое должно быть.
     
  • 2.16, Z (??), 10:11, 15/12/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это же классический Unix-style использовать int
     
  • 2.18, Ordu (ok), 10:31, 15/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А зачем вообще, если сразу понятно, что переменная не примет значение больше чем 2^31-1, применять тип int?
     
     
  • 3.22, Аноним (1), 10:49, 15/12/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Судя по названию для chunk_sectors unsigned short все-таки не хватит, так что на мой взгляд оптимально использовать тип uint32_t (да, это из libc, но у него должен быть свой аналог в ядре).
     
     
  • 4.56, fyjybvec (?), 05:12, 16/12/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    да, u32 называется.
     
  • 3.31, Аноним (31), 13:55, 15/12/2020 [^] [^^] [^^^] [ответить]  
  • +9 +/
    > А зачем вообще, если сразу понятно, что переменная не примет значение больше чем 2^31-1, применять тип int?

    Дэниел Бернштейн, залогиньтесь!

     
  • 2.23, n00by (ok), 10:53, 15/12/2020 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Например, что бы использовать недействительное значение как индикатор ошибки.
     
  • 2.37, snmp agent (?), 17:13, 15/12/2020 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Например, чтобы можно было их вычитать
     
  • 2.48, Аноним (48), 00:25, 16/12/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > если сразу понятно

    Взгрустнул, всплакнул, вспомнил сколько бы хорошего сделал и сколько бы плохого не сделал "если бы сразу понятно" было.

     

  • 1.2, Аноним (2), 09:13, 15/12/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Патч нулевого дня? В моем линуксе?
     
     
  • 2.9, Dzen Python (ok), 09:33, 15/12/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Радовался бы, что не через полгода.
    А на деле большинство юзеров это даже и не заметят - им ядро прилетит уже с пачем в дистро.
    Пусть правят.
     
     
  • 3.11, iPony129412 (?), 09:40, 15/12/2020 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Ну типа того.
    Даже пионеры с Ubuntu 20.10 ещё на 5.8 сидят и будут пока сидеть.
     

  • 1.3, leibniz (ok), 09:13, 15/12/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –40 +/
    и это LTS
     
     
  • 2.12, Рмшъ (?), 09:49, 15/12/2020 [^] [^^] [^^^] [ответить]  
  • +21 +/
    Вот и поддерживают
     
  • 2.20, Аноним (20), 10:35, 15/12/2020 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Это не лтс. Он будет лтс, когда подлатают все косяки. Это текущая ветка, а на ней всегда проблем больше (сроки поджимают и нет времени rc вылизать, наверное).
     
     
  • 3.28, zzz (??), 12:49, 15/12/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    LTS, LTS. Прост все так рвались пропихнуть свои поделия в LTS-релиз, что теперь еще пару лет будут отлаживать.
     
     
  • 4.29, Аноним (20), 13:16, 15/12/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Его только отпочковалось от мейнлайн и его пометили стейбл. В лтс всё же попадают не сразу. Хотя 5.4 до последнего тянули и не могли в лтс отправить, можно и быстрее.
     
     
  • 5.33, Аноним (31), 14:54, 15/12/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Да, но помню местные анонимусы ругали ноду за похожий подход - там тоже LTS идет позднее от stable. Пытались доказать, что так больше никто не делает. А тут само ядро. Также ведь многие проекты первый мажорный релиз вообще помечают как пробный - GCC и Mesa, к примеру. Все же местная богема тут очень некомпетентна.
     
  • 4.36, анонимус (??), 16:34, 15/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Оно получит статус LTS только после выпуска следующей ветки.
     
  • 3.59, Урри (ok), 13:55, 16/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Какие сроки, вы о чем?
    Все прекрасно работает, критически важных не реализованных вещей нет - можно сосредоточиться на тестировании.

    Но нет, всеобщая современная болезнь "пускай тестируют на себе юзеры" и сюда проникла.

     
  • 2.24, КО (?), 11:03, 15/12/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Сам вякнул, сам заплюсовал.
    Последний LTS 5.4
     
  • 2.50, Michael Shigorin (ok), 00:54, 16/12/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Так в них как раз и пытаются запихнуть побольше, побольше...
     

  • 1.4, Аноним (4), 09:18, 15/12/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Как в кубунте 20.04 обновить? ukku, ошибку выдаёт...
     
     
  • 2.5, Аноним (5), 09:21, 15/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ты из исходников или из готового бинарного пакета?
     
  • 2.13, mikhailnov (ok), 09:50, 15/12/2020 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Открываете https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.10.1/
    Скачиваете:
    linux-headers-5.10.1-051001-generic_5.10.1-051001.202012142031_amd64.deb
    linux-headers-5.10.1-051001_5.10.1-051001.202012142031_all.deb
    linux-image-unsigned-5.10.1-051001-generic_5.10.1-051001.202012142031_amd64.deb
    linux-modules-5.10.1-051001-generic_5.10.1-051001.202012142031_amd64.deb
    и делаете sudo apt install ./*.deb
    Это то, что делает UKUU. Но там, смотрю, перед именами файлов появился префикс с архитектурой, раньше его не было, вероятно, из-за этого UKUU отвалился.
     
     
  • 3.39, Cyber100 (ok), 18:27, 15/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    dpkg -i *.deb
     

  • 1.6, iPony129412 (?), 09:21, 15/12/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Mozilla стайл
     
     
  • 2.40, Корец (?), 20:27, 15/12/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это если бы на расте переписывать начали бы.
     

  • 1.8, Slowpoke (?), 09:31, 15/12/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    ребят, а когда уже лтс с поддержкой wireguard? Сидеть на мимопроходящем ядре немного некомфортно
     
     
  • 2.10, Аноним (10), 09:34, 15/12/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    5.10 - это LTS с поддержкой Wireguard.
     

  • 1.14, Fracta1L (ok), 10:01, 15/12/2020 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –5 +/
     

     ....ответы скрыты (2)

  • 1.25, Аноним (25), 11:11, 15/12/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    QA/QC в ядре? Не слышали.
     
     
  • 2.27, Аноним (2), 12:00, 15/12/2020 [^] [^^] [^^^] [ответить]  
  • +6 +/
    QA/QC в современном мире? Не, слышали.
     

  • 1.30, RM (ok), 13:47, 15/12/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Так вот почему гугл вчера лежал - это они ядро свежеее накатили...
     
  • 1.32, Аноним (32), 14:46, 15/12/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Это из-за этой ошибки Гугл прилег? А порнхаб потерял больше половины видео?
     
     
  • 2.60, Урри (ok), 13:59, 16/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Порнхаб удалил миллионы видео потому, что с ними отказались работать виза и мастеркард. А они отказались работать потому, что какой-то журнализд откопал в порнхабовских закромах залитое в древние времена анонимом цп.

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

    При этом, что характерно, на откровенный инцест всем моралфагам почему-то наплевать.

     

  • 1.34, Аноним (34), 15:00, 15/12/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    5.10.1 на amdgpu уходит в черный экран
     
     
  • 2.35, Аноним (35), 15:10, 15/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    5.10.2 раскроет потенциал АМД
     
     
  • 3.57, Аноним (34), 10:28, 16/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ага, после того как Linus прямо послал нвидию на..й выбора уже и нет. штеуд не в счет, га#но еще то
     
     
  • 4.61, Аноним (-), 15:46, 16/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Да, Линус послал НВидию, но уже после того как НВидиа послала сообщество разработчиков ядра на 3 буквы.
     
     
  • 5.65, Аноним (65), 21:55, 16/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >уже после того как НВидиа послала сообщество разработчиков ядра на 3 буквы.

    Вот и надо было пойти

     

  • 1.38, Аноним (38), 17:14, 15/12/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    За использование int давно пора выгонять.
     
     
  • 2.41, Корец (?), 20:28, 15/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Что следует использовать вместо?
     
     
  • 3.42, Аноним (38), 20:45, 15/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Что следует использовать вместо?

    int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t, uint64_t, size_t, ssize_t.

     
     
  • 4.44, Корец (?), 21:11, 15/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Аргументы?
     
     
  • 5.45, Аноним (38), 23:03, 15/12/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Аргументы?

    Т. е. использование int'а для перечисления или обозначения количества элементов не вызывает чувства нелогичности?

     
     
  • 6.49, Аноним (48), 00:34, 16/12/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вызывает. Но действительность несколько шире.

    man -s2 read

    Предложите вариант для - считали Н байт, считали 0 байт, ошибка.
    Qus_EC_t ? GetLastError()?

     
     
  • 7.52, Аноним (38), 02:43, 16/12/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> man -s2 read
    >       ssize_t read(int fd, void *buf, size_t count);
    >> Предложите вариант для - считали Н байт, считали 0 байт, ошибка.

    typedef size_t RetVal;

    RetVal read(size_t pFD, uint8_t* const pBuf, size_t pToRead, size_t* const pRead);

    /******/
    RetVal rv;
    size_t really_read;

    if(MyToRead > 0)
    {
        rv = read(MyFD, MyBuf, MyToRead, &really_read);
        if(rv != RV_Ok)/* RV_Ok == 0 */
        {
            ErrorHandler...
        }
        else if(really_read < MyToRead)
        {
            EmptySourceHandler...
        }
    }

     
     
  • 8.54, Соня Мармеладова (?), 03:29, 16/12/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если чтение не блокирующее, то really_read вполне легально может быть меньше чем... текст свёрнут, показать
     
     
  • 9.64, Аноним (38), 21:49, 16/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Абсолютно верно Или файл может закончится ... текст свёрнут, показать
     
  • 5.46, llolik (ok), 23:14, 15/12/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Размерность int не обязана быть 4 байта. При кроссплатформенной сборке можно запросто получить внезапные integer overflow на пустом месте и потом долго и упорно их искать. *_t типы - гарантировано той размерности, которая указана.

    Отказываться совсем не призываю, но использовать, если значение гарантировано никогда не вылезет за 2 байта с учётом знака - это да.

     
     
  • 6.53, Аноним (38), 02:47, 16/12/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Дополню. Если используется gcc и платформа AVR, то там int - сюрприз, сюрприз - имеет 16 бит. Почему? Разработчик "бэкенда" так захотел. Но есть волшебный ключ "-mint8", который приводит int к правильному размеру - 8 бит.
     
     
  • 7.55, Аноним (55), 04:05, 16/12/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Если используется gcc и платформа AVR, то там int - сюрприз, сюрприз - имеет 16 бит. Почему?

    Потому что по стандарту

    > The minimum size for char is 8 bits, the minimum size for short and int is 16 bits, for long it is 32 bits and long long must contain at least 64 bits.
    > -- https://en.wikipedia.org/wiki/C_data_types

    Дабы не грешили на вику, скажу, что такое же утверждение (кроме long long, и относительно C++) я находил в третьем издании книги Страуструпа по C++ (описывающей стандарт 98 года).

    > Но есть волшебный ключ "-mint8", который

    ломает переносимость. Но, откровенно говоря, софт для AVR вряд ли кто-то будет пускать на серверах и/или десктопах, да и переносимость "в бОльшую сторону" (в минимум-16-битный int вместо 8-битного) в 99% случаев "сама получится".

     
  • 6.62, Урри (ok), 16:34, 16/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Вы согласны под разные платформы писать разный код? Вручную выбирать размер машинного слова под конкретное устройство?

    Или все же лучше оставить это решение за компилятором? Который лучше знает, какой именно размер типа будет более быстрый в данной ситуации. Ну вот поэтому и появился тип int, который "минимум 16 бит" и все остальные.

    Неужели вы считаете что Керниган и Риччи были глупее вас?

     
     
  • 7.63, llolik (ok), 17:16, 16/12/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Вы согласны под разные платформы писать разный код?

    Как раз наоборот я могу быть уверен, что , например, int32_t всегда строго 4 байта, а не ХЗ сколько. И что в size_t гарантировано влезет размер буфера, не вломив мне integer overflow.
    > Вручную выбирать размер машинного слова под конкретное устройство?

    Вот как раз *_t от этого и избавляют
    > Или все же лучше оставить это решение за компилятором?

    Нет, не всегда это лучше.
    > вот поэтому и появился тип int, который "минимум 16 бит"

    А может быть и не 16, а может быть и 32 и 64 и, с ключами, как выше написано, даже 8. И что? А потом тебе приходит бинарник/сообщение в котором, условно 15 полей типа int. И? Какого int прислали 16/32/64/... бит и каким разбирать?
    > Неужели вы считаете что Керниган и Риччи были глупее вас?

    Как там у Вас в 70-х? Стандарт как-бы уже давно ушёл вперёд.

     
  • 4.47, llolik (ok), 23:22, 15/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > ssize_t

    Только с оговоркой, что это POSIX, а не ISO/IEC.
    Хотя в msvc тоже есть костыль


    #if defined(_MSC_VER)
        #include <BaseTsd.h>
        typedef SSIZE_T ssize_t;
    #endif


     

  • 1.51, YMM (?), 00:58, 16/12/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Серьёзный подход к разработке!
     
  • 1.66, Аноним (66), 03:24, 17/12/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Киберпанк потянет?
     
     
  • 2.67, Аноним (-), 18:13, 18/12/2020 [^] [^^] [^^^] [ответить]  
  • +/
    процесс сборки с ворнингами иероглифами можно использовать в световом оформлении мс-тусовок
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру