forklock-fix1.patch

c.turner1, 03/07/2012 12:56 PM

Download (877 Bytes)

View differences:

sys/vm/vm_fault.c
1940 1940
		 * Allocate a page in the destination object
1941 1941
		 */
1942 1942
		do {
1943
			vm_object_lock(dst_object);
1943 1944
			dst_m = vm_page_alloc(dst_object,
1944 1945
					      OFF_TO_IDX(dst_offset),
1945 1946
					      VM_ALLOC_NORMAL);
1947
			vm_object_unlock(dst_object);
1946 1948
			if (dst_m == NULL) {
1947 1949
				vm_wait(0);
1948 1950
			}
......
1953 1955
		 * (Because the source is wired down, the page will be in
1954 1956
		 * memory.)
1955 1957
		 */
1958
		vm_object_lock(src_object);
1956 1959
		src_m = vm_page_lookup(src_object,
1957 1960
				       OFF_TO_IDX(dst_offset + src_offset));
1961
		vm_object_unlock(src_object);
1962

  
1958 1963
		if (src_m == NULL)
1959 1964
			panic("vm_fault_copy_wired: page missing");
1960 1965