!C99Shell v. 2.0 [PHP 7 Update] [25.02.2019]!

Software: nginx/1.23.4. PHP/5.6.40-65+ubuntu20.04.1+deb.sury.org+1 

uname -a: Linux foro-restaurado-2 5.15.0-1040-oracle #46-Ubuntu SMP Fri Jul 14 21:47:21 UTC 2023
aarch64
 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/usr/src/linux-oracle-6.8-headers-6.8.0-1028/arch/arm64/include/asm/   drwxr-xr-x
Free 83.36 GB of 96.73 GB (86.18%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     archrandom.h (3.03 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _ASM_ARCHRANDOM_H
#define _ASM_ARCHRANDOM_H

#include <linux/arm-smccc.h>
#include <linux/bug.h>
#include <linux/kernel.h>
#include <linux/irqflags.h>
#include <asm/cpufeature.h>

#define ARM_SMCCC_TRNG_MIN_VERSION    0x10000UL

extern bool smccc_trng_available;

static inline bool __init smccc_probe_trng(void)
{
    struct arm_smccc_res res;

    arm_smccc_1_1_invoke(ARM_SMCCC_TRNG_VERSION, &res);
    if ((s32)res.a0 < 0)
        return false;

    return res.a0 >= ARM_SMCCC_TRNG_MIN_VERSION;
}

static inline bool __arm64_rndr(unsigned long *v)
{
    bool ok;

    /*
     * Reads of RNDR set PSTATE.NZCV to 0b0000 on success,
     * and set PSTATE.NZCV to 0b0100 otherwise.
     */
    asm volatile(
        __mrs_s("%0", SYS_RNDR_EL0) "\n"
    "    cset %w1, ne\n"
    : "=r" (*v), "=r" (ok)
    :
    : "cc");

    return ok;
}

static inline bool __arm64_rndrrs(unsigned long *v)
{
    bool ok;

    /*
     * Reads of RNDRRS set PSTATE.NZCV to 0b0000 on success,
     * and set PSTATE.NZCV to 0b0100 otherwise.
     */
    asm volatile(
        __mrs_s("%0", SYS_RNDRRS_EL0) "\n"
    "    cset %w1, ne\n"
    : "=r" (*v), "=r" (ok)
    :
    : "cc");

    return ok;
}

static __always_inline bool __cpu_has_rng(void)
{
    if (unlikely(!system_capabilities_finalized() && !preemptible()))
        return this_cpu_has_cap(ARM64_HAS_RNG);
    return alternative_has_cap_unlikely(ARM64_HAS_RNG);
}

static inline size_t __must_check arch_get_random_longs(unsigned long *v, size_t max_longs)
{
    /*
     * Only support the generic interface after we have detected
     * the system wide capability, avoiding complexity with the
     * cpufeature code and with potential scheduling between CPUs
     * with and without the feature.
     */
    if (max_longs && __cpu_has_rng() && __arm64_rndr(v))
        return 1;
    return 0;
}

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

    /*
     * We prefer the SMCCC call, since its semantics (return actual
     * hardware backed entropy) is closer to the idea behind this
     * function here than what even the RNDRSS register provides
     * (the output of a pseudo RNG freshly seeded by a TRNG).
     */
    if (smccc_trng_available) {
        struct arm_smccc_res res;

        max_longs = min_t(size_t, 3, max_longs);
        arm_smccc_1_1_invoke(ARM_SMCCC_TRNG_RND64, max_longs * 64, &res);
        if ((int)res.a0 >= 0) {
            switch (max_longs) {
            case 3:
                *v++ = res.a1;
                fallthrough;
            case 2:
                *v++ = res.a2;
                fallthrough;
            case 1:
                *v++ = res.a3;
                break;
            }
            return max_longs;
        }
    }

    /*
     * RNDRRS is not backed by an entropy source but by a DRBG that is
     * reseeded after each invocation. This is not a 100% fit but good
     * enough to implement this API if no other entropy source exists.
     */
    if (__cpu_has_rng() && __arm64_rndrrs(v))
        return 1;

    return 0;
}

static inline bool __init __early_cpu_has_rndr(void)
{
    /* Open code as we run prior to the first call to cpufeature. */
    unsigned long ftr = read_sysreg_s(SYS_ID_AA64ISAR0_EL1);
    return (ftr >> ID_AA64ISAR0_EL1_RNDR_SHIFT) & 0xf;
}

u64 kaslr_early_init(void *fdt);

#endif /* _ASM_ARCHRANDOM_H */

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by HackingTool | HackingTool | Generation time: 0.0044 ]--