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


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

#include <linux/futex.h>
#include <linux/uaccess.h>
#include <asm/errno.h>

#ifndef futex_atomic_cmpxchg_inatomic
#ifndef CONFIG_SMP
/*
 * The following implementation only for uniprocessor machines.
 * It relies on preempt_disable() ensuring mutual exclusion.
 *
 */
#define futex_atomic_cmpxchg_inatomic(uval, uaddr, oldval, newval) \
    futex_atomic_cmpxchg_inatomic_local(uval, uaddr, oldval, newval)
#define arch_futex_atomic_op_inuser(op, oparg, oval, uaddr) \
    futex_atomic_op_inuser_local(op, oparg, oval, uaddr)
#endif /* CONFIG_SMP */
#endif

/**
 * futex_atomic_op_inuser_local() - Atomic arithmetic operation with constant
 *              argument and comparison of the previous
 *              futex value with another constant.
 *
 * @encoded_op:    encoded operation to execute
 * @uaddr:    pointer to user space address
 *
 * Return:
 * 0 - On success
 * -EFAULT - User access resulted in a page fault
 * -EAGAIN - Atomic operation was unable to complete due to contention
 * -ENOSYS - Operation not supported
 */
static inline int
futex_atomic_op_inuser_local(int op, u32 oparg, int *oval, u32 __user *uaddr)
{
    int oldval, ret;
    u32 tmp;

    preempt_disable();

    ret = -EFAULT;
    if (unlikely(get_user(oldval, uaddr) != 0))
        goto out_pagefault_enable;

    ret = 0;
    tmp = oldval;

    switch (op) {
    case FUTEX_OP_SET:
        tmp = oparg;
        break;
    case FUTEX_OP_ADD:
        tmp += oparg;
        break;
    case FUTEX_OP_OR:
        tmp |= oparg;
        break;
    case FUTEX_OP_ANDN:
        tmp &= ~oparg;
        break;
    case FUTEX_OP_XOR:
        tmp ^= oparg;
        break;
    default:
        ret = -ENOSYS;
    }

    if (ret == 0 && unlikely(put_user(tmp, uaddr) != 0))
        ret = -EFAULT;

out_pagefault_enable:
    preempt_enable();

    if (ret == 0)
        *oval = oldval;

    return ret;
}

/**
 * futex_atomic_cmpxchg_inatomic_local() - Compare and exchange the content of the
 *                uaddr with newval if the current value is
 *                oldval.
 * @uval:    pointer to store content of @uaddr
 * @uaddr:    pointer to user space address
 * @oldval:    old value
 * @newval:    new value to store to @uaddr
 *
 * Return:
 * 0 - On success
 * -EFAULT - User access resulted in a page fault
 * -EAGAIN - Atomic operation was unable to complete due to contention
 */
static inline int
futex_atomic_cmpxchg_inatomic_local(u32 *uval, u32 __user *uaddr,
                  u32 oldval, u32 newval)
{
    u32 val;

    preempt_disable();
    if (unlikely(get_user(val, uaddr) != 0)) {
        preempt_enable();
        return -EFAULT;
    }

    if (val == oldval && unlikely(put_user(newval, uaddr) != 0)) {
        preempt_enable();
        return -EFAULT;
    }

    *uval = val;
    preempt_enable();

    return 0;
}

#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.0042 ]--