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);
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to