 GFP_KERNEL,     ,   
 gfp mask,     .

        __get_free_
pages () .       ,   
      .  
,     ,     .
   ,         ,
   .      
       .

    ,   
,      ,   -
       .   
,       ,  -
  kmalloc().

 kmalloc ()

 kmalloc ()    malloc ()  -
,   ,      flags. 
kmalloc ()           -
    .     -
 ,        ,  
     .   -
       kmalloc ()   -
 .

     <linux/slab . h>  -
.

void * kmalloc(size t size, int flags)

      ,   
  size 3.       -
.       NULL.   
  ,      .
    kmalloc ()    -
     NULL    -
 .

 . ,      
,          dog.

struct dog *ptr;

ptr = kmalloc(sizeof(struct dog), GFP_KERNEL) ;

if (!ptr)

/*    ... */

3      ,  ,     ,
  !           
,       ,   -
    .      ,  . 
         ,    -
     NULL.

240                                                                     11