From 7a4cf709e46cecd500ed4729b6a9cc19cde7bf7a Mon Sep 17 00:00:00 2001 From: pgoyette Date: Sun, 29 Jan 2017 01:38:02 +0000 Subject: [PATCH] Update for the new *_size() functions recently added. Mention the implicit size limit (128KB) for the functions which do not take an explicit limit argument. --- common/lib/libprop/prop_copyin_ioctl.9 | 40 ++++++++++++++++++++++++-- 1 file changed, 38 insertions(+), 2 deletions(-) diff --git a/common/lib/libprop/prop_copyin_ioctl.9 b/common/lib/libprop/prop_copyin_ioctl.9 index e1ee471ba288..4b1dffed6c08 100644 --- a/common/lib/libprop/prop_copyin_ioctl.9 +++ b/common/lib/libprop/prop_copyin_ioctl.9 @@ -1,4 +1,4 @@ -.\" $NetBSD: prop_copyin_ioctl.9,v 1.11 2017/01/15 22:14:22 wiz Exp $ +.\" $NetBSD: prop_copyin_ioctl.9,v 1.12 2017/01/29 01:38:02 pgoyette Exp $ .\" .\" Copyright (c) 2006, 2009 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -27,7 +27,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd January 17, 2011 +.Dd January 29, 2017 .Dt PROP_COPYIN_IOCTL 9 .Os .Sh NAME @@ -46,9 +46,15 @@ .Fn prop_array_copyin_ioctl "const struct plistref *pref" \ "const u_long cmd" "prop_array_t *arrayp" .Ft int +.Fn prop_array_copyin_ioctl_size "const struct plistref *pref" \ + "const u_long cmd" "prop_array_t *arrayp" "size_t lim" +.Ft int .Fn prop_array_copyin "const struct plistref *pref" \ "prop_array_t *arrayp" .Ft int +.Fn prop_array_copyin_size "const struct plistref *pref" \ + "prop_array_t *arrayp" "size_t lim" +.Ft int .Fn prop_array_copyout_ioctl "struct plistref *pref" \ "const u_long cmd" "prop_array_t array" .Ft int @@ -58,9 +64,15 @@ .Fn prop_dictionary_copyin_ioctl "const struct plistref *pref" \ "const u_long cmd" "prop_dictionary_t *dictp" .Ft int +.Fn prop_dictionary_copyin_ioctl_size "const struct plistref *pref" \ + "const u_long cmd" "prop_dictionary_t *dictp" "size_t lim" +.Ft int .Fn prop_dictionary_copyin "const struct plistref *pref" \ "prop_dictionary_t *dictp" .Ft int +.Fn prop_dictionary_copyin_size "const struct plistref *pref" \ + "prop_dictionary_t *dictp" "size_t lim" +.Ft int .Fn prop_dictionary_copyout_ioctl "struct plistref *pref" \ "const u_long cmd" "prop_dictionary_t dict" .Ft int @@ -68,9 +80,12 @@ "prop_dictionary_t dict" .Sh DESCRIPTION The +.Nm prop_array_ioctl , .Nm prop_array_copyin_ioctl , +.Nm prop_array_copyin_ioctl_size , .Nm prop_array_copyout_ioctl , .Nm prop_dictionary_copyin_ioctl , +.Nm prop_dictionary_copyin_ioctl_size , and .Nm prop_dictionary_copyout_ioctl functions implement the kernel side of a protocol for copying property lists @@ -78,8 +93,10 @@ to and from the kernel using .Xr ioctl 2 . The functions .Nm prop_array_copyin , +.Nm prop_array_copyin_size , .Nm prop_array_copyout , .Nm prop_dictionary_copyin , +.Nm prop_dictionary_copyin_size , and .Nm prop_dictionary_copyout implement the kernel side of a protocol for copying property lists to the @@ -90,6 +107,25 @@ pointer to a .Vt struct plistref . This structure encapsulates the reference to the property list in externalized form. +.Pp +The functions +.Nm prop_array_copyin_ioctl_size , +.Nm prop_dictionary_copyin_ioctl_size , +.Nm prop_array_copyin_size , +and +.Nm prop_dictionary_copyin_size , +take an explicit limit argument +.Ar lim +while +.Nm prop_array_copyin_ioctl , +.Nm prop_dictionary_copyin_ioctl , +.Nm prop_array_copyin , +and +.Nm prop_dictionary_copyin , +have an implicit size limit of 128KB. +Attempts to transfer objects larger than the limit result in an +.Er E2BIG +return value. .Sh RETURN VALUES If successful, functions return zero. Otherwise, an error number will be returned to indicate the error.