15bd9c17dSSaurabh Gorecha /* 2905f93c7SSaurabh Gorecha * Copyright (c) 2018-2020, The Linux Foundation. All rights reserved. 35bd9c17dSSaurabh Gorecha * 45bd9c17dSSaurabh Gorecha * SPDX-License-Identifier: BSD-3-Clause 55bd9c17dSSaurabh Gorecha */ 65bd9c17dSSaurabh Gorecha 75bd9c17dSSaurabh Gorecha #include <assert.h> 85bd9c17dSSaurabh Gorecha #include <stdint.h> 95bd9c17dSSaurabh Gorecha 10*1b9f8ec7SSumit Garg #include <drivers/qti/crypto/rng.h> 115bd9c17dSSaurabh Gorecha #include <platform.h> 12*1b9f8ec7SSumit Garg 135bd9c17dSSaurabh Gorecha #include <qtiseclib_interface.h> 145bd9c17dSSaurabh Gorecha plat_get_stack_protector_canary(void)155bd9c17dSSaurabh Gorechau_register_t plat_get_stack_protector_canary(void) 165bd9c17dSSaurabh Gorecha { 175bd9c17dSSaurabh Gorecha u_register_t random = 0x0; 185bd9c17dSSaurabh Gorecha 19905f93c7SSaurabh Gorecha /* 20905f93c7SSaurabh Gorecha * get random data , the below API doesn't return random = 0 on success 21905f93c7SSaurabh Gorecha */ 22905f93c7SSaurabh Gorecha qti_rng_get_data((uint8_t *) &random, sizeof(random)); 23905f93c7SSaurabh Gorecha assert(random != 0x0); 245bd9c17dSSaurabh Gorecha 255bd9c17dSSaurabh Gorecha return random; 265bd9c17dSSaurabh Gorecha } 27