7.7. 内核


内核不再在 IBM Z 系统中返回假的警告

在以前的版本中,装有RHEL 8 的 IBM Z 系统的 ZONE_DMA 内存区缺少允许用户访问的条目。因此,内核返回假的警告,例如:

...
Bad or missing usercopy whitelist? Kernel memory exposure attempt detected from SLUB object 'dma-kmalloc-192' (offset 0, size 144)!
WARNING: CPU: 0 PID: 8519 at mm/usercopy.c:83 usercopy_warn+0xac/0xd8
...

当通过 sysfs 接口访问某些系统信息时会出现警告信息。例如,运行 debuginfo.sh 脚本。

在这个版本中,在 Direct Memory Access(DMA)缓冲中添加了一个标志,以便用户空间应用程序能够访问缓冲区。

因此,在以上场景中不会显示任何警告信息。

(BZ#1660290)

RHEL 系统从 tboot GRUB 条目中如预期引导

在以前的版本中,版本 1.9.12-2 的 tboot 工具会导致一些带有 Trusted Platform 模块(TPM) 2.0 的 RHEL 系统无法在旧模式下引导。因此,当系统试图从 tboot Grand Unified Bootloader(GRUB)条目引导时停止。随着新版本的 RHEL 8 和 tboot 工具的更新,这个问题已被解决,RHEL 系统可以如预期引导。

(BZ#1947839)

内核在高工作负载容器场景中成功重新声明内存

当为容器中的 I/O 和内存限制卷时,负责重新声明内存的内核代码会因为数据竞争条件而出现软锁定。如果出现以下情况,会出现数据竞争现象:

  • 至少两组 CPU 线程尝试同时修改同一组数据。
  • 至少一个 CPU 线程试图在 dataset 上进行写入操作。

根据修改 dataset 的每个线程准确时间,结果可以是 A、B 或 AB(确定)。

当容器面临内存压力时,这种情况可能会导致多次内存(OOM)终止,从而导致容器锁定并变得不响应。在这个发行版本中,用于锁定和优化的 RHEL 内核代码已更新。因此,内核不再会变为没有响应,数据也不会受到竞争条件的影响。

(BZ#1860031)

离线内存的 RHEL 8 不再会导致内核 panics

在以前的版本中,当使用启动但标记为离线的内存运行 RHEL 8 时,内核在某些情况下会尝试访问未初始化的内存页面。因此,会出现内核 panic。这个版本修复了闲置页面跟踪的内核机制,它可以防止问题的发生。

(BZ#1867490)

NUMA 系统不再遇到意外内存布局

在以前的版本中,因为缺少 CONFIG_NODES_SPAN_OTHER_NODES 选项,ARM64S390 架构在 NUMA 系统上会遇到意外的内存布局。因此,来自不同 NUMA 节点的内存区域被交集,来自低 NUMA 节点的内存区域被添加到高 NUMA 节点中。

在这个版本中,NUMA 系统不再遇到内存布局问题。

(BZ#1844157)

rngd 服务不再忙于等待poll()系统调用

从版本 4.18.0-193.10 开始,内核添加了 FIPS 模式的新内核熵源。因此,rngd 服务忙于等待 /dev/random 设备的 poll() 系统调用。这会导致当系统处于 FIPS 模式时,消耗 100% 的 CPU 时间。在这个版本中,在 FIPS 模式中,/dev/random 设备的 poll() 处理程序已从默认处理程序改为专门为 /dev/random 设备开发的处理程序。因此,在上述场景中,rngd 服务不再忙于等待 poll( )。

(BZ#1884857)

启用了对 SCHED_DEADLINE 调度程序的 HRTICK 支持

在以前的版本中,高分辨率系统计时器(HRTICK)的功能不适用于使用 SCHED_DEADLINE 策略配置的某些任务。因此,使用 SCHED_DEADLINE 调度程序的这些任务的节流机制,消耗了为这些任务配置的所有运行时。这个行为会在实时环境中造成意外的延迟激增。

在这个版本中,启用了 HRTICK 功能,该功能提供了高分辨率优先权。HRTICK 使用高分辨率计时器,它会在任务完成运行时时强制使用节流机制。因此,这个问题不再在上述场景中发生。

(BZ#1885850)

tpm2-abrmd rebase 到 2.3.3.2 版本

tpm2-abrmd 软件包已升级到 2.3.3.2 版本,其提供了多个程序错误修复。主要变更包括:

  • 修复了临时处理的使用
  • 修复了 TPM 命令传输接口(TCTI)中的部分读取
  • 重构了访问代理(access broker)

(BZ#1855177)

cxgb4 驱动程序不再导致 kdump 内核崩溃

在以前的版本中,在 vmcore 文件中保存信息时 kdump 内核会崩溃。因此,cxgb4 驱动程序阻止 kdump 内核保存内核以便稍后进行分析。要临时解决这个问题,在 kdump 内核命令行中添加 novmcoredd 参数以允许保存核心文件。

随着 RHSA-2020:1769 公告的发布,k dump 内核可以正确处理这种情况,不再崩溃。

(BZ#1708456)

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.