函数逻辑报告 |
Source Code:arch\x86\kernel\ldt.c |
Create Date:2022-07-27 08:35:06 |
Last Modify:2022-05-18 16:20:29 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:write_ldt
函数原型:static int write_ldt(void __user *ptr, unsigned long bytecount, int oldmode)
返回类型:int
参数:
类型 | 参数 | 名称 |
---|---|---|
void __user * | ptr | |
unsigned long | bytecount | |
int | oldmode |
477 | 如果copy_from_user( & ldt_info, ptr, ldt_info的长度)则转到:out |
481 | 如果entry_number大于等于Maximum number of LDT entries supported. 则转到:out |
483 | 如果contents恒等于3则 |
486 | 如果seg_not_present恒等于0则转到:out |
494 | 否则 |
505 | 如果down_write_killable( & ldt_usr_sem)则返回:负EINTR |
509 | old_nr_entries等于如果old_ldt则nr_entries否则0 |
510 | new_nr_entries等于两数取大(entry_number + 1, old_nr_entries) |
514 | 如果非new_ldt则转到:out_unlock |
517 | 如果old_ldt则memcpy(entries, entries, old_nr_entries * The size of each LDT entry. ) |
520 | entries[entry_number]等于ldt |
530 | 如果error则 |
542 | install_ldt(mm, new_ldt) |
543 | unmap_ldt_struct(mm, old_ldt) |
544 | free_ldt_struct(old_ldt) |
545 | error等于0 |
547 | out_unlock : |
549 | out : |
550 | 返回:error |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |