On 10/27/25 10:57, Po-Hsu Lin wrote:
In bareudp.sh, this script uses /bin/sh and it will load another lib.sh
BASH script at the very beginning.

But on some operating systems like Ubuntu, /bin/sh is actually pointed to
DASH, thus it will try to run BASH commands with DASH and consequently
leads to syntax issues:
   # ./bareudp.sh: 4: ./lib.sh: Bad substitution
   # ./bareudp.sh: 5: ./lib.sh: source: not found
   # ./bareudp.sh: 24: ./lib.sh: Syntax error: "(" unexpected

Fix this by explicitly using BASH for bareudp.sh. This fixes test
execution failures on systems where /bin/sh is not BASH.

Reported-by: Edoardo Canepa <[email protected]>
Link: https://bugs.launchpad.net/bugs/2129812
Signed-off-by: Po-Hsu Lin <[email protected]>
---
  tools/testing/selftests/net/bareudp.sh | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/testing/selftests/net/bareudp.sh 
b/tools/testing/selftests/net/bareudp.sh
index 4046131e7888..d9e5b967f815 100755
--- a/tools/testing/selftests/net/bareudp.sh
+++ b/tools/testing/selftests/net/bareudp.sh
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
  # SPDX-License-Identifier: GPL-2.0
# Test various bareudp tunnel configurations.

this is of course a correct fix,
Reviewed-by: Przemek Kitszel <[email protected]>

what about extending checkpatch to avoid such issues in the future?
I remember at least a few such cases fixes, and I don't pay that much
attention

Reply via email to