Author: cem
Date: Fri Oct 30 19:02:59 2020
New Revision: 367182
URL: https://svnweb.freebsd.org/changeset/base/367182

Log:
  linux(4): Quiesce warning about madvise(..., -1)
  
  This API misuse is intended to produce an error value to detect certain
  bogus stub implementations of MADV_WIPEONFORK.  We don't need to log a
  warning about it.
  
  Example:
  
https://boringssl.googlesource.com/boringssl/+/ad5582985cc6b89d0e7caf0d9cc7e301de61cf66%5E%21/
  
  Reviewed by:  emaste, trasz
  Differential Revision:        https://reviews.freebsd.org/D27017

Modified:
  head/sys/compat/linux/linux_mmap.c

Modified: head/sys/compat/linux/linux_mmap.c
==============================================================================
--- head/sys/compat/linux/linux_mmap.c  Fri Oct 30 19:00:42 2020        
(r367181)
+++ head/sys/compat/linux/linux_mmap.c  Fri Oct 30 19:02:59 2020        
(r367182)
@@ -394,6 +394,16 @@ linux_madvise_common(struct thread *td, uintptr_t addr
        case LINUX_MADV_SOFT_OFFLINE:
                linux_msg(curthread, "unsupported madvise MADV_SOFT_OFFLINE");
                return (EINVAL);
+       case -1:
+               /*
+                * -1 is sometimes used as a dummy value to detect simplistic
+                * madvise(2) stub implementations.  This safeguard is used by
+                * BoringSSL, for example, before assuming MADV_WIPEONFORK is
+                * safe to use.  Don't produce an "unsupported" error message
+                * for this special dummy value, which is unlikely to be used
+                * by any new advisory behavior feature.
+                */
+               return (EINVAL);
        default:
                linux_msg(curthread, "unsupported madvise behav %d", behav);
                return (EINVAL);
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to