Это был ответ на реплику про загрузку/выгрузку из swap'a.UAVpilot писал(а):Это вообще не имеет отношения к теме, не надо "незаметно отползать" в сторону.netraider писал(а):Как именно? как проиходит создание АП для процесса?
см. в самом конце сообщенияUAVpilot писал(а):В этом случае это самое "обращение" просто вернёт ошибку в пользовательский код (hardinfo)netraider писал(а):Попытке обработать некий запрос от hardinfo привела к обращению к данным этого модуля. модуля в памяти не оказалось.
Я тебе показал в коде место, откуда выполняется печать на экран того самого сообщения. Вот про этот вызов:UAVpilot писал(а):Тебе кто-то сказал, что твоя критика аргументированная, или ты сам так решил?..netraider писал(а):аргументированную критику.
Это для тебя не аргумент? Ролик поскипал, жаль что дискуссия упала до такого уровня.netraider писал(а):И находится он (внезапно) в функции do_page_fault, которая вызывается ядром.
Я тебе привожу цитаты из твоего источника. Там умные слова тебя? Эти фразы имеют прямое отношение к вопросу.UAVpilot писал(а):Аналогичный приём: цитировать умные фразы, не имеющие отношения к вопросу.netraider писал(а):Ликбез говоришь? Найди 10 отличий, как говорится, от того что я тебе говорил. (это кстати у тебя такой прием ведения обсуждения? игнорировать аргументы и отсылать к источниками, в которых приводятся абсолютно эти же аргументы)
По поводу второй части -
Ну это же факт, не находишь?)UAVpilot писал(а):"отсылать к источниками, в которых приводятся абсолютно эти же аргументы"
Я еще раз спрошу - тебе понятно откуда в листинге, который я привел, появился вызов do_page_fault ?
Думаю что сейчас опять будет возражение про "не относится к обсуждению" Но все таки... для знатока ядра это должен быть совсем простой вопрос. Это вообще краеугольный камень в нашем обсуждении. Заодно можешь рассказать как (откуда) выполняется генерация очень вовремя упомянутого SIGSEGV (только не на уровне "ядром выполняется", а более детально)
Без понимания почему, зачем и как - действительно, мои аргументы будут игнорироваться...
malloc ты упомянул, а не я.UAVpilot писал(а): Я ничего не говорил про динамическое выделение памяти процессу.
Нет там никакого SIGSEGV. Посмотри внимательно как do_page_fault посылает SIGSEGV (сюрприз наверное... да, даже тот же SIGSEGV посылается из do_page_fault). И как произшло "убиение" в нашем случае.UAVpilot писал(а): Я лишь сказал, что например из объявленного массива типа
static char buff[10]
попытались прочитать больше 10 байт, т.е. процесс попытался обратиться к чужой области памяти, за что и был пристрелен ядром посредством сигнала SIGSEGV. И что информация о причинах этого возможно есть в логе за верхней границей экрана (на скриншоте).
Почему относительно тривиальные веши ты называешь "умными словами" ?UAVpilot писал(а):Но тут появился netrider с умными словами про распределение памяти...
Ага, и сравнить результаты со случаем, в котором вытаскивается флешка, на которой находтся... ну пусть динамически загруженный модудь с экспортируемым указателем на строку.UAVpilot писал(а):Подобную "ошибку" очень легко повторить: объявите аналогичный массив, заполните его ненулевыми байтами и натравите на него strlen...