|
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) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/376630288a26a.html, оценка из 5, голосов 10
|