Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6244be4e authored by Al Viro's avatar Al Viro Committed by David S. Miller
Browse files

[SCTP]: Trivial parts of a_h -> a switch.

parent 80f15d62
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -239,8 +239,8 @@ union sctp_params sctp_bind_addrs_to_raw(const struct sctp_bind_addr *bp,


	list_for_each(pos, &bp->address_list) {
	list_for_each(pos, &bp->address_list) {
		addr = list_entry(pos, struct sctp_sockaddr_entry, list);
		addr = list_entry(pos, struct sctp_sockaddr_entry, list);
		af = sctp_get_af_specific(addr->a_h.v4.sin_family);
		af = sctp_get_af_specific(addr->a.v4.sin_family);
		len = af->to_addr_param(&addr->a_h, &rawaddr);
		len = af->to_addr_param(&addr->a, &rawaddr);
		memcpy(addrparms.v, &rawaddr, len);
		memcpy(addrparms.v, &rawaddr, len);
		addrparms.v += len;
		addrparms.v += len;
		addrparms_len += len;
		addrparms_len += len;
+2 −2
Original line number Original line Diff line number Diff line
@@ -290,8 +290,8 @@ static void sctp_v6_get_saddr(struct sctp_association *asoc,
	list_for_each(pos, &bp->address_list) {
	list_for_each(pos, &bp->address_list) {
		laddr = list_entry(pos, struct sctp_sockaddr_entry, list);
		laddr = list_entry(pos, struct sctp_sockaddr_entry, list);
		if ((laddr->use_as_src) &&
		if ((laddr->use_as_src) &&
		    (laddr->a_h.sa.sa_family == AF_INET6) &&
		    (laddr->a.sa.sa_family == AF_INET6) &&
		    (scope <= sctp_scope(&laddr->a_h))) {
		    (scope <= sctp_scope(&laddr->a))) {
			bmatchlen = sctp_v6_addr_match_len(daddr, &laddr->a);
			bmatchlen = sctp_v6_addr_match_len(daddr, &laddr->a);
			if (!baddr || (matchlen < bmatchlen)) {
			if (!baddr || (matchlen < bmatchlen)) {
				baddr = &laddr->a;
				baddr = &laddr->a;
+5 −5
Original line number Original line Diff line number Diff line
@@ -224,14 +224,14 @@ int sctp_copy_local_addr_list(struct sctp_bind_addr *bp, sctp_scope_t scope,
	sctp_spin_lock_irqsave(&sctp_local_addr_lock, flags);
	sctp_spin_lock_irqsave(&sctp_local_addr_lock, flags);
	list_for_each(pos, &sctp_local_addr_list) {
	list_for_each(pos, &sctp_local_addr_list) {
		addr = list_entry(pos, struct sctp_sockaddr_entry, list);
		addr = list_entry(pos, struct sctp_sockaddr_entry, list);
		if (sctp_in_scope(&addr->a_h, scope)) {
		if (sctp_in_scope(&addr->a, scope)) {
			/* Now that the address is in scope, check to see if
			/* Now that the address is in scope, check to see if
			 * the address type is really supported by the local
			 * the address type is really supported by the local
			 * sock as well as the remote peer.
			 * sock as well as the remote peer.
			 */
			 */
			if ((((AF_INET == addr->a_h.sa.sa_family) &&
			if ((((AF_INET == addr->a.sa.sa_family) &&
			      (copy_flags & SCTP_ADDR4_PEERSUPP))) ||
			      (copy_flags & SCTP_ADDR4_PEERSUPP))) ||
			    (((AF_INET6 == addr->a_h.sa.sa_family) &&
			    (((AF_INET6 == addr->a.sa.sa_family) &&
			      (copy_flags & SCTP_ADDR6_ALLOWED) &&
			      (copy_flags & SCTP_ADDR6_ALLOWED) &&
			      (copy_flags & SCTP_ADDR6_PEERSUPP)))) {
			      (copy_flags & SCTP_ADDR6_PEERSUPP)))) {
				error = sctp_add_bind_addr(bp, &addr->a, 1,
				error = sctp_add_bind_addr(bp, &addr->a, 1,
@@ -503,8 +503,8 @@ static struct dst_entry *sctp_v4_get_dst(struct sctp_association *asoc,
		laddr = list_entry(pos, struct sctp_sockaddr_entry, list);
		laddr = list_entry(pos, struct sctp_sockaddr_entry, list);


		if ((laddr->use_as_src) &&
		if ((laddr->use_as_src) &&
		    (AF_INET == laddr->a_h.sa.sa_family)) {
		    (AF_INET == laddr->a.sa.sa_family)) {
			fl.fl4_src = laddr->a_h.v4.sin_addr.s_addr;
			fl.fl4_src = laddr->a.v4.sin_addr.s_addr;
			if (!ip_route_output_key(&rt, &fl)) {
			if (!ip_route_output_key(&rt, &fl)) {
				dst = &rt->u.dst;
				dst = &rt->u.dst;
				goto out_unlock;
				goto out_unlock;
+10 −14
Original line number Original line Diff line number Diff line
@@ -3867,14 +3867,14 @@ static int sctp_getsockopt_local_addrs_num_old(struct sock *sk, int len,
	if (sctp_list_single_entry(&bp->address_list)) {
	if (sctp_list_single_entry(&bp->address_list)) {
		addr = list_entry(bp->address_list.next,
		addr = list_entry(bp->address_list.next,
				  struct sctp_sockaddr_entry, list);
				  struct sctp_sockaddr_entry, list);
		if (sctp_is_any(&addr->a_h)) {
		if (sctp_is_any(&addr->a)) {
			sctp_spin_lock_irqsave(&sctp_local_addr_lock, flags);
			sctp_spin_lock_irqsave(&sctp_local_addr_lock, flags);
			list_for_each(pos, &sctp_local_addr_list) {
			list_for_each(pos, &sctp_local_addr_list) {
				addr = list_entry(pos,
				addr = list_entry(pos,
						  struct sctp_sockaddr_entry,
						  struct sctp_sockaddr_entry,
						  list);
						  list);
				if ((PF_INET == sk->sk_family) && 
				if ((PF_INET == sk->sk_family) && 
				    (AF_INET6 == addr->a_h.sa.sa_family))
				    (AF_INET6 == addr->a.sa.sa_family))
					continue;
					continue;
				cnt++;
				cnt++;
			}
			}
@@ -3912,13 +3912,12 @@ static int sctp_copy_laddrs_to_user_old(struct sock *sk, __u16 port, int max_add
	list_for_each(pos, &sctp_local_addr_list) {
	list_for_each(pos, &sctp_local_addr_list) {
		addr = list_entry(pos, struct sctp_sockaddr_entry, list);
		addr = list_entry(pos, struct sctp_sockaddr_entry, list);
		if ((PF_INET == sk->sk_family) && 
		if ((PF_INET == sk->sk_family) && 
		    (AF_INET6 == addr->a_h.sa.sa_family))
		    (AF_INET6 == addr->a.sa.sa_family))
			continue;
			continue;
		memcpy(&temp, &addr->a_h, sizeof(temp));
		memcpy(&temp, &addr->a, sizeof(temp));
		sctp_get_pf_specific(sk->sk_family)->addr_v4map(sctp_sk(sk),
		sctp_get_pf_specific(sk->sk_family)->addr_v4map(sctp_sk(sk),
								&temp);
								&temp);
		addrlen = sctp_get_af_specific(temp.sa.sa_family)->sockaddr_len;
		addrlen = sctp_get_af_specific(temp.sa.sa_family)->sockaddr_len;
		temp.v4.sin_port = htons(port);
		if (copy_to_user(to, &temp, addrlen)) {
		if (copy_to_user(to, &temp, addrlen)) {
			sctp_spin_unlock_irqrestore(&sctp_local_addr_lock,
			sctp_spin_unlock_irqrestore(&sctp_local_addr_lock,
						    flags);
						    flags);
@@ -3947,15 +3946,14 @@ static int sctp_copy_laddrs_to_user(struct sock *sk, __u16 port,
	list_for_each(pos, &sctp_local_addr_list) {
	list_for_each(pos, &sctp_local_addr_list) {
		addr = list_entry(pos, struct sctp_sockaddr_entry, list);
		addr = list_entry(pos, struct sctp_sockaddr_entry, list);
		if ((PF_INET == sk->sk_family) && 
		if ((PF_INET == sk->sk_family) && 
		    (AF_INET6 == addr->a_h.sa.sa_family))
		    (AF_INET6 == addr->a.sa.sa_family))
			continue;
			continue;
		memcpy(&temp, &addr->a_h, sizeof(temp));
		memcpy(&temp, &addr->a, sizeof(temp));
		sctp_get_pf_specific(sk->sk_family)->addr_v4map(sctp_sk(sk),
		sctp_get_pf_specific(sk->sk_family)->addr_v4map(sctp_sk(sk),
								&temp);
								&temp);
		addrlen = sctp_get_af_specific(temp.sa.sa_family)->sockaddr_len;
		addrlen = sctp_get_af_specific(temp.sa.sa_family)->sockaddr_len;
		if(space_left<addrlen)
		if(space_left<addrlen)
			return -ENOMEM;
			return -ENOMEM;
		temp.v4.sin_port = htons(port);
		if (copy_to_user(*to, &temp, addrlen)) {
		if (copy_to_user(*to, &temp, addrlen)) {
			sctp_spin_unlock_irqrestore(&sctp_local_addr_lock,
			sctp_spin_unlock_irqrestore(&sctp_local_addr_lock,
						    flags);
						    flags);
@@ -4023,7 +4021,7 @@ static int sctp_getsockopt_local_addrs_old(struct sock *sk, int len,
	if (sctp_list_single_entry(&bp->address_list)) {
	if (sctp_list_single_entry(&bp->address_list)) {
		addr = list_entry(bp->address_list.next,
		addr = list_entry(bp->address_list.next,
				  struct sctp_sockaddr_entry, list);
				  struct sctp_sockaddr_entry, list);
		if (sctp_is_any(&addr->a_h)) {
		if (sctp_is_any(&addr->a)) {
			cnt = sctp_copy_laddrs_to_user_old(sk, bp->port,
			cnt = sctp_copy_laddrs_to_user_old(sk, bp->port,
							   getaddrs.addr_num,
							   getaddrs.addr_num,
							   to);
							   to);
@@ -4037,10 +4035,9 @@ static int sctp_getsockopt_local_addrs_old(struct sock *sk, int len,


	list_for_each(pos, &bp->address_list) {
	list_for_each(pos, &bp->address_list) {
		addr = list_entry(pos, struct sctp_sockaddr_entry, list);
		addr = list_entry(pos, struct sctp_sockaddr_entry, list);
		memcpy(&temp, &addr->a_h, sizeof(temp));
		memcpy(&temp, &addr->a, sizeof(temp));
		sctp_get_pf_specific(sk->sk_family)->addr_v4map(sp, &temp);
		sctp_get_pf_specific(sk->sk_family)->addr_v4map(sp, &temp);
		addrlen = sctp_get_af_specific(temp.sa.sa_family)->sockaddr_len;
		addrlen = sctp_get_af_specific(temp.sa.sa_family)->sockaddr_len;
		temp.v4.sin_port = htons(temp.v4.sin_port);
		if (copy_to_user(to, &temp, addrlen)) {
		if (copy_to_user(to, &temp, addrlen)) {
			err = -EFAULT;
			err = -EFAULT;
			goto unlock;
			goto unlock;
@@ -4113,7 +4110,7 @@ static int sctp_getsockopt_local_addrs(struct sock *sk, int len,
	if (sctp_list_single_entry(&bp->address_list)) {
	if (sctp_list_single_entry(&bp->address_list)) {
		addr = list_entry(bp->address_list.next,
		addr = list_entry(bp->address_list.next,
				  struct sctp_sockaddr_entry, list);
				  struct sctp_sockaddr_entry, list);
		if (sctp_is_any(&addr->a_h)) {
		if (sctp_is_any(&addr->a)) {
			cnt = sctp_copy_laddrs_to_user(sk, bp->port,
			cnt = sctp_copy_laddrs_to_user(sk, bp->port,
						       &to, space_left);
						       &to, space_left);
			if (cnt < 0) {
			if (cnt < 0) {
@@ -4126,12 +4123,11 @@ static int sctp_getsockopt_local_addrs(struct sock *sk, int len,


	list_for_each(pos, &bp->address_list) {
	list_for_each(pos, &bp->address_list) {
		addr = list_entry(pos, struct sctp_sockaddr_entry, list);
		addr = list_entry(pos, struct sctp_sockaddr_entry, list);
		memcpy(&temp, &addr->a_h, sizeof(temp));
		memcpy(&temp, &addr->a, sizeof(temp));
		sctp_get_pf_specific(sk->sk_family)->addr_v4map(sp, &temp);
		sctp_get_pf_specific(sk->sk_family)->addr_v4map(sp, &temp);
		addrlen = sctp_get_af_specific(temp.sa.sa_family)->sockaddr_len;
		addrlen = sctp_get_af_specific(temp.sa.sa_family)->sockaddr_len;
		if(space_left < addrlen)
		if(space_left < addrlen)
			return -ENOMEM; /*fixme: right error?*/
			return -ENOMEM; /*fixme: right error?*/
		temp.v4.sin_port = htons(temp.v4.sin_port);
		if (copy_to_user(to, &temp, addrlen)) {
		if (copy_to_user(to, &temp, addrlen)) {
			err = -EFAULT;
			err = -EFAULT;
			goto unlock;
			goto unlock;