arch/um/include/asm/archrandom.h

Source file repositories/reference/linux-study-clean/arch/um/include/asm/archrandom.h

File Facts

System
Linux kernel
Corpus path
arch/um/include/asm/archrandom.h
Extension
.h
Size
615 bytes
Lines
26
Domain
Architecture Layer
Bucket
arch/um
Inferred role
Architecture Layer: implementation source
Status
source implementation candidate

Why This File Exists

CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.

Dependency Surface

Detected Declarations

Annotated Snippet

#ifndef __ASM_UM_ARCHRANDOM_H__
#define __ASM_UM_ARCHRANDOM_H__

#include <linux/types.h>

/* This is from <os.h>, but better not to #include that in a global header here. */
ssize_t os_getrandom(void *buf, size_t len, unsigned int flags);

static inline size_t __must_check arch_get_random_longs(unsigned long *v, size_t max_longs)
{
	ssize_t ret;

	ret = os_getrandom(v, max_longs * sizeof(*v), 0);
	if (ret < 0)
		return 0;
	return ret / sizeof(*v);
}

static inline size_t __must_check arch_get_random_seed_longs(unsigned long *v, size_t max_longs)
{
	return 0;
}

#endif

Annotation

Implementation Notes