📄 strncpy_from_user.s
字号:
/* strncpy_from_user.S: Sparc strncpy from userspace. * * Copyright(C) 1996 David S. Miller */#include <asm/cprefix.h>#include <asm/ptrace.h>#include <asm/errno.h> .text .align 4 /* Must return: * * -EFAULT for an exception * count if we hit the buffer limit * bytes copied if we hit a null byte */ .globl C_LABEL(__strncpy_from_user)C_LABEL(__strncpy_from_user): /* %o0=dest, %o1=src, %o2=count */ mov %o2, %o31: subcc %o2, 1, %o2 bneg 2f nop10: ldub [%o1], %o4 add %o0, 1, %o0 cmp %o4, 0 add %o1, 1, %o1 bne 1b stb %o4, [%o0 - 1]2: add %o2, 1, %o0 retl sub %o3, %o0, %o0 .section .fixup,#alloc,#execinstr .align 44: retl mov -EFAULT, %o0 .section __ex_table,#alloc .align 4 .word 10b, 4b
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -