Hi,

remove some old option letters and also make P non-settable.  It has
been the default for ages, and I see no valid reason to be able to
disable it.

OK?

        -Otto


Index: lib/libc/stdlib/malloc.c
===================================================================
RCS file: /cvs/src/lib/libc/stdlib/malloc.c,v
retrieving revision 1.208
diff -u -p -r1.208 malloc.c
--- lib/libc/stdlib/malloc.c    28 Oct 2016 17:03:22 -0000      1.208
+++ lib/libc/stdlib/malloc.c    30 Oct 2016 06:32:57 -0000
@@ -68,10 +68,9 @@
 #define CHUNK_CHECK_LENGTH     32
 
 /*
- * When the P option is active, we move allocations between half a page
- * and a whole page towards the end, subject to alignment constraints.
- * This is the extra headroom we allow. Set to zero to be the most
- * strict.
+ * We move allocations between half a page and a whole page towards the end,
+ * subject to alignment constraints. This is the extra headroom we allow.
+ * Set to zero to be the most strict.
  */
 #define MALLOC_LEEWAY          0
 
@@ -177,12 +176,11 @@ struct malloc_readonly {
        int     malloc_freenow;         /* Free quickly - disable chunk rnd */
        int     malloc_freeunmap;       /* mprotect free pages PROT_NONE? */
        int     malloc_junk;            /* junk fill? */
-       int     malloc_move;            /* move allocations to end of page? */
        int     malloc_realloc;         /* always realloc? */
        int     malloc_xmalloc;         /* xmalloc behaviour? */
        int     chunk_canaries;         /* use canaries after chunks? */
-       size_t  malloc_guard;           /* use guard pages after allocations? */
        u_int   malloc_cache;           /* free pages we cache */
+       size_t  malloc_guard;           /* use guard pages after allocations? */
 #ifdef MALLOC_STATS
        int     malloc_stats;           /* dump statistics at end */
 #endif
@@ -493,10 +491,6 @@ omalloc_parseopt(char opt)
        case '<':
                mopts.malloc_cache >>= 1;
                break;
-       case 'a':
-       case 'A':
-               /* ignored */
-               break;
        case 'c':
                mopts.chunk_canaries = 0;
                break;
@@ -533,15 +527,6 @@ omalloc_parseopt(char opt)
                if (mopts.malloc_junk < 2)
                        mopts.malloc_junk++;
                break;
-       case 'n':
-       case 'N':
-               break;
-       case 'p':
-               mopts.malloc_move = 0;
-               break;
-       case 'P':
-               mopts.malloc_move = 1;
-               break;
        case 'r':
                mopts.malloc_realloc = 0;
                break;
@@ -579,7 +564,6 @@ omalloc_init(void)
         * Default options
         */
        mopts.malloc_junk = 1;
-       mopts.malloc_move = 1;
        mopts.malloc_cache = MALLOC_DEFAULT_CACHE;
 
        for (i = 0; i < 3; i++) {
@@ -1146,9 +1130,7 @@ omalloc(struct dir_info *pool, size_t sz
                        STATS_ADD(pool->malloc_guarded, mopts.malloc_guard);
                }
 
-               if (mopts.malloc_move &&
-                   sz - mopts.malloc_guard < MALLOC_PAGESIZE -
-                   MALLOC_LEEWAY) {
+               if (sz - mopts.malloc_guard < MALLOC_PAGESIZE - MALLOC_LEEWAY) {
                        /* fill whole allocation */
                        if (mopts.malloc_junk == 2)
                                memset(p, SOME_JUNK, psz - mopts.malloc_guard);
Index: share/man/man5/malloc.conf.5
===================================================================
RCS file: /cvs/src/share/man/man5/malloc.conf.5,v
retrieving revision 1.10
diff -u -p -r1.10 malloc.conf.5
--- share/man/man5/malloc.conf.5        28 Oct 2016 17:03:47 -0000      1.10
+++ share/man/man5/malloc.conf.5        30 Oct 2016 06:32:58 -0000
@@ -89,12 +89,6 @@ the filling pattern is validated and the
 was modified.
 If the junk level is zero, no junking is performed.
 For junk level 2, junking is done without size restrictions.
-.It Cm P
-.Dq Move allocations within a page.
-Allocations larger than half a page but smaller than a page
-are aligned to the end of a page to catch buffer overruns in more
-cases.
-This is the default.
 .It Cm R
 .Dq realloc .
 Always reallocate when

Reply via email to