!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/kvm/hyp/include/hyp/   drwxr-xr-x
Free 83.26 GB of 96.73 GB (86.08%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     fault.h (1.96 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (C) 2015 - ARM Ltd
 * Author: Marc Zyngier <[email protected]>
 */

#ifndef __ARM64_KVM_HYP_FAULT_H__
#define __ARM64_KVM_HYP_FAULT_H__

#include <asm/kvm_asm.h>
#include <asm/kvm_emulate.h>
#include <asm/kvm_hyp.h>
#include <asm/kvm_mmu.h>

static inline bool __translate_far_to_hpfar(u64 far, u64 *hpfar)
{
    u64 par, tmp;

    /*
     * Resolve the IPA the hard way using the guest VA.
     *
     * Stage-1 translation already validated the memory access
     * rights. As such, we can use the EL1 translation regime, and
     * don't have to distinguish between EL0 and EL1 access.
     *
     * We do need to save/restore PAR_EL1 though, as we haven't
     * saved the guest context yet, and we may return early...
     */
    par = read_sysreg_par();
    if (!__kvm_at("s1e1r", far))
        tmp = read_sysreg_par();
    else
        tmp = SYS_PAR_EL1_F; /* back to the guest */
    write_sysreg(par, par_el1);

    if (unlikely(tmp & SYS_PAR_EL1_F))
        return false; /* Translation failed, back to guest */

    /* Convert PAR to HPFAR format */
    *hpfar = PAR_TO_HPFAR(tmp);
    return true;
}

static inline bool __get_fault_info(u64 esr, struct kvm_vcpu_fault_info *fault)
{
    u64 hpfar, far;

    far = read_sysreg_el2(SYS_FAR);

    /*
     * The HPFAR can be invalid if the stage 2 fault did not
     * happen during a stage 1 page table walk (the ESR_EL2.S1PTW
     * bit is clear) and one of the two following cases are true:
     *   1. The fault was due to a permission fault
     *   2. The processor carries errata 834220
     *
     * Therefore, for all non S1PTW faults where we either have a
     * permission fault or the errata workaround is enabled, we
     * resolve the IPA using the AT instruction.
     */
    if (!(esr & ESR_ELx_S1PTW) &&
        (cpus_have_final_cap(ARM64_WORKAROUND_834220) ||
         esr_fsc_is_permission_fault(esr))) {
        if (!__translate_far_to_hpfar(far, &hpfar))
            return false;
    } else {
        hpfar = read_sysreg(hpfar_el2);
    }

    fault->far_el2 = far;
    fault->hpfar_el2 = hpfar;
    return true;
}

#endif

:: 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.0045 ]--