__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
/* SPDX-License-Identifier: GPL-2.0 */
/*
 * Copyright (C) 2022-2024 Jason A. Donenfeld <[email protected]>. All Rights Reserved.
 */

#ifndef _VDSO_GETRANDOM_H
#define _VDSO_GETRANDOM_H

#include <linux/types.h>

#define CHACHA_KEY_SIZE         32
#define CHACHA_BLOCK_SIZE       64

/**
 * struct vgetrandom_state - State used by vDSO getrandom().
 *
 * @batch:	One and a half ChaCha20 blocks of buffered RNG output.
 *
 * @key:	Key to be used for generating next batch.
 *
 * @batch_key:	Union of the prior two members, which is exactly two full
 * 		ChaCha20 blocks in size, so that @batch and @key can be filled
 * 		together.
 *
 * @generation:	Snapshot of @rng_info->generation in the vDSO data page at
 *		the time @key was generated.
 *
 * @pos:	Offset into @batch of the next available random byte.
 *
 * @in_use:	Reentrancy guard for reusing a state within the same thread
 *		due to signal handlers.
 */
struct vgetrandom_state {
	union {
		struct {
			u8	batch[CHACHA_BLOCK_SIZE * 3 / 2];
			u32	key[CHACHA_KEY_SIZE / sizeof(u32)];
		};
		u8		batch_key[CHACHA_BLOCK_SIZE * 2];
	};
	u64			generation;
	u8			pos;
	bool 			in_use;
};

/**
 * __arch_chacha20_blocks_nostack - Generate ChaCha20 stream without using the stack.
 * @dst_bytes:	Destination buffer to hold @nblocks * 64 bytes of output.
 * @key:	32-byte input key.
 * @counter:	8-byte counter, read on input and updated on return.
 * @nblocks:	Number of blocks to generate.
 *
 * Generates a given positive number of blocks of ChaCha20 output with nonce=0, and does not write
 * to any stack or memory outside of the parameters passed to it, in order to mitigate stack data
 * leaking into forked child processes.
 */
extern void __arch_chacha20_blocks_nostack(u8 *dst_bytes, const u32 *key, u32 *counter, size_t nblocks);

/**
 * __vdso_getrandom - Architecture-specific vDSO implementation of getrandom() syscall.
 * @buffer:		Passed to __cvdso_getrandom().
 * @len:		Passed to __cvdso_getrandom().
 * @flags:		Passed to __cvdso_getrandom().
 * @opaque_state:	Passed to __cvdso_getrandom().
 * @opaque_len:		Passed to __cvdso_getrandom();
 *
 * This function is implemented by making a single call to to __cvdso_getrandom(), whose
 * documentation may be consulted for more information.
 *
 * Returns:	The return value of __cvdso_getrandom().
 */
extern ssize_t __vdso_getrandom(void *buffer, size_t len, unsigned int flags, void *opaque_state, size_t opaque_len);

#endif /* _VDSO_GETRANDOM_H */

Filemanager

Name Type Size Permission Actions
bits.h File 209 B 0644
clocksource.h File 479 B 0644
const.h File 196 B 0644
datapage.h File 4.97 KB 0644
getrandom.h File 2.41 KB 0644
gettime.h File 755 B 0644
helpers.h File 1.29 KB 0644
jiffies.h File 298 B 0644
ktime.h File 454 B 0644
limits.h File 564 B 0644
math64.h File 1.29 KB 0644
page.h File 814 B 0644
processor.h File 251 B 0644
time.h File 190 B 0644
time32.h File 274 B 0644
time64.h File 426 B 0644
unaligned.h File 427 B 0644
vsyscall.h File 288 B 0644
Filemanager