lkml.org 
[lkml]   [2006]   [Aug]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Subject[PATCH] SELinux: 3/3 convert sbsec semaphore to a mutex
    From
    Date
    This patch converts the semaphore in the superblock security struct to a
    mutex. No locking changes or other code changes are done.

    This is being targeted for 2.6.19

    Signed-off-by: Eric Paris <eparis@redhat.com>
    Acked-by: Stephen Smalley <sds@tycho.nsa.gov>

    security/selinux/hooks.c | 7 +++----
    security/selinux/include/objsec.h | 2 +-
    2 files changed, 4 insertions(+), 5 deletions(-)

    --- linux-2.6-sem-changes/security/selinux/include/objsec.h.patch3 2006-08-03 14:04:07.000000000 -0400
    +++ linux-2.6-sem-changes/security/selinux/include/objsec.h 2006-08-03 14:18:44.000000000 -0400
    @@ -63,7 +63,7 @@ struct superblock_security_struct {
    unsigned int behavior; /* labeling behavior */
    unsigned char initialized; /* initialization flag */
    unsigned char proc; /* proc fs */
    - struct semaphore sem;
    + struct mutex lock;
    struct list_head isec_head;
    spinlock_t isec_lock;
    };
    --- linux-2.6-sem-changes/security/selinux/hooks.c.patch3 2006-08-02 14:29:28.000000000 -0400
    +++ linux-2.6-sem-changes/security/selinux/hooks.c 2006-08-03 14:21:48.000000000 -0400
    @@ -49,7 +49,6 @@
    #include <net/ip.h> /* for sysctl_local_port_range[] */
    #include <net/tcp.h> /* struct or_callable used in sock_rcv_skb */
    #include <asm/uaccess.h>
    -#include <asm/semaphore.h>
    #include <asm/ioctls.h>
    #include <linux/bitops.h>
    #include <linux/interrupt.h>
    @@ -240,7 +239,7 @@ static int superblock_alloc_security(str
    if (!sbsec)
    return -ENOMEM;

    - init_MUTEX(&sbsec->sem);
    + mutex_init(&sbsec->lock);
    INIT_LIST_HEAD(&sbsec->list);
    INIT_LIST_HEAD(&sbsec->isec_head);
    spin_lock_init(&sbsec->isec_lock);
    @@ -595,7 +594,7 @@ static int superblock_doinit(struct supe
    struct inode *inode = root->d_inode;
    int rc = 0;

    - down(&sbsec->sem);
    + mutex_lock(&sbsec->lock);
    if (sbsec->initialized)
    goto out;

    @@ -690,7 +689,7 @@ next_inode:
    }
    spin_unlock(&sbsec->isec_lock);
    out:
    - up(&sbsec->sem);
    + mutex_unlock(&sbsec->lock);
    return rc;
    }



    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2006-08-23 21:51    [W:0.025 / U:29.732 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site