!C99Shell v. 1.0 pre-release build #13!

Software: Apache/2.0.54 (Unix) mod_perl/1.99_09 Perl/v5.8.0 mod_ssl/2.0.54 OpenSSL/0.9.7l DAV/2 FrontPage/5.0.2.2635 PHP/4.4.0 mod_gzip/2.0.26.1a 

uname -a: Linux snow.he.net 4.4.276-v2-mono-1 #1 SMP Wed Jul 21 11:21:17 PDT 2021 i686 

uid=99(nobody) gid=98(nobody) groups=98(nobody) 

Safe-mode: OFF (not secure)

/usr/src/linux-2.4.18-xfs-1.1/include/asm-arm/proc-armo/   drwxr-xr-x
Free 318.35 GB of 458.09 GB (69.49%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     uaccess.h (3.93 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/*
 *  linux/include/asm-arm/proc-armo/segment.h
 *
 *  Copyright (C) 1996 Russell King
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */

/*
 * The fs functions are implemented on the ARM2 and ARM3 architectures
 * manually.
 * Use *_user functions to access user memory with faulting behaving
 *   as though the user is accessing the memory.
 * Use set_fs(get_ds()) and then the *_user functions to allow them to
 *   access kernel memory.
 */

/*
 * These are the values used to represent the user `fs' and the kernel `ds'
 */
#define KERNEL_DS    0x03000000
#define USER_DS       0x02000000

extern uaccess_t uaccess_user, uaccess_kernel;

static inline void set_fs (mm_segment_t fs)
{
    current->addr_limit = fs;
    current->thread.uaccess = fs == USER_DS ? &uaccess_user : &uaccess_kernel;
}

#define __range_ok(addr,size) ({                    \
    unsigned long flag, sum;                    \
    __asm__ __volatile__("subs %1, %0, %3; cmpcs %1, %2; movcs %0, #0" \
        : "=&r" (flag), "=&r" (sum)                \
        : "r" (addr), "Ir" (size), "0" (current->addr_limit)    \
        : "cc");                        \
    flag; })

#define __addr_ok(addr) ({                        \
    unsigned long flag;                        \
    __asm__ __volatile__("cmp %2, %0; movlo %0, #0"            \
        : "=&r" (flag)                        \
        : "0" (current->addr_limit), "r" (addr)            \
        : "cc");                        \
    (flag == 0); })

#define __put_user_asm_byte(x,addr,err)                    \
    __asm__ __volatile__(                        \
    "    mov    r0, %1\n"                    \
    "    mov    r1, %2\n"                    \
    "    mov    r2, %0\n"                    \
    "    mov    lr, pc\n"                    \
    "    mov    pc, %3\n"                    \
    "    mov    %0, r2\n"                    \
    : "=r" (err)                            \
    : "r" (x), "r" (addr), "r" (current->thread.uaccess->put_byte),    \
      "0" (err)                            \
    : "r0", "r1", "r2", "lr")

#define __put_user_asm_half(x,addr,err)                    \
    __asm__ __volatile__(                        \
    "    mov    r0, %1\n"                    \
    "    mov    r1, %2\n"                    \
    "    mov    r2, %0\n"                    \
    "    mov    lr, pc\n"                    \
    "    mov    pc, %3\n"                    \
    "    mov    %0, r2\n"                    \
    : "=r" (err)                            \
    : "r" (x), "r" (addr), "r" (current->thread.uaccess->put_half),    \
      "0" (err)                            \
    : "r0", "r1", "r2", "lr")

#define __put_user_asm_word(x,addr,err)                    \
    __asm__ __volatile__(                        \
    "    mov    r0, %1\n"                    \
    "    mov    r1, %2\n"                    \
    "    mov    r2, %0\n"                    \
    "    mov    lr, pc\n"                    \
    "    mov    pc, %3\n"                    \
    "    mov    %0, r2\n"                    \
    : "=r" (err)                            \
    : "r" (x), "r" (addr), "r" (current->thread.uaccess->put_word),    \
      "0" (err)                            \
    : "r0", "r1", "r2", "lr")

#define __get_user_asm_byte(x,addr,err)                    \
    __asm__ __volatile__(                        \
    "    mov    r0, %2\n"                    \
    "    mov    r1, %0\n"                    \
    "    mov    lr, pc\n"                    \
    "    mov    pc, %3\n"                    \
    "    mov    %0, r1\n"                    \
    "    mov    %1, r0\n"                    \
    : "=r" (err), "=r" (x)                        \
    : "r" (addr), "r" (current->thread.uaccess->get_byte), "0" (err)    \
    : "r0", "r1", "r2", "lr")

#define __get_user_asm_half(x,addr,err)                    \
    __asm__ __volatile__(                        \
    "    mov    r0, %2\n"                    \
    "    mov    r1, %0\n"                    \
    "    mov    lr, pc\n"                    \
    "    mov    pc, %3\n"                    \
    "    mov    %0, r1\n"                    \
    "    mov    %1, r0\n"                    \
    : "=r" (err), "=r" (x)                        \
    : "r" (addr), "r" (current->thread.uaccess->get_half), "0" (err)    \
    : "r0", "r1", "r2", "lr")

#define __get_user_asm_word(x,addr,err)                    \
    __asm__ __volatile__(                        \
    "    mov    r0, %2\n"                    \
    "    mov    r1, %0\n"                    \
    "    mov    lr, pc\n"                    \
    "    mov    pc, %3\n"                    \
    "    mov    %0, r1\n"                    \
    "    mov    %1, r0\n"                    \
    : "=r" (err), "=r" (x)                        \
    : "r" (addr), "r" (current->thread.uaccess->get_word), "0" (err)    \
    : "r0", "r1", "r2", "lr")

#define __do_copy_from_user(to,from,n)                    \
    (n) = current->thread.uaccess->copy_from_user((to),(from),(n))

#define __do_copy_to_user(to,from,n)                    \
    (n) = current->thread.uaccess->copy_to_user((to),(from),(n))

#define __do_clear_user(addr,sz)                    \
    (sz) = current->thread.uaccess->clear_user((addr),(sz))

#define __do_strncpy_from_user(dst,src,count,res)            \
    (res) = current->thread.uaccess->strncpy_from_user(dst,src,count)

#define __do_strnlen_user(s,n,res)                    \
    (res) = current->thread.uaccess->strnlen_user(s,n)

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

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

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

--[ c99shell v. 1.0 pre-release build #13 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.0047 ]--