Unverified Commit 091e780d authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!7851 netrom: Fix data-races around sysctl_netrom_network_ttl_initialiser

parents bcfa0f0e acd99e6a
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -84,7 +84,7 @@ static int nr_header(struct sk_buff *skb, struct net_device *dev,
	buff[6] |= AX25_SSSID_SPARE;
	buff    += AX25_ADDR_LEN;

	*buff++ = sysctl_netrom_network_ttl_initialiser;
	*buff++ = READ_ONCE(sysctl_netrom_network_ttl_initialiser);

	*buff++ = NR_PROTO_IP;
	*buff++ = NR_PROTO_IP;
+1 −1
Original line number Diff line number Diff line
@@ -207,7 +207,7 @@ void nr_transmit_buffer(struct sock *sk, struct sk_buff *skb)
	dptr[6] |= AX25_SSSID_SPARE;
	dptr += AX25_ADDR_LEN;

	*dptr++ = sysctl_netrom_network_ttl_initialiser;
	*dptr++ = READ_ONCE(sysctl_netrom_network_ttl_initialiser);

	if (!nr_route_frame(skb, NULL)) {
		kfree_skb(skb);
+3 −2
Original line number Diff line number Diff line
@@ -184,7 +184,8 @@ void nr_write_internal(struct sock *sk, int frametype)
		*dptr++ = nr->my_id;
		*dptr++ = frametype;
		*dptr++ = nr->window;
		if (nr->bpqext) *dptr++ = sysctl_netrom_network_ttl_initialiser;
		if (nr->bpqext)
			*dptr++ = READ_ONCE(sysctl_netrom_network_ttl_initialiser);
		break;

	case NR_DISCREQ:
@@ -238,7 +239,7 @@ void __nr_transmit_reply(struct sk_buff *skb, int mine, unsigned char cmdflags)
	dptr[6] |= AX25_SSSID_SPARE;
	dptr += AX25_ADDR_LEN;

	*dptr++ = sysctl_netrom_network_ttl_initialiser;
	*dptr++ = READ_ONCE(sysctl_netrom_network_ttl_initialiser);

	if (mine) {
		*dptr++ = 0;