From 7822ca7a8f319eb4f062f42ca01db89b6d8c15ae Mon Sep 17 00:00:00 2001 From: Doug Rabson Date: Wed, 24 May 2000 11:21:10 +0000 Subject: [PATCH] Avoid a list corruption bug if the device is opened twice by the same pid. --- bsd/drm/fops.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/bsd/drm/fops.c b/bsd/drm/fops.c index 0d5305fd..837fc7db 100644 --- a/bsd/drm/fops.c +++ b/bsd/drm/fops.c @@ -76,12 +76,11 @@ int drm_open_helper(dev_t kdev, int flags, int fmt, struct proc *p, priv->devXX = dev; priv->ioctl_count = 0; priv->authenticated = !suser(p); + lockmgr(&dev->dev_lock, LK_EXCLUSIVE, 0, p); + TAILQ_INSERT_TAIL(&dev->files, priv, link); + lockmgr(&dev->dev_lock, LK_RELEASE, 0, p); } - lockmgr(&dev->dev_lock, LK_EXCLUSIVE, 0, p); - TAILQ_INSERT_TAIL(&dev->files, priv, link); - lockmgr(&dev->dev_lock, LK_RELEASE, 0, p); - kdev->si_drv1 = dev; return 0;