• 2024-09-29Bad or missing usercopy whitelist? Kernel memory overwrite attempt detected to SLUB object
    Linux内核有一个usercopywhitelist机制,只允许这里面的region来做usercopy。如果是用kmem_cache_create申请的kmem_cache申请的内存空间来copytouser或者copyfromuser,那么就会报这个错。这时要用kmem_cache_create_usercopy,来将申请的区域加入到usercopywhitelist中。/***
  • 2024-09-28disp_buffer_flags 枚举定义了一系列用于描述 framebuffer(帧缓冲区)特性的标志位
    disp_buffer_flags 枚举定义了一系列用于描述framebuffer(帧缓冲区)特性的标志位。这些标志位主要用于指示framebuffer的内容是如何组织的,特别是当涉及到立体视觉(3D显示)时。这些标志允许系统或应用程序知道如何正确地处理和显示framebuffer中的数据。下面是对每个标志位的具
  • 2024-09-25android 10 禁止通过adb命令的方式删除特定APK
    —a/frameworks/base/services/core/java/com/android/server/pm/PackageManagerShellCommand.java+++b/frameworks/base/services/core/java/com/android/server/pm/PackageManagerShellCommand.java@@-1636,84+1636,88@@classPackageManagerShellCommandextends
  • 2024-09-19Flags
    Flags是位字段的序列,当其中任何一个位不为零且广播可连接时广播包中应包含flags.否则,flags可以被忽略。flags只能包含在广播包中,扫描响应包中不能包含flags。flags的作用是在广播包中加入如下标志:有限可发现模式;一般可发现模式;不支持BR/EDR;设备同时支持LE和BR/EDR;(控
  • 2024-09-16GCC安全编译选项
    以CMake为例,给出安全编译选项的定义。关闭RPATH特性。set(CMAKE_SKIP_RPATHTRUE)开启栈保护。set(CMAKE_CXX_FLAGS"${CMAKE_CXX_FLAGS}-fstack-protector-strong")或者set(CMAKE_CXX_FLAGS"${CMAKE_CXX_FLAGS}-fstack-protector-all")开启GOT表保护。set(CM
  • 2024-09-02ros openvslam
     CMakeLists.txtcmake_minimum_required(VERSION3.1)project(openvslamLANGUAGESCXXC)set(CMAKE_CXX_STANDARD11)set(CMAKE_CXX_STANDARD_REQUIREDON)if(POLICYCMP0042)cmake_policy(SETCMP0042NEW)endif()if(POLICYCMP0074)cmake_policy(SET
  • 2024-08-27inno setup基础的脚本代码
    ;脚本由InnoSetup脚本向导生成!;有关创建InnoSetup脚本文件的详细资料请查阅帮助文档!#defineMyAppName"LeawoBlu-rayPlayer"#defineMyAppVersion"1.0.0.0"#defineMyAppPublisher"moyea"#defineMyAppURL"https://www.example.com/"#defi
  • 2024-08-25Redis源码浅析二:命令执行
    1.入口:readQueryFromClient在redis启动的时候,我们还要关注一个重点,在initServer的时候,会执行aeCreateFileEvent,这里我们还有深入学习一下记住这个readQueryFromClient,它是clientrequest到server端处理的入口,有点类似于netty里面的入栈处理器2.readQueryFromClient
  • 2024-08-21C++运算符优先级
    优先级操作符描述例子结合性1()[]->.::++--调节优先级的括号操作符数组下标访问操作符通过指向对象的指针访问成员的操作符通过对象本身访问成员的操作符作用域操作符后置自增操作符后置自减操作符(a+b)/4;array[4]=2;ptr->age=34;obj.age=34;Class::ag
  • 2024-08-18DirtyCOW-内核分析报告-cnblog
    基础知识mmap(void*start,size_tlength,intprot,intflags,intfd,off_toffset)一个比较常用的函数,将磁盘上的文件映射到虚拟内存中,POC中参数prot为PROT_READ参数,参数flags为MAP_PRIVATE,请参考linux库函数mmap()原理及用法详解_linuxmmap函数madvice(caddr_tadd
  • 2024-08-18D46 2-SAT+线段树优化+二分 [ARC069F] Flags
    视频链接: [ARC069F]Flags-洛谷|计算机科学教育新生态(luogu.com.cn)//D462-SAT+线段树优化+二分O(nlognlogv)#include<iostream>#include<cstring>#include<algorithm>usingnamespacestd;#definemid((l+r)>>1)#definels(u<<1)#definer
  • 2024-08-17MNN框架在WIN10上的部署
    一、为什么要做刚进公司,实习期反正主管要求什么我就做什么。。。。自己反正也比较感兴趣,故开始查看官方文档。下述的一切都是基于官方提供的“语雀文档”内的指令进行的,会对自己部署MNN框架的流程当中踩的坑进行记录,希望可以帮助到有缘人。二、具体内容1、在各个应用端部署MNN
  • 2024-08-13计算机视觉1:cv2模块函数学习
    cv2模块函数学习importcv2ascv (下文同一用cv)1.cv.imread()cv.imread(filename[,flags]) -> retval其中,参数filename表示要读取得图像得文件名,flags表示读取模式,取值如下:flags=2,表示载入的图像深度为16位或者32位,就返回对应深度的图像,否者转换为8位图像再返
  • 2024-08-130224-网络层的分片
    环境Time2022-11-20WSL-Ubuntu22.04Rust1.65.0pnet0.31.0tun-tap0.1.3前言说明参考:https://docs.rs/pnet/latest/pnet/index.html目标通过ping命令来认识网络层中的分片。查看MTU可以看到最大的MTU为1500。root@jiangbo12490:~#ipaddrshowdevtun0
  • 2024-08-07十万个为什么 [CMake] Windows MinGW Cmake
    搜索cmakegenerator 在settings.json里面添加"cmake.preferredGenerators":[    "MinGWMakefiles"  ]  cmake_minimum_required(VERSION3.0.0)project(idatalinkVERSION0.1.0)if(CMAKE_BUILD_TYPESTREQUAL"Release")
  • 2024-08-05linux运维一天一个shell命令之tcpdump详解
    一、tcpdump的概念tcpdump是一个数据包捕获工具,能够拦截和显示通过网络接口的数据包。它可以实时捕获数据包,也可以将捕获的数据保存到文件中以便后续分析。tcpdump支持基于多种条件(如IP地址、端口号、协议等)来捕获特定的数据包。二、主要功能和特点1.数据包捕获:tcp
  • 2024-07-15【云原生】ptcpdump捕获任何进程、容器或 Pod 的网络流量的抓包神器——筑梦之路
    ptcpdump是一个使用eBPF技术开发的、类tcpdump的网络抓包工具。它除了兼容tcpdump的常用命令行参数以及包过滤语法外,还额外提供了如下核心特性:在输出中记录和显示发送网络流量的进程、容器、Pod信息。支持对指定进程、容器以及Pod进行抓包。支持将抓取的数据
  • 2024-07-04i++ 与 ++i 的区别
    packagetmp;publicclassTest{publicstaticvoidmain(String[]args){f1();f2();}privatestaticvoidf2(){inti=0;intj=++i;System.out.println(j);}privatestaticvoidf1(){inti=0;intj=i++;System
  • 2024-07-03[debug]解决cmake编译报错:can not be used when making a PIE object:recompile with -fPIC
    问题描述最近在跟施磊老师的高性能服务器项目,使用make命令后一直报错以下问题解决方法报错一大堆recompilewith-fPIC,多半是链接静态库是出错了。根据网上经验,在CmakeLists文件中加入-no-pie,但是两种方法进行尝试后都没有效果。#第一种方法add_compile_options(-fPIC)#
  • 2024-06-11linux内存管理(四)- 用户空间的内存分配在kernel中的实现
    malloc是常用的用户态分配内存的接口,它会调用brk系统调用来请内存分配内存。下面看看该系统调用的实现。插一句,每次调用malloc的时候未必都会调用brk去从kernel分配实际的内存,因为每次系统调用都是有开销的,为了避免频繁的陷入内核,malloc会多申请一部分内存当作内存池,之后要申请内
  • 2024-06-11linux内存管理(五)- 缺页处理
    分析一下缺页的处理。缺页的意思是在访问内存的时候该地址还没有建好页表,页面尚未分配,或者页面被swap出去或者没有权限。缺页是同步异常,用户态发生缺页异常会等待内核解决,当然这一切对于用户态都是透明的。缺页处理的核心函数是do_page_fault,这个函数是架构相关的所以这个函数分布
  • 2024-06-10cjpeg 的 cmake配置
    #设置构建类型set(CMAKE_BUILD_TYPEDebug)set(jpeg_lib"${CMAKE_CURRENT_SOURCE_DIR}/lib/jpeg.lib")set(libpng_lib"C:/Users/20021/Desktop/vcpkg/packages/libpng_x64-windows/lib/libpng16.lib")set(zlib_lib"C:/Users/20021/Desktop/vcpkg/
  • 2024-06-08嵌入式Linux系统编程 — 1.5 文件描述符详解
    目录1文件描述符简介1.1文件描述符特点1.2标准文件描述符1.3文件描述符的生命周期2 fcntl()函数2.1fcntl()函数简介2.2复制文件描述符(F_DUPFD)2.3获取/设置文件状态标志(F_GETFL/F_SETFL)1文件描述符简介文件描述符(FileDescriptor)是Linux和UNIX系统编
  • 2024-06-05巧用CMake编译策略:C++二次开发中的Release与Debug模式切换秘籍
    往期本博主的C++精讲优质博文可通过这篇导航进行查找:《Lemo的C++精华博文导航:进阶、精讲、设计模式文章全收录》前言在C++二次开发的过程中,理解各种编译模式并能灵活切换,对于提升软件性能和调试效率至关重要。本文将深入讨论Debug与Release模式的区别、默认编
  • 2024-06-03Java中字符串格式化的语法
     产生格式化输出的每个方法都需要格式字符串和参数列表。格式字符串是一个String,它可以包含固定文本以及一个或多个嵌入的格式说明符。请考虑以下示例:Calendarc=...;Strings=String.format("Duke'sBirthday:%1$tm%1$te,%1$tY",c);   Java语言的格式化输出在很