[pso] [Tema4] Not synching in hook

Octavian Purdila tavi at cs.pub.ro
Sun May 27 14:58:04 EEST 2007


On Sunday 27 May 2007 13:27, Costin Boldisor wrote:
> Cred ca am apreciat gresit motivul erorii. Am pus acum doar o alocare
> de structura fwr, care se face din metoda "getRule". Alocare se face cu
> codul:
> struct fwr* rez = (struct fwr*) kmalloc(sizeof(struct fwr), GFP_KERNEL);
>
> if(rez == NULL){
>
>    afis("Nu pot sa aloc un fwr");
>
>     return NULL;
>
> }
>
>
>
> Acum imi afiseaza urmatoare eroare. Care este cauza?
>
>
> BUG: sleeping function called from invalid context at mm/slab.c:2901
> in_atomic():1, irqs_disabled():0
> [<c0104936>] show_trace_log_lvl+0x176/0x190
> [<c0104f0d>] show_trace+0xd/0x10
> [<c0104fc9>] dump_stack+0x19/0x20
> [<c0112b7a>] __might_sleep+0x9a/0xb0
> [<c0159acf>] kmem_cache_alloc+0x9f/0xc0
> [<c882b1cb>] getRule+0x1b/0x70 [ipdriver]
> [<c882b2bd>] myHookOut+0x9d/0x120 [ipdriver]
> [<c02cde14>] nf_iterate+0x54/0x80
> [<c02cdf69>] nf_hook_slow+0x49/0xd0
> [<c02d84ff>] ip_queue_xmit+0x2af/0x470
> [<c02e81fd>] tcp_transmit_skb+0x37d/0x7e0
> [<c02eb015>] tcp_connect+0x2c5/0x370
> [<c02ee6e4>] tcp_v4_connect+0x3e4/0x700
> [<c02f986d>] inet_stream_connect+0x1bd/0x240
> [<c02b31d5>] sys_connect+0x55/0x80
> [<c02b4232>] sys_socketcall+0x82/0x1e0
> [<c010316d>] sysenter_past_esp+0x56/0x99
> [<40017410>] 0x40017410
> 

http://cs.pub.ro/~pso/index.php?section=Laboratoare&file=03.%20Kernel%20API

tavi


More information about the pso mailing list