Linux binaries or scripts will NOT run from NSS volumes on OES23.4

From an OES23.4 server (for example) "/usr/bin/ls" will execute.

If "ls" is copied to an NSS volume, it will not run:
# /media/nss/VOL201/opt/ls
-bash: /media/nss/VOL201/opt/ls: cannot execute binary file: Exec format error

strace output:
# strace /media/nss/VOL201/opt/ls
execve("/media/nss/VOL201/opt/ls", ["/media/nss/VOL201/opt/ls"], 0x7ffcdc7054f0 /* 51 vars */) = -1 ENOEXEC (Exec format error)
strace: exec: Exec format error
+++ exited with 1 +++

The same thing happens with a python or perl script on an NSS volume. However a bash script will run successfully.
All these tests run fine from an NSS volume on OES 2018 SP2 Update 10.

Raised as case 02806985. Backline Support can reproduce this issue.

Has anyone else noticed this or have an idea what's happening?

Parents Reply
  • This is for sure a problem with sles 15 or linux kernels 5.xx and above. NSS volumes are made visible to the linux kernel as a ncp filesystem via ncp2nss. And Linux kernels till 4.18 had ncp-support built into the kernel. The 5.xx kernels don't have ncp-support built into their kernel, so seemingly the connection from the kernel to the nss volume goes now over 2 connectors from OT - one from kernel to ncp and one from ncp to nss. And one of those is obviously broken.

    If you mount the nss volume via cifs on the OES server, linux binaries work well (and probably python scripts etc., too).