svn commit: r213458 - in head: sys/compat/x86bios usr.sbin/pw
Jung-uk Kim
jkim at FreeBSD.org
Tue Oct 5 18:38:24 UTC 2010
Author: jkim
Date: Tue Oct 5 18:38:23 2010
New Revision: 213458
URL: http://svn.freebsd.org/changeset/base/213458
Log:
Prefer pmap_unmapbios() over pmap_unmapdev(). The binary does not change
after this because pmap_unmapbios() is a macro for pmap_unmapdev() on amd64.
Modified:
head/sys/compat/x86bios/x86bios.c
head/usr.sbin/pw/pw_user.c
Modified: head/sys/compat/x86bios/x86bios.c
==============================================================================
--- head/sys/compat/x86bios/x86bios.c Tue Oct 5 18:34:43 2010 (r213457)
+++ head/sys/compat/x86bios/x86bios.c Tue Oct 5 18:38:23 2010 (r213458)
@@ -679,7 +679,7 @@ x86bios_unmap_mem(void)
free(x86bios_map, M_DEVBUF);
if (x86bios_ivt != NULL)
#ifdef X86BIOS_NATIVE_ARCH
- pmap_unmapdev((vm_offset_t)x86bios_ivt, X86BIOS_IVT_SIZE);
+ pmap_unmapbios((vm_offset_t)x86bios_ivt, X86BIOS_IVT_SIZE);
#else
free(x86bios_ivt, M_DEVBUF);
#endif
Modified: head/usr.sbin/pw/pw_user.c
==============================================================================
--- head/usr.sbin/pw/pw_user.c Tue Oct 5 18:34:43 2010 (r213457)
+++ head/usr.sbin/pw/pw_user.c Tue Oct 5 18:38:23 2010 (r213458)
@@ -151,14 +151,14 @@ pw_user(struct userconf * cnf, int mode,
cnf->home = arg->val;
}
+ dmode = S_IRWXU | S_IRWXG | S_IRWXO;
if ((arg = getarg(args, 'M')) != NULL) {
dmode_c = arg->val;
if ((set = setmode(dmode_c)) == NULL)
errx(EX_DATAERR, "invalid directory creation mode '%s'",
dmode_c);
- dmode = getmode(set, S_IRWXU | S_IRWXG | S_IRWXO);
+ cnf->homemode = getmode(set, dmode);
free(set);
- cnf->homemode = dmode;
}
/*
@@ -186,7 +186,7 @@ pw_user(struct userconf * cnf, int mode,
if (strchr(cnf->home+1, '/') == NULL) {
strcpy(dbuf, "/usr");
strncat(dbuf, cnf->home, MAXPATHLEN-5);
- if (mkdir(dbuf, cnf->homemode) != -1 || errno == EEXIST) {
+ if (mkdir(dbuf, dmode) != -1 || errno == EEXIST) {
chown(dbuf, 0, 0);
/*
* Skip first "/" and create symlink:
@@ -202,7 +202,7 @@ pw_user(struct userconf * cnf, int mode,
while ((p = strchr(++p, '/')) != NULL) {
*p = '\0';
if (stat(dbuf, &st) == -1) {
- if (mkdir(dbuf, cnf->homemode) == -1)
+ if (mkdir(dbuf, dmode) == -1)
goto direrr;
chown(dbuf, 0, 0);
} else if (!S_ISDIR(st.st_mode))
@@ -211,7 +211,7 @@ pw_user(struct userconf * cnf, int mode,
}
}
if (stat(dbuf, &st) == -1) {
- if (mkdir(dbuf, cnf->homemode) == -1) {
+ if (mkdir(dbuf, dmode) == -1) {
direrr: err(EX_OSFILE, "mkdir '%s'", dbuf);
}
chown(dbuf, 0, 0);
More information about the svn-src-head
mailing list