mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-09 14:50:19 +00:00
l2tp: don't mask errors in pppol2tp_getsockopt()
pppol2tp_getsockopt() doesn't take into account the error code returned by pppol2tp_tunnel_getsockopt() or pppol2tp_session_getsockopt(). If error occurs there, pppol2tp_getsockopt() continues unconditionally and reports erroneous values. Fixes: fd558d186df2 ("l2tp: Split pppol2tp patch into separate l2tp and ppp parts") Signed-off-by: Guillaume Nault <g.nault@alphalink.fr> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
364700cf8f
commit
321a52a391
@ -1505,8 +1505,13 @@ static int pppol2tp_getsockopt(struct socket *sock, int level, int optname,
|
||||
|
||||
err = pppol2tp_tunnel_getsockopt(sk, tunnel, optname, &val);
|
||||
sock_put(ps->tunnel_sock);
|
||||
} else
|
||||
if (err)
|
||||
goto end_put_sess;
|
||||
} else {
|
||||
err = pppol2tp_session_getsockopt(sk, session, optname, &val);
|
||||
if (err)
|
||||
goto end_put_sess;
|
||||
}
|
||||
|
||||
err = -EFAULT;
|
||||
if (put_user(len, optlen))
|
||||
|
Loading…
x
Reference in New Issue
Block a user