!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache. PHP/8.3.27 

uname -a: Linux pdx1-shared-a4-04 6.6.104-grsec-jammy+ #3 SMP Tue Sep 16 00:28:11 UTC 2025 x86_64 

uid=6659440(dh_z2jmpm) gid=2086089(pg10499364) groups=2086089(pg10499364)  

Safe-mode: OFF (not secure)

/usr/src/linux-headers-6.6.104-grsec-jammy+/include/linux/   drwxr-xr-x
Free 681 GB of 879.6 GB (77.42%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

#include <linux/types.h>
#include <linux/jump_label.h>

/* Helpers used from arbitrary contexts.
 * Hard irqs are blocked, be cautious.
 */
bool __do_once(atomic_t *done, struct static_key_true *once_key, struct module *mod);

/* Variant for process contexts only. */
bool __do_once_slow(atomic_t *done, struct static_key_true *once_key, struct module *mod);

/* Call a function exactly once. The idea of DO_ONCE() is to perform
 * a function call such as initialization of random seeds, etc, only
 * once, where DO_ONCE() can live in the fast-path. Before @func has
 * been called with the passed arguments, the static key will patch
 * out the condition into a nop. DO_ONCE() guarantees type safety of
 * arguments!
 *
 * Note that the following is not equivalent ...
 *
 *   DO_ONCE(func, arg);
 *   DO_ONCE(func, arg);
 *
 * ... to this version:
 *
 *   void foo(void)
 *   {
 *     DO_ONCE(func, arg);
 *   }
 *
 *   foo();
 *   foo();
 *
 * In case the one-time invocation could be triggered from multiple
 * places, then a common helper function must be defined, so that only
 * a single static key will be placed there!
 */
#define DO_ONCE(func, ...)                             \
    ({                                     \
        bool ___ret = false;                         \
        static atomic_t __section(".data..once") __done = ATOMIC_INIT(0);\
        static DEFINE_STATIC_KEY_TRUE(___once_key);             \
        if (static_branch_unlikely(&___once_key)) {             \
            ___ret = __do_once(&__done, &___once_key, THIS_MODULE);\
            if (unlikely(___ret))                     \
                func(__VA_ARGS__);                 \
        }                                 \
        ___ret;                                 \
    })

/* Variant of DO_ONCE() for process/sleepable contexts. */
#define DO_ONCE_SLEEPABLE(func, ...)                        \
    ({                                    \
        bool ___ret = false;                        \
        static atomic_t __section(".data..once") __done = ATOMIC_INIT(0);\
        static DEFINE_STATIC_KEY_TRUE(___once_key);            \
        if (static_branch_unlikely(&___once_key)) {            \
            ___ret = __do_once(&__done, &___once_key, THIS_MODULE);    \
            if (unlikely(___ret))                    \
                func(__VA_ARGS__);                \
        }                                \
        ___ret;                                \
    })

#define get_random_once(buf, nbytes)                         \
    DO_ONCE(get_random_bytes, (buf), (nbytes))

#define get_random_sleepable_once(buf, nbytes)                     \
    DO_ONCE_SLEEPABLE(get_random_bytes, (buf), (nbytes))

#endif /* _LINUX_ONCE_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.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0132 ]--