根据CVE.MITRE的说法,linux内核4.4.x存在几个安全问题,有这样的描述:
Linux4.4.22到4.4.28内核中arch/x86/include/ asm /uaccess.h中的__get_user_asm_ex宏包含与异常表不兼容的扩展asm语句,该表允许本地用户通过精心编制的应用程序在非SMEP平台上获得根访问。注意:此漏洞的存在是因为将CVE-2016-9178修补程序不正确地移植到旧内核。
该漏洞影响:
Ubuntu Ubuntu Linux 16.04 LTS
Ubuntu Ubuntu Linux 14.04 LTS
Linux kernel 4.4.29
Li
关于mm_struct和内核线程,在Linux kernel Development ( Robert Love)一书中提到的一些要点是:
内核线程没有进程地址空间,因此没有相关的内存描述符。因此,内核线程的进程描述符的mm字段为NULL。
“由于内核线程在用户空间中没有任何页面,它们实际上不值得拥有自己的内存描述符和页表(页表将在本章后面讨论)。尽管如此,内核线程仍需要一些数据,例如页表,甚至需要访问内核内存。”
内核线程没有地址空间,并且mm为NULL。因此,当调度内核线程时,内核会注意到mm为NULL,并保持前一个进程的地址空间已加载。然后,内核会更新内核线程的进程描述符中的active
我注意到,每当我创建一个新的Dockerfile和:
RUN FROM ubuntu:latest,或者如果我运行以下命令:
docker run -it ubuntu bash,然后做:
uname -a,其结果总是如下所示:
Linux 5d0eab7d2f8e 4.9.36-moby #1 SMP Wed Jul 12 15:29:07 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
结果不应该是Ubuntu-16.04 for uname -r吗?为什么它说的是Moby而不是Ubuntu?
我迷路了。我在任何地方都找不到答案。我更新到4.4.0-81,从那时起,我就无法访问许多已安装的软件。什么都没发生。不会出差错的。我想回到4.4.0-77,它工作得很好。在测试之前,我犯了清除函数内核的错误。我想不出怎么回事。
我的系统是稳定的,就像老内核一样。我怎么回去?
4.4.0-81 4.4.0-81.104~14.04.1与Linux内核版本4.4.0相关的所有头文件
4.4.0-81-通用的4.4.0-81.104~14.04.1版本的64位amd64 x86 SMP的4.4.0版本的x86 Linux内核头
ii linux-报头-泛型-lts-异种4.4.0.81.66
我在sudo apt-get upgrade上得到了以下错误:
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt-get -f install' to correct these.
The following packages have unmet dependencies:
linux-headers-generic : Depends: linux-headers-4.4.0-151-gene
当我尝试为我的Silabs USB to UART桥安装驱动程序时,我遇到了一个问题。
我从这里下载了驱动程序:
我正试着把它安装在我的树莓树上,它的内核是3.6.11
在说明中,我可以看到以下内容:
make (your cp2010x driver)
cp cp2010x.ko to /libmodules/<kernel>/kernel/driver/usb/serial
insmod /libmodules/<kernel>/kernel/driver/usb/serial/usbserial.ko
insmod xp2010x.ko
然而,当我尝试调用MAKE
在我的GRUB 2配置中,我的系统启动良好:
linux /bzImage root=/dev/sda2 init=/usr/lib/systemd/systemd ro
但是,如果我用相应的UUID替换/dev/sda2:
linux /bzImage root=UUID=666c2eee-193d-42db-a490-4c444342bd4e init=/usr/lib/systemd/systemd ro
然后在引导过程中失败:
kernel panic - not syncing: VFS: unable to mount root fs on unknown-block(0,