[PATCH] net/tls: Fix return values for setsockopt

Valentin Vidić vvidic at valentin-vidic.from.hr
Sat Nov 30 08:31:58 EST 2019


On Sat, Nov 30, 2019 at 08:15:56AM -0500, Jeffrey Walton wrote:
> On Sat, Nov 30, 2019 at 7:55 AM Valentin Vidic
> <vvidic at valentin-vidic.from.hr> wrote:
> >
> > ENOTSUPP is not available in userspace:
> >
> >   setsockopt failed, 524, Unknown error 524
> >
> > Signed-off-by: Valentin Vidic <vvidic at valentin-vidic.from.hr>
> > ---
> >  net/tls/tls_main.c | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/net/tls/tls_main.c b/net/tls/tls_main.c
> > index bdca31ffe6da..5830b8e02a36 100644
> > --- a/net/tls/tls_main.c
> > +++ b/net/tls/tls_main.c
> > @@ -496,7 +496,7 @@ static int do_tls_setsockopt_conf(struct sock *sk, char __user *optval,
> >         /* check version */
> >         if (crypto_info->version != TLS_1_2_VERSION &&
> >             crypto_info->version != TLS_1_3_VERSION) {
> > -               rc = -ENOTSUPP;
> > +               rc = -EINVAL;
> >                 goto err_crypto_info;
> >         }
> 
> A quick comment... ENOTSUP is available in <errno.h> [0] if you want
> to stay in the "not supported" path.

For this case I put EINVAL because other similar checks in
do_tls_setsockopt_conf already use that (for example invalid
value for crypto_info->cipher_type).

-- 
Valentin



More information about the Kernelnewbies mailing list