svn commit: r185864 - in head/sys: compat/linprocfs fs/procfs
Konstantin Belousov
kib at FreeBSD.org
Wed Dec 10 08:11:09 PST 2008
Author: kib
Date: Wed Dec 10 16:11:09 2008
New Revision: 185864
URL: http://svn.freebsd.org/changeset/base/185864
Log:
Relock user map earlier, to have the lock held when break leaves the
loop earlier due to sbuf error.
Pointy hat to: me
Submitted by: dchagin
Modified:
head/sys/compat/linprocfs/linprocfs.c
head/sys/fs/procfs/procfs_map.c
Modified: head/sys/compat/linprocfs/linprocfs.c
==============================================================================
--- head/sys/compat/linprocfs/linprocfs.c Wed Dec 10 16:02:54 2008 (r185863)
+++ head/sys/compat/linprocfs/linprocfs.c Wed Dec 10 16:11:09 2008 (r185864)
@@ -969,11 +969,11 @@ linprocfs_doprocmaps(PFS_FILL_ARGS)
);
if (freename)
free(freename, M_TEMP);
+ vm_map_lock_read(map);
if (error == -1) {
error = 0;
break;
}
- vm_map_lock_read(map);
if (last_timestamp + 1 != map->timestamp) {
/*
* Look again for the entry because the map was
Modified: head/sys/fs/procfs/procfs_map.c
==============================================================================
--- head/sys/fs/procfs/procfs_map.c Wed Dec 10 16:02:54 2008 (r185863)
+++ head/sys/fs/procfs/procfs_map.c Wed Dec 10 16:11:09 2008 (r185864)
@@ -219,12 +219,11 @@ procfs_doprocmap(PFS_FILL_ARGS)
if (freepath != NULL)
free(freepath, M_TEMP);
-
+ vm_map_lock_read(map);
if (error == -1) {
error = 0;
break;
}
- vm_map_lock_read(map);
if (last_timestamp + 1 != map->timestamp) {
/*
* Look again for the entry because the map was
More information about the svn-src-all
mailing list