diff options
author | Ilya Leoshkevich <iii@linux.ibm.com> | 2023-08-05 01:03:18 +0200 |
---|---|---|
committer | Michael Tokarev <mjt@tls.msk.ru> | 2023-08-23 16:55:40 +0300 |
commit | 5980189e960ead2ee84c0c8053302ebfe982617f (patch) | |
tree | 10ab3da5427d678778a511f3ca592dd3a6b47182 /module-common.c | |
parent | 7e5a8bb22368b3555644cb2debd3df24592f3a21 (diff) |
target/s390x: Fix the "ignored match" case in VSTRS
Currently the emulation of VSTRS recognizes partial matches in presence
of \0 in the haystack, which, according to PoP, is not correct:
If the ZS flag is one and a zero byte was detected
in the second operand, then there can not be a
partial match ...
Add a check for this. While at it, fold a number of explicitly handled
special cases into the generic logic.
Cc: qemu-stable@nongnu.org
Reported-by: Claudio Fontana <cfontana@suse.de>
Closes: https://lists.gnu.org/archive/html/qemu-devel/2023-08/msg00633.html
Fixes: 1d706f314191 ("target/s390x: vxeh2: vector string search")
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Message-Id: <20230804233748.218935-3-iii@linux.ibm.com>
Tested-by: Claudio Fontana <cfontana@suse.de>
Acked-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
(cherry picked from commit 791b2b6a930273db694b9ba48bbb406e78715927)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
Diffstat (limited to 'module-common.c')
0 files changed, 0 insertions, 0 deletions