On Mon, Jul 04, 2022 at 04:51:34PM -0400, Mathieu Desnoyers wrote: > ----- On Jun 30, 2022, at 7:25 AM, Greg Kroah-Hartman gregkh@xxxxxxxxxxxxxxxxxxx wrote: > > > On Mon, Jun 27, 2022 at 11:20:40AM -0400, Mathieu Desnoyers wrote: > >> On 27-Jun-2022 09:23:58 AM, Greg KH wrote: > >> > On Sun, Jun 26, 2022 at 10:01:20PM +0300, RAJESH DASARI wrote: > >> > > Hi , > >> > > > >> > > We are running rseq selftests on 5.4.199 kernel with glibc 2.34 > >> > > version and we see that tests are failing to compile with invalid > >> > > argument errors. When we took all the commits from > >> > > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/tools/testing/selftests/rseq > >> > > related to rseq locally , test cases have passed. I see that there are > >> > > some adaptations to the latest glibc version done in those commits, is > >> > > there any plan to backport them to 5.4.x versions. Could you please > >> > > provide your inputs. > >> > > >> > What commits specifically are you referring to please? A list of them > >> > would be great, and if you have tested them and verified that they can > >> > be backported cleanly would also be very helpful. > >> > >> Hi Greg, > >> > >> Specifically related to rseq selftests, the following string of commits > >> would be relevant on top of v5.4.199. Those are not all strictly only > >> bugfixes, but they help applying the following commits without > >> conflicts. I have validated that this string of commits cherry-picks on > >> top of v5.4.199, and that the resulting selftests build fine. > >> > >> ea366dd79c ("seq/selftests,x86_64: Add rseq_offset_deref_addv()") > >> 07ad4f7629 ("selftests/rseq: remove ARRAY_SIZE define from individual tests") > >> 5c105d55a9 ("selftests/rseq: introduce own copy of rseq uapi header") > >> 930378d056 ("selftests/rseq: Remove useless assignment to cpu variable") > >> 94b80a19eb ("selftests/rseq: Remove volatile from __rseq_abi") > >> e546cd48cc ("selftests/rseq: Introduce rseq_get_abi() helper") > >> 886ddfba93 ("selftests/rseq: Introduce thread pointer getters") > >> 233e667e1a ("selftests/rseq: Uplift rseq selftests for compatibility with > >> glibc-2.35") > >> 24d1136a29 ("selftests/rseq: Fix ppc32: wrong rseq_cs 32-bit field pointer on > >> big endian") > >> de6b52a214 ("selftests/rseq: Fix ppc32 missing instruction selection "u" and "x" > >> for load/store") > >> 26dc8a6d8e ("selftests/rseq: Fix ppc32 offsets by using long rather than off_t") > >> d7ed99ade3 ("selftests/rseq: Fix warnings about #if checks of undefined tokens") > >> 94c5cf2a0e ("selftests/rseq: Remove arm/mips asm goto compiler work-around") > >> b53823fb2e ("selftests/rseq: Fix: work-around asm goto compiler bugs") > >> 4e15bb766b ("selftests/rseq: x86-64: use %fs segment selector for accessing rseq > >> thread area") > >> 127b6429d2 ("selftests/rseq: x86-32: use %gs segment selector for accessing rseq > >> thread area") > >> 889c5d60fb ("selftests/rseq: Change type of rseq_offset to ptrdiff_t") > > > > As many of these are newer than 5.10, can you provide a series of > > patches that should be applied to 5.4, 5.10, 5.15 and possibly 5.18 to > > resolve this issue. We do not want anyone moving from 5.4 to a newer > > kernel and having regressions. > > Hi Greg, > > Here are the series of rseq selftests fixes to apply to the 5.4, 5.10, and 5.15 > stable kernel series. > > v5.4.203 > > ea366dd79c ("seq/selftests,x86_64: Add rseq_offset_deref_addv()") > 07ad4f7629 ("selftests/rseq: remove ARRAY_SIZE define from individual tests") > 5c105d55a9 ("selftests/rseq: introduce own copy of rseq uapi header") > 930378d056 ("selftests/rseq: Remove useless assignment to cpu variable") > 94b80a19eb ("selftests/rseq: Remove volatile from __rseq_abi") > e546cd48cc ("selftests/rseq: Introduce rseq_get_abi() helper") > 886ddfba93 ("selftests/rseq: Introduce thread pointer getters") > 233e667e1a ("selftests/rseq: Uplift rseq selftests for compatibility with glibc-2.35") > 24d1136a29 ("selftests/rseq: Fix ppc32: wrong rseq_cs 32-bit field pointer on big endian") > de6b52a214 ("selftests/rseq: Fix ppc32 missing instruction selection "u" and "x" for load/store") > 26dc8a6d8e ("selftests/rseq: Fix ppc32 offsets by using long rather than off_t") > d7ed99ade3 ("selftests/rseq: Fix warnings about #if checks of undefined tokens") > 94c5cf2a0e ("selftests/rseq: Remove arm/mips asm goto compiler work-around") > b53823fb2e ("selftests/rseq: Fix: work-around asm goto compiler bugs") > 4e15bb766b ("selftests/rseq: x86-64: use %fs segment selector for accessing rseq thread area") > 127b6429d2 ("selftests/rseq: x86-32: use %gs segment selector for accessing rseq thread area") > 889c5d60fb ("selftests/rseq: Change type of rseq_offset to ptrdiff_t") > > v5.10.128 > > 07ad4f7629 ("selftests/rseq: remove ARRAY_SIZE define from individual tests") > 5c105d55a9 ("selftests/rseq: introduce own copy of rseq uapi header") > 930378d056 ("selftests/rseq: Remove useless assignment to cpu variable") > 94b80a19eb ("selftests/rseq: Remove volatile from __rseq_abi") > e546cd48cc ("selftests/rseq: Introduce rseq_get_abi() helper") > 886ddfba93 ("selftests/rseq: Introduce thread pointer getters") > 233e667e1a ("selftests/rseq: Uplift rseq selftests for compatibility with glibc-2.35") > 24d1136a29 ("selftests/rseq: Fix ppc32: wrong rseq_cs 32-bit field pointer on big endian") > de6b52a214 ("selftests/rseq: Fix ppc32 missing instruction selection "u" and "x" for load/store") > 26dc8a6d8e ("selftests/rseq: Fix ppc32 offsets by using long rather than off_t") > d7ed99ade3 ("selftests/rseq: Fix warnings about #if checks of undefined tokens") > 94c5cf2a0e ("selftests/rseq: Remove arm/mips asm goto compiler work-around") > b53823fb2e ("selftests/rseq: Fix: work-around asm goto compiler bugs") > 4e15bb766b ("selftests/rseq: x86-64: use %fs segment selector for accessing rseq thread area") > 127b6429d2 ("selftests/rseq: x86-32: use %gs segment selector for accessing rseq thread area") > 889c5d60fb ("selftests/rseq: Change type of rseq_offset to ptrdiff_t") > > v5.15.52 > > 07ad4f7629 ("selftests/rseq: remove ARRAY_SIZE define from individual tests") > 5c105d55a9 ("selftests/rseq: introduce own copy of rseq uapi header") > 930378d056 ("selftests/rseq: Remove useless assignment to cpu variable") > 94b80a19eb ("selftests/rseq: Remove volatile from __rseq_abi") > e546cd48cc ("selftests/rseq: Introduce rseq_get_abi() helper") > 886ddfba93 ("selftests/rseq: Introduce thread pointer getters") > 233e667e1a ("selftests/rseq: Uplift rseq selftests for compatibility with glibc-2.35") > 24d1136a29 ("selftests/rseq: Fix ppc32: wrong rseq_cs 32-bit field pointer on big endian") > de6b52a214 ("selftests/rseq: Fix ppc32 missing instruction selection "u" and "x" for load/store") > 26dc8a6d8e ("selftests/rseq: Fix ppc32 offsets by using long rather than off_t") > d7ed99ade3 ("selftests/rseq: Fix warnings about #if checks of undefined tokens") > 94c5cf2a0e ("selftests/rseq: Remove arm/mips asm goto compiler work-around") > b53823fb2e ("selftests/rseq: Fix: work-around asm goto compiler bugs") > 4e15bb766b ("selftests/rseq: x86-64: use %fs segment selector for accessing rseq thread area") > 127b6429d2 ("selftests/rseq: x86-32: use %gs segment selector for accessing rseq thread area") > 889c5d60fb ("selftests/rseq: Change type of rseq_offset to ptrdiff_t") Thanks, all now queued up. greg k-h