RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 678569 - SDL_BlitCopyOverlap assumes memcpy operates in order while SSE3 version operates from back to front
Summary: SDL_BlitCopyOverlap assumes memcpy operates in order while SSE3 version opera...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: SDL
Version: 6.1
Hardware: x86_64
OS: Linux
low
medium
Target Milestone: rc
: ---
Assignee: Petr Pisar
QA Contact: Lukáš Zachar
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-02-18 13:25 UTC by Petr Pisar
Modified: 2012-04-03 15:20 UTC (History)
4 users (show)

Fixed In Version: SDL-1.2.14-3.el6
Doc Type: Bug Fix
Doc Text:
Cause Calling SDL_BlitSurface() on overlaping rectangles while running on SSE3 optimized standard C library. Consequence Rectangle bitmaps content is corrupted what produces garbage on the screen. Fix Internal SDL_BlitCopyOverlap() function has been fixed to copy bitmaps between overlapping areas correctly. Result SDL_BlitSurface() function performs correctly even if standard C library does not implement memcpy() safely for operation on overlapping memory areas.
Clone Of: 669844
Environment:
Last Closed: 2012-04-03 15:20:31 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
Fix from upstream (744 bytes, patch)
2011-02-18 13:27 UTC, Petr Pisar
no flags Details | Diff
Reproducer (5.66 KB, text/plain)
2011-02-18 13:28 UTC, Petr Pisar
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2012:0446 0 normal SHIPPED_LIVE SDL bug fix update 2012-04-03 19:16:33 UTC
SDL Simple Directmedia Layer 1090 0 None None None Never

Description Petr Pisar 2011-02-18 13:25:51 UTC
+++ This bug was initially created as a clone of Bug #669844 +++
[...]
Additional info:
I guess simple switching SDL_memcpy to memmove would fix the problem even tough that would add one extra branch for each line that is copied. But in end switching both branches to use simple memmove would be big gain as C library would have CPU specific optimizations that are missing from SDL.

[...]

Fix provided by upstream, SDL version in RHEL-6 is affected and fixable. Reproduction depends on glibc version (memcpy() implementation), CPU and memory mapping.

Comment 1 Petr Pisar 2011-02-18 13:27:35 UTC
Created attachment 479499 [details]
Fix from upstream

Comment 2 Petr Pisar 2011-02-18 13:28:31 UTC
Created attachment 479500 [details]
Reproducer

Requires new glibc, SSE3 CPU, and little of luck.

Comment 3 Petr Pisar 2011-02-18 13:39:50 UTC
Current glibc-2.12-1.19.el6.x86_64 does not provided affected memcpy(), so the SDL bug does not exhibit now.

Comment 4 RHEL Program Management 2011-07-05 23:41:59 UTC
This request was evaluated by Red Hat Product Management for
inclusion in the current release of Red Hat Enterprise Linux.
Because the affected component is not scheduled to be updated
in the current release, Red Hat is unfortunately unable to
address this request at this time. Red Hat invites you to
ask your support representative to propose this request, if
appropriate and relevant, in the next release of Red Hat
Enterprise Linux. If you would like it considered as an
exception in the current release, please ask your support
representative.

Comment 9 Petr Pisar 2012-01-10 17:16:48 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
Cause
    Calling SDL_BlitSurface() on overlaping rectangles while
    running on SSE3 optimized standard C library.
Consequence
    Rectangle bitmaps content is corrupted what produces
    garbage on the screen.
Fix
    Internal SDL_BlitCopyOverlap() function has been fixed to
    copy bitmaps between overlapping areas correctly.
Result
    SDL_BlitSurface() function performs correctly even if
    standard C library does not implement memcpy() safely for
    operation on overlapping memory areas.

Comment 11 errata-xmlrpc 2012-04-03 15:20:31 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2012-0446.html


Note You need to log in before you can comment on or make changes to this bug.