Messages in this thread Patch in this message | | | Date | Thu, 19 Jan 2006 15:30:46 -0600 | From | David Teigland <> | Subject | [PATCH 2/7] dlm: check allocation |
| |
We were assuming the success of an allocation. Problem noticed by Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: David Teigland <teigland@redhat.com>
Index: linux/drivers/dlm/device.c =================================================================== --- linux.orig/drivers/dlm/device.c +++ linux/drivers/dlm/device.c @@ -802,6 +802,8 @@ static int do_user_lock(struct file_info lockinfo again */ if (!li && (kparams->flags & DLM_LKF_PERSISTENT)) { li = allocate_lockinfo(fi, cmd, kparams); + if (!li) + return -ENOMEM; li->li_lksb.sb_lkid = kparams->lkid; li->li_castaddr = kparams->castaddr; @@ -914,12 +916,12 @@ static int do_user_unlock(struct file_in li = get_lockinfo(kparams->lkid); if (!li) { li = allocate_lockinfo(fi, cmd, kparams); + if (!li) + return -ENOMEM; spin_lock(&fi->fi_li_lock); list_add(&li->li_ownerqueue, &fi->fi_li_list); spin_unlock(&fi->fi_li_lock); } - if (!li) - return -ENOMEM; if (li->li_magic != LOCKINFO_MAGIC) return -EINVAL; - 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/
| |