簡體   English   中英

如何更改Linux內核2.4中sys_call_table的大小?

[英]How to change the size of the sys_call_table in linux kernel 2.4?

文件linux / arch / i386 / kernel / entry.S包含系統調用列表:

ENTRY(sys_call_table)
    .long SYMBOL_NAME(sys_ni_syscall)   /* 0  -  old "setup()" system call*/
    .long SYMBOL_NAME(sys_exit)
    .long SYMBOL_NAME(sys_fork)
    .long SYMBOL_NAME(sys_read)
          .
          .
          .
    .long SYMBOL_NAME(sys_start_monitor)    /* 243 */   
    .long SYMBOL_NAME(sys_stop_monitor) /* 244 */ 
    .long SYMBOL_NAME(sys_get_all_events_number)    /* 245 */
    .long SYMBOL_NAME(sys_get_events)   /* 246 */
      .rept NR_syscalls-(.-sys_call_table)/4
          .long SYMBOL_NAME(sys_ni_syscall)
    .endr

我添加了243-246。 我要確保表的大小相應增加。 我懷疑第247-248行與此有關,但我不確定。 我知道在舊版本的linux中,我需要增加一個計數器,但是在這里找不到它。

那么第247-248行會做什么? 表格大小會自動增加還是我需要更改某些內容?

這段代碼:

.rept NR_syscalls-(.-sys_call_table)/4
.long SYMBOL_NAME(sys_ni_syscall)
.endr

看起來它將sys_call_tableNR_syscalls longs。 我認為NR_syscalls可能是您需要調整的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM