security_sk_classify_flow(sk, flowi4_to_flowi(&fl4));
rt = ip_route_output_flow(net, &fl4, sk);
if (IS_ERR(rt)) {
-@@ -706,17 +722,19 @@ static int raw_bind(struct sock *sk, str
+@@ -722,6 +722,7 @@ static int raw_bind(struct sock *sk, str
{
struct inet_sock *inet = inet_sk(sk);
struct sockaddr_in *addr = (struct sockaddr_in *) uaddr;
int ret = -EINVAL;
int chk_addr_ret;
+@@ -728,12 +728,13 @@ static int raw_bind(struct sock *sk, str
+ lock_sock(sk);
if (sk->sk_state != TCP_CLOSE || addr_len < sizeof(struct sockaddr_in))
goto out;
- chk_addr_ret = inet_addr_type(sock_net(sk), addr->sin_addr.s_addr);
-+ v4_map_sock_addr(inet, addr, &nsa);
-+ chk_addr_ret = inet_addr_type(sock_net(sk), nsa.saddr);
++ v4_map_sock_addr(inet, addr, &nsa);
++ chk_addr_ret = inet_addr_type(sock_net(sk), nsa.saddr);
ret = -EADDRNOTAVAIL;
- if (addr->sin_addr.s_addr && chk_addr_ret != RTN_LOCAL &&
-+ if (nsa.saddr && chk_addr_ret != RTN_LOCAL &&
++ if (nsa.saddr && chk_addr_ret != RTN_LOCAL &&
chk_addr_ret != RTN_MULTICAST && chk_addr_ret != RTN_BROADCAST)
goto out;
- inet->inet_rcv_saddr = inet->inet_saddr = addr->sin_addr.s_addr;
-+ v4_set_sock_addr(inet, &nsa);
++ v4_set_sock_addr(inet, &nsa);
if (chk_addr_ret == RTN_MULTICAST || chk_addr_ret == RTN_BROADCAST)
inet->inet_saddr = 0; /* Use device */
sk_dst_reset(sk);
%define rel 1
%define basever 4.4
-%define postver .299
+%define postver .302
# define this to '-%{basever}' for longterm branch
%define versuffix -%{basever}
# Source0-md5: 9a78fa2eb6c68ca5a40ed5af08142599
%if "%{postver}" != ".0"
Patch0: http://www.kernel.org/pub/linux/kernel/v4.x/patch-%{version}.xz
-# Patch0-md5: e3d26e7bee0432a7cca77f75655392b3
+# Patch0-md5: 4aa4dc0f2534cf9dd0c964e0b692fe8b
%endif
Source1: kernel.sysconfig