ping.c (351782067b6be81879b0af0daf7bd3acbb32d986) ping.c (678ca42d688534adfc780b150abefaaac7c86687)
1/*
2 * INET An implementation of the TCP/IP protocol suite for the LINUX
3 * operating system. INET is implemented using the BSD Socket
4 * interface as the means of communication with the user level.
5 *
6 * "Ping" sockets
7 *
8 * This program is free software; you can redistribute it and/or

--- 749 unchanged lines hidden (view full) ---

758 if (inet_opt) {
759 memcpy(&opt_copy, inet_opt,
760 sizeof(*inet_opt) + inet_opt->opt.optlen);
761 ipc.opt = &opt_copy.opt;
762 }
763 rcu_read_unlock();
764 }
765
1/*
2 * INET An implementation of the TCP/IP protocol suite for the LINUX
3 * operating system. INET is implemented using the BSD Socket
4 * interface as the means of communication with the user level.
5 *
6 * "Ping" sockets
7 *
8 * This program is free software; you can redistribute it and/or

--- 749 unchanged lines hidden (view full) ---

758 if (inet_opt) {
759 memcpy(&opt_copy, inet_opt,
760 sizeof(*inet_opt) + inet_opt->opt.optlen);
761 ipc.opt = &opt_copy.opt;
762 }
763 rcu_read_unlock();
764 }
765
766 sock_tx_timestamp(sk, ipc.sockc.tsflags, &ipc.tx_flags);
767
768 saddr = ipc.addr;
769 ipc.addr = faddr = daddr;
770
771 if (ipc.opt && ipc.opt->opt.srr) {
772 if (!daddr) {
773 err = -EINVAL;
774 goto out_free;
775 }

--- 416 unchanged lines hidden ---
766 saddr = ipc.addr;
767 ipc.addr = faddr = daddr;
768
769 if (ipc.opt && ipc.opt->opt.srr) {
770 if (!daddr) {
771 err = -EINVAL;
772 goto out_free;
773 }

--- 416 unchanged lines hidden ---