!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/arch/sparc64/mm/   drwxr-xr-x
Free 318.39 GB of 458.09 GB (69.5%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     modutil.c (1.57 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/*  $Id: modutil.c,v 1.11 2001/12/05 06:05:35 davem Exp $
 *  arch/sparc64/mm/modutil.c
 *
 *  Copyright (C) 1997,1998 Jakub Jelinek (jj@sunsite.mff.cuni.cz)
 *  Based upon code written by Linus Torvalds and others.
 */
 
#include <linux/slab.h>
#include <linux/vmalloc.h>

#include <asm/uaccess.h>
#include <asm/system.h>

static struct vm_struct * modvmlist = NULL;

void module_unmap (void * addr)
{
    struct vm_struct **p, *tmp;

    if (!addr)
        return;
    if ((PAGE_SIZE-1) & (unsigned long) addr) {
        printk("Trying to unmap module with bad address (%p)\n", addr);
        return;
    }
    for (p = &modvmlist ; (tmp = *p) ; p = &tmp->next) {
        if (tmp->addr == addr) {
            *p = tmp->next;
            vmfree_area_pages(VMALLOC_VMADDR(tmp->addr), tmp->size);
            kfree(tmp);
            return;
        }
    }
    printk("Trying to unmap nonexistent module vm area (%p)\n", addr);
}

void * module_map (unsigned long size)
{
    void * addr;
    struct vm_struct **p, *tmp, *area;

    size = PAGE_ALIGN(size);
    if (!size || size > MODULES_LEN) return NULL;
        
    addr = (void *) MODULES_VADDR;
    for (p = &modvmlist; (tmp = *p) ; p = &tmp->next) {
        if (size + (unsigned long) addr < (unsigned long) tmp->addr)
            break;
        addr = (void *) (tmp->size + (unsigned long) tmp->addr);
    }
    if ((unsigned long) addr + size >= MODULES_END) return NULL;
    
    area = (struct vm_struct *) kmalloc(sizeof(*area), GFP_KERNEL);
    if (!area) return NULL;
    area->size = size + PAGE_SIZE;
    area->addr = addr;
    area->next = *p;
    *p = area;

    if (vmalloc_area_pages(VMALLOC_VMADDR(addr), size, GFP_KERNEL, PAGE_KERNEL)) {
        module_unmap(addr);
        return NULL;
    }
    return addr;
}

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