The OpenNET Project / Index page

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

В состав Glibc включено исправление уязвимости в memcpy, подготовленное разработчиками ОС Аврора

16.07.2020 08:50

Разработчики мобильной операционной системы "Аврора" (форк ОС Sailfish, развиваемый компанией "Открытая мобильная платформа") поделились показательной историей об устранении критической уязвимости (CVE-2020-6096) в Glibc, проявляющейся только на платформе ARMv7. Сведения об уязвимости были раскрыты ещё в мае, но до последних дней исправления не были доступны, несмотря на то, что уязвимости присвоен высокий уровень опасности и имеется рабочий прототип эксплоита, позволяющий организовать выполнение кода при обработке в функциях memcpy() и memmove() определённым образом оформленных данных. Исправления пакетов для Debian и Ubuntu не выпущены до сих пор и уязвимость остаётся неисправленной почти два месяца с момента публичного раскрытия и пять месяцев с момента уведомления разработчиков Glibc.

Уязвимость проявлялась в реализации memcpy() и memmove() на языке ассемблера для ARMv7 и была вызвана некорректной обработкой отрицательных значений параметра, определяющего размер копируемой области. Проблемы с разработкой патчей начались с того, что компании SUSE и Red Hat объявили, что их платформы проблеме не подвержены, так как они не формируют сборки для 32-разрядных систем ARMv7, и не стали участвовать в создании исправления. Разработчики многих встраиваемых дистрибутивов, видимо, положились на команду Glibc, и также не проявили активного участия в подготовке исправления.

Вариант патча для блокирования проблемы почти сразу предложила компания Huawei, которая попыталась заменить ассемблерные инструкции, оперирующие знаковыми операндами (bge и blt), на беззнаковые аналоги (blo и bhs). Мэйнтенеры Glibc разработали набор тестов для проверки разных условий возникновения ошибки, после чего выяснилось, что патч от Huawei не подходит и не обрабатывает все возможные комбинации входных данных.

Так как ОС Аврора имеет 32-битную сборку для ARM, её разработчики решили закрыть уязвимость своими силами и предложить решение сообществу. Сложность заключалась в том, что нужно было написать эффективную ассемблерную реализацию функции и учесть при этом различные варианты входных аргументов. Реализация была переписана с использованием беззнаковых инструкций. Патч получился небольшой, но основная проблема состояла в сохранении скорости выполнения и исключении снижения производительности функций memcpy и memmove, сохраняя при этом совместимость со всеми комбинациями входных значений.

В начале июня было подготовлено два варианта исправления, проходящие тестовый фреймворк мэйнтейнеров Glibc и внутренний тестовый набор Авроры. 3 июня был выбран один из вариантов и отправлен в список рассылки Glibc. Через неделю был предложен ещё один аналогичный по подходу патч, который исправлял проблему в multiarch-реализации, которую ранее пытались исправить в Huawei. Месяц заняло тестирование и юридическое оформление в виду важности патча. 8 июля исправления были приняты в основную ветку готовящегося релиза glibc 2.32. Реализация включает два патча - первый для multiarch-реализации memcpy для ARMv7, а второй для общей ассемблерной реализации memcpy() и memmove() для ARM.

Проблема затрагивает миллионы ARMv7-устройств с Linux и без соответствующего обновления владельцы рискуют, подключая их к сети (атакованы могут быть доступные по сети сервисы и приложения, принимающие входные данные без ограничения размера). Например, в эксплоите, подготовленном выявившими уязвимость исследователями, показано как совершить атаку на встроенный в автомобильную информационную систему http-сервер через передачу GET-запроса очень большого размера и получить root-доступ к системе.

  1. Главная ссылка к новости (https://sourceware.org/bugzill...)
  2. OpenNews: Выпуск мобильной ОС Sailfish 3.3
  3. OpenNews: Выпуск системной библиотеки Glibc 2.31
  4. OpenNews: Критическая уязвимость в реализации функции memcpy для ARMv7 из состава Glibc
Лицензия: CC-BY
Тип: Проблемы безопасности
Короткая ссылка: https://opennet.ru/53371-glibc
Ключевые слова: glibc
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (149) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 09:13, 16/07/2020 Скрыто модератором [﹢﹢﹢] [ · · · ]
  • –41 +/
     
     
  • 2.155, Anon678 (?), 20:50, 17/07/2020 Скрыто модератором
  • +1 +/
     

  • 1.4, Соня Мармеладова (?), 09:23, 16/07/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +8 +/
    Эх, не успел ответить, но кто-то уже поторопился написать в каменты про очередное сишное отверстие, хотя весь текст новости про голый ассемблер. В этом весь опеннет.

    Кстати,че там с memcpy на чистом, божественном русте?

     
     
  • 2.11, Аноним (11), 09:31, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +22 +/
    Фрактал, он такой. Видит букву С - начинает издавать звуки курятника. Никак не научатся некоторые простой истине: язык - это инструмент. Ни больше, ни меньше. А то, что он даже не понял, а чём суть проблемы, достаточно характерно для "агрессивно-прогрессивных" комментаторов.
     
     
  • 3.61, Аноним (61), 12:27, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Потому что черты не знают, что по-русски этот язык называют и пишут Си, а не просто буквой "С", то есть "Эс", и уж тем более не "Цэ".
     
     
  • 4.70, Аноним (70), 14:39, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    По-русски си и даже ц полее корректно, чем с. Ты совершенно безграмотный.
     
     
  • 5.99, Аноним (-), 19:09, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > полее

    ...
    > безграмотный.

    FAIL!

     
     
  • 6.100, Аноним (70), 19:14, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Сейчас бы ещё к опечаткам придираться. Они не имеют никакого отношения к грамотности. К тому же, чтобы замечать безграмотность, вовсе не обязательно самому быть грамотным. И моя (без)грамотность в любом случае за рамками данного обсуждения.
     
     
  • 7.132, Аноним (132), 00:18, 17/07/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Сейчас бы ещё к опечаткам придираться.

    В сообщении про грамотность? По-моему самое то :)

    > Они не имеют никакого отношения к грамотности. К тому же, чтобы замечать безграмотность,
    > вовсе не обязательно самому быть грамотным. И моя (без)грамотность в любом случае за
    > рамками данного обсуждения.

    Размечтался, плюшевый.

     
  • 3.68, Дегенератор (ok), 14:12, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • –9 +/
    > язык - это инструмент

    у тебя точно язык - инструмент

     
     
  • 4.140, Аноним (140), 09:51, 17/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Есть такая профессия.
     
  • 3.92, Аноним (92), 17:01, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >  характерно для "агрессивно-прогрессивных" комментаторов

    для агрессивный ретроградов актуально не менее (а именно на опеннет, чуть ли не более)

     
  • 2.15, Аноним (15), 09:41, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > сишное
    > ассемблер

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

     
     
  • 3.29, zzz (??), 10:27, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Болгарки уже давно все на свалках - пилки для ногтей рулят!
     
  • 3.30, Аноним (30), 10:28, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +7 +/
    Действительно, ведь высокоуровневые языки легко и просто получаются сами из себя, безо всяких там машинных кодов и режимов адресации. А вирусы — это когда HTML-письма с вредоносным JavaScript, а не самомодифицирующийся код.
     
  • 3.44, Адекват (ok), 11:05, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    да-да, давайте писать драйверы на electron.
     
     
  • 4.101, Аноним (-), 19:15, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > да-да, давайте писать драйверы на electron.

    Судя по https://github.com/offensive-security/exploitdb это не очень сильно помогает...

     
  • 3.47, Аноним (47), 11:34, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ну что сказать, если по-твоему ассемблер - тупая поделка? Asm это почти 1:1 машинные инструкции. Ну давай выкинем на свалку истории машинные инструкции. Внезапно, а процессоры-то без них и не могут. Вот незадача-то...
     
     
  • 4.52, Аноним (52), 11:54, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Очевидно это был проосто жирный троллинг.
     
  • 2.156, admin (??), 00:23, 21/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    ОС Аврора такая же красивая, как её название?
     

  • 1.5, Корец (?), 09:24, 16/07/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >>пять месяцев с момента уведомления разработчиков Glibc.

    Не ожидал такого от GNU :( Всё время считал их более-менее ответственными ребятами.

     
     
  • 2.7, SunXE (ok), 09:28, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +12 +/
    Расслабилось сообщество, привыкли что шапка всё делает.
     
     
  • 3.9, Аноним (9), 09:30, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    просто нужно время что бы забрать себе права на код. Тут не до каких-то багфиксов.
     
  • 2.8, Аноним (9), 09:30, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    они озабочены только юридической проблемой - как забрать себе права на проект и что бы не дай бог принимаемый патч не нарушил их монополию на код.
    (см ссылку из кода - https://sourceware.org/pipermail/libc-alpha/2020-June/114738.html)

    А ты о каких-то технических проблемах.

     
     
  • 3.18, gogo (?), 09:48, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    С тебе деньги требуют? Они не парковщики подмосковья...
    Эту либу используют миллиарды людей. Таки в их интересах, чтобы комар носа не подточил.
     
     
  • 4.23, Аноним (23), 09:55, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • –4 +/
    > Эту либу используют миллиарды людей.

    поэтому миллиарды посидят пол-годика с RCE, а мы пока подождем прав на код, тем более что нам самим наш работодатель redhatbm велел забить на эти arm32, и мы знаем, кто и за что нам платит.

    Конечно, конечно, это такая забота о миллиардах.

    А то ж какой-нибудь хуавей (извините за мат) может грязно над ними надругаться, предъявив свои права на код (заметим, под gpl - то есть эти права никак нельзя использовать во вред пользователям)

     
     
  • 5.76, Аноним (76), 15:08, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А что ты предлагаешь? Поставить миллиард людей на бабки? Это конечно мечта таких как ты но нет, обойдёшься. Если хочешь что бы быстрее было — то пинай авторов кода, это их первый опыт.
     
     
  • 6.91, Аноним (9), 17:00, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Linux kernel живет вон сколько лет без передачи всех прав на код, а эти все хотят подмять под себя.

    А так - пока что только GNU/FSF замечены в гнусных наездах и подставив для миллиардов людей на бабки. Когда перелицензировани gcc на GPL v3, и "случайно" забыли исключения. Это они лохам могут втирать о случайности, когда у них столько юристов на окладах.
    Это только FSF/GNU может требовать у людей перелицензировать их код с GPL v2 на v3, когда код изначально брался под v2.
    Это только FSF/GNU может выпустить новую версию лицензии которая не совместима со старой и этим самым подставить кучу проектов запретив им связывание со проектом под старыми лицензиями..

    Список подстав продолжать?.. или и так понять что FSF/GNU далеко не белые овечки.

     
     
  • 7.105, Аноним (105), 20:05, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Более того, с учетом недобровольной отставки Столлмана, совершенно неясно что они предложат в GPLv4, может придется на колени становиться перед мирными BLM протестующими для использования программы.
     
     
  • 8.112, Аноним (112), 21:33, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    учитывая что всем мозги промыты что надо писать GPL vX or later Все можно сдела... текст свёрнут, показать
     
  • 5.135, Аноним (135), 04:18, 17/07/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >поэтому миллиарды посидят пол-годика с RCE, а мы пока подождем прав на код, тем более что нам самим наш

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

     
     
  • 6.146, Аноним (112), 10:17, 17/07/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    где вы такие беретесь? ты читал новость внимательно?
    люди написали код, написали патч - и еще 3 месяца трахались с утрясаем юридических формальностей связанных с передачей прав в GNU.
     
  • 4.60, Повидло19 (?), 12:27, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Копирасты хуже масочников.
     
  • 2.10, iPony129412 (?), 09:31, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Да не, как все.
     
  • 2.48, Аноним (47), 11:38, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Может у них просто нет железа, на котором девелопить можно, на ARMv7 или вообще на ARM.
     
     
  • 3.58, Аноним (23), 12:20, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Это железо стоит аж целых $50. Которых у них, ну конечно же, тоже нет - еле-еле на дошик хватает тех денег, что платит заботливая rbm.
    (И "девелопить" на нем ничего не нужно, внезапно, для писания кода под арм не нужно это делать непосредственно на arm, ты бы еще код для суперкомпьютера писал прямо на нем, по $1000/час машинного времени. Железо нужно исключительно для тестирования уже написанного - и даже, возможно, уже скомпилированного - хотя вряд ли последнее, ведь разработчики инклюзивно-альтернативной ориентации не умеют кросскомпиляцию, но у них есть девоп который за них настроит всю ci музыку. Только ему тоже rbm зарплату платит. А у нее нет версии для arm32, и девоп не может ничего настроить - ведь он умеет только rhel.)

     
     
  • 4.66, Michael Shigorin (ok), 13:55, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Это железо стоит аж целых $50.

    То, на котором можно как-то проверить -- дешовле даже.
    То, на котором можно нормально гонять регрессионные тесты -- см. ценник на машинки на Hi1616, например.

    Ну и помимо наличия железки надо ещё и знать её ассемблер _плюс_ glibc.

     
     
  • 5.69, Аноним (23), 14:31, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Huawei Technologies Co , Ltd Hi1616 Processor 2 4 GHz RAM 64 GB Ports and Bus... большой текст свёрнут, показать
     
     
  • 6.85, Страдивариус (?), 16:03, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Кретин, там же не один тест запускают, а всю пачку ранее написанных тестов на регрессии. Они запускаются дольше чем сборка самой glibc происходит
     
     
  • 7.131, Аноним (132), 00:16, 17/07/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Кретин, там же не один тест запускают, а всю пачку ранее написанных
    > тестов на регрессии. Они запускаются дольше чем сборка самой glibc происходит

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

     
     
  • 8.147, . (?), 10:58, 17/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    или просто подождать пока единственный выполнит их последовательно коли денег н... текст свёрнут, показать
     

  • 1.12, Аноним (12), 09:33, 16/07/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –9 +/
    Казалось бы, элементарнийшая функция, а до сих пор пишут на асме для производительности. ужас!
     
     
  • 2.13, Корец (?), 09:35, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    А на чём надо? На пайтоне?
     
     
  • 3.17, Аноним (12), 09:46, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • –6 +/
    смищно про питон, а че, С не смог соптимизировать цикл?
     
     
  • 4.24, Корец (?), 09:59, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Ничего смешного. Критичные куски кода всегда писались на асме.
     
  • 4.31, Аноним (30), 10:31, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +8 +/
    Как я понимаю, вы сами про оптимизацию ассемблерного кода только слышали. И актуальность выжимания максимума скорости из memcpy/memmove слабо представляете.
     
     
  • 5.36, alex312 (?), 10:38, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • –4 +/
    >вы сами про оптимизацию ассемблерного кода только слышали.

    ну давай, срывай покровы. Какие такие супер оптимизации нужны в memcpy и почему их до сих пор не научился делать Сишный компилер ?

     
     
  • 6.57, Аноним (57), 12:13, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Очередной адепт секты всемогущего компилятора ?

    В случае x86 это хотя бы использование инструкций rep movs[bwlq].

     
     
  • 7.74, анон (?), 14:47, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • –3 +/
    >В случае x86 это хотя бы использование инструкций rep movs[bwlq]

    Он умеет это делать.
    Они не всегда нужны.
    СТ.
    Интринсики. (ПАРКУР ЕЕЕ)
    И сложно говорить про низкоуровневые оптимизации в циске.

     
     
  • 8.87, Аноним (87), 16:13, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Не умеет, ни gcc, ни clang rep movs не генеруруют Нужны, особенно в функциях ти... текст свёрнут, показать
     
     
  • 9.89, JL2001 (ok), 16:40, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    а почему не умеют вроде ж просто определить необходимость и вставить ... текст свёрнут, показать
     
  • 9.90, анон (?), 16:48, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Doubt Press X Если надо скопировать 1 байт - нет И еще много интересных случаев... текст свёрнут, показать
     
     
  • 10.138, КО (?), 07:48, 17/07/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Чтоб скопировать 1 байт int,long вообще вызывать memcpy ... текст свёрнут, показать
     
  • 7.107, Алконим (?), 20:15, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    ты погоди. Сейчас у этого смузихлеба вообще крышу снесет:

    ТЫ ПРИКИНЬ ДАЖЕ В ТВОЕМ ЛЮБИМОМ GO КУЧА АССЕМБЛЕРНЫХ ВСТАВОК.

     
     
  • 8.130, Аноним (132), 00:14, 17/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Просто у них там деление на богов, которым так можно, и червяков, которым так ни... текст свёрнут, показать
     
  • 8.134, Аноним (12), 01:56, 17/07/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Так и запишем Сишное говно ни на что не годно Можно спокойно писать на расте, ... текст свёрнут, показать
     
     
  • 9.137, Аноним (-), 05:20, 17/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, ты хотя-бы сишный кернел операционки уже выкинул ... текст свёрнут, показать
     
     
  • 10.142, alex312 (?), 09:53, 17/07/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ага Сишный Ша копну поглубже, и окажется что все критические части на асме пи... текст свёрнут, показать
     
  • 9.139, Аноним (139), 08:54, 17/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Все такие умные тут, Думают что в C нельзя запихнуть GC или другой метод управле... текст свёрнут, показать
     
  • 8.141, Аноним (140), 09:53, 17/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Вы все врёти 11рас... текст свёрнут, показать
     
  • 6.77, Аноним (76), 15:11, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что компилятор не в курсе где и как будет использоваться функция? Он тебе соптимизирует для общего случая или для конкретного приложения, для системной библиотеки которую используют из всех языков программирования это не всегда верно.
     
     
  • 7.96, alex312 (?), 17:39, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Он тебе соптимизирует для общего случая

    Что за чушь! компилятор оптимизирует так как ему сказали через опции командной строки.

     
     
  • 8.136, Аноним (136), 04:51, 17/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Бывает ещё runtime информация, которой кичатся все любители JIT Её никакими опц... текст свёрнут, показать
     
     
  • 9.143, alex312 (?), 09:55, 17/07/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Каким боком твои откровения к обсуждаемой теме Типа умный ... текст свёрнут, показать
     
     
  • 10.145, Аноним (136), 10:04, 17/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Тем, что опции просто говорят как хорошо нужно оптимизировать файл для общего сл... текст свёрнут, показать
     
     
  • 11.151, Аноним (151), 13:25, 17/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    И-и-и-, тот memcpy в новости на асме для конкретного случая, или для всех на све... текст свёрнут, показать
     
     
  • 12.153, Аноним (136), 15:58, 17/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Для случаев которые происходят гораздо чаще других В редких он вполне может мед... текст свёрнут, показать
     
  • 6.79, Аноним (76), 15:13, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Потому что разные компиляторы с разными ключами сборки генерируют разный код? Как ты собрался гарантировать повторяемость кода и поведения на всех платформах и всех компиляторах?
     
     
  • 7.95, alex312 (?), 17:37, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >компиляторы с разными ключами сборки генерируют разный код?

    C твоих слов, так компилятор для разных платформ можеть нагенерировать разного неповторяемого непонятно чего.

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

     
     
  • 8.121, Аноним (30), 23:45, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что если он что-то неэффективно скомпилирует в коде отрисовки кнопочек на... текст свёрнут, показать
     
     
  • 9.133, alex312 (?), 00:58, 17/07/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Так в этом и вопрос, Если компилятор годиться только формочки клепать - то НАФИГ... текст свёрнут, показать
     
     
  • 10.150, Аноним (30), 12:40, 17/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Вы ещё и в компиляторах, значит, не разбираетесь Идите, покажите, как надо Т... большой текст свёрнут, показать
     
     
  • 11.152, alex312 (?), 13:55, 17/07/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ты то дохрена разбираешся, ни одного толкового ответа, все какието съезды про то... текст свёрнут, показать
     
     
  • 12.154, Аноним (30), 19:16, 17/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Толковые ответы вы уже не раз получили Раз не смогли нормально отреагировать, т... большой текст свёрнут, показать
     
  • 8.144, Аноним (140), 09:55, 17/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Да И это хорошо известно всем, хоть раз писавшим код под МК ... текст свёрнут, показать
     
  • 4.102, Аноним (-), 19:18, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > смищно про питон, а че, С не смог соптимизировать цикл?

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

     
     
  • 5.106, Алконим (?), 20:13, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    для сегодняшнего поколения тормозов java vm внутри java vm внутри java vm без JIT это норм скорость. чем тормозней тем больше смузи можно выпить. Ну и в офисе и дома тепло от кипящего процессора, удобно жу, можно обогреватель не включать
     
     
  • 6.129, Аноним (-), 00:11, 17/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > удобно жу, можно обогреватель не включать

    Главное не забыть зарядить свою жаба-тормозилку с электронами вечером, иначе утром она в тыкву превратится.

     
  • 4.110, Ordu (ok), 20:58, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А такие вещи как memcpy memmove очень сложно написать на высокоуровневом языке т... большой текст свёрнут, показать
     

     ....большая нить свёрнута, показать (37)

  • 1.14, Аноним (14), 09:39, 16/07/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Интересно, общались ли с изначальным разработчиком memcpy под armv, неким Nicolas Pitre?

    Или ему уже по барабану на код, написанный 14 лет назад: https://github.com/bminor/glibc/commit/0572b91bdb6cf4dda3bb2edbf1078aeb0e8fa99

     
     
  • 2.34, Kroz (??), 10:36, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Интересно, общались ли с изначальным разработчиком memcpy под armv, неким Nicolas Pitre?

    И какой вопрос следовало бы ему задать, на твой взгляд?

     
     
  • 3.43, Аноним (43), 11:00, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    На кого он работает. Кто приказал добавить эксплойт в глибс. Какое звание ему присвоили после удачной операции.
     
     
  • 4.59, Аноним (23), 12:21, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Завидовать дурно!
     
  • 4.80, Аноним (76), 15:15, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А идея что Nicolas тогда был просто студентом или начинающим разработчиком и просто ошибся тебе конечно в голову не приходит.
     
     
  • 5.117, товарищ майор (?), 22:41, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Был - студентом. Стал - сразу капитаном, внеочередное дали за боевые заслуги. Уже на пенсии, между прочим, неплохой.
    (майором - никогда не будет, у майора свои дети есть)

     

  • 1.16, Аноним (16), 09:44, 16/07/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Когда есть критическая уязвимость, всем должно быть нaсрать на производительность. Тем более в выделении памяти на куче, которое и так медленное, ибо обычно требует сисколлов.

    Вместо тактодрочерства нужно БЫСТРО выкатить хоть-какой нибудь патч, закрывающий уязвимость, и только потом уже вылизывать скорость.

     
     
  • 2.19, alex312 (?), 09:49, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    компании SUSE и Red Hat объявили, что их платформы проблеме не подвержены ...
     
  • 2.20, gogo (?), 09:49, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Быстро выкатить пачт на андроид? Смешно.
    На большинство телефонов его вообще не выкатят.
     
     
  • 3.22, alex312 (?), 09:54, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    где glibc и где Андроид ?
    У них там свой бионик.
     
  • 2.65, Аноним (65), 13:24, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > БЫСТРО выкатить хоть-какой нибудь патч, закрывающий уязвимость, и только потом уже вылизывать скорость.

    Как бы оно да... Но в нынешнем мире часто "а потом" не наступает никогда. Правда, это в коммерческой разработке.

     
  • 2.81, Аноним (76), 15:18, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Когда есть критическая уязвимость, всем должно быть нaсрать на производительность.

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

     
     
  • 3.114, Аноним (16), 22:04, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    DoS по ресурсам невозможно создать, его можно только отсрочить или приблизить.
     

  • 1.21, Аноним (23), 09:51, 16/07/2020 Скрыто модератором [﹢﹢﹢] [ · · · ]
  • –5 +/
     
     
  • 2.33, Аноним (30), 10:34, 16/07/2020 Скрыто модератором
  • +1 +/
     

  • 1.25, Пувс3 (?), 10:01, 16/07/2020 Скрыто модератором [﹢﹢﹢] [ · · · ]
  • –4 +/
     
  • 1.28, Аноним (28), 10:19, 16/07/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –6 +/
    Доигрались со своими нанооптимизациями. Казалось бы, что проще - байтики скопировать?

    Помните же, как сломался звук во Флеше? Тогда наивная Линусовская реализация memmove оказалась по тестам ничуть не менее производительной, чем все эти пляски с бубном с копированиями в разные стороны и прочими middle out (tm).

     
     
  • 2.32, zzz (??), 10:33, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Задним умом у нас все крепкие.
     
  • 2.35, Аноним (30), 10:37, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Казалось бы, что проще - байтики скопировать?

    Казалось бы, что проще — комментарий на форуме оставить? А расскажите-ка в деталях этот процесс. Хотя бы до L3 модели OSI, не будем уж совсем зверствовать.

     
     
  • 3.38, alex312 (?), 10:47, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Хотя бы до L3 модели OSI

    Охренеть, а когда это в memcpy добавили поддержку сети? или абы ляпнуть ?

     
     
  • 4.71, Michael Shigorin (ok), 14:42, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> комментарий на форуме оставить?
    >> Хотя бы до L3 модели OSI
    > или абы ляпнуть?

    А ещё перлятников обвиняют во write-only...

     
     
  • 5.123, Аноним (30), 23:57, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Забавный момент: неокрепшие студенческие умы, не закостеневшие от использования Java или там PHP, куда охотнее берутся за Perl. А write-only я больше всего видел на Bourne shell пока что. :)
     
  • 4.122, Аноним (30), 23:53, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Я лишь попробовал, раз уж специфику memcpy здесь явно понимает менее 5% посетителей (не в укор), то, может хотя бы действие, которое местные комментаторы и так по определению производят, смогут описать. Ну там: браузер формирует HTTP-запрос, кодируя в нём таким-то образом такие-то данные, полученная простыня отправляется в write(2) или аналогичный API... Это, вроде бы, должно быть лучше знакомо, чем особенности ассемблеров и компиляторов Си на разных платформах.
     
  • 3.75, анон (?), 14:52, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Скопировать в адресное пространство контроллера.
    Сказать отправить.
    Ждать готовности.
    ?
     
     
  • 4.124, Аноним (30), 23:59, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А можно прочитать где-нибудь о контроллере, умеющем отправлять комментарии на OpenNet? Очень интересно глянуть.
     
  • 2.82, Аноним (76), 15:22, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Тогда наивная Линусовская реализация memmove оказалась по тестам ничуть не менее производительной

    Это во первых не так. Во вторых никакой ошибки в memmove тогда не было, ошибка была у adobe так как они не прочитали документацию и нарушили API про которое было явно написано что так делать нельзя.

    Кто вам платит за распространение мусора в русскоязычном интернете?

     
     
  • 3.149, Zenitur (ok), 11:55, 17/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Вот вам развёрнутое чтение на этот счёт https avva livejournal com 2323823 ht... большой текст свёрнут, показать
     

  • 1.39, Аноним (39), 10:49, 16/07/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    юридическое оформление патча? в memcpy? мде...
     
     
  • 2.72, Michael Shigorin (ok), 14:42, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    В glibc.
     

  • 1.40, Аноним (40), 10:51, 16/07/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > Месяц заняло тестирование и юридическое оформление

    Мда, и как тут Адама Дугласа не вспомнить с его Вогонами.

     
     
  • 2.49, Аноним (49), 11:42, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Адама Дугласа

    Типа сумничал?

     
     
  • 3.53, Аноним (40), 11:57, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Т9 исправил где не просили
     
  • 3.54, Аноним (54), 12:02, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Как не знать Адама Дугласа! Он же ещё написал "Ноты Гуге".
     
  • 3.63, Аноним (40), 12:38, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вогон, залогиньтесь!
     
     
  • 4.88, Kuromi (ok), 16:38, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вогон, выйди вон!
     

  • 1.41, Аноним (43), 10:51, 16/07/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Ну конечно все древние Андройд разработчики побегут обновлять свои древние АРМ7 телефоны.
     
     
  • 2.42, Аноним (40), 10:55, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Откуда в android взялся glibc? Комментаторы на опеннете такие комментаторы.
     
     
  • 3.46, Аноним (46), 11:22, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > Адройд

    Можно было вообще не смотреть этот коммент дальше, и так всё понятно.

     
  • 2.45, Аноним (45), 11:15, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    В ведроиде в блобах уязвимости, которые вообще невозможно легально пофиксить. Проприетарь, не хочешь такое юзать - сиди совсем без телефона.
     
     
  • 3.50, Аноним (47), 11:50, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >сиди совсем без телефона

    Купи кнопкофон "военный".

     
     
  • 4.128, Аноним (-), 00:09, 17/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Купи кнопкофон "военный".

    РацЫю, кули. Старую. Заодно и поднакачаешься слегонца.

     
  • 3.73, Michael Shigorin (ok), 14:43, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Проприетарь, не хочешь такое юзать - сиди совсем без телефона.

    Не хочу.  Сижу с S40 и SFOS.  Правда, тоже проприетарь.

     
     
  • 4.93, Sluggard (ok), 17:29, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    «Не хочу юзать проприетарь, поэтому юзаю проприетарь.»

    Весёлый ты.

     
     
  • 5.94, Michael Shigorin (ok), 17:35, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >>>> В ведроиде...
    >>> Проприетарь, не хочешь [B]такое[/B] юзать - сиди совсем без телефона.
    >> Не хочу.  Сижу с S40 и SFOS.  Правда, тоже проприетарь.
    > Весёлый ты.

    _Такое_  -- нет, не хочу, ха-ха-ха.

     
  • 5.127, Аноним (-), 00:08, 17/07/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > «Не хочу юзать проприетарь, поэтому юзаю проприетарь.»

    Это Шигорин, у него всегда с логикой - "не очень".

     

  • 1.56, Аноним (56), 12:06, 16/07/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Фактически патч от Авроры повторяет от Хуявея, только интсрукции заменены дополнительно в 3ех местах.
     
     
  • 2.64, Аноним (64), 12:47, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Фактически патч мог написать и оттестировать любой байтолюбитель за неделю. Странно, что всем по факту было до лампочки столько месяцев.
     
     
  • 3.83, Аноним (76), 15:25, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Ничего странного, ARM7 32 бит это в основном проприетарные поделки, их авторам проблемы их пользователей до лампочки по определению.
     
     
  • 4.126, Аноним (-), 00:07, 17/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Ничего странного, ARM7 32 бит это в основном проприетарные поделки, их авторам
    > проблемы их пользователей до лампочки по определению.

    А пардон, чего не проприетарные? Интель с management engine и блобами в FSP ажно? :)

     
  • 2.67, Аноним (67), 13:57, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Да! Это же патч как от Хуавея, только другой!
     
  • 2.119, рюйскепрограммизд (?), 22:51, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    не только. Там подозрительно выброшены два куска, не очень понятно, безобидное ли это изменение - я тоже не разбираюсь в ассемблере arm (и в glibc), но выглядит подозрительно - раньше регистр модифицировали, и что-то дальше с ним делали, теперь просто сравнивают. Что это вообще было-то?

     

  • 1.78, Аноним (78), 15:13, 16/07/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –7 +/
    Фу, сколько пиара нашынской поделки.
     
     
  • 2.84, Аноним (70), 15:49, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Ну хоть кто-то сделал. Вот то, что вообще используется 32 бита, это, конечно, печально, но гну мог бы быть и порасторопней. Лг6т шайка прогнала Столлмана и пошла в разнос?
     

  • 1.86, Аноним (86), 16:10, 16/07/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ох, не занимались бы овнокодеры, не видящие разницы между беззнаковыми и знаковыми сравнениями на асме, запиливанием целой *libc.
     
     
  • 2.120, рюйскепрограммизд (?), 22:56, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Они, походу, видели - и нарочно сделали знаковое. Фиг знает, зачем.

    вот это вот:


    -               bge     3b
    -       PLD(    cmn     r2, #96                 )
    -       PLD(    bge     4b                      )



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

     
     
  • 3.158, Аноним (158), 13:06, 24/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Вы знаете у меня то же иногда возникают подозрения. Сами закладывают, и потом сами же выкатывают устранения уязвимостей. Однажды прогнал через шланг btusb.c (драйвер из ядра линукс) - нашёл два места обращений явно за пределы массива, и это в статике! И заметте, многие PR висят годами и никто не чешится их применять, хотя очевидно исправляют какую либо проблему.
     

  • 1.97, X5asd5 (?), 18:50, 16/07/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    > Сложность заключалась в том, что нужно было написать эффективную ассемблерную реализацию функции и учесть при этом различные варианты входных аргументов

    нет.

    сложность очевидно была в том что никому нафиг не упали железка с aarch32 , в то время как уже 2020 год и все перешли на aarch64 ..

    не удивительно же что было тяжело исправлять

     
     
  • 2.104, . (?), 19:31, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Угу - это раньше "шестисотый" братва выкидывала потому что пепельница опять переполнилась. Теперь ты свою китайскую помойку выкинешь потому что в ней немодный процессор в can, и сосед со своей мобилы перехватив управление, отправил ее в столб.
    (Впрочем, китаец о тебе уже позаботился, и она просто не открывает тебе двери, чтобы ты не мог ездить на такой небезопастной. Ну и кого колебет что ты оказался внутри а не снаружи? Зато безопастно!)

    Глядя на армовский кластер под столом - ну и да, конечно же, "потому как уже 2020й год" мне его надо выкинуть и купить новый-модный, на aarch64 (сколько лет вообще эта архитектура существует - три годика, да?) - и так каждый год, ну максимум - раз в два.

     

  • 1.98, Аноним (98), 18:51, 16/07/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    То чувство, когда о какой-то ОС Аврора узнал из новости о том, что её разрабы залатали дыру в Glibc
     
     
  • 2.103, Аноним (-), 19:19, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > То чувство, когда о какой-то ОС Аврора узнал из новости о том,
    > что её разрабы залатали дыру в Glibc

    Ну, хоть какая-то польза от этих господ наконец.

     
     
  • 3.111, Michael Shigorin (ok), 21:30, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> То чувство, когда о какой-то ОС Аврора узнал из новости о том,
    >> что её разрабы залатали дыру в Glibc
    > Ну, хоть какая-то польза от этих господ наконец.

    Польза от них и раньше была, если что.
    Вам на блюдечке с голубыми декорациями они её доносить не обязаны.
    Как и Вы -- скажем, мне.

     
     
  • 4.125, Аноним (-), 00:05, 17/07/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Польза от них и раньше была, если что.

    Это когда они наврали с три короба про открытие исходников и потом вообще ростелекому слились?

    > Вам на блюдечке с голубыми декорациями они её доносить не обязаны.
    > Как и Вы -- скажем, мне.

    Абсолютно, но я им тоже позитивное мнение о их деятельности не обязан, например.

     
  • 2.109, Аноним (109), 20:56, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    потому что гну - всё...
     
     
  • 3.113, Аноним (113), 22:02, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    GNU не одно и тоже, что FSF. Хоть и были связаны через RMS'а.
     

  • 1.108, Отражение луны (ok), 20:54, 16/07/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Ну теперь заживем!
     
  • 1.115, Begs (ok), 22:14, 16/07/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Русские программисты: *постоянно контрибьютят в опенсорс, работают во всех мировых айти-компаниях, занимающихся СПО*
    Разработчики OC Аврора: мы пропатчили Glibc и напишем об этом статью на опеннете
     
     
  • 2.116, Michael Shigorin (ok), 22:23, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Русские программисты:
    > Разработчики OC Аврора:

    Забавное противопоставление.  Сами-то чьих будете, куда патчей насовали?

     
     
  • 3.118, рюйскепрограммизд (?), 22:48, 16/07/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Чего забавного? Первые гребут на галерах, во всяких пейсбуках и прочих помойк...мировых иты-компаниях, куда только они да индусы и нанимаются, мечтают подсидеть индусского тимлида и сами стать такими (на большее мечт не хватает, да и некогда, тимлид кнутом больно лупит).

    Другие, сволочи, в рабочее время патчат glibc, да еще нагло пиарятся на опеннете (неиначе - мест в пейсбуке жаждут, набивают себе цену) - а у тех, первых - nda, а при попытке договориться - индус вкрадчиво спрашивает "а тебе что, делать нечего?" - ласково поигрывая при этом кнутом.

     

  • 1.148, Zenitur (ok), 11:21, 17/07/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > проявляющейся только на платформе ARMv7

    Какая избирательность. Напомните, Android на glibc работает?

     
  • 1.157, InuYasha (??), 17:42, 23/07/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Какже достали все эти интовые наследия!
    int main(...int argc) // ok, ребята, нам прислали -5 аргументов, держитесь!
     

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



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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