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

!2269 etmem: Fixed an issue where the module reference counting is incorrect

parents edca7a0b 02ca7219
Loading
Loading
Loading
Loading
+16 −6
Original line number Diff line number Diff line
@@ -1911,15 +1911,20 @@ static int mm_idle_open(struct inode *inode, struct file *file)
	}

	mm = proc_mem_open(inode, PTRACE_MODE_READ);
	if (IS_ERR(mm))
	if (IS_ERR(mm)) {
		module_put(module);
		return PTR_ERR(mm);
	}

	file->private_data = mm;

	if (proc_page_scan_operations.open)
		return proc_page_scan_operations.open(inode, file);
		ret = proc_page_scan_operations.open(inode, file);

	return 0;
	if (ret != 0)
		module_put(module);

	return ret;
}

static int mm_idle_release(struct inode *inode, struct file *file)
@@ -2004,15 +2009,20 @@ static int mm_swap_open(struct inode *inode, struct file *file)
	}

	mm = proc_mem_open(inode, PTRACE_MODE_READ);
	if (IS_ERR(mm))
	if (IS_ERR(mm)) {
		module_put(module);
		return PTR_ERR(mm);
	}

	file->private_data = mm;

	if (proc_swap_pages_operations.open)
		return proc_swap_pages_operations.open(inode, file);
		ret = proc_swap_pages_operations.open(inode, file);

	return 0;
	if (ret != 0)
		module_put(module);

	return ret;
}

static int mm_swap_release(struct inode *inode, struct file *file)