memcpy-- сбой ядра после memcpy - PullRequest
0 голосов
/ 17 мая 2011

Мне нужна помощь. Я пытаюсь использовать memcpy, чтобы скопировать заголовок в пространстве ядра, но экран просто становится черным, и, похоже, ему не нравится мой memcpy.Пожалуйста, кто-нибудь, помогите мне.

        remaining = ntohs(iphead->tot_len) - 20; //(remaining = total size of ip packet - size of meta header)
 while(remaining != 0) {
    currentHead = (struct iphdr *) pos; //save the first 'real' header
    if(currentHead == NULL)
        goto fail;
    nskb = dev_alloc_skb(ntohs(currentHead->tot_len) + MAC_LENGTH );
    if(nskb == NULL)
        goto fail; //We can't allocate that memory so we leave
    if(nskb->tail + MAC_LENGTH + ntohs(currentHead->tot_len) <= nskb->end){ 

        nskb->data = skb_put(nskb, (MAC_LENGTH + ntohs(currentHead->tot_len))); // allocated all the memory we need
        memcpy(nskb->data,(*skb)->mac_header, MAC_LENGTH); //Put the mac header in place
        nskb->mac_header = nskb->data; //Save the mac header location
        nskb->network_header = nskb->data + MAC_LENGTH; //Move the pointer to where the network header will be
        memcpy(nskb->network_header, pos, ntohs(currentHead->tot_len)); //save the ip + payload

        nskb->data = nskb->network_header;

1 Ответ

0 голосов
/ 17 мая 2011

Действительно ли pos действительно?Какой memcpy доставляет вам проблемы?Я предполагаю, что это ядро ​​Linux?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...