xref: /freebsd/share/man/man9/kstack_contains.9 (revision 031beb4e239bfce798af17f5fe8dba8bcaf13d99)
1.\" SPDX-License-Identifier: BSD-2-Clause
2.\"
3.\" Copyright (c) 2023 Joseph Koshy <jkoshy@FreeBSD.org>
4.\"
5.\" Redistribution and use in source and binary forms, with or without
6.\" modification, are permitted provided that the following conditions
7.\" are met:
8.\" 1. Redistributions of source code must retain the above copyright
9.\"    notice, this list of conditions and the following disclaimer.
10.\" 2. Redistributions in binary form must reproduce the above copyright
11.\"    notice, this list of conditions and the following disclaimer in the
12.\"    documentation and/or other materials provided with the distribution.
13.\"
14.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
15.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
16.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
17.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
18.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
19.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
20.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
21.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
23.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24.\"
25.\" $FreeBSD$
26.\"
27.Dd May 2, 2023
28.Dt KSTACK_CONTAINS 9
29.Os
30.Sh NAME
31.Nm kstack_contains
32.Nd determine if an address range lies within the kernel stack for a thread
33.Sh SYNOPSIS
34.In machine/stack.h
35.Ft bool
36.Fn kstack_contains "struct thread *td" "vm_offset_t va" "size_t len"
37.Sh DESCRIPTION
38This function can be used to determine whether a given address range
39falls within the kernel stack for the thread pointed to by
40.Fa td .
41.Sh RETURN VALUES
42The function
43.Fn kstack_contains
44returns
45.Dv true
46if the range of addresses
47.Bo
48.Fa va Ns .. Ns (
49.Fa va Ns + Ns
50.Fa len Ns - Ns 1 )
51.Bc
52(both addresses inclusive) lies within the kernel stack for the thread
53pointed to by argument
54.Fa td ,
55or returns
56.Dv false
57otherwise.
58.Sh ERRORS
59This function does not return an error.
60.Sh SEE ALSO
61.Xr kproc 9 ,
62.Xr kthread 9
63