1
0
Fork 0

isotp: support getname callback for Linux 4.17+

Following mainline commit 9b2c45d479d0fb8647c9e83359df69162b5fbe5f
("net: make getname() functions return length rather than use int* parameter")

Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
master
Oliver Hartkopp 7 years ago
parent a7dfaac19e
commit 0e1736850a

@ -1163,8 +1163,12 @@ out:
return err; return err;
} }
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,17,0)
static int isotp_getname(struct socket *sock, struct sockaddr *uaddr, int peer)
#else
static int isotp_getname(struct socket *sock, struct sockaddr *uaddr, static int isotp_getname(struct socket *sock, struct sockaddr *uaddr,
int *len, int peer) int *len, int peer)
#endif
{ {
struct sockaddr_can *addr = (struct sockaddr_can *)uaddr; struct sockaddr_can *addr = (struct sockaddr_can *)uaddr;
struct sock *sk = sock->sk; struct sock *sk = sock->sk;
@ -1178,9 +1182,13 @@ static int isotp_getname(struct socket *sock, struct sockaddr *uaddr,
addr->can_addr.tp.rx_id = so->rxid; addr->can_addr.tp.rx_id = so->rxid;
addr->can_addr.tp.tx_id = so->txid; addr->can_addr.tp.tx_id = so->txid;
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,17,0)
return sizeof(*addr);
#else
*len = sizeof(*addr); *len = sizeof(*addr);
return 0; return 0;
#endif
} }
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32) #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32)

Loading…
Cancel
Save