- 论坛徽章:
- 0
|
- #include <linux/kernel.h>
- #include <linux/module.h>
- #include <linux/init.h>
- #include <linux/syscalls.h>
- #include <linux/slab.h>
- #include <linux/mm.h>
- #include <asm/uaccess.h>
- #include <asm/unistd.h>
- #define __NR_sys_getcwd1 __NR_getcwd
- int errno;
- static inline _syscall2(long, sys_getcwd1, char *, s, int , sz);
- static int __init init(void)
- {
- int sz = 1024;
- char *s = (char *)kmalloc(sz, GFP_KERNEL);
- mm_segment_t old_fs;
- old_fs = get_fs();
- set_fs(KERNEL_DS);
- sys_getcwd1( s,sz);
- set_fs(old_fs);
- printk(KERN_ALERT "CWD is %s\n", s);
- kfree(s);
- return 0;
- }
- static void __exit fini(void)
- {
- printk("getcwd:Bye.");
- }
- module_init(init);
- module_exit(fini);
复制代码 |
|