public inbox for ltp@lists.linux.it
 help / color / mirror / Atom feed
* [LTP] [PATCH] getsockopt01: Add case for errno EINVAL
@ 2024-04-22  8:36 Yang Xu via ltp
  2024-05-16  1:34 ` Petr Vorel
  0 siblings, 1 reply; 3+ messages in thread
From: Yang Xu via ltp @ 2024-04-22  8:36 UTC (permalink / raw)
  To: ltp

Currently there is no case for EINVAL, so a new case is added.

Signed-off-by: Yang Xu <xuyang2018.jy@fujitsu.com>
---
 testcases/kernel/syscalls/getsockopt/getsockopt01.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/testcases/kernel/syscalls/getsockopt/getsockopt01.c b/testcases/kernel/syscalls/getsockopt/getsockopt01.c
index 4da9bd0ea..05f2be890 100644
--- a/testcases/kernel/syscalls/getsockopt/getsockopt01.c
+++ b/testcases/kernel/syscalls/getsockopt/getsockopt01.c
@@ -15,6 +15,7 @@
  * - ENOTSOCK on a file descriptor not linked to a socket
  * - EFAULT on invalid address of value or length
  * - EOPNOTSUPP on invalid option name or protocol
+ * - EINVAL on an invalid optlen
  */
 
 #include "tst_test.h"
@@ -24,6 +25,7 @@ static struct sockaddr_in sin0;
 static int sinlen;
 static int optval;
 static socklen_t optlen;
+static socklen_t optleninval;
 
 static struct test_case {
 	int *sockfd;
@@ -56,7 +58,10 @@ static struct test_case {
 	.optlen = &optlen, .experrno = ENOPROTOOPT, .desc =  "invalid option name (IP)"},
 
 	{.sockfd = &sock_bind, .level = IPPROTO_TCP, .optname = -1, .optval = &optval,
-	.optlen = &optlen, .experrno = ENOPROTOOPT, .desc = "invalid option name (TCP)"}
+	.optlen = &optlen, .experrno = ENOPROTOOPT, .desc = "invalid option name (TCP)"},
+
+	{.sockfd = &sock_bind, .level = SOL_SOCKET, .optname = SO_OOBINLINE, .optval = &optval,
+	.optlen = &optleninval, .experrno = EINVAL, .desc = "invalid optlen"},
 };
 
 
@@ -79,6 +84,7 @@ static void setup(void)
 	SAFE_BIND(sock_bind, (struct sockaddr *)&sin0, sizeof(sin0));
 	sinlen = sizeof(sin0);
 	optlen = sizeof(optval);
+	optleninval = -1;
 }
 
 static struct tst_test test = {
-- 
2.39.3


-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [LTP] [PATCH] getsockopt01: Add case for errno EINVAL
  2024-04-22  8:36 [LTP] [PATCH] getsockopt01: Add case for errno EINVAL Yang Xu via ltp
@ 2024-05-16  1:34 ` Petr Vorel
  2024-05-16  1:39   ` Petr Vorel
  0 siblings, 1 reply; 3+ messages in thread
From: Petr Vorel @ 2024-05-16  1:34 UTC (permalink / raw)
  To: Yang Xu; +Cc: ltp

Hi Xu,

...
> +++ b/testcases/kernel/syscalls/getsockopt/getsockopt01.c
> @@ -15,6 +15,7 @@
>   * - ENOTSOCK on a file descriptor not linked to a socket
>   * - EFAULT on invalid address of value or length
>   * - EOPNOTSUPP on invalid option name or protocol
> + * - EINVAL on an invalid optlen
>   */

>  #include "tst_test.h"
> @@ -24,6 +25,7 @@ static struct sockaddr_in sin0;
>  static int sinlen;
>  static int optval;
>  static socklen_t optlen;
> +static socklen_t optleninval;

Again, -1 should be added here (can be fixed before merge):

static socklen_t optleninval = -1;

>  static struct test_case {
>  	int *sockfd;
> @@ -56,7 +58,10 @@ static struct test_case {
>  	.optlen = &optlen, .experrno = ENOPROTOOPT, .desc =  "invalid option name (IP)"},

>  	{.sockfd = &sock_bind, .level = IPPROTO_TCP, .optname = -1, .optval = &optval,
> -	.optlen = &optlen, .experrno = ENOPROTOOPT, .desc = "invalid option name (TCP)"}
> +	.optlen = &optlen, .experrno = ENOPROTOOPT, .desc = "invalid option name (TCP)"},
> +
> +	{.sockfd = &sock_bind, .level = SOL_SOCKET, .optname = SO_OOBINLINE, .optval = &optval,
> +	.optlen = &optleninval, .experrno = EINVAL, .desc = "invalid optlen"},
>  };


> @@ -79,6 +84,7 @@ static void setup(void)
>  	SAFE_BIND(sock_bind, (struct sockaddr *)&sin0, sizeof(sin0));
>  	sinlen = sizeof(sin0);
>  	optlen = sizeof(optval);
> +	optleninval = -1;
And this can be removed.

With that:

Reviewed-by: Petr Vorel <pvorel@suse.cz>

Kind regards,
Petr

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [LTP] [PATCH] getsockopt01: Add case for errno EINVAL
  2024-05-16  1:34 ` Petr Vorel
@ 2024-05-16  1:39   ` Petr Vorel
  0 siblings, 0 replies; 3+ messages in thread
From: Petr Vorel @ 2024-05-16  1:39 UTC (permalink / raw)
  To: Yang Xu, ltp

Hi Xu,

> Hi Xu,

> ...
> > +++ b/testcases/kernel/syscalls/getsockopt/getsockopt01.c
> > @@ -15,6 +15,7 @@
> >   * - ENOTSOCK on a file descriptor not linked to a socket
> >   * - EFAULT on invalid address of value or length
> >   * - EOPNOTSUPP on invalid option name or protocol
> > + * - EINVAL on an invalid optlen
> >   */

> >  #include "tst_test.h"
> > @@ -24,6 +25,7 @@ static struct sockaddr_in sin0;
> >  static int sinlen;
> >  static int optval;
> >  static socklen_t optlen;
> > +static socklen_t optleninval;

> Again, -1 should be added here (can be fixed before merge):

Merged with this fix. Thanks!

Kind regards,
Petr

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-05-16  1:40 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-04-22  8:36 [LTP] [PATCH] getsockopt01: Add case for errno EINVAL Yang Xu via ltp
2024-05-16  1:34 ` Petr Vorel
2024-05-16  1:39   ` Petr Vorel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox