!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 671.19 GB of 879.6 GB (76.31%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     kallsyms.h (5.33 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* SPDX-License-Identifier: GPL-2.0 */
/* Rewritten and vastly simplified by Rusty Russell for in-kernel
 * module loader:
 *   Copyright 2002 Rusty Russell <[email protected]> IBM Corporation
 */
#ifndef _LINUX_KALLSYMS_H
#define _LINUX_KALLSYMS_H

#include <linux/errno.h>
#include <linux/buildid.h>
#include <linux/kernel.h>
#include <linux/stddef.h>
#include <linux/mm.h>
#include <linux/module.h>

#include <asm/sections.h>

#define KSYM_NAME_LEN 512
#define KSYM_VMALLOC_PREFIX "vmalloc[]"
#ifdef CONFIG_KASAN_GENERIC
#define KSYM_SHADOW_PREFIX "kasan shadow of "
#else
#define KSYM_SHADOW_PREFIX ""
#endif
#define KSYM_SYMBOL_LEN (sizeof("%s+%#lx/%#lx [%s %s]") + \
            (KSYM_NAME_LEN - 1) + \
            2*(BITS_PER_LONG*3/10) + (MODULE_NAME_LEN - 1) + \
            (BUILD_ID_SIZE_MAX * 2) + 1 + \
            sizeof(KSYM_VMALLOC_PREFIX) + \
            sizeof(KSYM_SHADOW_PREFIX))

struct cred;
struct module;

static inline int is_kernel_text(unsigned long addr)
{
    if (__is_kernel_text(addr))
        return 1;
    return in_gate_area_no_mm(addr);
}

static inline int is_kernel(unsigned long addr)
{

#if defined(CONFIG_X86_32) && defined(CONFIG_PAX_KERNEXEC)
    if (__is_kernel_text(addr) || is_kernel_inittext(addr))
        return 1;

    if ((unsigned long)ktla_ktva(&_text) <= addr && addr < (unsigned long)_end)
#endif
    if (__is_kernel(addr))
        return 1;
    return in_gate_area_no_mm(addr);
}

#if defined(CONFIG_X86_32) && defined(CONFIG_PAX_KERNEXEC) && defined(CONFIG_MODULES)
static inline int is_module_text(unsigned long addr)
{
    return (unsigned long)ktva_ktla(&MODULES_EXEC_VADDR) <= addr && addr < (unsigned long)ktva_ktla(&MODULES_EXEC_END);
}
#else
static inline int is_module_text(unsigned long addr)
{
    return 0;
}
#endif

static inline int is_ksym_addr(unsigned long addr)
{
    if (is_module_text(addr))
        return 0;

    if (IS_ENABLED(CONFIG_KALLSYMS_ALL))
        return is_kernel(addr);

    return is_kernel_text(addr) || is_kernel_inittext(addr);
}

static inline void *dereference_symbol_descriptor(void *ptr)
{
#ifdef CONFIG_HAVE_FUNCTION_DESCRIPTORS
    struct module *mod;

    ptr = dereference_kernel_function_descriptor(ptr);
    if (is_ksym_addr((unsigned long)ptr))
        return ptr;

    preempt_disable();
    mod = __module_address((unsigned long)ptr);

    if (mod)
        ptr = dereference_module_function_descriptor(mod, ptr);
    preempt_enable();
#endif
    return ptr;
}

/* How and when do we show kallsyms values? */
extern bool kallsyms_show_value(const struct cred *cred);

#if defined(CONFIG_KALLSYMS) && \
    (!defined(CONFIG_GRKERNSEC_HIDESYM) || defined(__INCLUDED_BY_HIDESYM))
unsigned long kallsyms_sym_address(int idx);
int kallsyms_on_each_symbol(int (*fn)(void *, const char *, unsigned long),
                void *data);
int kallsyms_on_each_match_symbol(int (*fn)(void *, unsigned long),
                  const char *name, void *data);

/* Lookup the address for a symbol. Returns 0 if not found. */
unsigned long kallsyms_lookup_name(const char *name);

extern int kallsyms_lookup_size_offset(unsigned long addr,
                  unsigned long *symbolsize,
                  unsigned long *offset);

/* Lookup an address.  modname is set to NULL if it's in the kernel. */
const char *kallsyms_lookup(unsigned long addr,
                unsigned long *symbolsize,
                unsigned long *offset,
                char **modname, char *namebuf);

/* Look up a kernel symbol and return it in a text buffer. */
extern int sprint_symbol(char *buffer, unsigned long address);
extern int sprint_symbol_build_id(char *buffer, unsigned long address);
extern int sprint_symbol_no_offset(char *buffer, unsigned long address);
extern int sprint_backtrace(char *buffer, unsigned long address);
extern int sprint_backtrace_build_id(char *buffer, unsigned long address);

int lookup_symbol_name(unsigned long addr, char *symname);

#else /* !CONFIG_KALLSYMS */
/* ...or when included outside of kallsyms.c, vsnprintf.c, kprobes.c, or
    arch/x86/kernel/dumpstack.c, with HIDESYM enabled */

static inline unsigned long kallsyms_lookup_name(const char *name)
{
    return 0;
}

static inline int kallsyms_lookup_size_offset(unsigned long addr,
                          unsigned long *symbolsize,
                          unsigned long *offset)
{
    return 0;
}

static inline const char *kallsyms_lookup(unsigned long addr,
                      unsigned long *symbolsize,
                      unsigned long *offset,
                      char **modname, char *namebuf)
{
    namebuf[KSYM_NAME_LEN - 1] = '\0';
    namebuf[0] = '\0';
    return NULL;
}

static inline int sprint_symbol(char *buffer, unsigned long addr)
{
    *buffer = '\0';
    return 0;
}

static inline int sprint_symbol_build_id(char *buffer, unsigned long address)
{
    *buffer = '\0';
    return 0;
}

static inline int sprint_symbol_no_offset(char *buffer, unsigned long addr)
{
    *buffer = '\0';
    return 0;
}

static inline int sprint_backtrace(char *buffer, unsigned long addr)
{
    *buffer = '\0';
    return 0;
}

static inline int sprint_backtrace_build_id(char *buffer, unsigned long addr)
{
    *buffer = '\0';
    return 0;
}

static inline int lookup_symbol_name(unsigned long addr, char *symname)
{
    return -ERANGE;
}

static inline int kallsyms_on_each_symbol(int (*fn)(void *, const char *, unsigned long),
                      void *data)
{
    return -EOPNOTSUPP;
}

static inline int kallsyms_on_each_match_symbol(int (*fn)(void *, unsigned long),
                        const char *name, void *data)
{
    return -EOPNOTSUPP;
}
#endif /*CONFIG_KALLSYMS*/

static inline void print_ip_sym(const char *loglvl, unsigned long ip)
{
    printk("%s[<%px>] %pS\n", loglvl, (void *) ip, (void *) ip);
}

#endif /*_LINUX_KALLSYMS_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.0118 ]--