diff mbox series

[v1,1/1] keyctl05: improve the dns_res_payload for boundary testing

Message ID 48efcb1293a682182fc5db23f01be7af2889e26c.1704949719.git.pengfei.xu@intel.com
State Changes Requested
Headers show
Series [v1,1/1] keyctl05: improve the dns_res_payload for boundary testing | expand

Commit Message

Pengfei Xu Jan. 11, 2024, 5:09 a.m. UTC
Because the following patch will fix the add_key syscall incoming data boundary
size issue, 6 bytes incoming data should pass:
https://lore.kernel.org/all/1784441.1704907412@warthog.procyon.org.uk/
 -> https://lore.kernel.org/all/1850031.1704921100@warthog.procyon.org.uk/
In order to test above boundary incoming data size, change the dns_res_payload
size.

Signed-off-by: Pengfei Xu <pengfei.xu@intel.com>
---
 testcases/kernel/syscalls/keyctl/keyctl05.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Comments

Petr Vorel Jan. 11, 2024, 8:51 a.m. UTC | #1
> Because the following patch will fix the add_key syscall incoming data boundary
> size issue, 6 bytes incoming data should pass:
> https://lore.kernel.org/all/1784441.1704907412@warthog.procyon.org.uk/
>  -> https://lore.kernel.org/all/1850031.1704921100@warthog.procyon.org.uk/
> In order to test above boundary incoming data size, change the dns_res_payload
> size.

> Signed-off-by: Pengfei Xu <pengfei.xu@intel.com>
> ---
>  testcases/kernel/syscalls/keyctl/keyctl05.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)

> diff --git a/testcases/kernel/syscalls/keyctl/keyctl05.c b/testcases/kernel/syscalls/keyctl/keyctl05.c
> index 90cf1ef06..50e78853c 100644
> --- a/testcases/kernel/syscalls/keyctl/keyctl05.c
> +++ b/testcases/kernel/syscalls/keyctl/keyctl05.c
> @@ -199,11 +199,11 @@ static void do_test(unsigned int i)
>  	 * We need to pass check in dns_resolver_preparse(),
>  	 * give it dummy server list request.
>  	 * From v6.7-rc8 commit 1997b3cb4217b09e49659b634c94da47f0340409:
> -	 * the incoming data for add_key syscall should be larger than 6 bytes,
> -	 * because struct dns_server_list_v1_header without body is 6 bytes.
> +	 * the incoming data for add_key syscall should be not less than 6
> +	 * bytes, because struct dns_server_list_v1_header is 6 bytes.
> +	 * The minimum payload will be tested here for boundary testing.
>  	 */
> -	static char dns_res_payload[] = { 0x00, 0x00, 0x01, 0xff, 0x00, \

nit (already pushed): \ is not needed for arrays.

Kind regards,
Petr

> -					  0x00, 0x00 };
> +	static char dns_res_payload[] = { 0x00, 0x00, 0x01, 0xff, 0x00, 0x00 };

>  	switch (i) {
>  	case 0:
Pengfei Xu Jan. 11, 2024, 9:12 a.m. UTC | #2
On 2024-01-11 at 09:51:52 +0100, Petr Vorel wrote:
> > Because the following patch will fix the add_key syscall incoming data boundary
> > size issue, 6 bytes incoming data should pass:
> > https://lore.kernel.org/all/1784441.1704907412@warthog.procyon.org.uk/
> >  -> https://lore.kernel.org/all/1850031.1704921100@warthog.procyon.org.uk/
> > In order to test above boundary incoming data size, change the dns_res_payload
> > size.
> 
> > Signed-off-by: Pengfei Xu <pengfei.xu@intel.com>
> > ---
> >  testcases/kernel/syscalls/keyctl/keyctl05.c | 8 ++++----
> >  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> > diff --git a/testcases/kernel/syscalls/keyctl/keyctl05.c b/testcases/kernel/syscalls/keyctl/keyctl05.c
> > index 90cf1ef06..50e78853c 100644
> > --- a/testcases/kernel/syscalls/keyctl/keyctl05.c
> > +++ b/testcases/kernel/syscalls/keyctl/keyctl05.c
> > @@ -199,11 +199,11 @@ static void do_test(unsigned int i)
> >  	 * We need to pass check in dns_resolver_preparse(),
> >  	 * give it dummy server list request.
> >  	 * From v6.7-rc8 commit 1997b3cb4217b09e49659b634c94da47f0340409:
> > -	 * the incoming data for add_key syscall should be larger than 6 bytes,
> > -	 * because struct dns_server_list_v1_header without body is 6 bytes.
> > +	 * the incoming data for add_key syscall should be not less than 6
> > +	 * bytes, because struct dns_server_list_v1_header is 6 bytes.
> > +	 * The minimum payload will be tested here for boundary testing.
> >  	 */
> > -	static char dns_res_payload[] = { 0x00, 0x00, 0x01, 0xff, 0x00, \
> 
> nit (already pushed): \ is not needed for arrays.

Indeed, thanks for your remind!

Thanks!

> 
> Kind regards,
> Petr
> 
> > -					  0x00, 0x00 };
> > +	static char dns_res_payload[] = { 0x00, 0x00, 0x01, 0xff, 0x00, 0x00 };
> 
> >  	switch (i) {
> >  	case 0:
Petr Vorel Jan. 11, 2024, 10:09 a.m. UTC | #3
Hi Xu,

> Because the following patch will fix the add_key syscall incoming data boundary
> size issue, 6 bytes incoming data should pass:
> https://lore.kernel.org/all/1784441.1704907412@warthog.procyon.org.uk/
>  -> https://lore.kernel.org/all/1850031.1704921100@warthog.procyon.org.uk/
> In order to test above boundary incoming data size, change the dns_res_payload
> size.

I'm sorry, I was faster and just fixed \ myself.
Rebasing is trivial, but there was missing commit (already merged and other
things). Thus I have sent v2 under your name (which I actually forget to mark
as v2 :().

https://lore.kernel.org/ltp/20240111100636.1897637-1-pvorel@suse.cz/
https://patchwork.ozlabs.org/project/ltp/patch/20240111100636.1897637-1-pvorel@suse.cz/

Can you please have a look on it?

Kind regards,
Petr

> Signed-off-by: Pengfei Xu <pengfei.xu@intel.com>
> ---
>  testcases/kernel/syscalls/keyctl/keyctl05.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)

> diff --git a/testcases/kernel/syscalls/keyctl/keyctl05.c b/testcases/kernel/syscalls/keyctl/keyctl05.c
> index 90cf1ef06..50e78853c 100644
> --- a/testcases/kernel/syscalls/keyctl/keyctl05.c
> +++ b/testcases/kernel/syscalls/keyctl/keyctl05.c
> @@ -199,11 +199,11 @@ static void do_test(unsigned int i)
>  	 * We need to pass check in dns_resolver_preparse(),
>  	 * give it dummy server list request.
>  	 * From v6.7-rc8 commit 1997b3cb4217b09e49659b634c94da47f0340409:
> -	 * the incoming data for add_key syscall should be larger than 6 bytes,
> -	 * because struct dns_server_list_v1_header without body is 6 bytes.
> +	 * the incoming data for add_key syscall should be not less than 6
> +	 * bytes, because struct dns_server_list_v1_header is 6 bytes.
> +	 * The minimum payload will be tested here for boundary testing.
>  	 */
> -	static char dns_res_payload[] = { 0x00, 0x00, 0x01, 0xff, 0x00, \
> -					  0x00, 0x00 };
> +	static char dns_res_payload[] = { 0x00, 0x00, 0x01, 0xff, 0x00, 0x00 };

>  	switch (i) {
>  	case 0:
Pengfei Xu Jan. 11, 2024, 12:24 p.m. UTC | #4
Hi Petr,

On 2024-01-11 at 11:09:49 +0100, Petr Vorel wrote:
> Hi Xu,
> 
> > Because the following patch will fix the add_key syscall incoming data boundary
> > size issue, 6 bytes incoming data should pass:
> > https://lore.kernel.org/all/1784441.1704907412@warthog.procyon.org.uk/
> >  -> https://lore.kernel.org/all/1850031.1704921100@warthog.procyon.org.uk/
> > In order to test above boundary incoming data size, change the dns_res_payload
> > size.
> 
> I'm sorry, I was faster and just fixed \ myself.
> Rebasing is trivial, but there was missing commit (already merged and other
> things). Thus I have sent v2 under your name (which I actually forget to mark
> as v2 :().
> 
> https://lore.kernel.org/ltp/20240111100636.1897637-1-pvorel@suse.cz/
> https://patchwork.ozlabs.org/project/ltp/patch/20240111100636.1897637-1-pvorel@suse.cz/
> 
> Can you please have a look on it?

Yes, it's better to add the linux-git acc657692aed and it looks good.
Thanks for your improvment!

Best Regards,
Thanks!

> 
> Kind regards,
> Petr
> 
> > Signed-off-by: Pengfei Xu <pengfei.xu@intel.com>
> > ---
> >  testcases/kernel/syscalls/keyctl/keyctl05.c | 8 ++++----
> >  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> > diff --git a/testcases/kernel/syscalls/keyctl/keyctl05.c b/testcases/kernel/syscalls/keyctl/keyctl05.c
> > index 90cf1ef06..50e78853c 100644
> > --- a/testcases/kernel/syscalls/keyctl/keyctl05.c
> > +++ b/testcases/kernel/syscalls/keyctl/keyctl05.c
> > @@ -199,11 +199,11 @@ static void do_test(unsigned int i)
> >  	 * We need to pass check in dns_resolver_preparse(),
> >  	 * give it dummy server list request.
> >  	 * From v6.7-rc8 commit 1997b3cb4217b09e49659b634c94da47f0340409:
> > -	 * the incoming data for add_key syscall should be larger than 6 bytes,
> > -	 * because struct dns_server_list_v1_header without body is 6 bytes.
> > +	 * the incoming data for add_key syscall should be not less than 6
> > +	 * bytes, because struct dns_server_list_v1_header is 6 bytes.
> > +	 * The minimum payload will be tested here for boundary testing.
> >  	 */
> > -	static char dns_res_payload[] = { 0x00, 0x00, 0x01, 0xff, 0x00, \
> > -					  0x00, 0x00 };
> > +	static char dns_res_payload[] = { 0x00, 0x00, 0x01, 0xff, 0x00, 0x00 };
> 
> >  	switch (i) {
> >  	case 0:
Petr Vorel Jan. 22, 2024, 6:22 p.m. UTC | #5
Hi Xu, all,

fix will be backported to stable series: 6.7, 6.6, 6.1, 5.15 and 5.10,
it's not applicable to 4.19 and 5.4 stable).

Therefore merged. Thanks!

Kind regards,
Petr
Pengfei Xu Jan. 23, 2024, 1:23 a.m. UTC | #6
Hi Petr,

On 2024-01-22 at 19:22:28 +0100, Petr Vorel wrote:
> Hi Xu, all,
> 
> fix will be backported to stable series: 6.7, 6.6, 6.1, 5.15 and 5.10,
> it's not applicable to 4.19 and 5.4 stable).
> 
> Therefore merged. Thanks!

Great, thank you for your info and remind in community:
https://lore.kernel.org/all/CA+icZUUc_0M_6JU3dZzVqrUUrWJceY1uD8dO2yFMCwtHtkaa_Q@mail.gmail.com/

Best Regards,
Thanks!

> 
> Kind regards,
> Petr
diff mbox series

Patch

diff --git a/testcases/kernel/syscalls/keyctl/keyctl05.c b/testcases/kernel/syscalls/keyctl/keyctl05.c
index 90cf1ef06..50e78853c 100644
--- a/testcases/kernel/syscalls/keyctl/keyctl05.c
+++ b/testcases/kernel/syscalls/keyctl/keyctl05.c
@@ -199,11 +199,11 @@  static void do_test(unsigned int i)
 	 * We need to pass check in dns_resolver_preparse(),
 	 * give it dummy server list request.
 	 * From v6.7-rc8 commit 1997b3cb4217b09e49659b634c94da47f0340409:
-	 * the incoming data for add_key syscall should be larger than 6 bytes,
-	 * because struct dns_server_list_v1_header without body is 6 bytes.
+	 * the incoming data for add_key syscall should be not less than 6
+	 * bytes, because struct dns_server_list_v1_header is 6 bytes.
+	 * The minimum payload will be tested here for boundary testing.
 	 */
-	static char dns_res_payload[] = { 0x00, 0x00, 0x01, 0xff, 0x00, \
-					  0x00, 0x00 };
+	static char dns_res_payload[] = { 0x00, 0x00, 0x01, 0xff, 0x00, 0x00 };
 
 	switch (i) {
 	case 0: