[LTP] [PATCH v1] read_all :catch alignment faults while reading sys entries seen in commit :bc21785b7336619fb6a67f1fff5afdaf229acc

Cyril Hrubis chrubis@suse.cz
Wed Jan 3 13:49:24 CET 2024


Hi!
> +	/*
> +	 * This could catch any alignment faults while reading sys entries
> +	 * seen in commit :bc21785b7336619fb6a67f1fff5afdaf229acc so reading 1024 bytes
                                 ^
				 This does not seem to match any kernel upstream commit.
> +	 * in chunks of 8 bytes 128 times
> +	 */
> +	char check_buf[7];
                       ^
		       This isn't 8 bytes at all as it's written in
		       description.
> +	unsigned int i;
> +
> +	for (i = 0; i < 128; i++) {
> +		count = read(fd, check_buf, sizeof(check_buf));
> +		if (count == 0 || count < 0)
> +			break;
> +	}

So the intention is to read the buffer in smaller chunks? I guess that
it's hard to tell without having seen the kernel bugfix.

>  	count = read(fd, buf, sizeof(buf) - 1);

I wonder should we seek back in the fd, or do pread() with zero offset here?

>  	elapsed = worker_elapsed(worker);
>  
> @@ -713,5 +727,5 @@ static struct tst_test test = {
>  	.cleanup = cleanup,
>  	.test_all = run,
>  	.forks_child = 1,
> -	.max_runtime = 100,
> +	.max_runtime = 200,
>  };
> -- 
> 2.39.3
> 
> 
> -- 
> Mailing list info: https://lists.linux.it/listinfo/ltp

-- 
Cyril Hrubis
chrubis@suse.cz


More information about the ltp mailing list