Hello,

I was compilling vanilla kernel patched with ctx-17a patch, I was not
able to compile code udp.c if ipv6 support was not selected.

I was searching and I found bug in file linux/net/ipv4/udp.c.

It was not clear to me what patch author intended...
but there is for sure a bug.

look for "#if defined(CONFIG_IPV6)" in the code:

        Michal Heppler

--

/* UDP is nearly always wildcards out the wazoo, it makes no sense to
 * try
 * harder than this. -DaveM
 */
struct sock *udp_v4_lookup_longway(u32 saddr, u16 sport, u32 daddr,
u16 dport, int dif)
{
        struct sock *sk, *result = NULL;
        unsigned short hnum = ntohs(dport);
        int badness = -1;

        for(sk = udp_hash[hnum & (UDP_HTABLE_SIZE - 1)]; sk != NULL; sk
= sk->next) {
                if(sk->num == hnum && !ipv6_only_sock(sk)) {
                        int score;
#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
                        score = sk->family == PF_INET ? 1 : 0;
#else
                        }else if (sk->ip_info != NULL){
                                if (udp_in_list (sk->ip_info,daddr)){
                                        score++;
                                }else{
                                        continue;
                                }
                        score = 1;
#endif
                        if(sk->rcv_saddr) {
                                if(sk->rcv_saddr != daddr)
                                        continue;
                                score+=2;

,,,


                        }
                }
        }
        return result;
}


Reply via email to