svn commit: r367182 - head/sys/compat/linux
Conrad Meyer
cem at FreeBSD.org
Fri Oct 30 19:03:00 UTC 2020
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);
More information about the svn-src-all
mailing list