Skip to content

Commit 5cd2f78

Browse files
wdebruijkuba-moo
authored andcommitted
ipv6: initialize inet socket cookies with sockcm_init
Avoid open coding the same logic. Signed-off-by: Willem de Bruijn <[email protected]> Reviewed-by: David Ahern <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
1 parent 0962085 commit 5cd2f78

File tree

4 files changed

+5
-12
lines changed

4 files changed

+5
-12
lines changed

include/net/ipv6.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -371,6 +371,8 @@ static inline void ipcm6_init_sk(struct ipcm6_cookie *ipc6,
371371
.tclass = inet6_sk(sk)->tclass,
372372
.dontfrag = inet6_test_bit(DONTFRAG, sk),
373373
};
374+
375+
sockcm_init(&ipc6->sockc, sk);
374376
}
375377

376378
static inline struct ipv6_txoptions *txopt_get(const struct ipv6_pinfo *np)

net/ipv6/ping.c

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -119,9 +119,6 @@ static int ping_v6_sendmsg(struct sock *sk, struct msghdr *msg, size_t len)
119119
return -EINVAL;
120120

121121
ipcm6_init_sk(&ipc6, sk);
122-
ipc6.sockc.priority = READ_ONCE(sk->sk_priority);
123-
ipc6.sockc.tsflags = READ_ONCE(sk->sk_tsflags);
124-
ipc6.sockc.mark = READ_ONCE(sk->sk_mark);
125122

126123
fl6.flowi6_oif = oif;
127124

net/ipv6/raw.c

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -769,19 +769,16 @@ static int rawv6_sendmsg(struct sock *sk, struct msghdr *msg, size_t len)
769769

770770
hdrincl = inet_test_bit(HDRINCL, sk);
771771

772+
ipcm6_init_sk(&ipc6, sk);
773+
772774
/*
773775
* Get and verify the address.
774776
*/
775777
memset(&fl6, 0, sizeof(fl6));
776778

777-
fl6.flowi6_mark = READ_ONCE(sk->sk_mark);
779+
fl6.flowi6_mark = ipc6.sockc.mark;
778780
fl6.flowi6_uid = sk->sk_uid;
779781

780-
ipcm6_init_sk(&ipc6, sk);
781-
ipc6.sockc.tsflags = READ_ONCE(sk->sk_tsflags);
782-
ipc6.sockc.mark = fl6.flowi6_mark;
783-
ipc6.sockc.priority = READ_ONCE(sk->sk_priority);
784-
785782
if (sin6) {
786783
if (addr_len < SIN6_LEN_RFC2133)
787784
return -EINVAL;

net/ipv6/udp.c

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1496,9 +1496,6 @@ int udpv6_sendmsg(struct sock *sk, struct msghdr *msg, size_t len)
14961496

14971497
ipcm6_init_sk(&ipc6, sk);
14981498
ipc6.gso_size = READ_ONCE(up->gso_size);
1499-
ipc6.sockc.tsflags = READ_ONCE(sk->sk_tsflags);
1500-
ipc6.sockc.mark = READ_ONCE(sk->sk_mark);
1501-
ipc6.sockc.priority = READ_ONCE(sk->sk_priority);
15021499

15031500
/* destination address check */
15041501
if (sin6) {

0 commit comments

Comments
 (0)