Bug 1513984

Summary: tevent can cause a Samba file corruption bug under heavy threaded load [rhel-7.4.z]
Product: Red Hat Enterprise Linux 7 Reporter: Oneata Mircea Teodor <toneata>
Component: libteventAssignee: Jakub Hrozek <jhrozek>
Status: CLOSED ERRATA QA Contact: shridhar <sgadekar>
Severity: urgent Docs Contact: Apurva Bhide <abhide>
Priority: urgent    
Version: 7.4CC: abhide, asn, enewland, jhrozek, sgoveas, tscherf
Target Milestone: rcKeywords: ZStream
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: libtevent-0.9.31-2.el7_4 Doc Type: If docs needed, set a value
Doc Text:
Previously, the tevent_common_wakeup_fd(tctx->wakeup_fd), internal function of the libtevent library was called when a race condition in the tevent threaded code occurred. Here the wakeup_fd was used without the mutex lock and the tctx can be deleted by another thread. Reused memory used to point to the wakeup_fd value that matches to a file descriptor in use by the smbd to write to an on-disk file. As a consequence, libtevent corrupted a file on the disk. With this update, wakeup_fd is saved in a local variable before the mutex is released, so that it always holds the expected file descriptor. As a result, the described problem no longer occurs.
Story Points: ---
Clone Of: 1512414 Environment:
Last Closed: 2018-03-06 21:40:43 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1512414    
Bug Blocks:    

Description Oneata Mircea Teodor 2017-11-16 12:25:51 UTC
This bug has been copied from bug #1512414 and has been proposed to be backported to 7.4 z-stream (EUS).

Comment 3 Steeve Goveas 2018-02-20 06:52:18 UTC
Verified sanity only with version libtevent-0.9.31-2.el7_4

Comment 6 errata-xmlrpc 2018-03-06 21:40:43 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.

https://access.redhat.com/errata/RHBA-2018:0401