xref: /xnu-11215/libkern/stack_protector.c (revision a5e72196)
13ca3bd55SApple OSS Distributions /*
2*d0c1fef6SApple OSS Distributions  * Copyright (c) 2008-2012 Apple Inc. All rights reserved.
33ca3bd55SApple OSS Distributions  *
4*d0c1fef6SApple OSS Distributions  * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
53ca3bd55SApple OSS Distributions  *
6*d0c1fef6SApple OSS Distributions  * This file contains Original Code and/or Modifications of Original Code
7*d0c1fef6SApple OSS Distributions  * as defined in and that are subject to the Apple Public Source License
8*d0c1fef6SApple OSS Distributions  * Version 2.0 (the 'License'). You may not use this file except in
9*d0c1fef6SApple OSS Distributions  * compliance with the License. The rights granted to you under the License
10*d0c1fef6SApple OSS Distributions  * may not be used to create, or enable the creation or redistribution of,
11*d0c1fef6SApple OSS Distributions  * unlawful or unlicensed copies of an Apple operating system, or to
12*d0c1fef6SApple OSS Distributions  * circumvent, violate, or enable the circumvention or violation of, any
13*d0c1fef6SApple OSS Distributions  * terms of an Apple operating system software license agreement.
14*d0c1fef6SApple OSS Distributions  *
15*d0c1fef6SApple OSS Distributions  * Please obtain a copy of the License at
16*d0c1fef6SApple OSS Distributions  * http://www.opensource.apple.com/apsl/ and read it before using this file.
17*d0c1fef6SApple OSS Distributions  *
18*d0c1fef6SApple OSS Distributions  * The Original Code and all software distributed under the License are
19*d0c1fef6SApple OSS Distributions  * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
20*d0c1fef6SApple OSS Distributions  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
21*d0c1fef6SApple OSS Distributions  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
22*d0c1fef6SApple OSS Distributions  * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
23*d0c1fef6SApple OSS Distributions  * Please see the License for the specific language governing rights and
24*d0c1fef6SApple OSS Distributions  * limitations under the License.
25*d0c1fef6SApple OSS Distributions  *
26*d0c1fef6SApple OSS Distributions  * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
273ca3bd55SApple OSS Distributions  */
283ca3bd55SApple OSS Distributions 
29*d0c1fef6SApple OSS Distributions #include <libkern/stack_protector.h>
303ca3bd55SApple OSS Distributions #include <kern/debug.h>
313ca3bd55SApple OSS Distributions 
32*d0c1fef6SApple OSS Distributions unsigned long __stack_chk_guard = 0UL;
333ca3bd55SApple OSS Distributions 
343ca3bd55SApple OSS Distributions void
__stack_chk_fail(void)353ca3bd55SApple OSS Distributions __stack_chk_fail(void)
363ca3bd55SApple OSS Distributions {
373ca3bd55SApple OSS Distributions 	panic("Kernel stack memory corruption detected");
383ca3bd55SApple OSS Distributions }
39