草庐IT

编译RHEL 8.7 kernel 并重新安装

背景:最近遇到一个bug,需要修改RHEL8.7kernelconfig的配置参数,然后重新安装该kernel。踩过一些坑,复盘整理。查询当前的kerneluname-r4.18.0-477.15.1.el8_8.x86_64这是当前运行的内核版本。版本号的不同部分表示以下信息:•4.18.0:内核的主版本号、次版本号和发布版本号。•477.15.1.el8_8:补丁级别和发行版本信息。•x86_64:内核的体系结构,这里是64位RHEL查询当前系统已经安装的kernel如下有三种常用的方式:#1rpm-qa|grepkernel|xargsrpm-qi#2sudoyumlistinstall

kernel-pwn之ret2dir利用技巧

前言ret2dir是2014年在USENIX发表的一篇论文,该论文提出针对ret2usr提出的SMEP、SMAP等保护的绕过。全称为return-to-direct-mappedmemory,返回直接映射的内存。ret2dir在SMEP与SMAP等用于隔离用户与内核空间的保护出现时,内核中常用的利用手法是ret2usr,如下图所示(图片来自论文)。首先是在内核中找到可以控制指针的漏洞,修改指针使其指向为用户空间,因此在用户空间布置恶意的数据或者代码,完成漏洞的利用。但是当SMEP与SMAP保护的出现,在内核态下,不能够执行或者访问用户空间的代码或者数据,导致了该利用方式失效,因为即使在用户空间

RuntimeError: CUDA error: no kernel image is available for execution on the device

导致的原因一般都是显卡算力和cuda或者torch版本不匹配比如在conda中安装的pytorch=1.5.0cuda=10.2错误:RuntimeError:CUDAerror:nokernelimageisavailableforexecutiononthedevice参考pytorch报错RuntimeError:CUDAerror:nokernelimageisavailableforexecutiononthedevice_可豌豆的博客-CSDN博客则应该安装1.8.1以上cuda11.1以上的版本:否则有提示:NVIDIAGeForceRTX3060withCUDAcapabili

解决RuntimeError: CUDA error: no kernel image is available for execution on the deviceCUDA

解决RuntimeError:CUDAerror:nokernelimageisavailableforexecutiononthedeviceCUDAkernelerrorsmightbeasynchronouslyreportedatsomeotherAPIcall,sothestacktracebelowmightbeincorrect.在服务器复现代码的时候,遇到了上述错误,解决办法如下。问题描述:nvidia-smi下的GPU编号与Pytorch上的不同可能原因:nvidia-smi的gpu编号默认使用的是PCI_BUS_ID,而Pytorch默认的是FASTEST_FIRST解决方

ios - 越狱内核有什么变化?

看过thisquestion关于保护您的应用程序不被破解,我看到顶级回答者提到了一些关于能够查看设备是否因内核内部不平衡而越狱的内容。仔细研究了一下,我发现了KernelArchitectureOverview指导,并了解与Mach-BSD内核交互的方法。我只需要知道:我在寻找什么?当设备在内核上下文中越狱时,是否有某种key或内部状态会发生变化?明确地说,我不是在寻找代码(我自己知道如何做这些事情),我在寻找要寻找的东西……听起来很奇怪。我已经看到链接问题中的答案,我知道它们有效,但我想知道所有内核路由,它似乎更像是一种通用且有效的检查方式,而不是搜索可能更改的目录或可能具有不同名称

ios - 越狱内核有什么变化?

看过thisquestion关于保护您的应用程序不被破解,我看到顶级回答者提到了一些关于能够查看设备是否因内核内部不平衡而越狱的内容。仔细研究了一下,我发现了KernelArchitectureOverview指导,并了解与Mach-BSD内核交互的方法。我只需要知道:我在寻找什么?当设备在内核上下文中越狱时,是否有某种key或内部状态会发生变化?明确地说,我不是在寻找代码(我自己知道如何做这些事情),我在寻找要寻找的东西……听起来很奇怪。我已经看到链接问题中的答案,我知道它们有效,但我想知道所有内核路由,它似乎更像是一种通用且有效的检查方式,而不是搜索可能更改的目录或可能具有不同名称

flutter - Flutter 的 kernel_blob.bin 是什么?

每次我做flutterbuild时,我都会得到一个文件更改ios/Flutter/flutter_assets/kernel_blob.bin在提交和重建之后,由于这个文件,我遇到了很多冲突。这个文件是什么?我应该.gitignore这个吗? 最佳答案 简短的回答是这个文件是一个DartkernelbytecodeFlutter工具链中编译器生成的应用程序代码的表示。当您的Dart代码发生变化时,您应该期望构建的kernel_blob.bin也会发生变化。更详细一点,flutter工具负责管理Flutter应用程序的构建管道。由于您

flutter - Flutter 的 kernel_blob.bin 是什么?

每次我做flutterbuild时,我都会得到一个文件更改ios/Flutter/flutter_assets/kernel_blob.bin在提交和重建之后,由于这个文件,我遇到了很多冲突。这个文件是什么?我应该.gitignore这个吗? 最佳答案 简短的回答是这个文件是一个DartkernelbytecodeFlutter工具链中编译器生成的应用程序代码的表示。当您的Dart代码发生变化时,您应该期望构建的kernel_blob.bin也会发生变化。更详细一点,flutter工具负责管理Flutter应用程序的构建管道。由于您

docker - 在 Docker 文件中运行命令

当我在我的Docker文件中包含以下命令时,出现错误。我正在尝试创建一个docker文件来为Redis创建我的基础镜像,此命令有助于提高Redis性能。RUNecho4096>/writable-proc/sys/net/core/somaxconn当我尝试构建docker文件以创建图像时遇到的错误是:/bin/sh:1:cannotcreate/writable-proc/sys/net/core/somaxconn:Directorynonexistent关于如何运行这个命令有什么建议吗?我实际上想在我的Dockerfile中运行以下命令:RUNecho4096>/writable

docker - 在 Docker 文件中运行命令

当我在我的Docker文件中包含以下命令时,出现错误。我正在尝试创建一个docker文件来为Redis创建我的基础镜像,此命令有助于提高Redis性能。RUNecho4096>/writable-proc/sys/net/core/somaxconn当我尝试构建docker文件以创建图像时遇到的错误是:/bin/sh:1:cannotcreate/writable-proc/sys/net/core/somaxconn:Directorynonexistent关于如何运行这个命令有什么建议吗?我实际上想在我的Dockerfile中运行以下命令:RUNecho4096>/writable