• Обзор Zoria: Age of Shattering

    Обзор Zoria: Age of Shattering

    В 2024 году небольшая румынская студия Tiny Trinket Games выпустила дебютный проект Zoria: Age of Shattering, и именно этот проект как нельзя лучше подходит, чтобы, пусть и задним числом, занять место недостающего эволюционного звена между Dragon Age: Origins и Divinity: Original Sin.

  • Обзор The Thaumaturge

    Обзор The Thaumaturge

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

  • 13 лет C.O.R.E.

    13 лет C.O.R.E.

    Вот и наступил 13 день рождения Codex of RPG Elucidation, и проведём мы его за длинным интервью (вопросы к нему придумывал не я), если оно, конечно, вам интересно.

[Ведьмак 2: Убийцы королей] Очередные проблемы Linux-версии

Ведьмак 2: Убийцы королей на Linux

Если вы следили за ситуацией вокруг «Ведьмак 2: Убийцы королей» для Linux, то наверняка знаете о многочисленных проблемах, которые преследуют её с момента выхода. «Ведьмак 2: Убийцы королей» для Linux оказалась Windows-версией игры, запущенной через подобную Wine оболочку, приводящую к существенному падению производительности, а на некоторых видеокартах производства AMD не запускалась вообще. На днях пользователи Linux с удивлением обнаружили, что игра отказывается работать в системах с ядром 3.17.7 или более новым.

Пользователи компьютерных игр столкнулись с невозможностью запуска игры Witcher 2 на системах с новыми ядрами Linux. В частности, наблюдается крах при запуске игры в окружении ядра 3.17.7 и более новых выпусков. После анализа ситуации разработчики выяснили, что причиной являются добавленные в недавних выпусках ядра дополнительные проверки параметров системного вызова "set_thread_area".

Линус Торвальдс присоединился к дискуссии и подтвердил свою приверженность принципу сохранения полной совместимости с приложениями, заключающемуся в том, что программные интерфейсы должны обеспечивать обратную совместимость, и никакие изменения в ядре не должны нарушать корректную работу пользовательских приложений. Чтобы не допустить подобные инциденты с играми в будущем, Линус посоветовал ответственным за тестирование ядра разработчикам включить игровые приложения в число проверяемых программ, а разработчикам проприетарных игр более активно сотрудничать с разработчиками ядра и сразу сообщать о всех возникших проблемах. В качестве решения проблемы с Witcher 2 Линус указал на необходимость смягчить добавленные в системный вызов ограничения "set_thread_area" или организовать жесткие проверки только для серверных систем.

Неоднозначность ситуации заключается в том, что добавление дополнительных проверок параметров системного вызова "set_thread_area" было осуществлено в рамках устранения выявленных в декабре критических уязвимостей (CVE-2014-9322, CVE-2014-9090) и данные проверки необходимы для предотвращения атак, которые могут привести к повышению привилегий в системе. При этом старое недокументированное поведение системного вызова использовалось в игре Witcher 2. Для поиска свободных слотов TLS в системный вызов "set_thread_area" передавалась полностью обнулённая структура и такой метод работал в Witcher 2, хотя формально требовалась установка флагов read_exec_only и seg_not_present. Поведение системного вызова при передаче нулевых данных не было явно определено в документации, но воспринималось некоторыми разработчиками приложений как выполнение вызова без выделения сегментов, при том, что фактически подобные вызовы без установленного флага seg_not_present приводили к созданию доступного на чтение и запись 16-битного сегмента с нулевыми границами. В новых выпусках ядра передача в "set_thread_area" структур, содержащих 16-разрядные сегменты TLS была запрещена, так как подобные манипуляции с LDT используются в эксплоите.

Таким образом возникла дилемма: сохранить совместимость, но оставить потенциальную уязвимость, или устранить вектор атаки, но нарушить совместимость программных интерфейсов. В случае с игрой Witcher удалось найти компромиссное обходное решение и подготовить патчи, воспринимающие передачу структуры user_desc со всеми нулевыми значениями как операцию поиска свободного слота, и не проводить в этом случае заполнение сегмента TLS.

Комментировать »

CC0
Вы можете копировать, изменять, распространять и исполнять данное произведение, даже в коммерческих целях, не спрашивая разрешения.

Поиск по сайту

Сообщения на форуме | новые

Бордель услаждения интеллектуальных страстей на форуме Оффтопик - Разное.
Последнее сообщение оставил Товарищ (2024-05-02 в 00:45). Ответов: 7588.
Fallout: New Vegas на форуме Fallout: New Vegas.
Последнее сообщение оставил m00n1ight (2024-05-01 в 22:46). Ответов: 378.
Underrail на форуме Всё остальное | Инди.
Последнее сообщение оставил Товарищ (2024-05-01 в 18:07). Ответов: 538.
Caverns of Xaskazien 2 на форуме Рогалики.
Последнее сообщение оставил m00n1ight (2024-05-01 в 17:21). Ответов: 0.
Labyrinth: The wizard’s cat на форуме Бродилки по подземельям.
Последнее сообщение оставил m00n1ight (2024-05-01 в 14:05). Ответов: 0.
[В разработке] Dread Delusion на форуме Всё остальное | Инди.
Последнее сообщение оставил m00n1ight (2024-05-01 в 14:00). Ответов: 13.
Lords of Xulima на форуме Всё остальное | Инди.
Последнее сообщение оставил m00n1ight (2024-05-01 в 12:29). Ответов: 169.
[Arcanum] Прохождение игры на форуме Arcanum.
Последнее сообщение оставил m00n1ight (2024-05-01 в 00:20). Ответов: 52.
[В разработке] Songs of Conquest на форуме Тактические и стратегические.
Последнее сообщение оставил m00n1ight (2024-04-30 в 18:38). Ответов: 28.
Fallout 4 на форуме Fallout 4.
Последнее сообщение оставил Товарищ (2024-04-30 в 15:38). Ответов: 1201.

Ожидаемое | таблица

Новости C.O.R.E.

Статьи C.O.R.E.

Новости RPG Codex

Новости RPG Watch

Новости RPG Nuke

Случайная цитата

If a tree falls in a forest… I'll kill the bastard what done it!

Jaheira, Baldur’s Gate