Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 17 Mar 2017 08:02:47 +0000 (UTC)
From:      Hans Petter Selasky <hselasky@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r315442 - head/sys/compat/linuxkpi/common/include/linux
Message-ID:  <201703170802.v2H82lK3014283@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: hselasky
Date: Fri Mar 17 08:02:46 2017
New Revision: 315442
URL: https://svnweb.freebsd.org/changeset/base/315442

Log:
  Add comment describing the use of pagefault_disable() and
  pagefault_enable() in the LinuxKPI.
  
  Suggested by:  		rpokala@
  MFC after:		1 week
  Sponsored by:		Mellanox Technologies

Modified:
  head/sys/compat/linuxkpi/common/include/linux/uaccess.h

Modified: head/sys/compat/linuxkpi/common/include/linux/uaccess.h
==============================================================================
--- head/sys/compat/linuxkpi/common/include/linux/uaccess.h	Fri Mar 17 07:56:20 2017	(r315441)
+++ head/sys/compat/linuxkpi/common/include/linux/uaccess.h	Fri Mar 17 08:02:46 2017	(r315442)
@@ -67,6 +67,13 @@ extern int linux_copyout(const void *kad
 extern size_t linux_clear_user(void *uaddr, size_t len);
 extern int linux_access_ok(int rw, const void *uaddr, size_t len);
 
+/*
+ * NOTE: Each pagefault_disable() call must have a corresponding
+ * pagefault_enable() call in the same scope. The former creates a new
+ * block and defines a temporary variable, and the latter uses the
+ * temporary variable and closes the block. Failure to balance the
+ * calls will result in a compile-time error.
+ */
 #define	pagefault_disable(void) do {		\
 	int __saved_pflags =			\
 	    vm_fault_disable_pagefaults()



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201703170802.v2H82lK3014283>