OpenAFS Master Repository branch, openafs-devel-1_7_x, updated. openafs-devel-1_7_4-11-g1eada9b

Gerrit Code Review gerrit@openafs.org
Sun, 25 Dec 2011 06:52:49 -0800 (PST)


The following commit has been merged in the openafs-devel-1_7_x branch:
commit c154a2f78df790eb563cd90ef0eb3b815f3f61fb
Author: Simon Wilkinson <sxw@your-file-system.com>
Date:   Sat Dec 24 17:23:48 2011 +0000

    rx: Don't adjust non-existent events
    
    If we notice that time has gone backwards (that is, the current
    time is older than the time of the last event we fired), then we
    reschedule all pending events.
    
    On Windows, immediately after we have resumed from a suspend, this
    code path can be executed with an empty event tree, causing an
    exception:
    
    FAULTING_IP:
    afsrpc!adjustTimes+cf [c:\src\openafs\openafs.git\repo\src\rx\rx_event.c @ 213]
    00000000`61041847 4c8b4030        mov     r8,qword ptr [rax+30h]
    
    EXCEPTION_RECORD:  ffffffffffffffff -- (.exr 0xffffffffffffffff)
    ExceptionAddress: 0000000061041847 (afsrpc!adjustTimes+0x00000000000000cf)
       ExceptionCode: c0000005 (Access violation)
      ExceptionFlags: 00000000
    NumberParameters: 2
       Parameter[0]: 0000000000000000
       Parameter[1]: 0000000000000030
    Attempt to read from address 0000000000000030
    
    Resolve this by checking for an empty tree before we attempt to adjust
    event times. If the tree is empty, we just zero the last event time
    (so we don't keep running the adjustTimes routine), and continue as
    normal.
    
    Reviewed-on: http://gerrit.openafs.org/6425
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
    (cherry picked from commit 5f939c64e575dab937feda819937ce3087a2d2e8)
    
    Change-Id: Id765b115745a6d16fce731ed957f150fffe7e1f1
    Reviewed-on: http://gerrit.openafs.org/6426
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

 src/rx/rx_event.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

-- 
OpenAFS Master Repository