Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 2 Jun 2003 16:28:06 -0700 (PDT)
From:      Sam Leffler <sam@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/opencrypto crypto.c cryptodev.c cryptodev.h
Message-ID:  <200306022328.h52NS6Xo002757@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
sam         2003/06/02 16:28:06 PDT

  FreeBSD src repository

  Modified files:
    sys/opencrypto       crypto.c cryptodev.c cryptodev.h 
  Log:
  Flush my local cache of cryto subsystem fixes:
  
  o add a ``done'' flag for crypto operations; this is set when the operation
    completes and is intended for callers to check operations that may complete
    ``prematurely'' because of direct callbacks
  o close a race for operations where the crypto driver returns ERESTART: we
    need to hold the q lock to insure the blocked state for the driver and any
    driver-private state is consistent; otherwise drivers may take an interrupt
    and notify the crypto subsystem that it can unblock the driver but operations
    will be left queued and never be processed
  o close a race in /dev/crypto where operations can complete before the caller
    can sleep waiting for the callback: use a per-session mutex and the new done
    flag to handle this
  o correct crypto_dispatch's handling of operations where the driver returns
    ERESTART: the return value must be zero and not ERESTART, otherwise the
    caller may free the crypto request despite it being queued for later handling
    (this typically results in a later panic)
  o change crypto mutex ``names'' so witness printouts and the like are more
    meaningful
  
  Revision  Changes    Path
  1.10      +16 -12    src/sys/opencrypto/crypto.c
  1.12      +26 -6     src/sys/opencrypto/cryptodev.c
  1.5       +1 -0      src/sys/opencrypto/cryptodev.h



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200306022328.h52NS6Xo002757>