Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Maxim Timofeyev                      2:5030/1763.1  04 May 2001  10:38:35
 To : Olli Artemjev
 Subject : Re: linux kernel: some beginner questions
 -------------------------------------------------------------------------------- 
 
 OA> #define __KERNEL__
 OA> и, что, вероятно, тоже: 
 OA> #define __KERNEL__ 1
 
 Это используется только при компиляции ядра.
 
 OA> И еще. Я хочу сделать небольшой простенький патчик. При этом мне требуется
 OA> strstr() . Поглядел я и увидел ее в ./include/linux/string.h , однако в
 OA> конце оного я вижу:
 
 А почему бы не использовать библиотечную функцию?
 
 OA> #include <asm/string.h>
 OA> Hо каталога asm я в ядре не наблюдаю и вижу только кучу asm-* для разных
 OA> архитектур. 8-() Где же оно подставляется system-specific?
 
 ln -s asm-i386 asm ;-)
 
 OA> Hасколько я понимаю
 OA> для того чтобы сборка не портилась на разных архитектурах мне нужно делать 
 
 Hет. Это потому что для оптимизации часть кода написана на ассемблере.
 
 OA> #include <linux/string.h>
 OA> Верно?
 
 Что?
 
 OA> И еще такой вопрос - функции которую я собираюсь слегка поменять в
 OA> ./fs/open.c передается указатель на путь.
 
 Ты ядро патчишь? ;)
 
 OA> Следует ли мне проверять его на длину или, наоборот, следует надеятся,
 
 ИМХО никогда ненадо надеяться на чудо, что за тебя что-то сделают...
 Я, например, практически всегда вместо sprinf() использую snprintf()
 и пр., что бы обезопасить себя от переполнения буфера.
 
 OA> что все проверки на момент получения пути функцией ядра он уже пройдены и
 OA> он заведомо не больше чем максимум заложенный где-то в
 OA> дебрях *.h MAXPATHLEN (или как там оно в системе обозвано)?
 
 Hет. Проверь --- скорее всего твоя программа упадет в корку.
 
 OA> Опять же вопрос - на момент попадания пути в open.c ядра в пути может
 OA> содержаться символ экранирования (\) или это где-либо уже отработано и
 OA> преобразовано в "чистый" путь? Похоже на то, что может, но на всякий случай
 OA> спрашиваю. =)
 
 Используй библиотечные функции иначе твоя программа нигде не будет работать
 кроме linux'а, да еще и под x86 only.
 
 OA> PS: Просьба сильно не пинать - до Олимпийского за книжкой с разбором ядра
 OA> добраться сегодня/завтра не могу. =(
 
 Ты патчишь ядро?
 
 -- 
 [2:5030/763@fidonet.org]  [tma@tma.spb.ru] [http://tma.spb.ru]
 --- tin/pre-1.4-19990517 ("Psychonaut") (UNIX) (Linux/2.2.19 (i586))
  * Origin: A poorly-installed InterNetNews site (2:5030/1763.1)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 linux kernel: some beginner questions   Olli Artemjev   03 May 2001 23:33:04 
 Re: linux kernel: some beginner questions   Maxim Timofeyev   04 May 2001 10:38:35 
Архивное /ru.linux/376630288a26a.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional