Показать сообщение отдельно

  #1237  
Старый 25.09.2009, 21:10
cupper
Постоянный
Регистрация: 06.06.2007
Сообщений: 575
Провел на форуме:
1180737

Репутация: 180


По умолчанию

Цитата:
Сообщение от LzD  
конкретнее сюда. или уточни...

http://www.ibm.com/developerworks/ru/library/l-lkm/index.html
седня весь день ее уже штудирую

если конкретней то нужно найти в коде то место где при загрузки модуля ему отводится место в памяти ядра и присваивается 0-е кольцо (поле DPL и сегмента даных, типа __KERNEL_CS)

проштудировал функцию load_module и другие, на наличие заветных строчек, но все что я нашел, это строчка в фунции load_module
Цитата:
set_fs(KERNEL_DS)
отчасти похожая на то что я ищу, или предпологаю что то что я ищу это чтото похожее на это, но это нето, это связано с доступной выделяемой памятью (4Gb)
В этой функции вызывается функция copy_from_user для размещения модуля во временной памяти от кудова он уже должен быть перемещен в область ядра (забыл смотрел ее код или нет щас ище раз пойду ее искать).
Вроде гдето тут оно должно быть, а не как ненайду \

PS. посматрел copy_from_user, через 5-8 дефайнов и функций оберток пришел к __copy_to_user_ll, но и там не какие сегменты кода ядра тоже не присваиваются или я этого не вижу проста

Последний раз редактировалось cupper; 25.09.2009 в 21:29..
 
Ответить с цитированием