I have a question about the function -
ip_copy_metadata(), in the file ip_output.c, in Linux
2.6.18.3.
Following is part of the function:
static void ip_copy_metadata(struct sk_buff *to,
struct sk_buff *from)
{
1) to->pkt_type = from->pkt_type;
2) to->priority = from->priority;
3) to->protocol = from->protocol;
4) dst_release(to->dst);
5) to->dst = dst_clone(from->dst);
6) to->dev = from->dev;
......
My question is specific to line 4. Should that line
be as follows:
4') dst_release(from->dst);
ip_copy_metadata() is called twice in that file, and
prior to each call, to->dst is not initialized to a
valid dst (set to NULL). So, I believe
dst_release(to->dst) does not do anything (dst_release
does not bomb, as there is a check for NULL value in
it).
I am guessing the author meant to type
dst_release(from->dst).
Can someone please confirm this.
I apologize if this is the wrong place to post this
question, and if so, can someone please point me to
right mailing list to post this question.
Thank you,
Aha.
____________________________________________________________________________________
Sponsored Link
Online degrees - find the right program to advance your career.
www.nextag.com
--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive: http://mail.nl.linux.org/kernelnewbies/
FAQ: http://kernelnewbies.org/faq/