mtx_lock_recurse/mtx_unlock_recurse functions (proof-of-concept).

From: Pawel Jakub Dawidek (pjd_at_FreeBSD.org)
Date: 04/08/04

  • Next message: Poul-Henning Kamp: "Re: mtx_lock_recurse/mtx_unlock_recurse functions (proof-of-concept)."
    Date: Thu, 8 Apr 2004 23:36:47 +0200
    To: freebsd-arch@freebsd.org
    
    
    

    Hi.

    As was discussed, it will be helpful to have functions, that are able
    to acquire lock recursively, even if lock itself isn't recursable.

    Here is a patch, that should implement this functionality:

            http://people.freebsd.org/~pjd/patches/mtx_lock_recurse.patch

    I also added a KASSERT() to protect against mixed locking modes, e.g.:

            mtx_lock(&mtx);
            [...]
            mtx_lock_recurse(&mtx);
            [...]
            mtx_unlock(&mtx);
            [...]
            mtx_unlock_recurse(&mtx);

    This is not permitted, but this should work just fine:

            mtx_lock(&mtx);
            [...]
            mtx_lock_recurse(&mtx);
            [...]
            mtx_unlock_recurse(&mtx);
            [...]
            mtx_unlock(&mtx);

    -- 
    Pawel Jakub Dawidek                       http://www.FreeBSD.org
    pjd@FreeBSD.org                           http://garage.freebsd.pl
    FreeBSD committer                         Am I Evil? Yes, I Am!
    
    



  • Next message: Poul-Henning Kamp: "Re: mtx_lock_recurse/mtx_unlock_recurse functions (proof-of-concept)."

    Relevant Pages

    • Re: [PATCH -mm] vmscan: make mapped executable pages the first class citizen
      ... Protect referenced PROT_EXEC mapped pages from being deactivated. ... currently running executables and their linked libraries, ... How do we know that this patch improves Linux? ... I = time to fully scan the inactive file LRU ...
      (Linux-Kernel)
    • Re: <+> Patch for MS04-007 Today!!!!<+>
      ... > vulnerability which Microsoft acknowledged by releasing this patch. ... > that method of update and install all currently offered "Critical Updates ... > access and is periodically being updated at WindowsUpdate. ... > if you need to take any action to protect it, or if they will act on your ...
      (microsoft.public.backoffice.smallbiz)
    • Re: <+> Patch for MS04-007 Today!!!!<+>
      ... > vulnerability which Microsoft acknowledged by releasing this patch. ... > that method of update and install all currently offered "Critical Updates ... > access and is periodically being updated at WindowsUpdate. ... > if you need to take any action to protect it, or if they will act on your ...
      (microsoft.public.backoffice.smallbiz2000)
    • Re: <+> Patch for MS04-007 Today!!!!<+>
      ... > vulnerability which Microsoft acknowledged by releasing this patch. ... > that method of update and install all currently offered "Critical Updates ... > access and is periodically being updated at WindowsUpdate. ... > if you need to take any action to protect it, or if they will act on your ...
      (microsoft.public.windows.server.sbs)
    • Re: [PATCH -rt 2/5] Thread Migration Preemption - v2
      ... This patch adds the ability to protect critical sections from migration to ... another CPU without disabling preemption. ... Which will increment the variable atomically wrt the local CPU. ...
      (Linux-Kernel)