[LTP] [PATCH] syscalls/bind03: fix ret code behavior for v4.4 backport

Petr Vorel pvorel@suse.cz
Tue Nov 20 16:20:54 CET 2018


Hi Rafael,

> Recently added test bind03 has a corner case for bind(2). Because
> mainline patch 0fb44559ffd6 ("af_unix: move unix_mknod() out of
> bindlock") got backported to kernel v4.4 as commit 0492a033fb71, the
> corner case must be adapted to correct running kernel version.

...
>  	/*
> -	 * The behavious diverse according to kernel version
> -	 * for v4.10 or later, the expected error is EADDRINUSE,
> +	 * The behavior diverse according to kernel version
> +	 * for v4.4.47~3 or later, the expected error is EADDRINUSE,
>  	 * otherwise EINVAL.
>  	 */
> -	if (tst_kvercmp(4, 10, 0) < 0) {
> +	if (tst_kvercmp(4, 4, 48) < 0) {
>  		if (errno != EINVAL) {
>  			tst_res(TFAIL | TERRNO, "expected EINVAL");
>  			return;

I think this is a wrong approach as there are versions between v4.4 and 4.10
without this patch. IMHO we should accept both EINVAL and EADDRINUSE or accept
Junchi's solution [1].


Kind regards,
Petr

[1] https://patchwork.ozlabs.org/patch/968371/


More information about the ltp mailing list