taglinefilesource code
ulen135include/linux/socket.hextern int move_addr_to_user(void *kaddr, int klen, void *uaddr, int *ulen);
ulen136include/linux/socket.hextern int move_addr_to_kernel(void *uaddr, int ulen, void *kaddr);
ulen304net/ipv4/udp.cint ulen = len + sizeof(struct udphdr);
ulen308net/ipv4/udp.cif(ulen>65535-sizeof(struct iphdr))
ulen313net/ipv4/udp.cufh.uh.len = htons(ulen);
ulen316net/ipv4/udp.cufh.other = (htons(ulen) << 16) + IPPROTO_UDP*256;
ulen326net/ipv4/udp.ca = ip_build_xmit(sk, udp_getfrag_nosum, &ufh, ulen, 
ulen329net/ipv4/udp.ca = ip_build_xmit(sk, udp_getfrag, &ufh, ulen, 
ulen597net/ipv4/udp.cunsigned short ulen;
ulen615net/ipv4/udp.culen = ntohs(uh->len);
ulen617net/ipv4/udp.cif (ulen > len || len < sizeof(*uh) || ulen < sizeof(*uh)) 
ulen619net/ipv4/udp.cNETDEBUG(printk("UDP: short packet: %d/%d\n", ulen, len));
ulen648net/ipv4/udp.culen));
ulen655net/ipv4/udp.clen=ulen;
ulen132net/socket.cint move_addr_to_kernel(void *uaddr, int ulen, void *kaddr)
ulen135net/socket.cif(ulen<0||ulen>MAX_SOCK_ADDR)
ulen137net/socket.cif(ulen==0)
ulen139net/socket.cif((err=verify_area(VERIFY_READ,uaddr,ulen))<0)
ulen141net/socket.cmemcpy_fromfs(kaddr,uaddr,ulen);
ulen145net/socket.cint move_addr_to_user(void *kaddr, int klen, void *uaddr, int *ulen)
ulen151net/socket.cif((err=verify_area(VERIFY_WRITE,ulen,sizeof(*ulen)))<0)
ulen153net/socket.clen=get_user(ulen);
ulen164net/socket.cput_user(len,ulen);