Unverified Commit ea1d9d47 authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!15578 scsi: target: tcmu: Fix possible page UAF

parents 5624ca70 8847f1fd
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -1528,6 +1528,7 @@ static struct page *tcmu_try_get_block_page(struct tcmu_dev *udev, uint32_t dbi)
	mutex_lock(&udev->cmdr_lock);
	page = tcmu_get_block_page(udev, dbi);
	if (likely(page)) {
		get_page(page);
		mutex_unlock(&udev->cmdr_lock);
		return page;
	}
@@ -1566,6 +1567,7 @@ static vm_fault_t tcmu_vma_fault(struct vm_fault *vmf)
		/* For the vmalloc()ed cmd area pages */
		addr = (void *)(unsigned long)info->mem[mi].addr + offset;
		page = vmalloc_to_page(addr);
		get_page(page);
	} else {
		uint32_t dbi;

@@ -1576,7 +1578,6 @@ static vm_fault_t tcmu_vma_fault(struct vm_fault *vmf)
			return VM_FAULT_SIGBUS;
	}

	get_page(page);
	vmf->page = page;
	return 0;
}