Hello. Thank you for your feedback.
Paul Moore wrote: > With this patch the 'cpu_flags' variable will be used in two different > if-blocks in this function and declared locally within each block. Please > move the 'cpu_flags' declaration to the top of the function so it only needs > to be declared once. I see. > I might be missing something here, but why do you need to do a skb_peek() > again? You already have the skb and the sock, just do the unlink. The skb might be already dequeued by other thread while I slept inside security_post_recv_datagram(). > Two things. First you can probably just call kfree_skb() instead of > skb_free_datagram(). So far, there is no difference between skb_free_datagram() and kfree_skb(). | void skb_free_datagram(struct sock *sk, struct sk_buff *skb) | { | kfree_skb(skb); | } udp_recvmsg() thinks it might not be ok to directly call kfree_skb(). But you and skb_kill_datagram() think it is ok to directly call kfree_skb(), I will do so. > Second, why not move the 'no_peek' code to just before 'no_packet'? Oh, I didn't notice I can insert here. Now I can also move the rest code like | error = security_post_recv_datagram(sk, skb, flags); | if (error) | goto force_dequeue; | } while (!wait_for_packet(sk, err, &timeo)); | | return NULL; | force_dequeue: | /* dequeue if MSG_PEEK is set. */ | no_packet: | *err = error; | return NULL; to reduce indentation. Thank you. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/