Обновить
151
0
Max Filippov @jcmvbkbc

low level freak

Отправить сообщение
Помимо дерева устройств еще один путь к файлу, опционально предоставляемый ядру на загрузке, принадлежит initrd

Нифига не путь к файлу, а сам файл — загружается загрузчиком так же, как и образ ядра, и адрес по которому он был загружен передаётся ядру при старте.
P (parity) is set when the answer has even parity, clear when odd parity

P (parity, чётность) задаётся, когда результат чётный, и обнуляется, когда он нечётный

В оригинале — правильно, в переводе — нет. P == 1 тогда и только тогда, когда в результате чётное число установленных в единицу битов.
if (b % 2 === 1) { // If the current number is even

Вот тоже зло в чистом виде: комментарий не соответствующий коду.
Добавить генератор длинной непредсказуемой гаммы — и получится отличный шифр.

К сожалению нет, не отличный. При отсутствии дополнительной защиты вроде MAC при атаке MItM атакующий может манипулировать отдельными битами сообщения по своему выбору, даже не зная их. Т.е. изменение одного бита шифртекста приводит к такому же точно изменению того же самого бита в расшифрованном тексте.
Вы упустили вот этот важный момент из оригинального сообщения:
если мы знаем часть шифрособщения которое поступило в шифратор
.

Ждём от вас утилиту

Для A5/1 — наслаждайтесь: srlabs.de/wp-content/uploads/2010/07/Attacking.Phone_.Privacy_Karsten.Nohl_1-1.pdf opensource.srlabs.de/projects/a51-decrypt
На 32-битном ядре почти гигабайт физической памяти замаплен точно так же. И нет, это не нововведение.
Патчи, по крайней мере линуксовые, делают настолько общие вещи, что ничего не говорят о деталях уязвимости. В отличие от статей: meltdown, spectre.
Склоки продолжались какое-то время, а затем участники проекта договорились о том, что нужен некий общий свод правил хорошего тона, что и было документально зафиксировано в /usr/src/linux/Documentation/CodingStyle

CodeOfConflict, CodingStyle — это другое.
Переписать ашник.

Не, вот это точно неправильно. Скопировать стандартный в отдельный сисрут — может быть. Переписать самому — точно нет.

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

Порекламирую crosstool-NG ещё раз. Бэкпортированные патчи из мэйнлайнов компонентов тулчейна и коллективное тестирование идут в комплекте.
Этот makefile будет неустойчиво работать с make -j, потому что link не зависит от $(SOURCES) и перечислен наравне с ними в пререквизитах для all. Правильнее было бы так:
all: kernel
kernel: $(SOURCES)
тем не менее, для этого нужна хостовая libc

Вовсе нет, никто не запрещает вам определить abort, memcpy, memmove, memset и memcmp в своём коде, по мере необходимости.
В хостовом компиляторе есть хостовая libgcc, которая может попытаться обратиться к не менее хостовому ядру

Ну вообще-то нет, не может. Максимум — к функциям из libc, типа abort. Плюс в коде раскрутки стека при исключении есть проверка, специфичная для ОС, но исключения — это вообще отдельная тема, голого компилятора который вы построили для них тоже не хватит.
Вместо того чтобы руками собирать тулчейн можно взять github.com/crosstool-ng/crosstool-ng. Только непонятно, зачем собирать кросс-компилятор под x86 без libc, если всю ту же функциональность можно получить от хостового компилятора с опцией -ffreestanding.
А она вообще там есть?

Отвечу сам себе: есть, но не в TLB. Документация intel выделяет эту информацию в отдельные структуры, называемые paging structure caches.
совершенно неясно с какого перепугу вы решили, что если информация о конкретной странице будет выгружена из TLB кеша, то и информация о каталогах и прочем тоже будет выгружена. Не будет.


А она вообще там есть? Т.е. помимо записей вида (например, для 32-битных 4К страниц) 0xvvvvvxxx -> 0xpppppxxx в TLB хранятся записи вида 0xvvxxxzzz -> 0xppxxxzzz для каталогов (и они отличны от записей для страниц с адресами 0xvvxxxzzz)?
Интересно, как это:

Так же как и для любого типа кэша, существует стоимость промаха TLB; для x64 она колеблется между 7-21 тактами ЦП [7cpu].


согласуется с этим:

Однако, что сложнее найти, так это информацию о времени доступа к основной ОЗУ. [Levinthal] оценивает его в 60нс (~ 180 тактов, если процессор работает на частоте 3ГГц).


ведь промах TLB ведёт к обращению к страничным таблицам, а обращений этих может быть до 5 на современных x64 (без виртуализации, с виртуализацией — до 25), и адрес каждого обращения получается из предыдущего, т.е. их нельзя распараллелить.
Т.е. вы пришли потрындеть о том, что «благосостояние должно» и пострадать от стыда, пока какая-то система вам чего-то не начнёт гарантировать? Ок, позиция понятна.
То есть вы предлагаете платя половину зп на налоги еще и «поддерживать» государство?

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

Сейчас отдаете половину дохода и это мало?

Я отдаю примерно треть, и мне нормально, на благотворительность хватает.

А чего не весь доход? Работа за еду — отличная идея?

Не знаю, это ваши фантазии. Хотите поговорить об этом?
Ну если всё ещё стыдно, то очевидно же, что недостаточно.
В чём проблема, объясните? Где изъян логики?
Это сюрреализм какой-то, хочется проснуться. Как у нас может быть хорошая медицина при таком подходе? Мне стыдно за страну, за все это стыдно.

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

Информация

В рейтинге
Не участвует
Откуда
Fremont, California, США
Зарегистрирован
Активность