FS#57612 - [linux] shelx stopped working after update to 4.15.4-1-ARCH

Attached to Project: Arch Linux
Opened by PiotrG (piogun) - Friday, 23 February 2018, 11:23 GMT
Last edited by Doug Newgard (Scimmia) - Friday, 23 February 2018, 13:20 GMT
Task Type Bug Report
Category Kernel
Status Closed
Assigned To No-one
Architecture x86_64
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:
shelx series of programs used for crystallographic refinements stopped working after the upgrade to kernel Linux 4.15.4-1-ARCH #1 SMP PREEMPT Sat Feb 17 16:01:38 UTC 2018 x86_64. The programs work under kernel Linux 4.14.15-1-ARCH #1 SMP PREEMPT Tue Jan 23 21:49:25 UTC 2018 x86_64
The programs are not linked to any libraries - they were programmed with the zero-dependency philosophy. I guess this is related to the patches against spectre and meltdown vulnerabilities.

Steps to reproduce:
put the attached executable files somewhere to path (I was granted permission by the program author to send the executables to the developers for testing. However, they weigh 9 and 31 MB for shelxl and shelxt, respectively, so I can't attach them here)
execute shelxl or shelxt
nothing happens under the kernel 4.15.4-1 while the program runs under 4.14.15-1
This task depends upon

Closed by  Doug Newgard (Scimmia)
Friday, 23 February 2018, 13:20 GMT
Reason for closing:  Not a bug
Comment by PiotrG (piogun) - Friday, 23 February 2018, 11:32 GMT
The dmesg output when trying to run shelxl and shelxt under kernel 4.15.4-1 is:
[ 35.032323] shelxl[1622] vsyscall attempted with vsyscall=none ip:ffffffffff600000 cs:33 sp:7ffc4e2cc1b8 ax:ffffffffff600000 si:0 di:7ffc4e2cc258
[ 40.226359] shelxt[1624] vsyscall attempted with vsyscall=none ip:ffffffffff600000 cs:33 sp:7fff8a508408 ax:ffffffffff600000 si:0 di:7fff8a5084a8
Comment by AK (Andreaskem) - Friday, 23 February 2018, 12:05 GMT
To me, this sounds more like an effect of the switch from

CONFIG_LEGACY_VSYSCALL_EMULATE=y
to
CONFIG_LEGACY_VSYSCALL_NONE=y

https://git.archlinux.org/svntogit/packages.git/tree/trunk/config?h=packages/linux-lts#n681
https://git.archlinux.org/svntogit/packages.git/tree/trunk/config?h=packages/linux#n688

"There will be no vsyscall mapping at all. This will eliminate any risk of ASLR bypass due to the vsyscall fixed address mapping. Attempts to use the vsyscalls will be reported to dmesg, so that either old or malicious userspace programs can be identified."

https://cateee.net/lkddb/web-lkddb/LEGACY_VSYSCALL_NONE.html
Comment by PiotrG (piogun) - Friday, 23 February 2018, 12:09 GMT
What should I do then?
Comment by AK (Andreaskem) - Friday, 23 February 2018, 12:26 GMT
Maybe try vsyscall=emulate on the kernel command line?

https://bugs.archlinux.org/task/57336#comment166745
Comment by PiotrG (piogun) - Friday, 23 February 2018, 12:45 GMT
The programs work fine with the vsyscall=emulate on the kernel command line.
Thank you for help

Loading...