Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:dirkmueller:acdc:as_python3_module
qemu-linux-user.19805
0196-sm501-Use-values-from-the-pitch-reg.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0196-sm501-Use-values-from-the-pitch-reg.patch of Package qemu-linux-user.19805
From: Sebastian Bauer <mail@sebastianbauer.info> Date: Wed, 4 Jul 2018 11:40:58 +0200 Subject: sm501: Use values from the pitch register for 2D operations Git-commit: 54b2a4339ccae45d4264c2437978abd04ff82bca References: bsc#1172385, CVE-2020-12829 Before, crt_h_total was used for src_width and dst_width. This is a property of the current display setting and not relevant for the 2D operation that also can be done off-screen. The pitch register's purpose is to describe line pitch relevant of the 2D operation. Signed-off-by: Sebastian Bauer <mail@sebastianbauer.info> Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Bruce Rogers <brogers@suse.com> --- hw/display/sm501.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/display/sm501.c b/hw/display/sm501.c index 248b8be617d4be7fe8f439c1f814..58986355b2457952eb3d1821a50e 100644 --- a/hw/display/sm501.c +++ b/hw/display/sm501.c @@ -691,8 +691,8 @@ static void sm501_2d_operation(SM501State *s) /* get frame buffer info */ uint8_t *src = s->local_mem + (s->twoD_source_base & 0x03FFFFFF); uint8_t *dst = s->local_mem + (s->twoD_destination_base & 0x03FFFFFF); - int src_width = (s->dc_crt_h_total & 0x00000FFF) + 1; - int dst_width = (s->dc_crt_h_total & 0x00000FFF) + 1; + int src_width = s->twoD_pitch & 0x1FFF; + int dst_width = (s->twoD_pitch >> 16) & 0x1FFF; if (addressing != 0x0) { printf("%s: only XY addressing is supported.\n", __func__);
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor