函数逻辑报告 |
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 插件可实现:逻辑报告 代码生成和批量转换代码 |