Function report | 
Source Code:fs\binfmt_misc.c | 
Create Date:2022-07-28 20:27:41 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:This registers a new binary format, it recognises the syntax* ':name:type:offset:magic:mask:interpreter:flags'* where the ':' is the IFS, that can be chosen with the first char
Proto:static Node *create_entry(const char __user *buffer, size_t count)
Type:Node
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| const char __user * | buffer | |
| size_t | count | 
| 332 | If count < 11 || count > Max length of the register string Then Go to out | 
| 337 | e = Allocation memory | 
| 344 | If copy_from_user(buf, buffer, count) Then Go to efault | 
| 356 | p = strchr - Find the first occurrence of the character c in the string s.*@s: the string to be searched*@c: the character to search for | 
| 359 | p++ = '\0' | 
| 360 | If Not name[0] || Not strcmp(name, ".") || Not strcmp(name, "..") || strchr - Find the first occurrence of the character c in the string s.*@s: the string to be searched*@c: the character to search for Then Go to einval | 
| 370 | Case ++ == 'E' | 
| 374 | Case ++ == 'M' | 
| 375 | pr_debug("register: type: M (magic)\n") | 
| 376 | type, status, etc. = 1 << Enabled | 1 << Magic | 
| 377 | Break | 
| 378 | Default | 
| 379 | Go to einval | 
| 389 | s = strchr - Find the first occurrence of the character c in the string s.*@s: the string to be searched*@c: the character to search for | 
| 392 | s = '\0' | 
| 395 | If r != 0 || offset of magic < 0 Then Go to einval | 
| 401 | pr_debug("register: offset: %#x\n", offset of magic ) | 
| 404 | magic or filename extension = p | 
| 408 | If Not magic or filename extension [0] Then Go to einval | 
| 416 | mask, NULL for exact match = p | 
| 420 | If Not mask, NULL for exact match [0] Then | 
| 421 | mask, NULL for exact match = NULL | 
| 422 | pr_debug("register: mask[raw]: none\n") | 
| 435 | If mask, NULL for exact match && string_unescape_inplace( mask, NULL for exact match , UNESCAPE_HEX) != size of magic/mask Then Go to einval | 
| 438 | If size of magic/mask > sizeof(linux_binprm->buf) || sizeof(linux_binprm->buf) - size of magic/mask < offset of magic Then Go to einval | 
| 441 | pr_debug("register: magic/mask length: %i\n", size of magic/mask ) | 
| 442 | If USE_DEBUG Then | 
| 447 | If mask, NULL for exact match Then | 
| 449 | masked = Allocation memory | 
| 455 | If masked Then | 
| 456 | When i < size of magic/mask cycle masked[i] = magic or filename extension [i] & mask, NULL for exact match [i] | 
| 466 | Else | 
| 470 | p = strchr - Find the first occurrence of the character c in the string s.*@s: the string to be searched*@c: the character to search for | 
| 473 | p++ = '\0' | 
| 476 | magic or filename extension = p | 
| 477 | p = strchr - Find the first occurrence of the character c in the string s.*@s: the string to be searched*@c: the character to search for | 
| 480 | p++ = '\0' | 
| 481 | If Not magic or filename extension [0] || strchr - Find the first occurrence of the character c in the string s.*@s: the string to be searched*@c: the character to search for Then Go to einval | 
| 483 | pr_debug("register: extension: {%s}\n", magic or filename extension ) | 
| 486 | p = strchr - Find the first occurrence of the character c in the string s.*@s: the string to be searched*@c: the character to search for | 
| 489 | p++ = '\0' | 
| 493 | filename of interpreter = p | 
| 494 | p = strchr - Find the first occurrence of the character c in the string s.*@s: the string to be searched*@c: the character to search for | 
| 497 | p++ = '\0' | 
| 498 | If Not filename of interpreter [0] Then Go to einval | 
| 500 | pr_debug("register: interpreter: {%s}\n", filename of interpreter ) | 
| 503 | p = check_special_flags(p, e) | 
| 509 | Return e | 
| 511 | out : | 
| 514 | efault : | 
| 517 | einval : | 
| Name | Describe | 
|---|---|
| bm_register_write | /register | 
| Source code conversion tool public plug-in interface  | X | 
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion  |