Hello Arnd. On 8/29/18 2:59 PM, Arnd Bergmann wrote: > The SIOCGSTAMP/SIOCGSTAMPNS ioctl commands are implemented by many > socket protocol handlers, and all of those end up calling the same > sock_get_timestamp()/sock_get_timestampns() helper functions, which > results in a lot of duplicate code. > > With the introduction of 64-bit time_t on 32-bit architectures, this > gets worse, as we then need four different ioctl commands in each > socket protocol implementation. > > To simplify that, let's add a new .gettstamp() operation in > struct proto_ops, and move ioctl implementation into the common > sock_ioctl()/compat_sock_ioctl_trans() functions that these all go > through. > > We can reuse the sock_get_timestamp() implementation, but generalize > it so it can deal with both native and compat mode, as well as > timeval and timespec structures. > > Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> > --- > include/linux/net.h | 2 ++ > include/net/compat.h | 3 -- > include/net/sock.h | 4 +-- > net/appletalk/ddp.c | 7 +---- > net/atm/ioctl.c | 16 ----------- > net/atm/pvc.c | 1 + > net/atm/svc.c | 1 + > net/ax25/af_ax25.c | 9 +----- > net/bluetooth/af_bluetooth.c | 8 ------ > net/bluetooth/l2cap_sock.c | 1 + > net/bluetooth/rfcomm/sock.c | 1 + > net/bluetooth/sco.c | 1 + > net/can/af_can.c | 6 ---- > net/can/bcm.c | 1 + > net/can/raw.c | 1 + > net/compat.c | 54 ------------------------------------ > net/core/sock.c | 38 +++++++++++-------------- > net/dccp/ipv4.c | 1 + > net/dccp/ipv6.c | 1 + > net/ieee802154/socket.c | 6 ++-- > net/ipv4/af_inet.c | 9 ++---- > net/ipv6/af_inet6.c | 8 ++---- > net/ipv6/raw.c | 1 + > net/l2tp/l2tp_ip.c | 1 + > net/l2tp/l2tp_ip6.c | 1 + > net/netrom/af_netrom.c | 14 +--------- > net/packet/af_packet.c | 7 ++--- > net/qrtr/qrtr.c | 4 +-- > net/rose/af_rose.c | 7 +---- > net/sctp/ipv6.c | 1 + > net/sctp/protocol.c | 1 + > net/socket.c | 48 ++++++++++---------------------- > net/x25/af_x25.c | 27 +----------------- > 33 files changed, 63 insertions(+), 228 deletions(-) For the net/ieee802154/socket. part I am fine with this change. Acked-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxxxxx> regards Stefan Schmidt