小编A.S*_*ith的帖子

Linux内核标识符中前导和尾部下划线的含义是什么?

我一直在运行像这样的小公约__KERNEL__.

__在这种情况下,通过内核开发者使用的命名约定,或者是它命名宏这样一个语法具体原因?

整个代码中有很多这样的例子.

例如,某些函数和变量以a _或even 开头__.

这有什么特别的原因吗?

它似乎被广泛使用,我只需要澄清一下这些东西是否具有语法目的,还是只是一个命名约定.

此外,我看到许多用户声明的类型,如uid_t.我再次假设这是一个命名约定,告诉读者它是用户定义的类型?

c linux kernel coding-style

7
推荐指数
1
解决办法
2007
查看次数

模糊Linux内核:一个处于危险之中的学生.

我目前是一所大学的学生,正在攻读计算相关学位,我目前的项目主要是发现Linux内核中的漏洞.我的目标是静态审计以及"模糊"内核(针对3.0版本)以试图找到漏洞.

我的第一个问题是'简单'是否可以模糊Linux内核?我听说过人们对大量协议进行模糊测试,但从未对内核模块进行过多的讨论.我也明白,在Linux系统上,一切都可以看作是一个文件,因此应该可以通过该接口输入内核模块,不应该吗?

我的第二个问题是:你会建议哪种模糊器?如前所述,许多模糊器存在模糊协议,但是在攻击内核模块时我看不到其中许多模糊.显然有一些框架,比如Peach fuzzer,它允许你从头开始"创造"你自己的模糊器,并且据说非常好但是我反复尝试安装Peach无济于事我发现很难相信它是合适的考虑到我刚刚安装它的困难(如果有人知道任何体面的安装教程,请告诉我:P).

我很感激你能提供给我这个问题的任何信息.鉴于我所选择的主题的广度,任何方向的想法总是非常感激.同样,我想请人们不要告诉我从其他地方开始.我确实理解手头任务的大小但是我仍然会尝试它(我是一个蓝天思想家:P AKA顽固的牛)

干杯

A.Smith

linux security kernel fuzzing linux-kernel

6
推荐指数
1
解决办法
4885
查看次数

linux/kernel.h中的sysinfo结构

我正在窥探各种内核头文件并偶然发现<linux/kernel.h>.里面是一个叫做的结构sysinfo.

我尝试使用它开箱即可,并且结构中的所有值都返回0.我猜我需要使用上面调用的弹出函数do_sysinfo(struct sysinfo *info).

问题是我找不到任何引用如何使用它的信息.我尝试了开箱即用的功能,因为无法链接而失败了.任何人都有关于如何使用它或为什么它失败的任何信息?我是这个领域的新手.想要有好的指南/信息的任何链接,如果你有它们,这将是伟大的.

c linux kernel header

5
推荐指数
1
解决办法
3400
查看次数

对(;;)意味着什么?

我对for(;;)构造感到困惑.我认为这是一种无限循环的速记形式,但我不能确定.

这是代码:

for(;;)
{
    //whatever statements
}
Run Code Online (Sandbox Code Playgroud)

c

4
推荐指数
1
解决办法
419
查看次数

标记化和AST

对你们所有人都有一个相当抽象的问题.我正在考虑参与静态代码分析项目.它使用C和C++作为开发语言,因此如果您的响应中的任何一种语言中的任何一种语言都很好.

我的问题:我需要了解一些用于处理静态分析代码的基本概念/结构.我听说人们使用AST和标记化等等.我只是想知道是否有什么可以澄清这些东西如何应用于创建静态分析工具?我更像是对标记化的解释,因为我真的不太了解它.我知道这是一种处理字符串的方法,但我对这个答案没有信心.此外,我知道我正在研究的项目在分析之前将代码传递给预处理器.有谁能解释一下?当然,如果是静态代码分析,它不需要预处理?

希望有人可以为我清除这一点.

干杯.

c c++ static-analysis abstract-syntax-tree

4
推荐指数
2
解决办法
1180
查看次数

Prisma:工作流程是什么?

刚开始使用Prisma作为将GraphQL和MySQL集成到我正在开发的新项目中的一种方法.这很棒,我喜欢它简单地解决问题.关于使用Prisma开发时要遵循的工作流程,我有几个问题困扰着我.

例如:

昨天我根据教程设置了基本的Prisma和GraphQL服务器.一切都运作良好.我只有一个在我的datamodel.graphql中建模的类型.

今天早上我醒来并开始处理另一种类型并将其添加到我的datamodel.graphql中.Docker正在运行,我使用解析器更新index.js以支持新模型及其Querys/Mutations.但是,当使用node ./index.js我运行系统时,我得到一个错误,说它不知道新的模型.我怀疑Prisma架构没有刷新/更新所以我跑,graphql get-schema --project prisma但它告诉我没有任何改变.

显然我错过了一些东西.我不是以他们想要的方式与Prisma合作.任何人都可以说明事情的顺序,以便事情顺利进行吗?

本教程非常适合让您启动并运行,但我觉得它并没有很好地向开发人员介绍在日常的持续开发周期中使用Prisma的流程.

任何信息/见解/链接都非常有用.

非常感谢,

一个

UPDATE

对于那些对工作流程有点迷失的人.看一下CLI参考.它对所有与Prisma相关的任务非常有用(不一定与GraphQL服务器有关).链接

TL; DR:

每次数据模型更改时,您都需要重新部署prisma服务,以便可以使用新功能更新生成的prisma.graphql以使用数据库.我跑了prisma deploy瞧!

graphql prisma prisma-graphql

4
推荐指数
1
解决办法
629
查看次数