第 8 章 更新的软件包


8.1. abrt

更新了一个brt、libreport 和 btparser 软件包,它们修复了几个程序错误,并现在为 Red Hat Enterprise Linux 6 提供了两个改进。
ABRT 是一种工具,可帮助用户检测应用中的缺陷,并使用维护人员所需的所有信息创建问题报告来修复它。ABRT 使用插件系统来扩展其功能。
libreport 库提供了一个 API,用于向不同的错误目标(如 Bugzilla、ftp 和 trac)报告应用程序的不同问题。
btparser 工具是一个回溯追踪解析器和分析器库,它与 GNU Project Debugger 生成的回溯追踪一起工作。它可以解析带有回溯追踪到 C 结构树的文本文件,从而分析回溯追踪的线程和帧并处理它们。

程序错误修复

BZ#854668
如果 /etc/abrt/abrt.conf 文件已被修改,"DumpLocation"和"WatchCrashdumpArchiveDir"变量引用同一目录,ABRT 实用程序将尝试处理该目录中的文件作为存档和新问题目录,这会导致无法预测的结果。在这个版本中,ABRT 会在检测到此类错误配置时拒绝启动。
BZ#896090
在创建案例时,Reporter-rhtsupport 实用程序发送了 RHT 客户中心服务器不接受的操作系统(OS)版本值。因此,无法创建新的问题单,并返回错误消息。在这个版本中,OS 版本值中的后缀 "Beta" 不会被剥离,RHT 客户中心服务器接受 version 值,并创建一个问题单。
BZ#952773
在此次更新之前,当内核错误发生时,abrt-watch-log 和 abrt-dump-oops 工具会创建太多的新问题目录。因此,在报告问题时,用户会产生大量问题,/var 分区可能会溢出。要解决这个问题,在看到 5 或多个问题后,brt-dump-oops 已被修改来忽略所有其他问题。因此,用户不会被问题报告造成大量。

功能增强

BZ#952704
红帽支持工具需要 API 来查询 ABRT 崩溃。在这个版本中,提供了 ABRT 的 python API,现在可以使用 python API 查询 ABRT 发现的错误。
BZ#961231
不使用图形环境(无头系统)的用户可能会缺少 ABRT 实用程序检测到的问题。当用户安装 abrt-console-notification 软件包时,它们现在在控制台中看到一条与上一次登录以来检测到的新问题相关的警告信息。
建议所有 abrt、libreport 和 btparser 的用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.2. anaconda

现在,Red Hat Enterprise Linux 6 提供了修复几个程序错误并添加各种改进的 anaconda 软件包。

程序错误修复

BZ#818233
在以前的版本中,Anaconda 无法识别写入 USB 驱动器的 DVD ISO 镜像作为安装的源存储库,因为这个设备没有分区。因此,ISO 充当 boot.iso,无法安装其中包含的软件包。有了这个更新,Anaconda 已修改为包含带有 ISO 9660 格式的设备,并在此设备包含 /repodata/repomd.xml 文件时将任何设备配置为源存储库。因此,Anaconda 现在 会如预期识别 USB 中的 ISO。
BZ#845572
在此次更新之前,anaconda loader 命令通过重命名一个新的临时文件来创建 /etc/sysconfig/network 文件,该文件不会触发 NetworkManager 的 inotify 机制。因此,NetworkManager 可以通过 DHCP 或 DNS 获取的主机名覆盖 network --hostname kickstart 选项设置的主机名。在这个版本中,加载程序 已被修改,将新值直接写入 /etc/sysconfig/network 中。因此,NetworkManager 现在接受这个文件中指定的 hostname 值。
BZ#846336
在以前的版本中,如果第一个选择了第一个循环设备,则 anaconda 不会尝试使用另一个循环设备。因此,如果在 kickstart %pre 部分中使用了 loop 设备,则 HDD ISO 安装会失败。在这个版本中,如果第一个循环设备已在使用,则 anaconda 已修改为使用另一个循环设备。因此,HDD ISO 安装可以正常工作。
BZ#847600
在这个版本中,list-harddrives 命令已被修改,不会列出其输出中的 /dev/srX 设备。
BZ#851284
在这个版本中,在 About LVM 对话框中修正了几个拼写错误。
BZ#852523
当将不同的磁盘用于 clearpart --drivespart --ondisk 命令时,会返回回溯追踪。因此,安装无法成功完成。在这个版本中,这些命令只使用一组磁盘。用户必须使用一个 clearpart 命令指定多个磁盘,否则只使用最后 clearpart --drives 参数。
BZ#859420
在以前的版本中,当错误指定分区时,No free space 错误信息 被错误地显示,而不是适当的 No free slots 对话框。在这个版本中,当错误指定分区时会显示正确的错误消息。
BZ#859569
在以前的版本中,在搜索 .discinfo 文件前,在救援模式中的 anaconda 卸载源 ISO。因此,stage2 参数被加载两次,从而增加引导时间。有了这个更新,Anaconda 被修改为在救援模式中跳过对 .discinfo 的检查。因此,stage2 只加载一次,如预期一样。
BZ#873281
在以前的版本中,当重新安装配置了 LVM raid1 卷的系统时,anaconda 会意外终止。这个程序错误已被解决,anaconda 不再在上述场景中崩溃。
BZ#875644
当在 IBM System z 构架上执行 kickstart 升级时,Anaconda 会关闭系统而不是重启,即使 kickstart 配置中存在 reboot 命令。因此,需要手动重启。在这个版本中,增加了对 System z 上的 kickstart 升级的支持,从而解决了这个问题。
BZ#877852
在以前的版本中,当在具有多个磁盘以及一个或多个包含 PPC PReP Boot 分区的系统中安装 Red Hat Enterprise Linux 6 时,anaconda 在所选安装磁盘上创建了一个空的 PPC PReP Boot 分区,但必须在已经存在的 PPC PReP Boot 中存储引导文件。因此,系统在安装后无法引导。在这个版本中,Anaconda 被修改为为引导文件使用正确的 PPC PReP Boot,从而解决了这个问题。
BZ#878907
计算交换大小的算法不会考虑用于安装的空间量。因此,即使在小磁盘上,安装程序创建了大型 swap 空间,通常只为系统的其余部分保留空间不足。这个算法已被修改,以注册用于安装的空间大小。因此,在带有小磁盘的机器上创建较小的(10% 的已用磁盘空间) swap 对于系统的其余部分留出更多空间。
BZ#880577
在以前的版本中 Anaconda 不会在 XFS 文件系统上创建大于 16TB 的分区。这个程序错误已被解决,现在使用 100TB 的官方限制作为接受。
BZ#881005
在此次更新之前,auto part 命令无法使用已定义的 prepboot 分区正常工作。因此,当使用 kickstart 文件时,其中包含定义 prepboot 分区以及 autopartpart 命令,Anaconda 会意外终止并出现分段错误。在这个版本中,auto part 已被修改为在上述配置中正常工作。因此,安装会如预期继续。
BZ#882452
在以前的版本中,当在 anaconda GUI 中配置网络设备时,使用 FCoE 网络技术的设备不会自动设置为由 NetworkManager 控制。因此,NetworkManager 禁用这些设备,从而导致之前连接的 FCoE SAN 磁盘从 GUI 中消失。这个 bug 已被修复,在 GUI 中编辑网络设备配置不再断开之前设置的 FCoE 设备。
BZ#886020
在以前的版本中,当在没有创建新文件系统的情况下为 / 挂载点使用原始分区时,Anaconda 不会返回警告信息。在这个版本中 Anaconda 被修改为在这样的场景中显示警告信息。
BZ#888292
在某些情况下,当使用 anaconda GUI 管理分区时,会发生意外丢失窗口。在这个版本中,父窗口设置已被修改,从而解决了这个问题。
BZ#893849
有了这个更新,在 anaconda 中的日语区域设置已修正了几个拼写错误和翻译错误。
BZ#894050
在以前的版本中,无论是否执行全新的安装或升级,anaconda 都使用一组默认内核参数创建 /etc/zipl.conf 配置文件。因此,当使用 anaconda 升级 IBM System z 系统时,用户添加到 /etc/zipl.conf 中的内核参数会丢失。在这个版本中,增加了对带有 System z 架构的系统的引导装载程序升级的支持。因此,用户添加到 /etc/zipl.conf 中的内核参数会在上述场景中保留。
BZ#895098
在此次更新之前,当尝试使用 anaconda GUI 安装冲突软件包时,会显示误导警告信息。在这个版本中,这个消息已被修改来告知软件包冲突。
BZ#895982
MD 物理卷上的物理扩展大小小于 32MB,会导致 anaconda 在计算卷组容量时出现问题。要临时解决这个问题,在分配逻辑卷时,使用至少 32MB 或保留空闲空间(大小等于 physical-extent 大小)的物理扩展大小。
BZ#901515
在继续软件包安装阶段前,Anaconda 不会检查所选存储库中是否有 核心 软件包组。如果这个组不存在,安装会意外终止。有了这个更新 Anaconda 已被修改,以检查是否存在 内核。因此,当 内核 不可用时会显示警告信息,安装不再会崩溃。
BZ#903689
在以前的版本中,当在安装过程中配置 VLAN 网络设备(如 eth0.171 )时,相同的配置也会为其父设备应用。因此,在安装过程中会错误地配置 VLAN 父设备,如 eth0。这个 bug 已被修复,VLAN 设备配置现在可以正确应用。
BZ#909463
在某些情况下,由 anaconda 创建并传递给 GRUB 的内核命令行条目无法正常工作。因此,在多路径配置中,当内核命令行中指定的最后一个 FCoE 接口没有在线时,引导文件系统(BFS)会意外终止。在这个版本中,内核命令行条目的形式已被修改,BFS 在上述场景中不再会失败。
BZ#919409
在以前的版本中,安装后 /etc/multipath/bindings 文件有不正确的 SElinux 上下文。这个程序错误已被解决,/etc/multipath/bindings 现在安装了正确的 SElinux 上下文。
BZ#921609
在此次更新之前,生成的 kickstart 文件不包含 VLAN 接口的正确网络命令。因此,在安装过程中无法重复使用这些命令。这个程序错误已被解决,生成的 kickstart 现在包含可重复使用的网络命令。
BZ#928144
出于稳定性的原因,Red Hat Enterprise Linux 6 中默认禁用 AMD IOMMU 驱动程序。但是,当 应该为可信引导提供 IOMMU 时,需要这个驱动程序。在这个版本中,Anaconda 被修改为在安装 tboot 软件包时在内核引导参数中启用 AMD IOMMU。当使用可信引导且在 BIOS 中存在并启用 AMD IOMMU 规格时,会启用 MD IOMMU。要恢复这些设置,如果遇到稳定性问题,用户可以删除"amd_iommu=on"内核参数。
BZ#947704
在以前的版本中,在安装 Red Hat Enterprise Linux 6 的过程中无法将 usb-storage 模块列入黑名单。这个程序错误已被解决,usb-storage 现在可以在不复杂的情况下将 usb-storage 列入黑名单。
BZ#949409
在某些个别情况下,在 linuxrc.s390 安装过程中不会加载 dasd_eckd_mod 驱动程序,anaconda 变得无响应。在这个版本中,应用了补丁来防止这个问题。
BZ#971961
在以前的版本中,绑定网络设备只会在安装早期阶段激活。因此,在 stage2 文件中由 network 命令配置的绑定设备不会被激活。这个行为已被更改,现在也可以在以后的安装阶段激活绑定设备。
BZ#994504
在以前的版本中 Anaconda 在安装过程中多次载入某些所需的软件包。因此,依赖项解决需要很长时间,随着磁盘和文件系统的数量增长。有了这个更新,Anaconda 被修改为使用更有效的选择软件包方法,从而减少了依赖项解决所需的时间。
BZ#998486
在这个版本中,Anaconda 不再需要 fcoe-utils 软件包在 IBM System z 构架中安装。
BZ#1003844
在此次更新之前,即使 kickstart 文件中使用了- hibernation 选项,anaconda 的 swap 大小限制为 10 %。有了这个更新,Anaconda 被修改为接受- hibernation 选项,在指定这个选项时 swap 大小不再限制为 10% 的磁盘空间。
BZ#1004752
由于 /etc/ssh/sshd_config.anaconda 配置文件中的设置不正确,所以 sshd 守护进程不会在 FIPS 模式的 IBM System z 架构上安装。因此,安装将无法成功。这个程序错误已被解决,sshd 现在在安装过程中以 FIPS 模式安装可以正常工作。
BZ#1007641
在以前的版本中,在 VNC 模式中安装时不会列出多路径设备。这个程序错误已被解决,这些设备现在可以正确列出。
BZ#1007683
Red Hat Enterprise Linux 6 不支持使用没有分区的文件系统直接格式化的设备。在以前的版本中,anaconda 不会验证设备是否满足这种情况。因此,当尝试在这样的不支持的设备上创建新分区时,anaconda 会意外终止。在这个版本中,Anaconda 被修改来检查该设备是否已取消分区,并在这种情况下中止分区,从而防止崩溃。
BZ#1007884
在以前的版本中,zipl 引导装载程序中的一个错误会在 anaconda 中造成运行时错误。因此,在从 Red Hat Enterprise Linux 6.4 升级到 6.5 后,iSCSI LUN 上带有 rootfs 的 IBM System z 架构无法引导。这个程序错误已被解决,系统升级后引导不再发生。
BZ#1008731
由于 anaconda 中广播适配器的过时的 FCoE 检测,在 HP 系统上的 FCoE BFS 安装后,系统无法在操作系统后启动。在这个版本中,Anaconda 被修改为在 Broadcom 适配器上正确检测 FCoE,在上述场景中不再会出现引导问题。
BZ#1008941
在某些情况下,在从 Red Hat Enterprise Linux 6.4 升级到 6.5 后,IBM System z 系统不会从正确的存储设备引导。这个程序错误已被解决,System z 系统现在在升级后从正确的设备引导。
BZ#1009691
某些适配器(如 10GBaseT Twin Pond )需要更长的时间才能连接。此时间通常超过安装程序使用的 fipvlan 工具的超时限制。因此,在 GUI 中添加 FCoE 目标会失败。在这个版本中,会引发 fipvlan 的超时限制。现在,无论适配器类型是什么,FCoE 目标都会被成功添加。然而,若要在 GUI 中查看添加的设备,用户必须回到语言选择,然后返回两个屏幕。
BZ#1013176
在以前的版本中,在安装特殊存储 BFS 过程中添加第二个适配器后,FCoE LUN 列表会从 anaconda 中的 SAN Devices 选项卡消失。这个程序错误已被解决,现在在安装过程中正确显示列表。
BZ#1018703
在此次更新之前,anaconda 会错误地为 NVMe 设备提取分区名称。因此,引导装载程序安装在 NVMe 设备中会失败。这个程序错误已被解决,NVMe 设备现在可以成功安装。

功能增强

BZ#890095
在这个版本中,在 kickstart 引导装载程序中的- driveorder 选项中添加了对磁盘引用的更灵活的支持。现在,可以指定使用 /dev/disk/by github/ 文件夹的 磁盘作为- driveorder 的参数。
BZ#905227
在这个版本中,在 kickstart network 命令中添加了-- ipv6gateway 选项,该命令允许指定默认的 IPv6 网关。现在,可以在 network kickstart 命令中分别使用-- gateway 或- ipv6gateway 指定 IPv4 和 IPv6 默认网关
BZ#915666
在这个版本中,在 anaconda 中添加了一个分区大小检查,以确保 x86 构架上的引导分区始终小于 2TB,GRUB 引导装载程序需要这个分区。
BZ#917815
在这个版本中,Anaconda 被修改为允许安装程序中的 DDNS 方法。如果在使用 DHCP 协议的网络设备的 kickstart 配置中指定 主机名,此 主机名 会被传递给 dhclient 工具。
建议 anaconda 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.3. arptables_jf

更新了 arptables_jf 软件包,修复两个 bug 现在可用于 Red Hat Enterprise Linux 6。
arptables_jf 工具控制 Linux 内核中的 arpfilter 数据包过滤代码。

程序错误修复

BZ#807315
在此次更新之前,"mangle-hw-s"和"mangle-hw-d"选项都需要使用 "--arhln" 选项。但是,即使命令行中指定了"--arhln"选项,"arptables"命令无法识别它。因此,无法成功使用这两个选项。这些更新的软件包修正了这个程序错误,现在可以将 "--arhln" 选项与 mangle 硬件选项一起使用。
BZ#963209
当"-x"命令行选项(exact 值)与 "-L" (List 规则)选项一起使用时,arptables 实用程序不会列出规则,但发出一条错误消息表示 "-x" 选项是 illegal with "-L"。在这个版本中,arptables 工具在列出规则时使用 "-x" 选项。
建议 arptables_jf 用户升级到这些更新的软件包,从而修复这些 bug。

8.4. augeas

现在,Red Hat Enterprise Linux 6 提供了修复两个安全问题的 augeas 软件包,其中包括几个程序错误并添加各种改进。
红帽安全响应团队将更新的安全影响级别较低。以下每个描述的 CVE 链接中每个漏洞的 CVE 链接中提供了通用漏洞评分系统(CVSS)基础分数。
augeas 是一个编辑配置的工具。augeas 解析其原生格式的配置文件,并将它们转换为树形。通过操作此树进行配置更改,并将它保存到原生配置文件中。augeas 还使用"lenses"作为基础构建块,以建立从文件到 Augeas 树和后端的映射。

安全修复

CVE-2012-0786,CVE-2012-0787
在 Augeas 在更新配置文件时发现多个漏洞。使用 Augeas 更新目录中可由其他用户写入的配置文件的应用程序(例如,以 root 身份运行的应用程序,更新由非 root 服务用户拥有的目录中的文件)可能很复杂。
升级到上游版本
augeas 软件包已升级到上游版本 1.0.0,它提供很多程序错误修复和增强。(BZ#817753)

程序错误修复

BZ#799885
在以前的版本中,当在 XML 属性中使用单引号时,Augeas 无法解析带有 XML lens 的文件。已提供了一个上游补丁,确保单引号被处理为有效的字符,解析不再会失败。
BZ#855022
在此次更新之前,8 月在 vsftpd.conf 文件中无法设置 "require_ssl_reuse" 选项。更新的补丁修复了 vsftpd lens 正确识别此选项的问题,从而解决了这个问题。
BZ#799879
在以前的版本中,XML lens 不支持非Unix 行结尾。因此,Augeas 无法加载包含此类行结尾的任何文件。已修复 XML lens,以使用 CRLF 行结尾处理文件,从而修复此错误。
BZ#826752
在以前的版本中,8 月eas 无法解析 modprobe.conf 文件,在选项指令中带有 "=" 个字符)的空格。modprobe lens 已更新,解析不再会失败。
我们建议所有 Augeas 用户升级到这些更新的软件包,其中包括向后移植补丁以更正这些问题并添加这些改进。

8.5. autofs

现在,Red Hat Enterprise Linux 6 提供了修复几个程序错误并添加了两个改进的 autofs 软件包。
autofs 工具控制 自动挂载守护进程的操作。在使用文件系统时,守护进程会自动挂载文件系统,并在文件系统不忙时卸载它们。

程序错误修复

BZ#859078
在某些情况下,autofs 工具并不遵循所有配置的设置,并使用 UDP 协议探测网络文件系统的可用性。这可能会导致某些服务器拒绝与消息的连接:
Client x.x.x.x is violating the NFSv4 specification by sending a UDP/IP datagram to the NFSv4 server.
在这个版本中,autofs 已修改为明确定义的 NFSv4 请求,从而解决了这个问题。
BZ#886623
由于对 autofs 工具所做的更改,在挂载时探测服务器可用性,不再识别使用 RDMA 协议的挂载。在这个版本中,autofs 已被修改来不会探测使用 RDMA 协议的挂载的可用性。
BZ#903944
在以前的版本中,autofs 工具忽略了 --random-multimount-selection 选项。因此,即使给出了本地文件系统,也不会使用此设置。这个程序错误已被解决,--random-multimount-selection 现在可以正常工作。
BZ#908020
在以前的版本中,当出现两个几乎同时挂载的请求时,通过 autofs 工具挂载的 NFS 挂载有时会终止。这是因为使用无效的原型结构来识别协议。有了这个更新,autofs 已修改为使用数字协议 ID,而不是原型结构。因此,在上述场景中尝试挂载 NFS 不再会失败。
BZ#971131
在此次更新之前,autofs 主映射解析程序无法识别 SELinux context= 选项,并在使用 选项时返回语法错误。主映射解析器已更新,以识别 SELinux context=,现在可以在不复杂的情况下使用。
BZ#974884
在以前的版本中,autofs 工具无法识别系统管理员增加后的最大打开文件允许的限制。因此,无论新配置是什么,都会使用默认限制。有了这个更新,autofs 已被修改来检查此限制的更改并正确应用它们。
BZ#996749
在以前的版本中,lib ldap 库不会以线程安全方式初始化。因此,在运行 自动挂载 时,ber_memalloc_x() 功能可能会意外终止,并显示分段错误。在这个版本中,libldap 的初始izaliton 已修改为 thread-safe,在上述场景中 ber_memalloc_x() 不再崩溃。(BZ#996749)
BZ#979929
自动挂载守护进程 检查主机可用性并且其中一个网络接口标记为"DOWN"时,automount 终止并显示分段错误。在这个版本中,添加了这个问题单的检查,不再会发生分段错误。
BZ#994296
自动挂载守护进程 收到关闭信号时,执行 autofs reload 命令会导致 自动挂载在 从 auto.master 映射中删除多个映射时停止运行。添加了补丁来修复这个错误,在上述情况下,automount 不再终止。
BZ#994297
删除添加当前映射条目的代码的更改会导致通配符间接多挂载映射条目无法挂载。现在,添加了一个修复通配符多映射回归的补丁,映射条目现在可以成功挂载。
BZ#1002896
由于创建过期线程时发生的执行顺序争用,因此 automount 守护进程会变得无响应。处理过期线程创建的代码已被修改,以防止上述问题。
BZ#996749
在以前的版本中,不会对 LDAP 初始化调用执行锁定。但是,这些功能不是线程安全,可能会发生竞争条件。在这个版本中,添加了锁定,竞争条件的风险会减少。

功能增强

BZ#982103
autofs man page 中改进了 TIMEOUT 配置选项的描述。现在,描述解释了内部默认配置。
BZ#852327
autofs 工具已更新,除了现有信息格式外,还可以以简单的 < key, value& gt; 格式转储其挂载映射。
建议 autofs 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.6. batik

现在,Red Hat Enterprise Linux 6 提供了修复几个程序错误的 batik 软件包。
batik 软件包根据 Java 技术提供 Batik 工具包。此工具包供需要使用可扩展 Vector Graphics (SVG)格式的镜像用于各种目的的应用程序使用,如查看、生成或操作。

程序错误修复

BZ#631677
在这个版本中,删除了空的 batik-debuginfo 软件包。
BZ#867701, BZ#995471
在以前的版本中,尝试使用 rasterizer 工具将 SVG 镜像转换为 JPEG 格式会导致返回错误。在这个版本中,一个补丁用于修复这个程序错误,rasterizer 现在会正确将 SVG 镜像转换为 JPEG 格式。
BZ#883464
在以前的版本中,inventory.mf 文件包含关键字 "version" 而不是 "bundle-version"。因此,Eclipse 平台无法使用 Batik 工具正常工作。这个程序错误已被解决,Eclipse 现在可以正常工作。
BZ#979527, BZ#995471
由于底层源代码中的一个错误,尝试使用 ttf2svg 字体转换器失败,但例外。这个版本应用补丁来修复这个程序错误,ttf2svg 现在可以正常工作。
BZ#995471
在以前的版本中,batik 软件包包含很多错误,其他类路径错误和与缺少模块连接的错误,用来处理 JPEG 格式。因此,Batik 工具(如 raterizer、svgpp 和 ttf2svg)会失败,并显示例外。在这个版本中,底层源代码已被修改来修复这些 bug,因此上述实用程序现在可以正常工作。
建议电池用户升级到这些更新的软件包,从而修复这些程序错误。

8.7. bfa-firmware

Red Hat Enterprise Linux 6 现在提供了几个程序错误并添加各种改进的 bfa-firmware 软件包。
bfa-firmware 软件包包含 Brocade Fibre Channel Host Bus Adapter (HBA)固件来运行 Brocade Fibre Channel 和 CNA 适配器。这个软件包还支持 Brocade BNA 网络适配器。
升级到上游版本
bfa-firmware 软件包已升级到上游版本 3.2.21-1,它提供很多程序错误修复和增强。(BZ#928990, BZ#1007100)
建议 bfa-firmware 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.8. bind-dyndb-ldap

针对 Red Hat Enterprise Linux 6 现在提供了几个程序错误的更新 bind-dyndb-ldap 软件包。
动态 LDAP 后端是 BIND 的插件,它为 LDAP 数据库提供后端功能。它支持动态更新和内部缓存,有助于减少 LDAP 服务器上的负载。

程序错误修复

BZ#908780
在以前的版本中,bind-dyndb-ldap 插件在没有 "idnsUpdatePolicy" 属性的情况下无法正确处理 DNS 区域,这会导致有害但误导的错误消息:
zone serial ([zone serial])保持不变。区域可能无法传送到从设备。
每个区域重新加载或在每次受影响的 DNS 区域更改后可能会记录此消息。bind-dyndb-ldap 插件已被修复,因此如果 DNS 区域中没有定义 "idnsUpdatePolicy" 属性,它将不再打印任何错误消息。
BZ#921167
在以前的版本中,bind-dyndb-ldap 插件错误地处理了 "zonesub" match-type 的更新策略,这会导致在处理 update-policy 参数过程中意外终止 BIND 守护进程。bind-dyndb-ldap 插件已被修复,使用 "zonesub" match-type 正确处理 update-policy,因此不再在这种情况下崩溃。
BZ#923113
bind-dyndb-ldap 插件太早处理设置,这会导致 BIND 守护进程在启动或重新加载过程中意外终止并出现断言失败。bind-dyndb-ldap 插件已被修复,以便稍后处理其选项,因此在启动或重新加载过程中不再崩溃。
BZ#1010396
在此次更新之前,带有默认配置的 bind-dyndb-ldap 插件没有建立到 LDAP 服务器的足够连接,用于指针记录(PTR)同步功能,因此 PTR 记录同步会失败。在这个版本中,默认连接数量增加到 4,PTR 记录同步现在可以正常工作。
建议 bind-dyndb-ldap 用户升级到这些更新的软件包,从而修复这些 bug。

8.9. biosdevname

现在,Red Hat Enterprise Linux 6 提供了更新的 biosdevname 软件包,修复了几个程序错误并添加各种改进。
biosdevname 软件包包含一个 udev 帮助程序实用程序,它为命名网络接口提供可选约定;它根据其物理位置为网络接口分配名称。默认情况下,工具被禁用,除了一组有限的 Dell PowerEdge、C Series 和 Precision Workstation 系统中。
升级到上游版本
biosdevname 软件包已升级到上游版本 0.5.0,与之前的版本相比,它提供了大量的程序错误修复和增强。(BZ#947841)

错误修复

BZ#1000386
在以前的版本中,addslot ()函数为两个或多个接口返回相同的 "dev->index_in_slot" 值。因此,多个网络接口可以命名为 "renameN"。在这个版本中,恢复用于获取 biosdevname 版本 0.3.11 中存在的端口号的逻辑,因此所有接口都如预期命名。
建议 biosdevname 用户升级至这些更新的软件包,从而修复这些错误并添加这些改进。

8.10. boost

更新了修复一个程序错误的 boost 软件包现在可用。
boost 软件包提供了免费的 peer-reviewed portable C++ 源库,它专注于与 C++ 标准库一起工作的库。

错误修复

BZ#820670
Boost 软件包不包含 Boost.Math 共享库,它包括与复杂数字和 gamma、beta 和 erf 特殊功能相比,在 C++ 库扩展技术报告中指定的 trigonometric 功能。在这个版本中,添加了 boost-math 子软件包,其中包括与上述功能对应的符号。
建议用户升级到这些更新的软件包,从而解决了这个问题。

8.11. busybox

更新了 busybox 软件包,用于修复一个安全问题,现在为 Red Hat Enterprise Linux 6 提供了几个程序错误。
红帽安全响应团队将更新的安全影响级别较低。以下与描述相关的 CVE 链接中提供了通用漏洞评分系统(CVSS)基础分数,它给出了详细的严重性评级。
busybox 提供单个二进制文件,其中包含大量系统命令的版本,包括 shell。这对从某些类型的系统故障中恢复非常有用,特别是涉及损坏的共享库的系统故障。

安全修复

CVE-2013-1813
找到 mdev BusyBox 实用程序可以在具有全局可写权限的 /dev 中创建某些目录。本地非特权用户可以使用此缺陷来操作 /dev 目录树的部分内容。

程序错误修复

BZ#820097
在以前的版本中,由于 IBM System z 架构上有太大的字符串大小优化,因此在处理标准输入后,"wc" BusyBox 命令会在处理标准输入后失败,并显示以下错误:
wc: : No such file or directory
这个程序错误已通过禁用字符串大小优化,"wc"命令在 IBM System z 构架中可以正常工作来解决。
BZ#859817
在此次更新之前,"mknod"命令无法使用大于 255 的主号或次号创建设备节点。因此,kdump 工具无法处理这样的设备。底层源代码已被修改,现在可以使用"mknod"命令创建大于 255 的主或次号的设备节点。
BZ#855832
如果选择了 NFS 服务器中的网络安装,则"mount"命令默认使用 UDP 协议。如果服务器只支持 TCP 挂载,这会导致 mount 命令失败。因此,Anaconda 无法继续安装。这个程序错误已被解决,NFS 挂载操作默认为 TCP 协议。
建议所有 busybox 用户升级到这些更新的软件包,其中包含向后移植的补丁以更正这些问题。

8.12. ca-certificates

现在,Red Hat Enterprise Linux 6 提供了添加各种改进的 ca-certificates 软件包。
ca-certificates 软件包包含 Mozilla Foundation 选择的一组 CA 证书,用于互联网公钥基础架构(PKI)。
升级到上游版本
ca-certificates 软件包已升级到上游版本 1.94,如 NSS 版本 3.15 发布时,它根据 Mozilla CA 证书策略提供一组最新的证书颁发机构。另外,添加了 update-ca-trust 配置管理工具。(BZ#973727, BZ#1002646)

功能增强

BZ#544376
这个更新提供共享系统证书颁发机构存储,这是配置数据的系统范围的信任存储,需要作为证书信任决策的输入。这是对经典证书颁发机构配置文件和 libnssckbi NSS 信任模块的功能兼容。这个功能必须由管理员显式启用。有关该功能的更详细描述,请参阅 ca-certificates 软件包中的 update-ca-trust 手册页。
建议 ca-certificates 用户升级到这些更新的软件包,这会添加这些改进。

8.13. cifs-utils

针对 Red Hat Enterprise Linux 6 提供了修复一个程序错误的 cifs-utils 软件包。
SMB/CIFS 协议是在 Microsoft Windows 机器上广泛部署的标准文件共享协议。此软件包包含用于使用 SMB/CIFS 协议在 Linux 上挂载共享的工具。这个软件包中的工具与内核中的支持一起使用,允许一个工具将 SMB/CIFS 共享挂载到客户端,并使用它,就像它是标准的 Linux 文件系统一样。
建议 cifs-utils 用户升级到这些更新的软件包,从而解决了这个问题。

8.14. cjkuni-fonts

现在,提供了修复一个程序错误的 cjkuni-fonts 软件包。
CJK Unifonts 是来自 Arphic Public License 下 Arphic Public License 下的原始字体的 Unicode TrueType 字体,并由 CJK Unifonts 项目扩展。

错误修复

BZ#651651
在以前的版本中,在某些配置中,KDE 引导菜单没有显示中文区域(zh-CN 和 zh-TW)中的任何中文字符,而日语和韩语没有这个问题。在这个版本中,KDE 启动菜单在中文区域中显示中文字符。
建议 cjkuni-fonts 用户升级到这些更新的软件包,从而解决了这个问题。

8.15. 集群和 gfs2-utils

针对 Red Hat Enterprise Linux 6 现在提供了几个程序错误的 clustergfs2-utils 软件包。
Red Hat Cluster Manager (Red Hat Cluster Manager)是共同协作的技术集合,可以提供数据完整性,并在出现故障时维护应用程序可用性。通过使用冗余硬件、共享磁盘存储、电源管理以及强大的集群通信和应用程序故障转移机制,集群可满足企业市场的需求。

程序错误修复

BZ#996233
在此次更新之前,如果一个 gfs2_tool、gfs2_quota、gfs2_grow 或 gfs2_jadd 命令被意外终止,则这些工具使用的临时 GFS2 元数据挂载点可以被挂载。挂载点也没有在 /etc/mtab 文件中注册,因此"umount -a -t gfs2"命令没有卸载它。这个挂载点可能会阻止系统正常重新引导,并在正常的 GFS2 挂载点后手动卸载它时导致内核 panic。在这个版本中,为临时挂载点创建一个 mtab 条目修正了这个问题,它会在收到信号时退出前卸载它。
BZ#893925
在以前的版本中,如果在 two_node 模式中运行的集群中短暂的网络故障,cman 工具无法正常工作,且没有隔离延迟。因此,当重新建立连接时,两个节点会相互终止。这个版本为具有较高节点 ID 的节点添加了 5 秒的延迟到"fenced"守护进程,且上面描述的问题不再发生。另一个选择是将隔离延迟添加到 "cluster.conf" 文件中,如红帽知识库所述(请参阅 https://access.redhat.com/site/solutions/54829)。
BZ#982670
在此次更新之前,在执行"restart"命令时,cman 初始化脚本无法正确处理其锁定文件。因此,在节点重启过程中,节点可以被其他成员从集群中删除。cman init 脚本已被修改来正确处理锁定文件,现在集群的其他节点不会采取隔离操作。
BZ#889564
在以前的版本中,当 corosync 工具检测到 "process pause" 时,旧的,因此无效的控制组 ID 有时会发送到 gfs_controld 守护进程。因此,gfs_controld 变得无响应。在这个版本中修复了 gfs_controld,以丢弃旧控制组群 ID 的消息,在这种情况下,gfs_controld 不再挂起。
BZ#888857
在此次更新之前,"fenced"守护进程和其他相关守护进程偶尔关闭一个仍在尝试停止守护进程期间 corosync 库引用的文件描述符。因此,守护进程无法正确终止,关闭集群工具会失败。这个程序错误已被解决,文件描述符现在保持打开状态,它已被守护进程使用,守护进程会正确终止。
BZ#989647
在以前的版本中,fsck.gfs2 工具无法正确处理特定类型的文件系统崩溃。因此,fsck.gfs2 终止并显示出错信息,且不会修复崩溃。这个版本扩展了 fsck.gfs2 处理文件系统损坏的功能,上面描述的问题不再发生。
BZ#1007970
在以前的版本中,mkfs.gfs2 工具中没有 "-K" 选项。因此,mkfs.gfs2 返回 "invalid option" 错误消息,无法使用这个选项保留且不丢弃未使用的块。在这个版本中,mkfs.gfs2 可以正确地处理 "-K" 选项。
BZ#896191
cluster.conf (5)手册页包含默认 syslog 工具为"daemon"的错误信息。在这个版本中,此声明修正为 "local4"。
BZ#902920
在以前的版本中,当全局文件系统 2 (GFS2)中的目录信息被错误替换时,fsck.gfs2 工具无法正确识别。另外,fsck.gfs2 没有正确检查 GFS2 目录哈希表的一致性。因此,fsck.gfs2 不会报告文件系统的问题,以及损坏的目录中的文件不可用。有了这个更新,fsck.gfs2 已修改为进行广泛的完整性检查,现在可以识别和修复其他描述的问题。
BZ#963657
在此次更新之前,在停止 GFS2 资源时,不会考虑嵌套的全局文件系统 2 (GFS2)挂载点。因此,挂载点没有以正确顺序卸载,gfs2 工具无法停止。gfs2 init 脚本已修改为以正确顺序卸载 GFS2 挂载点,在这种情况下,gfs2 的停止不再会失败。
BZ#920358
在以前的版本中,qdiskd 守护进程无法正确处理新重新加入已重启的节点。因此,qdiskd 在初始化后删除了这样的节点。在这个版本中,qdiskd 会跳过 "S_NONE" 状态中丢失节点的更新计数,它不会在上述场景中删除节点。
BZ#888318
在以前的版本中,当 "cluster.conf" 文件中错误地设置了令牌超时时,qdiskd 守护进程不会发出特定的错误消息。因此,qdiskd 以 "qdiskd: configuration failed" 错误消息终止,代表没有详情。在这个版本中,为上述情况添加了特定的错误消息。
BZ#886585
在以前的版本中,gfs2_grow 工具会在没有增长的情况下返回零退出状态,因为设备增长方式。因此,自动化脚本(特别是对 gfs2_grow 测试)收到了不正确的 "0" 返回代码。在这个版本中,gfs2_grow 已被修改,在操作失败时返回非零退出状态。
BZ#871603
在以前的版本中,"ccs_tool create"命令的帮助文本包含 "addfence" 子命令不正确的参数,即 "user" 而不是 "login"。因此,用户可以创建不正确的 "cluster.conf" 文件。在这个版本中,帮助文本已被修正。
BZ#985796
在以前的版本中,当 fsck.gfs2 实用程序修复超级块时,它会从"cluster.conf"文件中查找锁定配置字段。因此,当修复超级块时,"lockproto"和"locktable"字段可能会错误地设置。在这个版本中,"lockproto"和"locktable"字段被设置为 sensible 默认值,现在指示用户在 fsck.gfs2 运行结束时使用 tunegfs2 程序设置字段。
BZ#984085
在以前的版本中,当目录叶块重复时,fsck.gfs2 工具无法正确处理情况。因此,偶尔找不到损坏目录中的文件,fsck.gfs2 变得无响应。在这个版本中,fsck.gfs2 会检查所有目录中重复块,标识和修复损坏,在这种情况下不再挂起。
建议 集群和 gfs2-utils 用户升级到这些更新的软件包,从而修复这些 bug。

8.16. ClusterMon

更新了 clustermon 软件包,修复几个程序错误,现在 Red Hat Enterprise Linux 6 提供了几个程序错误。
clustermon 软件包用于远程集群管理。modclusterd 服务提供了一个由 conga 以及 clustermon 简单网络管理(SNMP)和通用信息模型(CIM)模块使用的集群状态的抽象。

程序错误修复

BZ#951470
在此次更新之前,当尝试将本地机器的地址与特定集群节点条目关联时,modclusterd 服务会进行不正确的 CMAN API 调用,但没有成功。因此,modclusterd 每 5 秒返回日志消息。另外,当启用了 CMAN 记录时,包含成员资格消息时,会发出由 CMAN API misuse 导致的消息。现在,CMAN API 调用会被正确使用,这可更正上述结果。
BZ#908728
在以前的版本中,只有访问 IPv6 可用时,modclusterd 服务在 IPv4 环境中意外终止。在这个版本中,modclusterd 不再会在只使用 IPv4 的环境中崩溃。
BZ#888543
在以前的版本中,SNMP (Simple Network Management Protocol)代理公开集群状态,并以 cluster-snmp 的形式提供,这会导致 SNMP 服务器(snmpd)在加载此模块时意外终止,其中包含的服务器被指示重新加载。这是因为此服务器所引发的资源不当,特别是警报。现在,该模块会在卸载时正确清理这些资源,从而防止重新载入崩溃。
建议 clustermon 用户升级到这些更新的软件包,从而修复这些程序错误。

8.17. compat-openmpi

Red Hat Enterprise Linux 6 现在提供了只修复一个程序错误的更新 compat-openmpi 软件包。
compat-openmpi 软件包包含早期版本的 Open Message Passing Interface (Open MPI)的共享库。之前版本的库已针对当前版本的 Red Hat Enterprise Linux 6 编译,而软件包则使之前的程序能够正常工作。

错误修复

BZ#876315
在以前的版本中,compat-openmpi 软件包没有确保与 Open MPI 共享库的早期版本兼容。因此,如果在 Red Hat Enterprise Linux 6.3 及之后的版本中使用 Open MPI 运行某些应用程序,如果用户是基于 Red Hat Enterprise Linux 6.2 及更早版本中使用的 Open MPI 版本编译的。在这个版本中,compat-openmpi 软件包现在与 Red Hat Enterprise Linux 6 上的 Open MPI 的早期版本兼容。
建议 compat-openmpi 用户升级到这些更新的软件包,从而解决了这个问题。

8.18. conman

现在,Red Hat Enterprise Linux 6 提供了修复几个程序错误并添加各种改进的 conman 软件包。
ConMan 是一个串行控制台管理程序,旨在支持大量控制台设备和并发用户。ConMan 目前支持本地串行设备和远程终端服务器。
升级到上游版本
conman 软件包已升级到上游版本 0.2.7,它提供很多程序错误修复和增强。在这个版本中,包括了对 conman.conf 配置文件中的 ipmiopts 指令的支持。(BZ#951698)

错误修复

BZ#891938
在以前的版本中,时区字符串的长度范围不足来处理所有已知的时区代码。因此,如果时区名称由五个或更多字符组成,则 conmand 守护进程无法启动。最大字符串长度已设置为 32,现在 conmand 始终会如预期启动。
建议 conman 的用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.19. coolkey

现在,Red Hat Enterprise Linux 6 提供了修复几个程序错误并添加一个改进的 coolkey 软件包。
CoolKey 是 CoolKey、通用访问卡(CAC)和个人身份验证(PIV)智能卡的智能卡支持库。

程序错误修复

BZ#806038
在以前的版本中,coolkey 始终创建一个虚假的智能卡读取器,以避免在没有智能卡读取器可用时,网络安全服务(NSS)和 PC/SC Lite 框架出现问题。但是,智能卡不再可用于智能卡验证,并且 NSS 和 pcsc-lite 软件包已被更新,以处理没有附加电子发送器的情况。因此,这对 coolkey 中的读者变得不必要,在某些情况下可能会导致某些应用程序出现问题。这个版本会修改对应的代码,以便 coolkey 不再创建 bogus e-gate 智能卡。
BZ#906537
对于之前版本的 coolkey,一些签名操作(如 PKINIT)可能会在支持 CAC 和 PIV 接口的 PIV 端点卡上失败。底层 coolkey 代码已被修改,因此这些 PIV 端点卡现在可以按预期与 coolkey 一起工作。
BZ#991515
coolkey 库只使用 NSS DBM 数据库注册,但 NSS 现在使用 SQLite 数据库格式,这是首选的。这个版本修改了 coolkey,以与两个 NSS 数据库正确注册。

功能增强

BZ#951272
对包含 Elliptic Curve Cryptography (ECC)证书的令牌的支持已添加到 coolkey 软件包中,因此 coolkey 库现在可以使用 ECC 调配卡。
建议 coolkey 用户升级到这些更新的软件包,从而修复这些 bug 并添加此功能增强。

8.20. coreutils

Red Hat Enterprise Linux 6 现在提供了修复三个安全问题的 coreutils 软件包、几个程序错误和添加两个改进。
红帽安全响应团队将更新的安全影响级别较低。常见的漏洞评分系统(CVSS)基础分数提供了详细的严重性评级,适用于以下每个描述的 CVE 链接中的每个漏洞。
coreutils 软件包包含核心 GNU 实用程序。它是旧的 GNU fileutils、sh-utils 和 textutils 软件包的组合。

安全修复

CVE-2013-0221,CVE-2013-0222,CVE-2013-0223
发现 sort、uniq 和 join 实用程序没有正确限制 alloca ()函数的使用。攻击者可以利用此漏洞通过提供较长的输入字符串使这些工具崩溃。

程序错误修复

BZ#747592
在以前的版本中,由于来自子进程的信号传播不正确,"su"命令的返回值不正确,且父进程中没有显示核心转储信息。在这个版本中,来自子进程的信号传播已被修复,"su"命令的返回值已被修正。因此,来自子进程的内核转储消息不再被忽略,"su"命令会返回正确的退出值。
BZ#749679
在以前的版本中,su 命令不会等待其子进程的末尾。因此,su 工具可能会在子进程完成前退出。这个程序错误已被解决,现在 "su" 会等待子进程退出。
BZ#816708
在以前的版本中,当在没有 user name 参数的情况下调用时,"id -G"和 "id --groups" 命令会打印 password 数据库中列出的默认组 ID。有时,这个 ID 是不正确的或无效,特别是当它被改变时。在这个版本中,当未指定用户时,上述命令只会打印有效和实际 ID。
BZ#827199
"tail -f"命令使用 inotify 跟踪文件中的更改。对于远程文件系统 [-/,] inotify 不可用。对于未知文件系统,如 panasas,"tail -f"失败,而不是回退到轮询。现在,已知文件系统列表已被更新,"tail -f"已被修改,以回退到对未知文件系统进行轮询。因此,"tail -f"现在可以正常工作,即使是在未知文件系统中,只有有关未知文件系统的警告,回退到轮询。
BZ#842040
在以前的版本中,"df"命令解释输出挂载名称中的控制字符。因此,当输出中有控制字符(如 "\n" )时,对脚本的读和有问题的可能不太方便。有问题的字符已被问号符号("?")替代,此类输出不再难以读取。
BZ#867984
在以前的版本中,核心工具中对多字节区域支持的红帽特定补丁缺少了"cut"命令的"--output-delimiter"选项的处理。因此,如果指定,则忽略该选项。coreutils 中实施了"--output-delimiter"选项的支持,用户现在可以将此选项用于多字节区域。
BZ#889531
在以前的版本中,当"su"会话被信号终止时,它会返回一个不正确的退出状态。这会导致出现各种问题,如 ksh 锁定。在这个版本中解决了退出状态处理的问题,上述情况不再发生。
BZ#911206
在以前的版本中,stat 工具使用 setpwent ()和 setgrent ()函数。这会导致在调用 stat 工具时 NIS 数据库下载问题,从而导致性能问题。在这个版本中,stat 实用程序源代码中不再存在上述系统调用。因此,每个 stat 工具都不需要 NIS 数据库下载。
BZ#956143
在解析文件内容时,字段末尾使用过时的密钥格式(+POS -POS)指定,因此 sort 程序错误地决定字段的末尾,因此会生成不正确的输出。在这个版本中解决了解析逻辑,在使用这些过时的密钥格式时与 "-k" 选项的使用匹配。sort 工具现在返回预期的结果。
BZ#960160
在以前的版本中,在某些情况下,date 工具可以解析无效的输入。这是因为解析机制中的签名扩展为 "other" 字节。这会导致一些无效输入的意外结果。解析机制已被修复,日期工具现在可以在适当的情况下正确识别无效的输入。
BZ#965654
在以前的版本中,即使指定了 "status=noxfer","dd" 工具也会生成传输统计输出。要修复这个错误,实施了一个新的选项 "status=none" 来阻止所有信息输出。因此,dd 生成的不必要的信息将不再使用这个选项显示。
BZ#967623
"su"实用程序具有"-p"选项,可保留一些环境变量。但是,su (1)手册页错误地声明整个环境被保留。在这个版本中,对手册页进行了调整,以列出所有保留的环境变量。
BZ#980061
当在两个文件系统间移动目录时,"mv"工具无法覆盖空目录,这违反了 POSIX 标准。在这个版本中,mv 不再无法覆盖空目标目录,POSIX 标准规则会被模糊处理。
BZ#997537
在以前的版本中,当指定 "-n" 选项时,"pr"工具使用子优化代码例程,并使用零或空格不一致的 padding。因此,当 "-n" 选项与 32 或更高版本的值一起使用时,pr 会意外终止。此外,不一致的 padding 很难由脚本解析。在这个版本中,行号被空格一致添加,并改进了程序来正确处理 "-n" 选项的高值。因此,"pr"工具不再意外终止。
BZ#1006221
在以前的版本中,"tail -f"命令无法正确监控死的符号链接。因此,"tail -f"会忽略在符号链接被终止后指向符号链接的更新。现在,当死符号链接被重新检查并恢复引用内容时,这个程序错误已被解决,"tail -f"会注意到。

功能增强

BZ#836557
在此次更新之前,绑定挂载导致的目录周期被视为严重错误,如可能的磁盘损坏。但是,这些周期相对常见,可以有效地检测到。"du"命令已被修改,以显示描述性警告,并返回适当的非零退出值。这允许绑定挂载各种服务才能正确处理。
BZ#908980
在 Red Hat Enterprise Linux 6 中,"dd"命令有一个"conv"选项,它支持各种转换类型。在这个版本中,增加了对用于稀疏文件的"稀疏"转换选项的支持。此功能在将块设备复制到文件时很有用,以最大程度降低占用的实际数据量。此外,它也可用于管理不同存储类型(包括 iSCSI 和 NFS)中的虚拟机镜像。
建议 coreutils 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.21. corosync

现在,Red Hat Enterprise Linux 6 提供了修复几个程序错误并添加了两个改进的 corosync 软件包。
corosync 软件包为 Red Hat Enterprise Linux 集群软件提供 Corosync Cluster Engine 和 C 应用程序编程接口(API)。

程序错误修复

BZ#854216
当在设置了 failed_to_recv 配置选项的故障网络中运行 corosync 时,在集群节点标记为"failed to receive"后,corosync 通常会以分段错误终止。这是因为在集群节点成员资格决定过程中满足 assert 条件。要解决这个问题,如果被标记为 "failed to receive" 的节点触发,底层代码已被修改来忽略 assert。这很安全,因为在这种情况下始终建立了单个节点成员资格。
BZ#877349
在安装后,corosync-notifyd 服务没有正常启动,因为 corosync 通知程序的默认配置不存在。在这个版本中,在 /etc/sysconfig/corosync-notifyd 文件中添加了该服务的默认配置,以便 corosync-notifyd 现在可以在安装后无需额外配置即可启动。
BZ#880598
由于底层代码中的一个错误,corosync API 可以读取未初始化的内存,因此在配置和统计数据库中递增或减少特定对象的值时返回不正确的值。在这个版本中,在返回 [u]int16 类型值时,将对应的代码修改为仅读取 16 位内存而不是 32 位。corosync API 不再读取未初始化的内存并返回正确的值。
BZ#881729
由于 corosync 日志记录系统中罕见的竞争条件,在尝试解引用 NULL 指针后 corosync 可能会以分段错误终止。pthread mutex 锁定已添加到相应的格式化变量中,以避免出现日志格式和日志打印功能之间的竞争条件。
BZ#906432
在以前的版本中,corosync 不支持 IPv6 双冒号表示法,在解析 corosync.conf 文件时无法正确处理大括号。因此,totem 服务在使用 IPv6 时无法启动。如果配置文件包含其他右括号,则不会显示任何错误,以告知用户为什么无法成功解析配置文件。在这个版本中解决了这些解析 bug 的问题,使得 totem 服务现在可以成功启动,如果 corosync.conf 文件包含额外的右括号,则会显示错误消息。
BZ#907894
由于 corosync 代码中的多个错误,如果 corosync 服务在多个集群节点上终止,则重复或不会传送到应用程序。这个版本应用了一系列修正这些 bug 的补丁,以便 corosync 不再在这种情况下丢失或重复信息。
BZ#915490
corosync-fplay 工具可能会以分段错误终止,或者在 corosync fdata 文件损坏时导致行为无法预计。在这个版本中,corosync-fplay 已被修改来检测代码中的循环,并正确验证 fdata 文件。为了避免出现数据被损坏的另一个原因,corosync 现在还阻止其子进程记录。因此,corosync 不再会在这种情况下崩溃或变得无响应。
BZ#915769
如果 corosync.conf 文件中的服务部分不包含服务名称,则 corosync 会以分段错误终止或拒绝启动未知服务。在这个版本中,corosync 可以正确地验证 name 键,如果没有找到服务名称,则返回错误信息并正常退出。
BZ#916227
当 corosync 服务在服务初始化完成后收到退出请求(SIGINT 信号)时,它无法正确处理的情况。因此,corosync 变得无响应,并忽略除 SIGKILL 之外的所有信号。在这个版本中,添加了一个信号,以确保 corosync 在这种情况下安全退出。
BZ#922671
当运行使用 Corosync Inter-process 通信(IPC)库的应用程序时,allocation () 函数中的一些消息会丢失或重复。有了这个更新,corosync 会正确地验证 allocation_put ()函数的返回值,在 IPC 环缓冲中返回正确的剩余字节数,并确保 IPC 客户端正确通知环缓冲中实际消息数。assigned ()函数中的消息不再丢失或重复。
BZ#924261
有时,当尝试使用 "corosync-cfgtool -H" 命令关闭 corosync 服务失败时,并返回 CS_ERR_TRY_AGAIN 错误代码,后续的关闭尝试会始终失败,并显示 CS_ERR_EXISTS 错误。corosync-cfgtool 工具已被修改来自动重试 shutdown 命令,Corosync 的 Cfg 库现在允许处理多个后续关闭调用。"corosync-cfgtool -H"命令现在可以按预期工作,即使在大量载入的集群节点上也是如此。
BZ#947936
如果 corosync.conf 文件的 uidgid 部分包含不存在的用户或组,corosync 不会显示任何错误。底层代码已被修改,corosync 现在可以正确地验证 getpwnam_r 系统调用返回的值,并在这种情况下显示适当的错误消息。
BZ#959184
如果 IPC 客户端在连接握手的特定时间段中退出,corosync 主进程会收到 SIGPIPE 信号并终止。在这个版本中,SIGPIPE 信号由 sendto ()函数正确处理,corosync 主进程不再在这种情况下终止。
BZ#959189
如果 corosync 进程已打开了大量 confdb IPC 连接,则 corosync 进程可能会变得无响应,方法是发送 SIGINT 信号或使用 corosync-cfgtool 程序。这个版本修改了 corosync 代码,以确保所有与配置和统计数据库在 corosync 退出时都关闭,以便 corosync 能够按预期退出。

功能增强

BZ#949491
corosync 守护进程现在会检测 corosync 主进程没有长时间调度,并将相关消息发送到系统日志。
BZ#956739
为了提高问题检测的过程,corosync-blackbox 命令的输出现在包含事件的时间戳。此功能与后向兼容,以便正确处理之前版本的 corosync 中的输出(fdata)。
建议 corosync 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.22. cpupowerutils

Red Hat Enterprise Linux 6 现在提供了几个程序错误并添加一个改进的 cpupowerutils 软件包。
cpupowerutils 软件包提供了一组工具来管理适当启用的中央处理单元(CPU)上的电源状态。

程序错误修复

BZ#886225
在以前的版本中,cpupowerutils 软件包中的一些命令缺少手册页。添加了 turbostat、x86_energy_perf_policy、cpufreq-bench 和 cpufreq-bench_plot.sh 命令的手册页,从而解决了这个问题。
BZ#886226
如果非 root 用户试图运行 cpufreq-bench 工具,它会意外地终止分段错误,并且桌面上出现 ABRT 通知。在这个版本中,向用户显示一个警告信息,通知它们需要以 root 用户身份运行实用程序。
BZ#886227
在此次更新之前,当 x86_energy_perf_policy 工具试图打开 /dev/cpupassphrase/msr/ 目录时,x86_energy_perf_policy 工具会失败。因此,会返回 "permission denied" 错误消息。在这个版本中,一个新的错误消息解释了命令需要 root 权限,x86_energy_perf_policy 会完全退出。
BZ#886228
在以前的版本中,x86_energy_perf_policy 工具的交互式帮助比较短且混淆。帮助文本已扩展以阐明命令行选项的含义。
BZ#914623
由于 "cpupower set -m" 命令缺少实现,在启动命令时会返回错误消息。在以前的版本中,这个消息错误地表示系统上不支持 sched-mc 工具。在这个版本中,信息被通知,以明确说明 sched-mc 尚未实现。
BZ#914787
在以前的版本中,运行 "cpupower -v" 或 "cpupower --version" 命令会返回不正确的版本信息。这个程序错误已被解决,精选的 cpupower 组件现在会报告正确的 version-release 号。

功能增强

BZ#852831
Red Hat Enterprise Linux 包括 Intel turbostat v3.0 工具。实用程序用于读取当前的 CPU 内核频率和活跃的 C-states。
建议 cpupowerutils 用户升级到这些更新的软件包,从而修复这些 bug 并添加这个改进。

8.23. crash

现在,Red Hat Enterprise Linux 6 提供了添加各种增强的崩溃软件包。
crash 软件包提供了一个自包含的工具,可用于调查从 Red Hat Enterprise Linux 中的 netdump、diskdump、kdump 和 Xen/KVM "virsh dump" 工具创建的实时系统和内核核心转储。

功能增强

BZ#902141
目前,使用 snappy 压缩格式的 makedumpfile 实用程序创建的转储文件现在可以被 crash 工具读取。snappy 格式适用于需要稳定性能的崩溃转储机制,以防出现企业应用的使用情况。
BZ#902144
在这个版本中,crash 工具可由 crash 工具读取使用 LZO 压缩格式的 makedumpfile 工具创建的转储文件。对于随机化数据,LZO 压缩格式非常快速且稳定。
BZ#1006622
在这个版本中,增加了对 makedumpfile 工具创建的压缩转储文件的支持,这些文件在具有物理内存需要超过 44 位的系统上生成的。
BZ#1017930
在这个版本中解决了在 KVM 客户机转储文件中由 bt 命令生成的有问题的 panic-task backtraces 的问题。现在,当客户机操作系统出现问题时,bt 命令会显示 trace。
BZ#1019483
在这个版本中修复了在初始化过程中有 255 个或更多 CPU 的系统上,使用 set 命令、ps 命令以及显示由任务地址、PID、CPU 和命令名称组成的 per-task 标头的所有命令都显示 CPU 号的问题。如果没有补丁,对于 CPU 255,sys 命令会显示"NO_PROC_ID",其他命令会显示 CPU 编号的"-";对于 CPU 号大于 255,垃圾值将显示在 CPU number 字段中。
建议崩溃用户升级到这些更新的软件包,其中包括这些改进。

8.24. crash-gcore-command

现在,Red Hat Enterprise Linux 6 提供了修复一个程序错误的 crash-gcore-command 软件包。
crash-gcore-command 软件包包含 crash 工具的扩展模块,它添加一个 "gcore" 命令,该命令可以创建在内核转储文件中运行的用户空间任务的核心转储文件。

错误修复

BZ#890232
由于 Red Hat Enterprise Linux 6 内核中的向后移植 madvise/MADV_DONTDUMP 更改,VDSO (虚拟动态链接共享对象)和 vsyscall 页面在生成的进程内核转储中缺少。在这个版本中,VDSO 和 vsyscall 页面始终包含在生成的进程内核转储中。
建议 crash-gcore-command 用户升级到这些更新的软件包,从而解决了这个问题。

8.25. createrepo

一个更新的 createrepo 软件包,它修复了两个程序错误,现在 Red Hat Enterprise Linux 6 提供了这个问题。
createrepo 软件包包含一个从 RPM 软件包目录生成通用元数据存储库的工具。

程序错误修复

BZ#877301
在以前的版本中,如果文件不存在,则时间戳检查不会通过。因此,空存储库被错误地标记为最新,"createrepo --checkts"命令不会对空存储库执行任何操作。在这个版本中,缺少的文件被视为失败,而不是通过。现在,当在空仓库上调用时,"createrepo --checkts"命令可以正确地创建一个新的存储库。
BZ#892657
--basedir、--retain-old-md 和 --update-md-path 选项仅在 createrepo 工具帮助消息中报告,而不是在 man page 中报告。在这个版本中,在帮助消息和 man page 中都会正确记录手册页和选项。
建议 createrepo 用户升级到这个更新的软件包,从而解决了这些程序错误。

8.26. cronie

现在,Red Hat Enterprise Linux 6 提供了修复几个程序错误并添加了两个改进的 cronie 软件包。
cronie 包含标准的 UNIX 守护进程 crond,它在计划的时间和相关工具中运行指定的程序。它是原始 vixie-cron 的分叉,具有安全性和配置增强功能,如使用 pam 和 SELinux 的功能。

程序错误修复

BZ#697485
在以前的版本中,在调用 popen ()系统功能前,crond deamon 不会丢弃用户权限的数据。因此,当非 root 用户调用函数时,更改权限的警告会被写入 /var/log/crond 文件中。在这个版本中,crond 已被修改为在调用 popen ()前丢弃用户权限。因此,在这种情况下不再记录警告。
BZ#706979
在这个版本中,cron 配置文件的文件权限已更改为只有 root 用户可读。
BZ#733697
在此次更新之前,cron init 文件中重启的定义不正确。因此,重启 crond 守护进程时会错误地报告失败。init 文件已被修复,在 crond 重启后不再显示冗余失败信息。
BZ#738232
挂载在轻量级目录访问协议(LDAP)服务器或网络文件系统(NFS)上的主目录的 Cron Job 通常会被拒绝,因为作业被标记为孤立(通常是因为 NIS 和 LDAP 服务器无法访问时)。在这个版本中,会创建一个孤立项的数据库,并且 cron 作业会如预期执行。
BZ#743473
在这个版本中,过时的注释已从 /etc/cron.hourly/0anacron 配置文件中删除。
BZ#821046, BZ#995089
由于 cron 对时区的支持错误,计划的作业多次执行。只有当时 spring 更改期间,这个程序错误的效果才可见。这个程序错误已被解决,现在会在时间更改过程中正确执行作业。
BZ#887859
在这个版本中,在 ana crontab man page 中修复了显示 anacron 表设置的错误示例。
BZ#919440
在以前的版本中,crond 守护进程不会检查守护进程的现有锁定。因此,crond 的多个实例可以同时运行。锁定机制已被更新,并一次性运行多个 cron 实例,不再有可能运行。
BZ#985888
在此次更新之前,crond 守护进程不会读取 $LANG 设置。因此,cron 作业没有使用系统范围的 $LANG 设置运行。这个 bug 已被修复,cron 任务现在按预期使用 $LANG。
BZ#985893
在以前的版本中,crond 守护进程使用 putenv 系统调用,这可能会导致 crond 意外终止并出现 segmentation 错误。在这个版本中,putenv ()已被 setenv ()系统调用替代,从而防止 segmentation 错误。
BZ#990710
在此次更新之前,PATH 变量可由 cron 或 crontable 设置,但无法通过 PAM 设置来更改。在这个版本中,可以使用 PAM 设置来更改 PATH。现在,如果使用 "-P" 选项,则 PATH 现在可以从环境中继承。
BZ#1006869
在以前的版本中,当非 root 用户试图重启 crond 守护进程时,会返回不正确的错误代码。在这个版本中,在上述情况下会返回一个正确的代码。

功能增强

BZ#829910
此更新添加了 RANDOM_DELAY 变量,允许使用变量指定的上限,将作业启动由随机数分钟的延迟。随机扩展因素是在 crond 守护进程启动期间确定的,因此守护进程的整个运行时间保持恒定。
BZ#922829
在这个版本中,/etc/crond/sysconfig 配置文件中的 CRON_CORRECT_MAIL_HEADER 环境变量已更新。启用此变量后,cron 现在以 RFC 兼容格式发送带有标头的电子邮件。
建议 cronie 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.27. cvs

现在,Red Hat Enterprise Linux 6 提供了修复一个程序错误并添加一个改进的 cvs 软件包。
Concurrent Versions System (CVS)是一个版本控制系统,可以记录您的文件历史记录。CVS 仅存储版本之间的区别,而不是存储您所创建的每个文件的每个版本。CVS 还保留谁、何时和发生更改的原因。

错误修复

BZ#671460
当 CVS 客户端尝试建立与 DNS 负载均衡的集群节点的 GSSAPI 验证的连接时,身份验证会失败,因为每个节点都有唯一的主机名。在这个版本中,GSSAPI CVS 服务器已被修改,以搜索与 "cvs" 服务和任何主机名匹配的 Kerberos 密钥。因此,CVS 服务器现在可以使用 GSSAPI 验证客户端,即使服务器的主机名与域名不匹配,因此 Kerberos 主体主机名部分,适用于所有集群节点。建议 CVS 服务器管理员将两个 Kerberos 主体部署到每个节点:与节点的主机名匹配的主体,以及与集群域名匹配的主体。

功能增强

BZ#684789
在以前的版本中,CVS 服务器不会将客户端地址传递给可插拔验证模块(PAM)系统。因此,无法通过带有 PAM 系统的网络地址来区分客户端,系统无法使用客户端地址进行身份验证或授权目的。在这个版本中,客户端网络地址作为远程主机项(PAM_RHOST)传递给 PAM 子系统。另外,终端项目(PAM_TTY)被设置为 dummy 值 "cvs",因为有些 PAM 模块无法使用未设置的值。
建议 cvs 用户升级到这些更新的软件包,从而修复这个程序错误并添加此功能增强。

8.28. device-mapper-multipath

现在,Red Hat Enterprise Linux 6 提供了更新的 device-mapper-multipath 软件包,修复了几个程序错误并添加各种改进。
device-mapper-multipath 软件包提供了使用 device-mapper multipath 内核模块管理多路径设备的工具。

程序错误修复

BZ#975676
在 sysfs 函数中解引用前,设备映射器多路径(DM-Multipath)没有测试 NULL 值的指针。因此,如果在多路径设备中的路径被删除时,multipathd 守护进程可能会意外终止并出现分段错误。在这个版本中,DM-Multipath 在 sysfs 函数中执行 NULL pointer 检查,在上述场景中不再崩溃。
BZ#889429
在此次更新之前,multipathd 守护进程不会开始侦听 udev 事件(uevents),直到系统启动时发现的所有多路径路径都已配置。因此,multipathd 无法处理同时发现的路径。这个 bug 已被修复,multipathd 现在会在上述场景中处理所有路径。
BZ#889441
由于为 multipathd 错误地排序 udev 规则,在使用 initramfs udev 规则创建多路径设备时,不会为多路径路径设置链接优先级。因此,/dev/disk/by-uuid/<uuid> 符号链接指向多路径路径,而不是多路径设备。在某些情况下,这可能会导致引导问题。在这个版本中,multipathd udev 规则已被正确排序,因此上述符号链接可以按预期指向多路径设备。
BZ#902585, BZ#994277
在以前的版本中,DM-Multipath 没有为 sysfs "state" 属性分配足够空间。因此,当路径切换到 "transport-offline" 状态时,会触发缓冲区溢出,从而导致登录到系统日志。另外,DM-Multipath 无法正确处理 "quiesce" 状态的路径,这会导致不必要的路径失败。在这个版本中,DM-Multipath 分配足够的空间来存储 sysfs "state" 属性的所有有效值。"quiesce"状态的路径现在移到 "pending" 状态,这可防止路径失败。
BZ#928831
在以前的版本中,DM-Multipath 在设置前不验证内核是否支持 "retain_attached_hw_handler" mpath 目标功能。因此,设置了 "retain_attached_hw_handler" 的多路径设备无法在没有此功能支持的旧内核的机器上工作。有了这个更新,DM-Multipath 会在设置前检查内核是否支持 "retain_attached_hw_handler" 功能。多路径设备现在可以在使用较新版本的 DM-Multipath 的系统中正常工作。
BZ#995251
在某些设置中,如果目标控制器报告目标端口的非对称访问状态为"不可用",则冗余磁盘阵列控制器(RDAC)不会将路径标记为 down。因此,multipathd 守护进程会重复尝试将 I/O 发送到不可用的路径。这个 bug 已被修复,multipathd 不再将 I/O 发送到不可用的路径。
BZ#1011341
在以前的版本中,kpartx 工具在为 MS-DOS 分区表创建分区时不会考虑该设备的实际扇区大小,假设每个扇区的固定大小为 512 字节。因此,如果扇区大小为 4 KB 的设备使用了 MS-DOS 分区表,则 kpartx 创建了正确大小的 1/8 个分区。在这个版本中,kpartx 验证设备的扇区大小,并在设备使用 MS-DOS 分区表时计算正确的分区大小。
BZ#892292
当显示指定多路径设备的多路径拓扑时,DM-Multipath 不必要的获取所有配置的多路径设备的所有多路径路径的 WWID。因此,"multipath -l"命令需要比预期更长的时间完成,特别是在包含大量多路径设备的系统中。这个行为已被更改,当显示指定多路径设备的拓扑时,multipath 命令现在只获取属于这些设备的路径的 WWID。
BZ#974129
在设置 dev_loss_tmo 选项前,DM-Multipath 之前设置 fast_io_fail_tmo 配置选项。但是,一个 fast_io_fail_tmo 的新值不能大于或等于 dev_loss_tmo 的当前值。因此,因为上述限制,当增加选项和 sysfs 的值时,因为上述限制导致设置 fast_io_fail_tmo,即使 dev_loss_tmo 无法设置为新值。在这个版本中,如果 fast_io_fail_tmo 的新值太大,DM-Multipath 会将它设置为最高的有效值,即 dev_loss_tmo 减一的当前值。当同时设置时,fast_io_fail_tmo 和 dev_loss_tmo 选项会首先增加 dev_loss_tmo。
BZ#889987
当设置了 detect_prio 选项时,DM-Multipath 不会在设备上设置 AULA prioritizer 前验证存储设备是否支持非对称逻辑单元访问(AULA)。因此,如果设备不支持 AULA,multipathd 无法检测到路径的 AULA 优先级,并将错误消息提供给系统日志。这个程序错误已被解决,在存储设备上设置 AULA 优先级前,DM-Multipath 现在会验证是否使用 AULA 优先级设置路径。
BZ#875199
由于 NULL pointer dereference 错误,multipathd 在删除到多路径设备失败的路径时,multipathd 可能会以分段错误终止。在这个版本中,向代码添加了一个 NULL pointer 测试,防止 multipathd 在这个场景中失败。
BZ#904836
为 GUID 分区表(GPT)创建分区时,kpartx 工具不会考虑扇区大小超过 512 字节的设备的实际扇区大小。因此,kpartx 创建的分区与实际设备分区不匹配。在这个版本中,kpartx 可以正确地计算创建的分区的大小,以匹配存储设备的实际块大小。
BZ#918825
kpartx 工具没有正确释放为回送设备分配的文件描述符,从而导致文件描述符泄漏。在这个版本中修正了 kpartx 代码,kpartx 在释放回环设备后不再保留文件描述符。
BZ#958091
当 multipath 命令加载具有读/写权限的多路径设备映射时,多路径设备可能会被错误地设置为只读访问权限。这是因为 multipath 命令总是重新重新载入具有只读权限的映射表,即使失败没有被 EROFS 错误造成的。在这个版本中,只有在第一次负载尝试失败时,多路径才会正确重新载入具有只读权限的多路径设备,并显示 EROFS 错误。
BZ#986767
在以前的版本中,DM-Multipath 不会阻止将多路径设备创建到 tapdev 设备,因为意外的路径格式无法受到多路径 I/O 的影响。因此,如果在 tapdev 设备上创建多路径设备,multipathd 会在 tapdev 设备从系统中删除时终止。在这个版本中,tapdev 设备会被默认列入黑名单,这个问题将不再发生。

功能增强

BZ#947798
在这个版本中,在 /etc/multipath.conf 文件中添加了一个新的默认关键字 "reload_readwrite"。如果设置为 "yes",multipathd 会侦听路径更改事件,如果路径对目标存储有读写访问权限,multipathd 会重新加载它。这允许多路径设备在所有路径都有对存储进行读写访问权限时,自动授予读写权限,而不必手动干预。
BZ#916667
multipathd 守护进程现在包含目标 SCSI 存储设备的主号和次号,以及路径名称到路径的添加和删除消息的名称。这可以更好地将路径与特定多路径设备关联。
BZ#920448
为了保持多路径设备的命名一致性,DM-Multipath 现在设置最小的可用用户友好名称,即使 /etc/multipath/bindings 文件已被手动编辑。如果无法确定最小用户友好的名称,DM-Multipath 会保留之前的行为,并将多路径设备符号链接名称设置为下一个可用最大名称
BZ#924924
一个新的默认参数 "replace_wwid_whitespace" 已添加到 /etc/multipath.conf 文件中。如果设置为 "yes",则默认配置部分中的 scsi_id 命令返回 WWID,所有应用的 SCSI 设备都会以下划线替换。
建议 device-mapper-multipath 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.29. device-mapper-persistent-data

现在,Red Hat Enterprise Linux 6 提供了更新的 device-mapper-persistent-data 软件包,添加各种改进。
device-mapper-persistent-data 软件包提供设备映射器精简配置(thinp)工具。

错误修复

BZ#814790, BZ#960284, BZ#1006059, BZ#1019217
此功能增强更新为 Red Hat Enterprise Linux 6 中的 device-mapper-persistent-data 软件包添加了重要的精简配置工具(修复、rmap 和 metadata_size),以及缓存工具(检查、转储、恢复和修复)。
建议 device-mapper-persistent-data 用户升级到这些更新的软件包,这会添加这些改进。

8.30. dhcp

现在,Red Hat Enterprise Linux 6 提供了修复几个 bug 的 dhcp 软件包。
动态主机配置协议(DHCP)是一种协议,它允许 IP 网络上的单个设备获取自己的网络配置信息,包括 IP 地址、子网掩码和广播地址。dhcp 软件包提供所需的中继代理和 ISC DHCP 服务,以便在网络上启用和管理 DHCP。

程序错误修复

BZ#996518
在以前的版本中,在定义了别名接口和共享网络的 InfiniBand 网络接口卡(NIC)上启动时,dhcpd 守护进程或 dhclient 工具会意外终止并出现分段错误。因此,dhcpd 和 dhclient 无法与 InfiniBand NIC 的不同子网中的别名接口一起使用。现在,一个补丁已被用来解决这个问题,在这种场景中 dhcpd 和 dhclient 都不会崩溃。
BZ#902966
在此次更新之前,如果某些 IPv6 地址不在 range6 语句中 subnet6 声明的子网范围内,DHCPv6 服务器会错误地提供不是来自客户端的子网的地址。已修复 range6 语句解析代码,以检查其地址是否属于子网,其中声明了 range6 语句。在这个版本中,如果 range6 语句不正确,DHCPv6 服务器现在无法启动并带有错误消息。
BZ#863936
在以前的版本中,如果 dhcrelay 通过没有分配任何 IPv4 地址的接口接收数据包,DHCP4 转发代理(dhcrelay)会意外终止并出现分段错误。在这个版本中,dhcrelay 会检查接口是否在进一步处理接收的数据包前分配有地址,中继代理不再在此场景中崩溃。
BZ#952126
在以前的版本中,当来自 DHCPv6 客户端的 DHCPv6 请求时,DHCPv6 服务器会将回复发回到消息的源端口,而不是将其发送到 UDP 端口 546,这是 IPv6 的标准。因此,客户端会对不正确的端口获得回复。DHCPv6 服务器代码中的回复处理已被修复,服务器现在会向 UDP 端口 546 发送回复。
BZ#978420
在以前的版本中,当通过 Object Management API (OMAPI)操作对象时,dhcpd 守护进程管理的内存分配会错误地管理内存分配。因此,在 dhcpd 中发现几个内存泄漏。在这个版本中,内存分配管理已被修复,dhcpd 不再在此场景中泄漏内存。
BZ#658855
在此次更新之前,当 dhclient 实用程序获取包含"next-server"选项的租期时,dhclient 不会向 dhclient-script 环境公开该选项。因此,NetworkManager 无法使用 dhclient 租期中的"next-server"选项。这个 bug 已被修复,dhclient 现在可以正确地公开 "next-server" 选项,NetworkManager 可以使用 dhclient 租期中的选项。
BZ#919221
在以前的版本中,dhcpd 服务器无法正确处理包含两个或多个 key 语句的区域定义的解析。因此,dhcpd 返回有关内部不一致的错误消息。zone 语句解析代码已被修复;此场景中 dhcpd 报告的错误消息现在更为精确,表示区域有多个密钥定义。
BZ#1001742
在以前的版本中,当 dhclient 工具使用多个接口在 IPv6 下运行时,只有最后一个启动的实例被配置,而其他在 lease-time 过期后会丢失连接。因此,dhclient 的最后一个启动实例会接收所有 DHCPv6 数据包,而其他实例无法与服务器通信。在这个版本中,dhclient 绑定到指定的接口,多个 dhclient 实例会正确通信。
我们建议 dhcp 用户升级到这些更新的软件包,从而修复这些程序错误。

8.31. dovecot

现在,Red Hat Enterprise Linux 6 提供了修复一个程序错误的 dovecot 软件包。
Dovecot 是 Linux 和其他类似 UNIX 的系统的 IMAP 服务器,主要使用安全性编写。它还包含小型 POP3 服务器。它支持 maildir 或 mbox 格式的电子邮件。SQL 驱动程序和验证插件以子软件包的形式提供。

错误修复

BZ#1010279
由于 dovecot 的 SSL 参数生成器中有一个错误,因此在安装 dovecot 软件包时,启用了 FIPS 模式的 Red Hat Enterprise Linux 6 安装可能会变得无响应。这个问题已被解决,现在会在上述场景中成功完成安装。
建议 dovecot 用户升级到这些更新的软件包,从而解决了这个问题。

8.32. dracut

更新了 dracut 软件包,修复一个安全问题,几个程序错误并添加两个改进,现在 Red Hat Enterprise Linux 6 提供了两个改进。
红帽安全响应团队将此更新的安全影响级别定为具有中等安全影响。常见的漏洞评分系统(CVSS)基础分数提供了详细的严重性评级,适用于以下每个描述的 CVE 链接中的每个漏洞。
dracut 软件包包括基于 udev 设备管理器的事件驱动的 initramfs 生成器基础架构。虚拟文件系统 initramfs 在引导时与内核一起载入,并初始化系统,以便它可以从 root 分区中读取和引导。

安全修复

CVE-2012-4453
发现 dracut 创建的 initramfs 镜像为全局可读。本地用户可能会使用此缺陷从这些文件获取敏感信息,如 iSCSI 身份验证密码、加密的 root 文件系统 crypttab 密码或其他信息。
此问题由 Red Hat Installer 团队的 Choice Jones 发现。

程序错误修复

BZ#610462
在以前的版本中,mkinitrd 工具没有用户可以访问的 man page。在这个版本中,添加了 mkinitrd (8)手册页。
BZ#720684
在以前的版本中,dracut 工具没有使用 "--yes" 选项调用 "lvchange" 命令。因此,引导 LVM 快照时需要原始逻辑卷名称(rd_LVM_LV)的规格。在这个版本中,使用 "--yes" 选项调用 "lvchange",引导 LVM 快照现在更直观。
BZ#857048
在此次更新之前,dracut 工具会在不需要遵循每个重定向的情况下,将符号链接从系统复制到 initramfs。因此,initramfs 可能包含过时的符号链接,从而导致系统无法引导。这个程序错误已被解决。dracut 现在可以正确地复制符号链接重定向,initramfs 包含与实际系统相同的布局,在这种情况下不再会出现引导问题。
BZ#886194
在设置加密设备时,dracut 工具不会考虑 /etc/crypttab 文件的所有参数。因此,/etc/crypttab 中的选项和文件名在 initramfs 中无效。在这个版本中,在设置加密设备时,dracut 将选项和文件名传递给 cryptsetup 工具,现在可以正确地应用 /etc/cryppttab 中的选项和文件。
BZ#910605
在以前的版本中,dracut 工具需要在内核命令行中使用互联网小型计算机系统接口(iSCSI)引导。因此,在不需要网络配置的情况下,无法使用 iSCSI 引导。现在, dracut 会启动 iSCSI 服务,无论内核命令行中的网络配置参数是什么,且上面描述的问题不再发生。
BZ#912299
在以前的版本中,dracut 工具使用 grep 工具,而无需取消设置 "GREP_OPTIONS" 环境变量。因此,如果在调用 yum 或运行 dracut 时用户设置了 GREP_OPTIONS,grep 无法正常工作。在这个版本中,dracut 会取消设置这个变量的 GREP_OPTIONS,用户设置不会影响 dracut 的正确操作。
BZ#916144
在此次更新之前,多路径配置文件总是包含在 initramfs 中,即使 root 设备不是多路径设备。因此,在更改多路径配置时,管理员必须在重启前更新 initramfs。当 root 设备是多路径设备时,dracut 工具已被修复,仅在 root 设备是多路径设备时包括多路径配置。另外,管理员可以分割 initramfs 中使用的 root 设备的配置。目前,dracut 可以识别:
  • /etc/multipath-root.conf
  • /etc/multipath-root/*
  • /etc/xdrdevices-root.conf
这些文件将在 initramfs 中使用,如下所示:
  • /etc/multipath.conf
  • /etc/multipath/*
  • /etc/xdrdevices.conf
如果管理员不希望复制整个配置,则 initramfs 中只能包含 root 设备的特定多路径配置。
BZ#947729
在以前的版本中,当在实时镜像中使用内核的 Red Hat Enterprise Virtualization Hypervisor 打包时,在初始引导过程中需要验证的内核的路径无法正常工作。因此,联邦信息处理标准(FIPS)模式的内核的校验和测试会失败,系统没有引导。在这个版本中,dracut-fips 模块还在不同的路径中查找内核镜像,并使用 initramfs 中的校验和文件检查这些路径。因此,使用 FIPS 模式引导安装现在会检查正确的内核镜像,如果校验和正确,系统将继续以 FIPS 模式引导。
BZ#960729
dracut 工具没有将 xhci-hcd 内核模块包含在 initramfs 镜像中。因此,内核无法识别早期引导阶段中的 USB 3.0 设备,并且无法从 USB 3.0 磁盘挂载 root 文件 ystem。在这个版本中,dracut 在 initramfs 中包含 xhci-hcd 驱动程序,系统可以从 USB 3.0 磁盘引导。
BZ#1011508
在以前的版本中,如果内核命令行上没有指定 "biosdevname=1" 参数,则 dracut 实用程序在所有机器上禁用 biosdevname 网络接口重命名。因此,在 Dell 计算机上,initramfs 中使用的接口没有自动 biosdevname 名称,即使 biosdevname 接口稍后在引导过程中处于活跃状态。在这个版本中,如果参数设置为 "0",则 dracut 只会禁用 biosdevname。对于非 Dell 机器,biosdevname 现在仅在内核命令行上指定了 "biosdevname=1" 时重命名接口,Dell 计算机在 initramfs 中具有名为 interfaces 的 biosdevname。
BZ#1012316
在以前的版本中,在 10GBaseT Twin Pond 适配器上激活光纤通道(FcoE)所需的时间太长。因此,在等待链接上线的过程中 dracut timed out 调用的 fipvlan 工具会失败。在这个版本中,使用参数调用 fipvlan,以等待 30 秒以便链接启动,问题不再发生。
BZ#1018377
在以前的版本中,当 dracut 工具运行 ldd 工具时,ldd 会将其输出转发到 cat 工具,以使用 cat 的 SELinux 权限来显示输出。因此,如果 ldd 将输出转发到 cat,并且 cat 会进一步转发输出,并且管道读取器提前退出,cat 会收到"EPIPE"信号,并将其报告给标准错误输出。在这个版本中,dracut 将 ldd 调用的标准错误重定向到 /dev/null 文件,在这种情况下会隐藏 cat 的错误消息。

功能增强

BZ#851666
dracut 工具现在支持在 initramfs 中绑定网络接口。可使用以下格式在内核命令行中指定绑定参数:
bond=<bondname>[:<bondslaves>:[:<options>]]
这会在 <bondslaves> 之上设置 <bondname> 绑定设备。如需更多信息,请运行 "modinfo bonding" 命令。
BZ#1012626
美国国家标准与技术研究院(NIST)现在要求将 FIPS 模块定义为加密系统。因此,当安装了 dracut-fips rpm 软件包时,这个更新会添加 /etc/system-fips 文件标记。它为 FIPS 产品提供了一个稳定的文件位置,供库和应用程序使用。
我们建议所有 dracut 用户升级到这些更新的软件包,其中包含向后移植的补丁来更正这些问题并添加这些改进。
更新了 dracut 软件包,修复两个 bug 现在可用于 Red Hat Enterprise Linux 6。
dracut 软件包包括基于 udev 设备管理器的事件驱动的 initramfs 生成器基础架构。虚拟文件系统 initramfs 在引导时与内核一起载入,并初始化系统,以便它可以从 root 分区中读取和引导。

程序错误修复

BZ#1029844
在 FIPS 模式中,只有在 /etc/system-fips 文件存在时才进行二进制文件的自我检查。在此次更新之前,dracut 工具不会复制初始 ram 文件系统(initramfs)中的 /etc/system-fips 文件和一些校验和文件。因此,对解密分区所需的工具进行自我检查没有完成,工具会意外终止。这个 bug 已被修复,dracut 现在复制 initramfs 中所有需要的文件,带有加密磁盘的系统现在可以在 FIPS 模式中成功引导。
BZ#1029846
当在 live ISO 镜像中以 FIPS 模式引导时,dracut 会在错误的地方搜索内核镜像的校验和文件。因此,引导过程会失败。在这个版本中,校验和文件的路径已被修正,实时 ISO 镜像现在可以按预期以 FIPS 模式引导。
建议 dracut 用户升级到这些更新的软件包,从而修复这些程序错误。

8.33. e2fsprogs

更新了 e2fsprogs 软件包,修复几个程序错误可用于 Red Hat Enterprise Linux 6。
e2fsprogs 软件包提供了很多实用程序,用于创建、检查、修改和更正 ext2 文件系统中任何不一致的工具。

程序错误修复

BZ#922847
在以前的版本中,e2fsck 工具无法检测与扩展树中重叠的 interior或叶节点相关的不一致。因此,一些 ext4 扩展树损坏不会被 e2fsck 检测或修复,但内核在运行时检测到它们。在这个版本中,e2fsck 能够按预期检测和修复上述问题。
BZ#994615
在以前的版本中,e2fsck 工具错误地检测到未初始化的文件结束(EOF)无效。因此,e2fsck 将预先分配的块标识掉了 EOF。现在,e2fsck 已被解决,e2fsck 可以正确地识别未初始化的扩展。
BZ#873201
resize2fs 工具无法正确处理 ext4 文件系统的大小调整到较小的大小。因此,如果在调整大小过程中移动包含许多扩展的文件,则它们可能会被破坏。在这个版本中,当移动包含多个扩展的文件时,resize2fs 会维护一个一致的扩展树,在上述场景中,这些文件不再被破坏。
BZ#974975
在以前的版本中,当将 ext4 文件系统大小调整为较小的大小时,resize2fs 工具无法正确重新定位内节点和块位映射。因此,当位映射没有在新文件系统大小中移动位时,一些文件系统会被破坏。现在,提供了一个补丁来解决这个程序错误,resize2fs 现在会在上述场景中维护一致的文件系统。
BZ#885083
在以前的版本中,e2fsck 工具无法正确存储有关文件系统错误的信息。因此,日志中的条目有时无法正确传播到文件系统超级块。这个程序错误已被解决,e2fsck 现在可以按预期处理所有文件系统错误。
BZ#895679
在以前的版本中,在处理 ext4 文件系统时,e2fsck 工具不会清除错误日志。因此,e2fsck 在 ext4 文件系统超级块中存储了详细的错误信息,并在挂载时定期返回它。在这个版本中,e2fsck 完成后会清除错误日志,不再返回冗余错误消息。
BZ#927541
在此次更新之前,filefrag 工具偶尔会报告不正确的扩展计数。现在,一个补丁已被用来解决这个问题,扩展可以被正确计算。
建议 e2fsprogs 用户升级到这些更新的软件包,从而修复这些 bug。

8.34. efibootmgr

针对 Red Hat Enterprise Linux 6 提供了更新的 efibootmgr 软件包,它修复了一个程序错误。
efibootmgr 工具负责在统一可扩展固件接口(UEFI)系统上安装引导装载程序。

错误修复

BZ#924892
在以前的版本中,当将无效的值传递给 "efibootmgr -o" 命令时,命令无法识别问题,并将不正确的值传递给其他功能。这可能会导致几个复杂情况(如命令变得无响应)。在这个版本中,efibootmgr 已被修改为测试无效输入。因此,上面提到的场景中会显示错误消息。
建议 efibootmgr 用户升级到这些更新的软件包,从而解决了这个问题。

8.35. emacs

在这个版本中,Red Hat Enterprise Linux 6 提供了修复一个程序错误的 emacs 软件包。
GNU Emacs 是一个功能强大、可自定义的自文档文本编辑器。它提供特殊代码编辑功能、脚本语言(elisp)以及阅读电子邮件和新闻的功能。

错误修复

BZ#678225
Lucida Typewriter 和 Lucida Console fonts 不适用于 Red Hat Enterprise Linux 6 中的 Emacs 23.1。因此,Messages buffer: "set-face-attribute: Font not available" 中会显示以下出错信息。在这个版本中,在这种情况下不会显示任何错误消息,所选的字体可用于显示缓冲区内容。
建议 emacs 用户升级到这些更新的软件包,从而解决了这个问题。

8.36. environment-modules

Red Hat Enterprise Linux 6 现在提供了几个程序错误修复的 environment-modules 软件包。
environment-modules 软件包使用 modulefiles 为用户环境提供动态修改。每个 modulefile 都包含为应用程序配置 shell 所需的信息。初始化软件包后,可使用解释模块文件的模块命令,逐个模块修改环境。

程序错误修复

BZ#918540
更新 environment-modules 软件包时,对 /usr/share/Modules/init/.modulespath 配置文件的更改会被升级静默替换。该文件现在在 spec 文件中设置标记为 %config (noreplace),因此会在更新之间保留。
BZ#929007
csh 和 tcsh 的环境变量使用 "test" 命令,而不指定 PATH 变量。这可能会导致意外行为作为名为"test"的用户二进制文件被运行。在这个版本中,通过完整路径调用"test"二进制文件。不再通过调用随机测试二进制文件导致的错误。
BZ#953198
更新 environment-modules 软件包时,不会保留 /etc/profile.d 中环境脚本的更改。在这个版本中,这些脚本已标记为配置脚本,因此在更新之间会保留它们。
建议所有 environment-modules 用户升级到这些更新的软件包,从而修复这些程序错误。

8.37. esc

现在,Red Hat Enterprise Linux 6 提供了修复几个 bug 的 esc 软件包。
esc 软件包包含智能卡管理器 GUI,允许用户管理安全智能卡。工具的主要功能是注册智能卡,以便它们可用于常见的加密操作,如安全电子邮件和网站访问。

程序错误修复

BZ#920826
当系统上安装了 XULRunner 运行时环境的最新 17 系列版本时,ESC 工具不会启动。这个版本包括必要的更改,以确保 ESC 与 XULRunner 的最新版本正常工作。
BZ#961582
ESC 工具可以手动启动,或者在插入卡时自动启动。在以前的版本中,当 ESC 自动启动时,会创建 ~/.redhat/ 目录,并使用读、写和执行权限授予。但是,此目录中的一些文件具有读写权限。这个更新解决了这个不一致的问题,现在在上述场景中正确设置了权限。
BZ#981156
由于 esc.desktop 文件中的一个错误,错误消息已记录在 /var/log/messages/ 目录中。这个版本应用补丁来修复这个错误,不再返回错误消息。
建议 esc 用户升级到这些更新的软件包,从而修复这些程序错误。

8.38. evolution

现在,Red Hat Enterprise Linux 6 提供了修复一个安全问题、几个程序错误和添加各种改进的演进软件包。
红帽安全响应团队将更新的安全影响级别较低。以下每个描述的 CVE 链接中每个漏洞的 CVE 链接中提供了通用漏洞评分系统(CVSS)基础分数。
evolution 是用于 GNOME 桌面环境的电子邮件、日历、联系人管理、通信和个人信息管理(PIM)工具的集成集合。

安全修复

CVE-2013-4166
在加密电子邮件时 Evolution 选择 GnuPG 公钥的方式中发现了一个安全漏洞。这可能会导致电子邮件使用属于预期收件人之外的公钥加密。
升级到上游版本
Evolution 软件包已升级到上游版本 2.32.3,它提供很多程序错误修复和增强。这些更改包括 Gnome XDG Config Folders 实施,并支持 Exchange Web 服务(EWS)协议以连接到 Microsoft Exchange Server。EWS 支持已被添加为 evolution-exchange 软件包的一部分。(BZ#883010, BZ ISSUE883014, BZ#883015, BZ""883017, BZ#524917, BZ""524921, BZ#883044)
gtkhtml3 软件包已升级到上游版本 2.32.2,它提供很多程序错误修复和增强。(BZ#883019)
libgdata 软件包已升级到上游版本 0.6.4,它提供很多程序错误修复和增强。(BZ#883032)

错误修复

BZ#665967
使用 Microsoft Exchange 2010 服务器时,A Exchange Calendar 无法获取"Free"和"Busy"信息,因此无法显示这些信息。这是因为 Microsoft Exchange 2010 服务器对"Free"和"Busy"信息获取使用更严格的规则。在这个版本中,openchange 软件包中相应的代码已被修改,因此 "Free" 和 "Busy" 信息现在与 Microsoft Exchange 2010 服务器上的获取规则相关。现在,在 Exchange Calendar 中现在可以按预期显示"Free"和"Busy"信息。
我们建议所有 Evolution 用户升级到这些更新的软件包,其中包含向后移植补丁以更正这些问题并添加这些改进。所有正在运行的 Evolution 实例都必须重启,才能使此更新生效。

8.39. fcoe-target-utils

针对 Red Hat Enterprise Linux 6 现在提供了几个程序错误的 fcoe-target-utils 软件包。
fcoe-target-utils 软件包包含一个命令行界面,用于配置 FCoE LUN (以太网逻辑单元号光纤通道)和后端存储。

程序错误修复

BZ#854708
由于将设备标记为 in-use 的错误,尝试映射之前映射的块后备存储将失败。在这个版本中,块后备存储的映射会被正确发布,重新映射块设备现在可以成功。
BZ#880542
在以前的版本中,当 fcoe-target 守护进程停止时,内核会意外终止。已提供了一个补丁来修复这个程序错误,内核现在不再崩溃。
BZ#882121
在以前的版本中,目标会错误地报告对序列级别错误恢复的支持。因此,中断 FCoE 目标和 bnx2fc initiator 之间的连接可能会导致启动器错误执行序列级错误恢复,而不是交换级别错误,从而导致附加到目标的所有设备失败。这个程序错误已被解决,与 bnx2fc 启动器的连接现在可以在不影响其它设备的情况下中断。
BZ#912210
在此次更新之前,python-rtslib 库中存在错误。因此,当在 targetcli 实用程序中创建 pscsi (SCSI 透传)存储对象时,python-rtslib 会返回回溯。库中的错误已被修复,pscsi 存储对象现已创建且无错误。
BZ#999902
由于 fcoe-target-utils 软件包需要 fcoe-utils 命令行界面,且 s390x 架构不支持,fcoe-target-utils 无法在 s390x 上正常工作,因此已被删除。
建议 fcoe-target-utils 用户升级到这些更新的软件包,从而修复这些 bug。

8.40. fcoe-utils

针对 Red Hat Enterprise Linux 6 提供了更新的 fcoe-utils、libhbalinux、libhbaapi 和 lldpad 软件包。
fcoe-utils 软件包通过以太网(FCoE)工具提供光纤通道(FCoE)工具,如 fcoeadm 命令行工具来配置 FCoE 接口,以及 fcoemon 服务来配置 DCB 以太网 QOS 过滤器。
升级到上游版本
libhbalinux 软件包包含主机总线适配器 API (HBAAPI)厂商库,它使用标准内核接口获取系统中光纤通道主机总线(FC HBA)的信息。
libhbaapi 库是 Fibre Channel 和 Storage Area Network (SAN)资源的 Host Bus Adapter (HBA) API 库。它包含一个统一的 API,可供编程人员用于访问、查询、观察和修改 SAN 和光纤通道服务。
lldpad 软件包为带有增强以太网支持的 Intel 链路层发现协议(LLDP)代理提供了一个用户空间守护进程和配置工具。
fcoe-utils 软件包已升级到上游版本 1.0.28,它提供很多程序错误修复和增强,包括支持虚拟 N_Port 到虚拟 N_Port (VN2VN)协议。此外,fcoeadm 工具现在支持列出光纤通道转发器(FCF)和链接错误状态块(LESB)统计信息,还支持 fcoe_sysfs 内核接口。此外,本 rebase 中还包括文档更新、新网站、邮件列表和各种小的程序错误修复。(BZ#829793, BZ#829797)
libhbalinux 软件包已升级到上游版本 1.0.16,它提供很多程序错误修复和增强。另外,文档已被更新,现在可将用户定向到新的邮件列表。(BZ#829810)
libhbaapi 软件包已升级到上游版本 2.2.9,它提供很多改进。另外,文档已被更新,现在可将用户定向到新的邮件列表。(BZ#829815)
lldpad 软件包已升级到上游版本 0.9.46,它提供很多程序错误修复和增强,包括 802.1Qbg 边缘虚拟桥接(EVB)模块支持。另外,FCoE 初始化协议(FIP)应用程序类型长度值(TLV)解析支持有助于使用内存不足终止程序、手册页和文档增强功能。(BZ#829816, BZ#893684)

错误修复

BZ#903099
由于内核中存在一个错误,在使用 ixbge 适配器时销毁 N_Port ID Virtualization (NPIV)端口,fcoe 服务初始化脚本可能会在关闭时变得无响应。已应用初始化脚本补丁来首先销毁关联的虚拟端口,在上述场景中 fcoe 服务不再挂起。

功能增强

BZ#981062
readme 文件已更新,请注意,在 Red Hat Enterprise Linux 6 的默认安装中启用了文件系统自动挂载功能。
建议 fcoe-utils、libhbalinux、libhbaapi 和 lldpad 升级至这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.41. febootstrap

针对 Red Hat Enterprise Linux 6 提供了修复一个程序错误的 febootstrap 软件包。
libguestfs 使用 febootstrap 软件包来构建小设备。
升级到上游版本
febootstrap 软件包已升级到上游版本 3.21,它比之前的版本提供了一个程序错误修复。

错误修复

BZ#902478
在以前的版本中,当使用带有 "-g" 选项的 febootstrap-supermin-helper 时,命令无法正确设置补充组。因此,运行 libguestfs 的用户中的一些组会泄漏到设备构建过程中。在这个版本中,补充组会被正确设置。
建议 febootstrap 用户升级到这些更新的软件包,从而解决了这个问题。

8.42. fence-agents

现在,Red Hat Enterprise Linux 6 提供了更新的 fence-agents 软件包,修复了几个程序错误并添加一个增强。
红帽 fence-agents 是处理集群设备的远程电源管理的脚本集合。它们允许失败的节点或无法访问的节点被强制重启并从集群中移除。

程序错误修复

BZ#872308
在以前的版本中,隔离代理文档没有提到如何将 fence_ipmilan 代理用于隔离设备 HP iLO 3。在这个版本中,在 fence_ipmilan (8)手册页中添加了此信息。
BZ#896603
在以前的版本中,隔离代理 fence_cisco_ucs 没有遵循 "delay" 属性。这个程序错误已被解决,fence_cisco_ucs 会如预期等待适当的时间。
BZ#978325
在以前的版本中,隔离代理 fence_cisco_ucs 在登录过程中没有正确使用超时,这可能会对成功登录的影响。在这个版本中,这个超时会被正确设置,用户可以通过标准配置方法自定义。
BZ#978326
在以前的版本中,当主机名无法解析为 IP 地址时,隔离代理 fence_cisco_ucs 会失败,并显示回溯错误。在这个版本中,fence_cisco_ucs 使用适当的错误消息退出。
BZ#978328
在以前的版本中,隔离代理 fence_scsi 没有为 pacemaker "unfence" 操作提供正确的元数据。在这个版本中,"unfence"操作只能在本地节点上运行。
BZ#912773, BZ#994186
在以前的版本中,隔离代理 fence_scsi 不遵循 "delay" 属性。这个程序错误已被解决,fence_scsi 现在会等待适当的时间。因此,2 节点集群中的节点无法再相互隔离。
BZ#959490
在以前的版本中,当使用带有 "-ssh" 选项的 fence_bladecenter 代理时,隔离代理还需要 "--password" 或 "--identity-file" 选项。但是,这个行为没有被记录。因此,当只使用带有 "--ssh" 选项的 fence_bladecenter 时,fence_bladecenter 会失败,并显示太通用的错误消息。这个 bug 已被修复,如果 fence_bladecenter 无法连接,则会显示更具体的错误消息。
BZ#887349
在以前的版本中,fence_scsi (8)手册页没有提到 fence_scsi 正常工作所需的"unfence"操作。在这个版本中,在集群环境中有关"unfence"信息的注释已添加到 fence_scsi (8)手册页中。
BZ#902404
在以前的版本中,当使用 fence_soap_vmware 隔离代理隔离 Red Hat Enterprise Linux 集群节点时,如果无法解析 IP 地址的主机名,代理会意外终止。在这个版本中,描述的场景中会显示正确的错误消息。
BZ#905478
由于在 SSH 连接过程中对换行符的检测不正确,因此 fence_drac5 代理可以在隔离 Red Hat Enterprise Linux 集群节点时通过回溯终止连接。只有第一个隔离操作成功完成,但节点的状态没有正确检查。因此,隔离代理无法报告成功隔离。当"重新引导"操作被调用时,该节点只会关闭。在这个版本中,会正确检测到换行符,隔离可以正常工作。
BZ#981086
在以前的版本中,fence_ipmilan "lanplus" 选项的描述不完整。这个版本提高了"lanplus"选项的描述,并包括了对其对安全性的影响的信息。
BZ#1014000
在以前的版本中,VMware 隔离代理使用一个不安全的临时目录,本地攻击者可以利用这个目录覆盖运行隔离代理的任意本地文件。这个版本删除了对 python-suds 库的依赖,它容易受到符号链接攻击(CVE-2013-2217)的影响,VMware 隔离代理现在使用 mkdtemp 创建唯一的临时目录。

功能增强

BZ#870269
在以前的版本中,HP Integrated Lights-Out (iLO) 4 隔离设备的用户必须使用 fence_ipmilan 隔离代理。在这个版本中,增加了对 fence-agents 软件包的 iLO 隔离设备的支持。
BZ#886614
这个版本添加了对 APC 电源交换机版本 5 的固件支持。在这个版本中,还添加了对隔离代理命令行界面的更改。
建议 fence-agents 用户升级到这些更新的软件包,从而修复这些 bug 并添加此功能增强。

8.43. fence-virt

针对 Red Hat Enterprise Linux 6 提供了更新的 fence-virt 软件包,修复两个程序错误。
fence-virt 软件包为虚拟机和主机代理提供隔离代理,这些代理处理隔离请求。

程序错误修复

BZ#883588
fence_virt (8)和 fence_xvm (8)手册页对应的 gzip 文件之前为每个人使用可执行权限创建,这不正确。这个问题已被解决,现在可以使用 644 权限正确创建这些文件。
BZ#903172
fence_virt 隔离代理中的一个错误可能会导致代理无法列出由 fence_virtd 守护进程在虚拟接口中使用串行频道隔离的虚拟机。当在集群节点上启动 fence_virtd 守护进程后,虚拟机已启动或实时迁移时会出现这种情况。这个 bug 已被修复,fence_virt 现在在此场景中按预期列出虚拟机。
建议 fence-virt 用户升级到这些更新的软件包,从而修复这些程序错误。在应用此更新前,请确保所有之前发布的与您的系统相关的勘误都已应用。

8.44. firstboot

现在,Red Hat Enterprise Linux 6 提供了修复一个 bug 的 firstboot 软件包。
firstboot 工具在系统安装后运行,并指导用户完成一系列有助于更轻松地配置机器的步骤。

错误修复

BZ#876018
处理对两键对话框的响应的代码提示用户单击其中一个按钮。在点关闭按钮或按 Escape 键后,响应被忽略,安装后过程也会继续同意 Red Hat Enterprise Linux 6 中的最终用户许可协议(EULA)。在这个版本中,代码已被修改来关闭对话框并保留在底层屏幕上。因此,点关闭按钮或按 Escape 键可以正常工作。
建议 firstboot 用户升级到这些更新的软件包,从而解决了这个问题。

8.45. foomatic

现在,Red Hat Enterprise Linux 6 提供了修复两个程序错误的 foomatic 软件包。
foomatic 是打印机、打印机驱动程序和驱动程序描述的全面、独立于假的数据库。软件包还包括独立于 spooler 的命令行界面来操作队列,以及打印文件和操作打印作业。foomatic-rip 是用 C 编写的打印过滤器。

程序错误修复

BZ#661770
由于 RPM 软件包 spec 文件对于 Perl 文件有不正确的位置,因此无法重新构建 foomatic 软件包。安装位置已被修复,现在可以重新构建软件包。
BZ#726385
在某些情况下,foomatic-rip CUPS 过滤器可能会失败,从而导致打印作业将原始数据传递给打印机,而不会正确过滤。这是因为在日志记录功能中缺少参数导致。这个编程错误已被修正,在上述场景中 foomatic-rip 现在可以正常工作。
建议 foomatic 用户升级到这些更新的软件包,从而修复这些程序错误。

8.46. fprintd

现在,Red Hat Enterprise Linux 6 提供了修复一个程序错误的 fprintd 软件包。
fprintd 软件包包含一个 D-Bus 服务,用于访问指纹读取器。

错误修复

BZ#1003940
当可插拔验证模块(PAM)配置包含 pam_fprintd 模块时,PAM 会使用 glib2 功能,其中执行 dlclose ()函数来卸载 glib2 库。但是,此方法不适用于多线程应用程序。当进行 PAM 操作时,Red Hat Enterprise Linux 6 上的目录服务器在关闭阶段意外终止,因为它试图卸载 glib2 destructor,之前已由 fprintd 服务卸载。这个版本应用了补丁来修复这个程序错误,以便在 pam_fprintd 关闭时 fprintd 不再卸载 glib2。因此,在目录服务器关闭时,glib2 库会被卸载,因此服务器会正常关闭。
建议 fprintd 用户升级到这些更新的软件包,从而解决了这个问题。

8.47. freeipmi

现在,Red Hat Enterprise Linux 6 提供了修复几个程序错误并添加了各种改进的 freeipmi 软件包。
FreeIPMI 项目根据智能平台管理接口规范提供"远程控制台" (带外)和"系统管理软件" (带外设)。
升级到上游版本
freeipmi 软件包已升级到上游版本 1.2.1,它提供很多程序错误修复和增强。此外,这个 rebase 增加了 ipmiseld 守护进程和子软件包,以及 Serial Over Lan (SOL)命令处理。这个更新还为识别远程密码配置的配置文件提供了更安全的权限。(BZ#951700)

程序错误修复

BZ#616846, BZ#715605
在此次更新之前,ipmidetectd 守护进程没有完全验证输入命令行参数。因此,在解析无效的命令行选项时,ipmidetectd 会意外终止并出现分段错误。在这个版本中,ipmidetectd 验证命令行输入,因此不再会崩溃。
BZ#818168
在以前的版本中,bmc-watchdog 守护进程没有创建 PID 文件,且不会将 PID 号写入文件中。因此,根据缺少的 PID 值的工具无法正常工作。这个程序错误已被解决,PID 号现在存储在创建的 PID 文件中,上面描述的问题不再发生。
建议 freeipmi 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.48. ftp

现在,Red Hat Enterprise Linux 6 提供了修复一个程序错误的 ftp 软件包。
ftp 软件包提供标准 UNIX 命令行文件传输协议(FTP)客户端。FTP 是一个广泛使用的协议,用于通过互联网传输文件,以及用于归档文件。

错误修复

BZ#861113
在此次更新之前,当从具有提升权限的 shell 使用 FTP 客户端(通过 su 或 sudo 实用程序)时,它会错误地假设 UID 来自原始登录,而不是启动客户端的用户。因此,本地主目录不正确。在这个版本中,底层代码已被修改,以使用 getpwuid (3)实用程序函数调用正确获取登录凭证。现在,本地主目录会根据运行客户端的用户设置。
建议所有 FTP 用户升级到这些更新的软件包,从而解决了这个问题。

8.49. gcc

现在,Red Hat Enterprise Linux 6 提供了修复几个程序错误并添加一个改进的 gcc 软件包。
gcc 软件包为 C、C++、Java、Intran、目标 C 和 Ada 95 GNU 以及相关的支持库提供编译器。

程序错误修复

BZ#906234
由于用于读取令牌的小型本地缓冲区,因此 GCC (GNU Compiler Collection)可能会在程序中读取异常时触发堆栈保护器。缓冲区已被放大,因此可以在不损害内存的情况下读取死令牌。
BZ#921758
在以前的版本中,当编译包含带有 "va_list" member 字段的 C++ 代码时,GCC 可能会意外终止。此类结构的初始化已被修复,GCC 不再在此类代码中崩溃。
BZ#959564
在此次更新之前,当为带有 "__attribute__((ms_abi)) " 注解的函数取消回卷堆栈时,libgcc 工具可能会意外终止。这个程序错误已通过忽略未知列号的 unwind 数据来解决,libgcc 不再崩溃。
BZ#967003
在以前的版本中,当处理 debug 语句时,GCC 可能会意外终止。这个程序错误已通过删除绑定到此类 debug 语句中的变量的值来解决,GCC 在上述场景中不再崩溃。

功能增强

BZ#908025
GCC 现在支持内联 assembler 代码内带有大括号和竖线的字符串。也就是说,'{', '}', 和 '|' 现在可以以 '%' 符号作为前缀。在这种情况下,它们不会被处理为 dialect delimiters,而是直接传递给 assembler。
建议 gcc 用户升级到这些更新的软件包,从而修复这些 bug 并添加此功能增强。

8.50. gdm

针对 Red Hat Enterprise Linux 6 提供了修复几个程序错误的 gdm 软件包。
GNOME 显示管理器(GDM)提供图形登录屏幕,在启动、注销和用户切换后不久显示。

程序错误修复

BZ#712959
当设置了 KDE 显示管理器(KDM)作为默认的显示管理器时,使用安装的 GNOME 登录到系统有时可能会导致 user-switch applet 中止。因此,除非重新载入 applet,否则无法切换用户。底层代码已被修改,以防止对多队列的负载进行干扰,因此用户交换小程序现在在此场景中可以更加灵活地崩溃。
BZ#759174
GDM 之前没有将 X 显示管理器控制协议(XDMCP)间接查询转发到适当机器的正确端口。因此,GDM 主机选择器无法正常工作,XDMCP 连接无法建立。在这个版本中,当重定向 XCDMCP 查询和 XDMCP 连接时,GDM 现在会使用正确的端口。
BZ#785775, BZ#865832
在以前的版本中,GDMG 会在短时间内显示登录信息,以便有些用户无法读取信息。在这个版本中,增加了时间段的持续时间,这是在登录时显示的消息至少为 3 秒。
BZ#795920
在读取"/var/cache/gdm/$USERNAME/"目录中 drmc 文件的缓存副本前,GDM 之前没有参考"~/.dmrc"文件的内容。在使用网络挂载的主目录的环境中,此行为可能会导致用户环境设置不正确或不一致,如默认的图形桌面会话或语言。这是因为在修改 "~/.dmrc" 文件前,对用户登录和注销的机器没有影响。在这个版本中,GDM 在 "/var/cache/gdm/$USERNAME/dmrc" 前读取 "~/.dmrc",以便对用户环境配置的更新可以生效。
BZ#818074
当用户切换到已活跃的会话时,GDMG 会尝试清理临时内部资源两次。这会导致在系统日志中记录假的错误消息。底层代码已被修复,GDM 现在可以正确清理这些资源。
BZ#844004
当 PreSession shell 脚本失败时,用户应该拒绝登录系统。GDM 以前会忽略 PreSession 失败,以便用户可以进入未授权的登录系统。在这个版本中修正了此行为,GDM 现在会在 PreSession 脚本失败时失败。
BZ#861114
GDM 根据身份验证消息的长度调整了登录窗口的宽度。如果身份验证消息很长,登录窗口变得不合理,因此显示文本在可见的屏幕中。在这个版本中,长验证信息会自动嵌套,登录窗口会保留预期大小,信息会被正确显示。
BZ#874202
当用户从系统注销或切换运行级别时,gdm-smartcard-worker 扩展会意外终止,并显示分段错误。这个版本修改了 GDM 以确保 gdm-smartcard-worker 正常关闭。
BZ#874707
GDM 默认问候语没有以规范形式设置 LANG 环境变量。因此,在混合环境部署中,如包含 Mac OS X 机器的网络,非 Linux 系统无法正确识别 LANG 编码。在这个版本中,GDM 设置环境变量采用规范形式。
BZ#953552
如果系统在没有智能卡支持的情况下启动,则 gdm-smartcard-worker 扩展会意外终止,并在启动时出现分段错误。gdm-smartcard-worker 中的相应代码已被修改,因此这个 GDM 扩展不再会在这种情况下崩溃。
BZ#977560
当使用设置了 "disable_user_list=True" 选项的智能卡身份验证方法时,输入不正确的 PIN 禁用了所有进一步的智能卡登录,直到用户使用不同的验证方法成功登录为止。在这个版本中,可以正确地重置对话框窗口,并允许用户重复智能卡验证尝试。
BZ#1006947
当在 IBM S/390 系统中引导到运行级别 5 时,GDMG 会发出一个警告消息,提示无法启动 X 服务器,这没有损害,但可能会导致用户造成混淆。底层 GDM 代码已被修改,不再试图在 IBM S/390 系统上启动 X 服务器,信息不再记录到系统日志中。
建议 gdm 用户升级到这些更新的软件包,从而修复这些程序错误。必须重启 GDM 才能使此更新生效。重新引导可实现此目的,但将运行级别从 5 更改为 3,然后重新更改为 5 也会重新启动 GDM。

8.51. gegl

现在,Red Hat Enterprise Linux 6 提供了修复一个程序错误的 gegl 软件包。
GEGL (Generic Graphics Library)是一个基于图形的镜像处理框架。

错误修复

BZ#620378
文档文件已安装可执行文件。因此,由于配置,测试工具会失败。要修复这个程序错误,可执行位已从文档文件和测试工具中删除,在上述场景中可以正常工作。
建议 gegl 用户升级到这些更新的软件包,从而解决了这个问题。

8.52. ghostscript

现在,Red Hat Enterprise Linux 6 提供了修复几个程序错误的 ghostscript 软件包。
Ghostscript 套件包含呈现Script 和 PDF 文档的实用程序。ghostscript 将 PostScript 代码转换为常见、位图格式,以便可以显示或打印代码。

程序错误修复

BZ#893775
由于复制 CID-keyed Type 2 字体的功能中有一个错误,因此文档转换有时会导致 ps2pdf 实用程序意外终止并出现分段错误。已提供了一个补丁来解决这个问题,以便函数现在可以正确复制字体,ps2pdf 在转换文档时不再崩溃。
BZ#916162
由于 JBIG2 编码区域的 TPGDON 选项不支持,一些 PDF 文件没有正确显示。现在,提供了一个补丁来添加此支持,以便使用 TPGDON 选项的 PDF 文件现在可以正确显示。
BZ#1006165
在以前的版本中,一些带有 incomplete ASCII base-85 编码镜像的 PDF 文件会导致 ghostscript 工具终止并显示以下错误:
ID 中的 /SyntaxError
当镜像以 "~" (tilde)结尾而不是 "~>" (tilde, right angle bracket)结尾时,会出现这个问题。虽然这是不正确的编码,但应用了上游补丁,但 ghostscript 现在处理这些 PDF 文件且无错误。
建议 ghostscript 用户升级到这些更新的软件包,从而修复这些 bug。

8.53. glib2

Red Hat Enterprise Linux 6 现在提供了修复几个程序错误并添加各种改进的 glib2 软件包。
glib 是一个低级核心库,它组成了 GTK+ 和 GNOME 等项目的基础。它为 C、可移植性打包程序和此类运行时功能的接口提供数据结构处理,如事件循环、线程、动态加载和对象系统。
升级到上游版本
glib2 软件包已升级到上游版本 2.26.0,它提供很多程序错误修复和增强。(BZ#883021)
建议 glib2 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.54. glibc

更新了 glibc 软件包,修正了三个安全问题、几个程序错误,以及添加各种改进的 Red Hat Enterprise Linux 6。
红帽安全响应团队将此更新的安全影响级别定为具有中等安全影响。一般漏洞评分系统(CVSS)基础分数(提供详细的严重性评级)提供了以下每个描述的 CVE 链接中的每个漏洞。
glibc 软件包提供了标准 C 库(libc)、POSIX 线程库(libpthread)、标准数数库(libm)以及系统上多个程序使用的名称服务器缓存守护进程(nscd)。如果没有这些库,Linux 系统无法正常工作。

安全修复

CVE-2013-4332
glibc 的内存分配器函数(pvalloc、valloc 和 memalign)中发现了多个整数溢出漏洞,导致基于堆的缓冲区溢出问题。如果应用使用了此类功能,则可能会导致应用崩溃或可能,执行具有运行应用的用户特权的任意代码。
CVE-2013-0242
在与处理多字节字符输入的正则表达式匹配例程中发现了一个安全漏洞。如果应用程序使用了 glibc 正则表达式匹配机制,攻击者可以提供特殊制作的输入,在处理时,会导致应用程序崩溃。
CVE-2013-1914
找到 getaddrinfo ()没有限制名称解析过程中使用的堆栈内存量。攻击者能够使应用程序解决攻击者控制的主机名或 IP 地址,可能会导致应用程序耗尽所有堆栈内存和崩溃。

程序错误修复

BZ#1022022
由于 Red Hat Enterprise Linux 6.0 中 getaddrinfo ()系统调用的初始发行版本中存在一个缺陷,AF_INET 和 AF_INET6 查询从查询的名称返回为规范名称的 /etc/hosts 文件中解析。但是,这种行为不正确是仍被视为预期的行为。由于 getaddrinfo ()中的最近更改,AF_INET6 查询开始正确解析规范名称。但是,来自来自 /etc/hosts 文件的查询的应用程序会意外的此行为,因此这些应用程序可能无法正确运行。这个版本会应用一个修复,确保从 /etc/hosts 解析的 AF_INET6 查询始终以规范形式返回查询的名称。请注意,DNS 查找会被正确解析,并且始终返回正确的规范名称。正确修复 AF_INET6 查询来自 /etc/hosts 的解析功能可能会在以后的版本中应用;现在,由于缺少标准,红帽会建议 /etc/hosts 文件中的第一个条目,适用于被解析的 IP 地址,并被视为规范条目。
BZ#552960
AMD64、Intel 64 和 Intel P6 架构的 pthread_cond_wait ()和 pthread_cond_timedwait () 函数包含多个同步错误。因此,当多线程程序使用 priority-inherited mutex 来同步对条件变量的访问时,一些线程可能会在被 pthread_cond_signal ()函数或取消时输入死锁情况。在这个版本中解决了这些同步错误,在上述场景中线程死锁将不再发生。
BZ#834386
在特定虚拟地址加载时,C 库安全框架无法处理动态加载的字符转换例程。这会导致在尝试使用动态加载的字符转换例程时因为分段错误意外终止。这个版本增强了 C 库安全框架,在任何虚拟内存地址中处理动态加载的字符转换例程,在上述场景中不再崩溃。
BZ#848748
由于标准 C 库中的一个缺陷,库可能会分配无限数量的内存,并在处理损坏的 NIS 请求时最终意外终止。有了这个更新,标准 C 库已被修复,将 NIS 记录的大小限制为最大 16 MB,且库不再会在这种情况下崩溃。但是,如果这些映射超过最大 16 MB,则某些具有非常大 NIS 映射的配置可能无法正常工作。
BZ#851470
在以前的版本中,如果没有挂载 proc (/proc/)文件系统,ttyname ()和 ttyname_r ()库调用会返回错误。因此,某些应用程序无法在 chroot 环境中正确运行。在这个版本中,如果 ttyname ()和 ttyname_r ()调用无法读取 /proc/self/fd/ 目录,则他们尝试从已知系统的设备(/dev 和 /dev/pts 目录)获取相应终端的名称,而不是立即返回错误。在 chroot 环境中运行的应用程序现在可以按预期工作。
BZ#862094
标准 C 库中的一个缺陷会导致尝试释放没有使用 malloc ()函数分配的内存。因此,当加载需要动态加载程序来搜索非默认目录的共享库时,动态加载程序可能会意外终止。动态加载程序已被修改,以避免为没有使用 malloc ()分配的内存调用 free ()例程,且在这种情况下不再崩溃。
BZ#863384
由于 getaddrinfo ()解析器系统调用中有一个缺陷,在某些情况下,getaddrinfo ()可以在某些情况下返回在请求 FQDN 结果时不是 Fully Qualified Domain Names (FQDN)的结果。使用 getaddrinfo ()的应用程序预期 FQDN 结果可能无法正确运行。解析器已被修复,在请求 FQDN 结果并且设置了 AI_CANONNAME 标志时,会如预期返回 FQDN 结果。
BZ#868808
如果调用堆栈包含递归函数调用调用调用,则 backtrace ()函数没有在 AMD64 和 Intel 64 构架上正确打印调用帧。在这个版本中解决了这个行为,因此 backtrace ()现在会如预期打印调用帧。
BZ#903754
前面包含名称"fedora"的调试信息可能会导致混淆,对于特定于 Fedora 的软件包,相应的软件包可能会被误认为。为避免这种混淆,软件包构建框架已被更改,以确保调试信息不再包含名称"fedora"。
BZ#919562
打开和使用线程本地存储变量的动态库的程序可能会在由使用线程本地存储进行审核的模块进行分段错误而意外终止。在这个版本中,修改动态链接器来检测这种情况,在上述场景中不再崩溃。
BZ#928318
当系统中缺少 /etc/resolv.conf 文件或不包含任何名称服务器条目时,getaddrinfo ()失败,而不是将 DNS 查询发送到本地 DNS 服务器。这个 bug 已被修复,getaddrinfo ()现在在这种情况下查询本地 DNS 服务器。
BZ#929388
以前的修复是防止各种数学函数中的逻辑错误,包括 exp (), exp2 (), expf (), exp2f (), pow (), sin (), tan (), 和 rint (),为特定输入创建 CPU 性能回归。已分析性能回归问题,内核例程已优化,以提高 CPU 性能到预期级别。
BZ#952422
在以前的版本中,使用 QReadWriteLocks 锁定机制的多线程应用程序可能会在负载过重时遇到性能问题。这是因为从 Qt 库重复调用的 sysconf ()函数无效。在这个版本中,通过缓存 _SC_NPROCESSORS_ONLN 变量的值改进了 sysconf ()的 glibc 实现,因此系统不再通过解析 /stat/proc 文件来花费大量时间。上述应用程序的性能以及请求 _SC_NPROCESSORS_ONLN 的值的应用程序应该显著提高。
BZ#966775
对 math 库引入的浮点函数的准确性的改进(由 RHBA-2013:0279 公告引入),从而提高了这些功能的性能。在这个版本中,对性能损失回归问题进行了分析,并应用了相应的修复来保持当前的准确性,但降低了对可接受的级别的性能损失。
BZ#966778
如果在 NIS 服务器中维护用户组并通过 NIS compat 接口查询,对包含大量用户的用户组查询可能会返回不完整的用户列表。在这个版本中解决了 compat 接口中的多个 bug,以便在上述场景中组查询现在返回正确的结果。
BZ#970090
由于名称服务缓存守护进程(nscd)中的一个缺陷,在某些情况下会缓存返回的 DNS 查询,即使指定了 AF_UNSPEC 地址系列,并且 IPv4 和 IPv6 结果都存在。这个缺陷已被修正,nscd 现在可以正确地返回 IPv4 和 IPv6 会导致这种情况。
BZ#988931
由于动态加载程序中的一个缺陷,加载程序尝试在加载预链接的动态应用程序时尝试写入内存中的只读页面。这会导致所有预链接的应用程序在启动过程中意外终止。动态加载程序中的缺陷已被修正,在这种情况下,预先链接的应用程序不会再崩溃。

功能增强

BZ#629823
以前的 nscd 版本没有缓存 netgroup 查询。对于依赖系统配置中的网络组映射的用户,缺少 netgroup 缓存可能会导致性能不佳。在这个版本中,对 netgroup 查询缓存的支持被添加到 nscd 中。依赖于 netgroup 映射并使用 nscd 进行缓存的系统现在会缓存其 netgroup 查询,这可以提高大多数配置的性能。
BZ#663641
在以前的版本中,如果用户希望调整为新线程创建的堆栈大小,则必须修改程序代码。在这个版本中,glibc 添加了一个新的 GLIBC_PTHREAD_STACKSIZE 环境变量,允许用户以字节为单位设置所需的默认线程堆栈大小。变量会影响使用 pthread_create ()函数和默认属性创建的线程。由于内存校准和某些其它因素,默认线程堆栈大小可能比请求的大小稍大。
BZ#886968
动态加载程序现在与 GDB 协调,以提供一个接口,用于提高调试应用程序的性能,并具有非常大的载入库列表。
BZ#905575
glibc 软件包现在在 libm 库中为 pow ()和 exp ()函数提供四个静态定义 Tracing (SDT)探测。SDT 探测可用于检测对功能的输入是否会导致例程执行多精度慢路径。此信息可用于检测应用中调用 pow ()和 exp ()函数的性能问题。
BZ#916986
添加了对 MAP_HUGETLB 和 MAP_STACK 标记的支持,以便与 mmap ()函数一起使用。其支持依赖于内核支持,调用 mmap ()的应用程序应始终检查函数的结果以确定调用的结果。
BZ#929302
通过在 PowerPC 架构上调用 getcpu ()系统调用的虚拟动态共享对象(VDSO)实现来提高 sched_getcpu ()函数的性能。
BZ#970776
ESTALE 错误代码的错误字符串已更新为打印"Stale 文件句柄"而不是"Stale NFS 文件句柄",这可以防止混淆。错误字符串已转换为所有支持的语言。
我们建议所有 glibc 用户升级到这些更新的软件包,其中包含向后移植的补丁来更正这些问题并添加这些改进。

8.55. glusterfs

Red Hat Enterprise Linux 6 现在提供了修复几个程序错误并添加一个增强的 glusterfs 软件包。
Red Hat Storage 只是软件、横向扩展的存储,可为企业提供灵活、经济的非结构化数据存储。GlusterFS 是 Red Hat Storage 的一个关键构建块,它基于可堆栈的用户空间设计,并可为不同工作负载提供出色的性能。GlusterFS 通过网络互连将各种存储服务器整合到一个大型的并行网络文件系统中。

程序错误修复

BZ#998778
在以前的版本中,在 API 失败时,"errno"值没有正确设置。因此,使用 API 的应用程序的行为可能会不可预测。在这个版本中,在 API 失败时值会被正确设置,应用程序可以正常工作。
BZ#998832
在以前的版本中,glusterfs-api 库处理使用 glusterfs-api 发送到应用程序的所有信号。因此,glusterfs-api 会错误地解析这个库没有使用的所有信号。在这个版本中,glusterfs-api 不再处理不使用的信号,以便正确解释此类信号。
BZ#1017014
在以前的版本中,glfs_fini () 函数不会返回 NULL,即使 libgfapi 库成功清理所有资源。因此,尝试使用 "qemu-img create" 命令(使用 libgfapi )会失败。底层源代码已被修改,因此当 libgfapi 清理成功时,函数会返回 NULL,命令现在可以按预期工作。

功能增强

BZ#916645
glusterfs 软件包包含在 QEMU 中对 GlusterFS 的原生支持。这一支持允许使用 libgfapi 库来原生访问 GlusterFS 卷,而不是通过本地挂载的 FUSE 文件系统进行本地访问。这种原生方法提供了显著的性能改进。
建议 glusterfs 用户升级到这些更新的软件包,从而修复这些 bug 并添加此功能增强。

8.56. gnome-screensaver

针对 Red Hat Enterprise Linux 6 提供了修复两个程序错误的 gnome-screensaver 软件包。
gnome-screensaver 软件包包含 GNOME 项目的官方屏幕保存程序。屏幕保存器旨在改进与 GNOME 桌面的集成,包括主题性、语言支持和人工接口指南(HIG)合规性。它还从锁定的屏幕中提供屏幕锁定和快速用户切换。

程序错误修复

BZ#905935
在以前的版本中,当使用 virt-manager、virt-viewer 和 spice-xpi 应用程序时,用户无法在屏幕保存器启动后输入 gnome-screensaver 密码。这只有在虚拟机系统使用了 Compiz composting 窗口管理器时发生。用户释放鼠标光标后,然后按 键以输入密码,对话框窗口不接受任何输入。这是因为将窗口分配不正确到没有键盘 grab 的应用程序中。在这个版本中,窗口重点被正确分配给正确的位置,尝试输入 gnome-screensaver 密码不会在上述场景中失败。
BZ#947671
在此次更新之前,在使用不支持 fade-out 功能的 X 服务器时,gnome-screensaver 工具可以正常工作。因此,当尝试关闭 monitor 时,gnome-screensaver 会意外终止。这个程序错误已被解决,gnome-screensaver 现在会检测到潜在的冻结故障,并恢复而不是崩溃。
建议 gnome-screensaver 的用户升级到这些更新的软件包,从而修复这些 bug。

8.57. gpxe

现在,Red Hat Enterprise Linux 6 提供了修复一个程序错误的 gpxe 软件包。
gpxe 软件包提供了 gPXE,它是一个开源预引导执行环境(PXE)实现和引导装载程序。

错误修复

BZ#972671
DHCP 服务器可以配置为使用 Pre-Boot Execution Environment (PXE)来使用 gPXE 实用程序启动虚拟机。在以前的版本中,当下一个服务器详情来自不同的 DHCP 服务器时,PXE 引导会失败。这个版本提供了一个补丁来修复这个程序错误,在上述场景中,PXE 引导现在可以正常工作。
建议 gpxe 的用户升级到这些更新的软件包,从而解决了这个问题。

8.58. grep

更新了在 Red Hat Enterprise Linux 6 中修复几个程序错误的 grep 软件包。
grep 工具在文本输入中搜索包含与指定模式匹配的行的文本输入,然后打印匹配的行。GNU grep 工具包括 grep、egrep 和 fgrep。

程序错误修复

BZ#715295
对于某些正则表达式,DFA 分析可能会插入与原来相比的双"位置"。因此,没有足够的空间来插入所有位置,而 grep 可能会在某些正则表达式上意外终止。要解决这个问题,增加了空间分配,在上述场景中 grep 可以正常工作。
BZ#797934
当固定字符串模式在不区分大小写的搜索处于活跃状态时为空时,grep 可能会意外终止。在这个版本中,这个问题单的检查已添加到代码中,grep 在上述场景中可以正常工作。
BZ#826997
在以前的版本中,代码处理不区分大小写的搜索可能会改变字符串的字节大小,同时将其转换为小写。因此,grep 可能会截断某些输出字符串。要修复此错误,在转换为小写期间更改字节大小时,对 grep 代码进行了修改,以正确处理这样的情况。因此,不区分大小写的搜索可以正常工作,grep 不再截断其输出。
建议 grep 用户升级到这些更新的软件包,从而修复这些 bug。

8.59. grub

现在,Red Hat Enterprise Linux 6 提供了修复几个程序错误并添加一个改进的 grub 软件包。
grub 软件包提供 GRUB (Grand Unified Boot Loader),这是可引导各种操作系统的引导加载程序。

程序错误修复

BZ#851706
如果 GRUB 菜单条目的标题超过 80 个字符的行长度,则显示引导的剩余时间的文本不一致,因此显示不正确。溢出文本显示在新行中,整个文本在每一次传输一行移动一行。在这个版本中,文本被分成两行,只有第二行被重写为引导倒计时,因此 GRUB 对长菜单条目的行为正确。
BZ#854652
当构建新版本的 grub 软件包时,GRUB 不会删除"make clean"命令上的 grub.info 文件。因此,在应用更新后,grub.info 文件不包含最新的更改。要解决这个问题,GRUB Makefile 已被修改,现在每个软件包构建被显式删除并生成 grub.info 文件。
BZ#911715
GRUB 代码不符合统一可扩展固件接口(UEFI)规格,且不会根据规格的要求禁用 EFI 平台的 watchdog 计时器。因此,如果 watchdog 在 5 分钟时间内没有禁用,则系统会重启,这是不必要的行为。应用了补丁,在 GRUB 初始化后立即禁用 EFI watchdog,以便 EFI 系统不再意外重启。
BZ#916016
当使用 Open Virtual Machine Firmware (OVMF) BIOS 在 QEMU KVM 中引导系统时,GRUB 无法识别 virtio 块设备,引导过程会退出 GRUB shell。这是因为 GRUB 没有正确测试到 EFI 设备的路径。GRUB 代码现在根据 EFI PCI 设备路径验证 EFI 设备路径,并在这种情况下识别磁盘设备。
BZ#918824
在处理 ExitBootServices ()EFI 函数时,GRUB 不遵循 UEFI 规格。如果在检索内存映射时 ExitBootServices ()失败,GRUB 立即退出,而不是重复尝试。在这个版本中,GRUB 会在退出前重试获取内存映射 5 次,引导过程将继续成功。
BZ#922705
当从源软件包构建 64 位版本的 GRUB 时,无法在配置阶段链接可执行文件,除非安装了 32 位的 glibc-static 软件包版本。在这种情况下,GRUB 失败时不会显示任何错误消息。这个问题已通过将 grub 软件包设置为直接依赖于 /usr/lib/libc.a 文件来解决,该文件可以在不同的环境中提供。如果在构建 grub 软件包时缺少 文件,则会显示适当的错误消息。
BZ#928938
当在多路径设备中安装时,GRUB 不可读取,且系统无法引导。这是因为,在用于匹配设备的正则表达式中有一个错误,因为 grub-install 命令无法解析符号链接来获取设备统计信息。在这个版本中解决了这个问题,GRUB 现在会在多路径设备中安装时按预期引导。
BZ#1008305
在 UEFI 模式中引导时,GRUB 之前为指向结构的指针分配内存,而是为结构分配内存。这种呈现的 GRUB 无法完成并将控制权传给特定硬件配置的内核。在这个版本中解决了这个问题,GRUB 现在会如预期为结构分配内存,并成功将控制权传递给内核。
BZ#1017296
在以前的版本中,GRUB 无法安装在 Non-Volatile Memory Express (NVMe)设备上,因为它无法在安装过程中解析设备名称。在这个版本中,添加了一个匹配 NVMe 设备的正则表达式支持,GRUB 现在可以在这些设备中成功安装。

功能增强

BZ#848628
GRUB 现在提供了一个新的菜单选项"macappend"。当在 grub.conf 文件中或 GRUB 命令行中使用"macappend"时,"BOOTIF=<MAC_address>" 参数会附加到内核命令行中。这允许指定网络接口,以便 Anaconda 在 PXE 启动期间使用。
建议 GRUB 用户升级到这些更新的软件包,从而修复这些 bug 并添加这个改进。

8.60. grubby

修正了两个程序错误的 grubby 软件包现在可用于 Red Hat Enterprise Linux 6。
grubby 软件包提供 grubby,它是一个命令行工具来显示和编辑 GRUB (GRand Unified Bootloader)配置文件。

程序错误修复

BZ#991197
在以前的版本中,在使用 tboot 引导装载程序的内核更新后,grub.conf 文件无法正确更新。这是因为 grubby 工具中的一个错误,这会导致它错误地解释在其中有 tboot 的 grub.conf 小节。在这个版本中,grubby 可以读取 /etc/sysconfig/kernel 文件中的 HYPERVISOR 和 HYPERVISOR_ARGS 参数,以便 tboot 按预期执行。
BZ#999908
在此次更新之前,yum 和 anaconda 升级可能会因为找不到 RAM 磁盘镜像而在 AMD64 和 Intel 64 构架上出现内核 panic 失败。这只有在安装了 tboot 并且运行内核 "%post" 或 "%posttrans" 脚本时才会发生。在这个版本中,在 grub 条目中添加了 initramfs 磁盘镜像,在上述场景中不再发生内核 panic 失败。
建议 grubby 用户升级到这些更新的软件包,从而修复这些程序错误。

8.61. gtk2

Red Hat Enterprise Linux 6 现在提供了修复几个程序错误并添加各种改进的 gtk2 和 atk 软件包。
gtk2 软件包提供了一个多平台工具包,用于创建图形用户界面 GIMP Toolkit (GTK+)。GTK+ 提供一组完整的小部件,适用于小型项目以及完整的应用程序套件。
升级到上游版本
ATK 库提供了一组界面,用于为应用程序和图形用户界面工具包添加可访问性支持。通过支持 ATK 接口,应用程序或工具包可用于工具,如屏幕阅读器、放大符和替代输入设备。
gtk2 软件包已升级到上游版本 2.20.1,它提供很多程序错误修复和增强。(BZ#883022)
atk 软件包已升级到上游版本 1.30.0,它提供很多程序错误修复和增强。(BZ#883027)

程序错误修复

BZ#970594
当在组合框中渲染文本时,GTK+ cell renderer 始终呈现为第一个项目最后一次呈现的文本。因此,如果之前呈现的文本与名称集中的任何项目不匹配,则 Contacts 视图中的"Categories"组合框中的第一个项目可能会呈现为空,这会影响到可访问性和自动测试。在这个版本中,确保单元渲染程序被正确更新,并为当前的组合框调用呈现项,因此上面提到的问题不再发生。
BZ#979049
由于 GtkTreeView 接口中的一个错误,在点系统辅助图标后,Evolution 中的树视图中的展开箭头将停止正常运行。这个版本提高了树形扩展和冲突代码的稳健性,这修复了这个程序错误。
建议 gtk2 和 atk 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.62. hapoxy

现在,Red Hat Enterprise Linux 6 提供了修复几个程序错误的 haproxy 软件包,并添加各种改进。
haproxy 软件包为 TCP 和基于 HTTP 的应用提供可靠的高性能网络负载均衡器。这特别适用于需要高度负载的网站,同时需要持久性或第 7 层处理。
升级到上游版本
haproxy 软件包已升级到上游版本 1.4.24,它提供很多程序错误修复和增强。(BZ#947987)

错误修复

BZ#903303
在以前的版本中,setuid ()和 setgid ()函数无法正常工作。因此,在尝试丢弃 root 特权后,HAProxy 负载均衡器无法正确丢弃补充组。功能的行为已被修改,HAProxy 现在会按预期丢弃所有补充组。

功能增强

BZ#921064
在这个版本中,在 haproxy 软件包中添加了对 TPROXY 的支持。TPROXY 简化了代理防火墙后面的客户端的管理任务。另外,透明的代理也使存在对用户的代理不可见。
建议 haproxy 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.63. hdparm

Red Hat Enterprise Linux 6 现在提供了几个程序错误并添加了各种改进的 hdparm 软件包。
hdparm 是一个有用的系统实用程序,用于设置(E) IDE 硬盘驱动器参数。例如,hdparm 可用于调整硬盘驱动器性能,并用于启动硬盘驱动器以省电。
升级到上游版本
hdparm 软件包已升级到上游版本 9.43,它提供很多程序错误修复和增强。这些增强功能包括在 ext4 和 xfs 文件系统上创建具有所需大小的文件,并在测量计时性能时指定读取操作的偏移量。其他显著的增强功能包括获取和设置 Western Digital Green (WDG)硬盘的"idle3"超时值,以及为硬盘获取和设置 Write-Read-Verify 功能的功能。(BZ#977800)

程序错误修复

BZ#639623
在以前的版本中,hdparm 工具没有假设有些磁盘信息不可用。因此,hdparm 可能会意外终止,且没有有用的输出。在这个版本中,添加了正确的对磁盘查询的检查,hdparm 现在会终止并出现更详细的错误消息。
BZ#735887
在以前的版本中,当用户请求有关文件占用多少磁盘空间的信息时,hdparm 工具不会假定一些磁盘信息可能不可用。因此,hdparm 意外终止,在这样的场景中没有有用的输出。在这个版本中,添加了正确检查磁盘查询。因此,hdparm 现在会用提供详细信息的错误消息终止。
BZ#807056
在以前的版本中,hdparm 工具以可能导致错误的方式检索硬盘驱动器识别数据。因此,hdparm 无法获取一些 occasions 中的数据,并会显示一个 unhelpful 错误信息。在这个版本中,相应的系统调用被替换为更合适的且可靠的系统调用。现在,硬盘识别数据已在输出中被成功获得并打印。
BZ#862257
当 hdparm 工具无法获取有关硬盘的必要几何结构信息时,它会尝试下载固件。在以前的版本中,由于不正确的控制语句,hdparm 可能会因为这个下载尝试时出现分段错误而意外终止。在这个版本中,添加了控制语句检查系统调用失败。因此,如果 hdparm 无法对驱动器进行操作,它会显示错误消息并干净退出。
建议 hdparm 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.64. hsqldb

更新了 hsqldb 软件包,修复两个程序错误现在可用于 Red Hat Enterprise Linux 6。
hsqldb 软件包提供了一个使用 Java 编写的关系数据库管理系统。Hyper Structured Query Language Database (HSQLDB)包含 JDBC 驱动程序,以支持 ANSI-92 SQL 的子集。

程序错误修复

BZ#996152
在以前的版本中,/etc/sysconfig/hsqldb 文件没有标记为 "config (noreplace) "。因此,重新安装或更新软件包可能会覆盖用户进行的配置更改。在这个版本中,配置文件已被正确标记,在重新安装或更新过程中会保留对该文件的修改。
BZ#962676
在此次更新之前,hsqldb 数据库依赖于版本 1:1.6.0 或更高版本的 java 软件包,它们在一些 Red Hat Enterprise Linux 6 平台上不可用。因此,安装 hsqldb 软件包会失败并显示错误消息。在这个版本中,需要版本 0:1.5.0 或更高版本的 java 软件包,hsqldb 的安装现在可以正常工作。
建议 hsqldb 用户升级到这些更新的软件包,从而修复这些程序错误。

8.65. hwdata

现在,Red Hat Enterprise Linux 6 提供了一个更新的 hwdata 软件包,它修复了一个程序错误并添加各种改进。
hwdata 软件包包含用于访问和显示硬件标识和配置数据的工具。

错误修复

BZ#989142
在以前的版本中,pci.ids 数据库中缺少有关 Red Hat Virtio Small Computer System Interface (SCSI)设备的某些信息。因此,在使用 lspci 工具时,设备名称没有正确显示,并显示数字设备 ID。在这个版本中,pci.ids 数据库已被修改,以按预期提供正确的信息。

功能增强

BZ#982659
为 Beta 和 Final compose 列表更新了 PCI ID 号。
BZ#739838
在这个版本中,pci.ids 数据库已使用 AMD FirePro 图形卡的信息进行了更新。
BZ#948121
在这个版本中,pci.ids 数据库已使用 usNIC 功能的 Cisco VIC SR-IOV 虚拟功能的信息进行了更新。
建议所有 hwdata 用户升级到这个更新的软件包,从而修复这个程序错误并添加这些改进。

8.66. hypervkvpd

针对 Red Hat Enterprise Linux 6 现在提供了几个程序错误的 hypervkvpd 软件包。
hypervkvpd 软件包包含 hypervkvpd,客户机 Hyper-V Key-Value Pair (KVP)守护进程。使用 VMbus,hypervkvpd 将基本信息传递给主机。该信息包括客户机 IP 地址、完全限定域名、操作系统名称和操作系统发行版本号。IP 注入功能允许用户通过 hypervkvpd 守护进程从主机更改客户机的 IP 地址。

程序错误修复

BZ#920032
在以前的版本中,hypervkvpd 服务注册到两个 netlink 多播组,其中一个由 cgred 服务使用。当 hypervkvpd 收到 netlink 消息时,它被解释为其自身。因此,hypervkvpd 意外终止,并显示分段错误。在这个版本中,hypervkvpd 只会注册到自己的 netlink 多播组,并验证传入 netlink 消息的类型。当 cgred 服务运行时,使用 hypervkvpd 不再会导致分段错误。
BZ#962565
在此次更新之前,hypervkvpd 初始化脚本不会检查 Hyper-V 驱动程序模块是否已加载到内核中。如果安装了 hypervkvpd,它将在系统引导时自动启动,即使系统没有作为 Hyper-V hypervisor 上的客户机机器运行。验证已添加到 hypervkvpd 初始化脚本中,以确定 Hyper-V 驱动程序模块是否已加载到内核中。因此,如果模块没有加载到内核中,则 hypervkvpd 现在不会启动,但会显示正确的驱动程序模块没有被加载的消息。
BZ#977861
在以前的版本中,hypervkvpd 没有使用足够安全的编译器选项构建,从而导致编译的代码存在安全漏洞。hypervkvpd 守护进程使用完整的只读重新定位(RELRO)和位置独立的可执行文件(PIE)标记构建。因此,编译的代码更安全,更好地保护对可能的缓冲区溢出。
BZ#983851
当使用 Get-VMNetworkAdapter 命令查询虚拟机网络适配器时,每个子网字符串都必须用分号分隔。由于 IPv6 子网枚举代码中的一个错误,不会列出 IPv6 地址。应用了补丁,IPv6 子网枚举程序现在可以正常工作。
建议 hypervkvpd 用户升级到这些更新的软件包,从而修复这些 bug。更新 hypervkvpd 软件包后,建议重新启动所有 guest 机器,否则带有 Hyper-V 的 Microsoft Windows 服务器可能无法从这些客户机机器获取信息。

8.67. ibus-hangul

更新了 ibus-hangul 软件包,它修复了一个程序错误。
ibus-hangul 软件包是 IBus 输入法(IM)的 Korean 语言输入引擎平台。

错误修复

BZ#965554
在以前的版本中,Ibus 的 Hangul 引擎无法正常工作。如果有预编辑字符串可用,并且输入焦点被移到另一个窗口中,则提交 preedit 字符串。之后,当输入焦点移回窗口时,X Input Method (XIM)无法处理第一个密钥输入。在这个版本中,代码中的更改解决了这个问题,在重点更改后按输入不再会在上述场景中丢失。
建议 ibus-hangul 的用户升级到这些更新的软件包,从而解决了这个问题。

8.68. icedtea-web

Red Hat Enterprise Linux 6 现在提供了修复几个程序错误并添加各种改进的 icedtea-web 软件包。
IcedTea-Web 项目提供 Java Web 浏览器插件和 Java Web Start 的实施,它基于 Netx 项目。它还包含一个用于管理插件和 Web Start 实施的部署设置的配置工具。
升级到上游版本
icedtea-web 软件包已升级到上游版本 1.4.1,它提供很多程序错误修复和增强,包括对 OpenJDK6 和 OpenJDK7 的更新版本的支持。(BZ#916161, BZ#975098)
建议 icedtea-web 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.69. initscripts

现在,Red Hat Enterprise Linux 6 提供了修复多个程序错误并添加一个改进的 initscripts 软件包。
initscripts 软件包包含引导系统的基本系统脚本、更改运行级别、激活和停用大多数网络接口,并完全关闭系统。

程序错误修复

BZ#915659
正则表达式(用于与 grep 实用程序中主绑定设备的名称匹配)不正确。因此,网络脚本无法正确处理包含注释的接口配置中的行,ifup-eth 命令无法激活从设备。这个更新为 grep 和 ifup-eth 提供了更新的正则表达式,现在可以在上述场景中按预期工作。
BZ#919217 BZ#963944
在 Red Hat Enterprise Linux 6.4 中,主设备总是在其从设备之后启动,同时使用模式 6 绑定。因此,绑定的接口不可用。在这个版本中,确保在从设备和模式 6 绑定之前始终设置 master 设备现在可以正常工作。
BZ#984003
在以前的版本中,在 initrd 脚本中挂载 /proc 目录不会考虑 /etc/fstab 文件中设置的选项。因此,/proc 没有使用指定的选项挂载。在这个版本中,/proc 被挂载到 rc.sysinit 脚本中,这样可确保使用指定的选项挂载它。
BZ#877928
在以前的版本中,使用 nmcli 工具来停止接口,即使它目前没有被 NetworkManager 管理。因此,该接口已停止,但 nmcli 指出该操作的输出已失败。在这个版本中,当 NetworkManager 不处理 interace 时,nmcli 不再被调用,例如当它失败时,断开连接、未管理或不可用。因此,nmcli 的输出现在与实际结果匹配。
BZ#836233
如果通过动态主机配置协议版本 4 (DHCPv4)分配 IP 地址失败,则 initscript 退出并显示错误。因此,如果 DHCPv4 失败,则不会设置静态 IPv4 和 IPv6 地址。添加了选项 IPV4_FAILURE_FATAL,以便用户在 DHCPv4 失败时确定脚本是否应该继续或退出。另外,如果在配置文件中启用了"no"和 DHCPv6,则 initscript 会尝试获取 IPv6 地址,即使 DHCPv4 失败。
BZ#843402
在发送 TERM 信号后,killproc ()函数总是在进程再次检查前等待 $delay 秒。这个等待是不必要的,这个更新 killproc ()会在等待的延迟期间多次检查。因此,killproc 可以在进程结束时立即继续。
BZ#864802
在以前的版本中,initscript 不会遵循管理员指定的挂载顺序,因为有些挂载类型会被优先排序。因此,子目录可以在其父目录之前挂载。更新后,NFS,通用互联网文件系统(CIFS),服务器消息块(SBM)和其他挂载类型是最后挂载的。因此,/etc/fstab 文件中的挂载会以正确的顺序处理。
BZ#814427
在以前的版本中,securetty 工具总是以读写模式打开 /etc/securetty 文件。因此,在只读根文件系统中,这会导致失败,即使 TTY 已存在也会修改该文件。在这个版本中,securetty 会检查 /etc/securetty 文件是否需要修改,并在不需要时退出。因此,securetty 现在可以在只读根文件系统中正常工作。
BZ#948824
在此次更新之前,当地址解析协议(ARP)检查成功执行时,用户不会被通知。因此,用户可能会混淆载入接口所需的时间。在这个版本中,在每次 ARP 检查后都会输出一条消息,从而防止混淆。
BZ#921476
在以前的版本中,initscripts 文档不包含关于 rule github 文件的信息。因此,用户不知道如何为 IPv6 地址设置路由规则。在这个版本中,在 sysconfig.txt 文件中添加 rule6 channel 文件的文档。
BZ#905423
在以前的版本中,在每次使用默认值更新后,用户不知道 /etc/init configured.conf 文件会被覆盖。在 /etc/init configured.conf 文件中添加了一个注释,以告知用户不应修改这些文件,而是使用 5.2.override 文件。

功能增强

BZ#815676
在这个版本中,动态主机配置协议版本 6 (DHCPv6)的配置选项已应用到 /etc/dhcp/dhclient6-<iface>.conf 文件。现在,应用 /etc/dhcp/dhclient6-<iface>.conf 中的 DHCPv4 和 DHCPv6 的选项。
建议 initscripts 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.70. iotop

一个更新的 iotop 软件包,修复了几个程序错误,现在 Red Hat Enterprise Linux 6 提供了几个程序错误。
iotop 软件包提供了一个类似于"top"实用程序的 UI。程序监视 Linux 内核的输入输出(I/O)使用情况信息输出,并根据系统上的进程显示当前 I/O 使用情况表。

程序错误修复

BZ#746240, BZ#908149
在以前的版本中,当 iotop 工具由非 root 用户运行时,iotop 工具会意外终止。这是因为 CVE-2011-2494 中最近应用补丁使 taskstats 内核子系统的 I/O 统计信息只能由 root 用户访问,而 iotop 不会预计在非 root 用户身份运行时,其"taskstats"调用可能会失败。在这个版本中,为 iotop 添加权限检查,当用户没有所需权限时,iotop 会退出,并解释了需要 root 权限。
BZ#826875
在以前的版本中,iotop 工具无法正确处理平台字符串。因此,iotop 命令无法在 64 位 PowerPC 系统中正确显示 I/O 调度类及其优先级("PRIO")列。有了这个更新,这个 bug 已被修复,iotop 命令现在会如预期在 64 位 PowerPC 系统中显示 "PRIO" 列。
BZ#849559
当设置无效的区域设置时,iotop 工具无法启动并显示以下错误信息:
locale.Error: 不支持的区域设置
在这个版本中,底层源代码已被修改。因此,当设置无效的区域设置时,会使用默认区域设置,返回有关此更改的警告。
建议 iotop 用户升级到这个更新的软件包,从而修复这些程序错误。

8.71. ipa

现在,Red Hat Enterprise Linux 6 提供了修复几个程序错误并添加了两个改进的 ipa 软件包。
红帽身份管理是用于传统和基于云的企业环境的集中式身份验证、身份管理和授权解决方案。它集成了红帽目录服务器、MIT Kerberos、红帽认证系统、NTP 和 DNS 的组件。它提供 Web 浏览器和命令行界面。通过其管理工具,管理员可以快速安装、设置和管理一组域控制器,以满足大规模 Linux 和 UNIX 部署的身份验证和身份管理要求。

程序错误修复

BZ#904119
在以前的版本中,在迁移过程中,用户会逐一添加到默认用户组中。因此,将用户添加到大型组中非常耗时。在这个版本中,用户被添加到 100 的批处理中,它比之前的方法显著提高性能。
BZ#905626
在以前的版本中,在尝试注册客户端时,身份管理客户端安装程序不会查找所有可用的服务器。因此,如果在注册过程中有任何身份管理 master 不可用,注册 "ipa-client-install" 命令将无法注册客户端。在这个版本中,客户端安装程序会尝试从 DNS 自动发现所有服务器,也可以使用命令行上的"--server"选项传递,直到它找到可用的服务器,ipa-client-install 现在可以正常工作。
BZ#906846
从 OpenLDAP 服务器迁移时,身份管理无法正常工作。因此,尝试从远程服务器检索 LDAP 模式会失败。在这个版本中,身份管理在 "cn=subschema" 条目中查找,来自 OpenLDAP 服务器的迁移不再会失败。
BZ#907881
在此次更新之前,身份管理密码锁定目录服务器插件会错误地处理密码锁定。因此,如果 Identity Management 密码策略被配置为 Lockout Time 值,则用户帐户会被永久禁用,即使不会超过用户密码失败的最大数量。已修复插件以便正确处理密码锁定时间,用户帐户锁定现在可以正常工作。
BZ#915745
在以前的版本中,当将身份管理服务器升级到更新的版本时使用的更新文件不包含新的 Directory Server 模式 "ipaExternalMember" 属性类型和 "ipaExternalGroup" 对象类。因此,在整个过程中,在使用 schema 元素和 Web 用户界面(Web UI)的命令行界面(CLI)命令都无法正常工作。在这个版本中,将缺少的对象类和属性类型添加到身份管理更新文件中。现在,Directory 服务器架构会在身份管理更新过程中更新,CLI 命令和 Web UI 可以正常工作。
BZ#916209
当身份管理配置解析程序包含 "includedir" 指令时,无法解析 Kerberos 客户端配置文件(/etc/krb5.conf)。因此,身份管理 ipa-adtrust-install 安装程序直接解析和更新 Kerberos 客户端配置,并意外终止,并显示语法错误。在这个版本中,配置解析器可以正确地处理 "includedir",ipa-adtrust-install 不会在上述场景中崩溃。
BZ#924004
在以前的版本中,当身份管理客户端安装程序使用 LDAP 协议从身份管理服务器下载证书颁发机构(CA)证书时,它偶尔不会回退到 HTTP 协议。因此,即使证书可以使用 HTTP 协议访问,身份管理客户端安装会失败。在这个版本中,在下载 CA 证书时,身份管理客户端安装程序可以在不同的协议之间正确回退,现在即使在通过一个协议下载失败时也可以完成安装。
BZ#924009
身份管理客户端安装程序不允许重新注册已注册的客户端。因此,当机器或配置了身份管理客户端的虚拟机时,如果首先取消注册客户端,则所有成功注册都会失败,直到客户端条目从身份管理服务器中删除为止。在这个版本中,在 Identity Management 客户端安装程序中添加了一个 "--force-join" 选项,特权管理员现在可以重新注册身份管理客户端。
BZ#924542
在以前的版本中,身份管理主机 Based Access Control (HBAC)规则 API 允许管理员指定 HBAC 规则的 "Source Host" 组件,即使这个组件已被弃用。因此,在 HBAC 规则中使用 "Source Host" 组件时可能会出现意外行为。这个程序错误已被解决,现在 HBAC 规则中不允许"源主机"组件,管理员不再会出现规则的意外行为。
BZ#948928
在某些情况下,身份管理升级过程会双重编码存储在目录服务器中的认证机构(CA)证书。因此,一些身份管理客户端无法解码 CA 证书并安装客户端。在这个版本中,CA 证书会被正确编码;从身份管理服务器正确检索客户端安装 CA 证书,安装可以如预期进行。
BZ#950014
在某些情况下,身份管理安装和升级过程不会以正确顺序更新用户和用户角色成员资格信息。因此,用户角色偶尔没有被正确应用,即使他们已授权了身份管理客户端,用户可能无法继续特权操作(例如,注册身份管理客户端)。现在,成员资格信息以正确顺序应用,用户特权操作不再因为成员信息不完整而失败。
BZ#952241
在以前的版本中,当身份管理公钥基础架构(PKI)服务器证书(auditSigningCert)被续订时,不正确的 trust 参数被分配给更新的证书,服务器无法使用它。证书续订过程已更新,为续订的证书分配正确的信任参数,身份管理 PKI 证书续订现在可以正常工作。
BZ#967870
与 Active Directory 集成相比,具有 Active Directory 集成的身份管理服务器支持在 NetLogon 查询中有所不同配置回复。NetLogon 行为中存在以下差异:
  • 在查询基于 TCP 的 LDAP 时,不会响应 NetLogon 查询
  • 查询中不存在 DnsDomain 时的响应
  • 当查询不匹配时,不会向发送返回 LDAP_RES_SEARCH_RESULT;NetLogon 变得无响应。
因此,这些差异可能会导致发送 NetLogon 查询的工具出现错误。NetLogon 查询响应程序已被修复,在 NetLogon 回复中提到的问题不再发生。
BZ#970541
当具有许多成员(如大型用户组)的条目时,身份管理服务器无法正常工作。因此,身份管理 CLI 或 Web UI 管理命令与此类条目操作(例如,添加新用户、列出组或更新它们)可能会持续 30 秒以上。在身份管理服务器中实现了几个改进,即:
  • Web UI 现在会在不需要时避免成员资格信息(例如,在组列表中)
  • 条目成员资格操作命令(例如,将用户添加到组中)现在避免对成员资格信息进行不必要的操作
  • 添加了成员资格属性缺少子字符串索引。
通过这些实现,身份管理 CLI 和 Web UI 管理命令的性能显著提高,特别是在处理大型用户组时。
BZ#975431
在以前的版本中,/var/lib/ipa/pki-ca/publish/ 目录,其中 Identity Management 公钥基础架构(PKI)发布证书撤销列表(CRL)导出,在 ipa-server 软件包被重新安装或升级后包含不正确的所有权和权限信息。因此,在手动修改目录的所有权和权限之前,PKI 无法更新目录中的 CRL。修正了身份管理安装程序和升级脚本,以正确处理目录的所有权和权限,现在会在上述场景中正确更新 CRL 导出。
BZ#976716
在此次更新之前,身份管理 XML-RPC 接口偶尔不会在其回复中返回正确的 "Content-Type" 标头。因此,处理 XML-RPC 响应的程序或脚本可能无法处理响应并显示验证错误。修正了 XML-RPC 响应器,可以返回正确的 "Content-Type" 标头,程序和脚本现在可以调用身份管理 XML-RPC 接口,即使启用了严格的验证。
BZ#980409
在以前的版本中,对于 Microsoft Windows Server 2012 中完成的 Kerberos ticket,身份管理 Active Directory 集成不需要为 MS-PAC 扩展填充 KERB_VALIDATION_INFO 部分的不同流程,与 Microsoft Windows Server 2008 相比。因此,由于不兼容,不能接受这样的 Kerberos 票据,且无法用来验证或创建使用 Microsoft Windows Server 2012 的信任。KERB_VALIDATION_INFO 验证已被重构为在进一步处理前过滤意外值,而身份管理 Active Directory Trust creation 不再与 Microsoft Windows Server 2012 一起失败。
BZ#1011044
在以前的版本中,ipa-client-install 安装脚本无法正确检测客户端是否已安装在机器上。因此,当客户端卸载脚本无法识别安装的客户端时,客户端卸载脚本可能会拒绝恢复机器。此外,即使安装的身份管理客户端或服务器计算机上,客户端安装也可能会成功。但是,这可能会中断配置文件或身份管理客户端或服务器功能。在这个版本中,ipa-client-install 已被修复,可以正确检测安装,上面描述的问题不再会发生。

功能增强

BZ#955698
在这个版本中,为 Identity Management 服务器主机条目引入了 "userClass" 属性。在以前的版本中,主机条目不包含可用于主机置备系统的自由格式属性,或者为新主机设置类,然后供身份管理的其他功能使用,例如由 Automatic Membership Assignment 模块使用。管理员和调配系统现在可以使用新的"userClass"主机条目属性。
BZ#986211
在这个版本中,为 Identity Management Web UI 添加了用户条目的"GECOS"字段。"GECOS"是重要的用户字段,因为它等于提供给系统的用户通用名称,应通过 CLI 和 Web UI 界面编辑。现在,可以在 Identity Management Web UI 中显示和更改用户的"GECOS"字段。
建议 ipa 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.72. ipmitool

更新了 ipmitool 软件包,它修复了几个程序错误。
ipmitool 软件包包含一个命令行工具,用于与支持智能平台管理接口(IPMI)规格的设备交互。IPMI 是机器健康、清单和远程电源控制的开放式标准。

程序错误修复

BZ#826027
在前面的 ipmitool 更新中,添加了新的选项 "-R" 和 "-N",以通过 LAN 和 lanplus 接口调整传出 IPMI 请求的重新传输率。这些选项的实现设定了重新传输超时的错误默认值,传出请求会提前超时。另外,在某些情况下,ipmitool 可能会在超时发生时意外终止并出现分段错误。在这个版本中修复了默认的超时值,因此 ipmitool 没有 "-N" 选项重新传输传出的 IPMI 请求,如之前版本一样,崩溃不再发生。
BZ#903251
在以前的版本中,使用 ipmitool 程序在用户访问信息中启用 "ipmi" 和 "link" 键无法正常工作。因此,不会考虑这些设置的值。已提供了一个补丁,可确保按预期读取和处理这些设置的值。
BZ#923192
在聚合网络或响应 Baseboard Management Controller (BMC)时,回复操作超时会触发 protocol 命令重试操作。因此,ipmitool 工具可能会错误地处理带有之前 protocol 命令的回复的 LAN 会话协议命令。在这个版本中,只处理每个命令的预期回复,并清理命令间的预期回复。现在,当后续命令当前处于待处理状态时,第一个命令的重试回复会被正确忽略。
建议 ipmitool 用户升级到这些更新的软件包,从而修复这些程序错误。安装此更新后,IPMI 事件守护进程(ipmievd)将自动重启。

8.73. iproute

现在,Red Hat Enterprise Linux 6 提供了修复几个程序错误并添加各种改进的 iproute 软件包。
iproute 软件包包含联网实用程序(如 iprtmon),它们设计为使用 Linux 内核的高级网络功能。

程序错误修复

BZ#1011148
使用 ip monitor neigh 命令监控 IP 邻居缓存时,缓存会遇到第 2 层网络未命中。因此,ip monitor neigh 命令无法解码内核生成的未命中事件。要修复此程序错误,用于删除条目的邻居缓存事件的代码已从上游向后移植,ip monitor neigh 现在可识别缓存未命中事件,并使用输出中的 miss 关键字正确格式化它。
BZ#950400
在以前的版本中,Red Hat Enterprise Linux 6 缺少设置 IPv6 令牌网络配置的功能。因此,用户有较少的网络选项。IPv6 令牌功能已在内核(BZ""876634)和到 iproute 的用户空间接口中实现。https://bugzilla.redhat.com/show_bug.cgi?id=950400用户现在可以设置 IPv6 令牌网络,之后可以选择性地接收网络前缀。
BZ#908155
Red Hat Enterprise Linux 6.5 附带了 VXLAN (虚拟扩展 LAN)(一个类似 VLAN 的第 3 层封装技术)支持内核,因此用户和应用程序需要使用 VXLAN 功能。在这个版本中,ip 工具可识别并支持 'vxlan' 设备。
BZ#838482
当设置了较大的 rto_min (与某个目的地通信时使用的最小 TCP Retransmission TimeOut)时,ip route show 命令不会返回正确的值。现在,提供了一个补丁来修复这个程序错误,ip route show 现在会如预期处理 rto_min
BZ#974694
在此次更新之前,lnstat 工具的手册页被错误地引用不存在的目录,iproute-doc 而不是 iproute-<package version& gt; 目录。错误的文档可能会使用户混淆。要修复这个程序错误,文件系统路径已被修正。
BZ#977845
在以前的版本中,lnstat 工具的 interval 选项的行为及其文档之间存在不一致。因此,lnstat 在几秒钟后退出,而不是刷新视图,从而使 interval 选项毫无用处。interval 选项行为已被修改为每 N 秒刷新数据,从而修复这个程序错误。
BZ#985526
在以前的版本中,ip 工具会错误地处理 netlink 通讯,在某些情况下可能会导致挂起。因此,使用 ip link show 命令列出网络设备在 SELinux 限制模式下挂起。在这个版本中,ip 工具会在等待回复前检查 rtnl_send () 函数的结果,从而避免了 indefinite 挂起。现在,可以列出 SELinux 限制环境中的网络设备。
BZ#950122
在此次更新之前,tc 实用程序文档缺少 batch 选项的描述。要修复这个错误,tc 手册页已被更新,包括 batch 选项的描述。

功能增强

BZ#885977
在以前的版本中,网桥模块 sysfs 系统不提供检查非配置 IP 多播互联网组管理协议(IGMP)侦听数据的功能。如果没有此功能,用户无法完全分析其多播流量。在这个版本中,用户可以列出检测到的多播路由器端口,以及带有活跃订阅者和关联的接口的组。
BZ#929313
分布式覆盖虚拟以太网(DOVE)隧道允许构建虚拟可扩展局域网(VXLAN),其代表 ISO OSI 第 2 层使用的可扩展解决方案。网桥工具是 iproute 软件包的一部分,例如,可用于管理 Linux 平台上的 WLAN 设备上的转发数据库。
BZ#851371
如果从管道检测 tc 工具,则无法识别子命令何时完成。在 tc 工具中添加了新的 OK 选项。现在,批处理模式中的 tc 接受标准输入中的命令( tc -OK -force -batch 命令),并为每个成功完成 tc 子命令的标准输出返回 OK
建议 iproute 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.74. iptables

现在,Red Hat Enterprise Linux 6 提供了修复几个程序错误并添加了两个改进的 iptables 软件包。
iptables 工具控制 Linux 内核中的网络数据包过滤代码。实用程序允许用户执行某些操作,如设置防火墙或 IP 伪装。

程序错误修复

BZ#924362
之前版本的 iptables 添加了对 /lib/xtables/ 或 /lib64/xtables/ 目录的"alternatives"功能支持。但是,当使用"yum upgrade"命令以及包含自定义插件文件的目录升级 iptables 时,iptables 无法用替代的从符号链接替换目录。因此,一些 iptables 模块不可用。这个问题已通过修改 iptables spec 文件来解决,以便 /lib/xtables/ 或 /lib64/xtables/ 目录不再由"alternatives"管理。
BZ#983198
以前,iptables-save 命令只支持 "--modprobe=" 选项来指定 modprobe 可执行文件的路径。但是,iptables-save (8) man page 错误地声明,可以使用一个不支持的选项"-M"来执行这个操作,这可能会导致混淆。iptables-save 命令已被修改来支持"-M"选项来指定 modprobe 的路径,并更正 iptables-save (8)手册页,现在可以正确地提到 "-M" 和 "-modprobe=" 选项。
BZ#1007632
由于 iptables init 脚本中的一个错误,在使用基于网络的 root 设备和 INPUT 策略的默认过滤器时,系统可能会在关闭期间变得无响应。这个问题已通过在清除 iptables 规则并删除 iptables 链前将默认链策略设置为 ACCEPT 来解决。

功能增强

BZ#845435
iptables 工具已被修改来支持新选项 "--queue-bypass",该选项允许在不使用指定的队列时绕过 NFQUEUE 规则。
BZ#928812
添加了一个新的 iptables 服务选项"reload",以启用对防火墙规则的刷新,而无需卸载 netfilter 内核模块和可能的连接丢弃。
建议 iptables 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.75. ipvsadm

现在,Red Hat Enterprise Linux 6 提供了修复了几个程序错误的 ipvsadm 软件包,并添加各种改进。
ipvsadm 软件包提供 ipsvadm 工具,用于管理 Linux 内核提供的 IP 虚拟服务器服务。
升级到上游版本
ipvsadm 软件包已升级到上游版本 1.26,它从内核端向 IPVS 提供了新功能,这需要 SIP PE-data 的 PE 配置的完整advantage。另外,这个更新:
* 修复状态的 "One Packet Scheduler" 输出,并将操作保存为所有虚拟服务器,而不仅仅是使用持久标记配置的用户(BZ""986189)
* 解决了可能的,但不太可能的内存崩溃问题 ;
* 包括对与 ipvsadm 相关的 man page 的小改进。
建议 ipvsadm 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.76. irqbalance

针对 Red Hat Enterprise Linux 6 提供了修复几个程序错误的 irqbalance 软件包。
irqbalance 软件包提供了一个守护进程,可在多个 CPU 之间平均分配中断请求(IRQ)负载以提高性能。

程序错误修复

BZ#951720
在以前的版本中,irqbalance 会警告 MSI 中断,并且因为使用了 kernel-2.6.32-279 的内核版本而无法正确分类 IRQ。这个版本会阻止用户使用旧版本的内核的 irqbalance,而无需处理 MSI 中断的功能,且不再收到警告信息。
BZ#975524
由于 irqbalance 软件包的最新更改,在 irqbalance 服务启动时不会创建 /var/run/irqbalance.pid 文件,从而导致 irqbalance 与 Linux Standard Base (LSB)规范不兼容。这个更新提供了一个修复此问题的补丁,因此 irqbalance 软件包再次兼容 LSB。
BZ#991363
irqbalance 代码中的一个错误会导致 irqbalance 守护进程在 CPU 热插或热拔时以分段错误终止。在这个版本中解决了一个损坏的 IRQ 重新平衡列表,irqbalance 守护进程不会在这种情况下崩溃。
建议 irqbalance 用户升级到这些更新的软件包,从而修复这些程序错误。

8.77. iscsi-initiator-utils

Red Hat Enterprise Linux 6 现在提供了更新 iscsi-initiator-utils 软件包,它们修复了几个程序错误并添加各种改进。
iscsi-initiator-utils 软件包为 iSCSI 协议提供服务器守护进程,以及用于管理守护进程的工具。iSCSI (Internet Small Computer System Interface)是使用 Internet 协议网络发送的 SCSI 命令的协议。
升级到上游版本
iscsi-initiator-utils 软件包已升级到上游版本 6.2.0.873,它提供很多程序错误修复和增强。(BZ#916007)

程序错误修复

BZ#884427
在以前的版本中,如果为同一 iSCSI 目标门户创建不同格式的多个节点记录,则可能会出现数据库错误。因此,根据文件系统依赖 readdir syscall 的顺序,偶尔会出现一个错误,从而导致更新操作失败。要解决这个问题,在记录创建时,无法同时防止存在并检测到不同格式的多个节点记录。iSCSI 数据库中不再存在重复的节点条目,对记录的更新不会导致数据库错误。
BZ#983553
在此次更新之前,单个无法访问的目标以前可能会阻止对其它目标的重新扫描。因此,iscsiadm 工具可能会停止 D 状态,其余目标可能会保持未扫描的问题。要修复这个程序错误,iscsiadm 已被术语化,且所有目标都已更新。现在,会在不需要长时间的延迟的情况下,可以正确扫描正常工作的会话。
BZ#1001705
当 VDMS (虚拟桌面服务器管理器)试图向 iSCSI 数据库添加新记录时,会失败并显示以下错误:
iscsiadm:添加记录时出错:没有可用内存。
因此,由于这个错误,主机在连接到存储时变得无法正常工作。应用了上游补丁,现在可以成功附加 /var/lib/iscsi 文件。

功能增强

BZ#831003
对于 bnx2i 硬件以及潜在的其他卸载解决方案(用于提供原始网络目标的网络技术),iscsistart 工具将 VLAN 标签从 iBFT (iSCSI Boot Firmware Table)一起传递给 iface_rec (iscsi iface 记录名称)。
BZ#917600
在这个版本中,向此软件包添加了对从 open-iscsi 工具管理 Flash 节点的支持。
建议 iscsi-initiator-utils 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.78. iw

现在,Red Hat Enterprise Linux 6 提供了添加一个增强的更新 iw 软件包。
iw 命令行工具用于根据 nl80211 接口配置无线设备。
升级到上游版本
iw 软件包已升级到上游版本 3.10,它比之前的版本提供了一个增强。在这个版本中,在 Red Hat Enterprise Linux 6 中的 Atheros WiFi 接口添加了对 Wireless LAN (WoWLAN)的支持。(BZ#951706)
建议 iw 用户升级到这些更新的软件包,这会添加这个改进。

8.79. java-1.6.0-openjdk

针对 Red Hat Enterprise Linux 6 提供了更新的 java-1.6.0-openjdk 软件包,修复几个程序错误并添加各种改进。
java-1.6.0-openjdk 软件包提供 OpenJDK 6 Java 运行时环境和 OpenJDK 6 Java 软件开发组件。
升级到上游版本
java-1.6.0-openjdk 软件包已升级到上游 IcedTea 版本 1.13.0,它提供很多程序错误修复和增强。(BZ#983411)

错误修复

BZ#976897
在以前的版本中,由 com.sun.imageio.plugins.jpeg.JPEGImageWriter 类分配的 int[] 对象消耗大量内存,因此不会发布。在这个版本中,底层流处理逻辑已被修改,以确保正确释放此类内存,且不再发生大量内存消耗。
建议 java-1.6.0-openjdk 用户升级到这些更新的软件包,从而修复这些错误并添加这些改进。所有正在运行的 OpenJDK Java 实例都必须重启,才能使更新生效。

8.80. java-1.7.0-openjdk

针对 Red Hat Enterprise Linux 6 提供了更新的 java-1.7.0-openjdk 软件包,修复几个程序错误并添加各种改进。
java-1.7.0-openjdk 软件包提供 OpenJDK 7 Java 运行时环境和 OpenJDK 7 软件开发组件。
升级到上游版本
java-1.7.0-openjdk 软件包已升级到上游版本 2.4.3,它提供很多程序错误修复和增强。

程序错误修复

BZ#825824
尝试使用 jstack tapset 编译 SystemTap 脚本可能会失败,并显示类似如下的错误:
Error: 帧大小为 272 字节
在这个版本中,修正了 jstack tapset,并解决这个问题。
BZ#871771
由于 KDC 列表串联逻辑不正确,当 krb5.conf 文件中的 dns_lookup_kdc 属性设置为 true 时,sun.security.krb5.Config.getKDCList 方法会返回不正确的 KDC 列表。现在,串联逻辑已修复,现在会返回正确的 KDC 列表。
BZ#997633
java-1.7.0-openjdk RPM 软件包包含 libnss3 依赖项的不正确的规格,并在 i686 系统上安装其 x86_64 版本。由于缺少依赖项,在 32 位 JVM 上启动 -Dcom.sun.management.jmxremote 参数的 java 命令会意外终止。此更新修正了依赖项规格。因此,安装了 libnss3 软件包的正确版本,在使用 -Dcom.sun.management.jmxremote 参数启动时 java 命令不再终止。

功能增强

BZ#831734, BZ#905128
NSS 安全供应商现在是 OpenJDK 7 中的默认安全供应商。与之前的版本相比,这可以显著提高性能。
BZ#916288
java-1.7.0-openjdk RPM 软件包现在提供 java 依赖项。因此,不再需要将 java-1.6.0-openjdk 软件包安装和 java-1.7.0-openjdk 软件包,才能使 java 依赖项可用。
建议 java-1.7.0-openjdk 用户升级到这些更新的软件包,从而修复这些错误并添加这些改进。所有正在运行的 OpenJDK Java 实例都必须重启,才能使更新生效。

8.81. kde-settings

更新了 kde-settings 软件包,它修复了一个程序错误。
kde-settings 软件包提供了一组丰富的管理面板,用于在 Konqueror 桌面环境(KDE)中配置系统和桌面设置。

错误修复

BZ#886237
Konqueror 浏览器默认启用 Java 支持。由于 Java 是基于浏览器的恶意软件攻击的常见目标,因此在 Konqueror 中默认禁用 Java。
要在 Konqueror 中启用 Java,请导航到 Settings -> Configure Konqueror -> Java & JavaScript (将路径设置为 Java),然后选择 "Enable Java globally" 复选框。
建议 kde-settings 用户升级到这些更新的软件包,从而解决了这个问题。

8.82. kernel

现在,Red Hat Enterprise Linux 6.5 延长更新支持提供了修复多个安全问题、几个程序错误和添加一个增强的内核软件包。
红帽产品安全团队将此更新的安全影响严重性级别定为 Important (重要)。常见漏洞评分系统(CVSS)基础分数提供了详细的严重性评级,适用于参考部分中 CVE 链接中的每个漏洞。
内核软件包包含 Linux 内核,它是任何 Linux 操作系统的核心。

安全修复

CVE-2014-3673,CVE-2014-3687, Important
在 Linux 内核的 SCTP 实现处理格式或重复地址配置更改 Chunks (ASCONF)的方式中发现了一个安全漏洞。远程攻击者可以利用这些漏洞之一使系统崩溃。
CVE-2014-3688, Important
在 Linux 内核的 SCTP 实现处理关联输出队列的方式中发现了一个安全漏洞。远程攻击者可以发送专门制作的数据包,导致系统使用过量内存,从而导致拒绝服务。
CVE-2014-5045, Moderate
在符号链接上执行卸载操作时,Linux 内核的 VFS 子系统处理参考计数中发现了一个安全漏洞。本地无特权用户可以使用此缺陷来耗尽系统上的所有可用内存,或者可能触发一个无用错误,从而导致系统崩溃或特权升级。
CVE-2014-4608, Low
在 Linux 内核 LZO 实现的 LZO 实施处理 Literal Runs 的 lzo1x_decompress_safe () 函数中发现了一个整数溢出缺陷。在非常罕见的情况下,一个本地攻击者可以利用这个漏洞使系统崩溃,或者可能会在系统上升级其权限。
红帽借此感谢 Vasily Parallels 报告 CVE-2014-5045 和 Don A。Bailey from Lab Mouse Security for reporting CVE-2014-4608.Liu Wei 的 Liu Wei 发现了 CVE-2014-3673 问题。

程序错误修复

BZ#1108360
在此次更新之前,在某些因素下,内核计时器可能会导致智能平台管理接口(IPMI)驱动程序变得无响应,从而导致 CPU 负载高。在这个版本中,应用了补丁,IPMI 驱动程序不再挂起。
BZ#1109270, BZ#1109712
在以前的版本中,当错误恢复重启时,KCS 驱动程序中的 Orthonormal Basis 功能(OBF)计时器不会被重置,这会导致立即超时。因此,这些时间问题会导致 ipmi 变得无响应。此外,大量错误消息填充了 /var/log/messages 文件,并导致高 CPU 使用量。在这个版本中,应用了补丁来解决这个问题,ipmi 在上述情况下不再挂起。
BZ#1135993
由于某些内核更改,TCP Small Queues (TSQ)进程在 TCP 会话节流时无法正确处理 Nagle 的算法。底层源代码已被修补,Nagle 的算法现在可以在 TSQ 中正常工作。
BZ#1140976
在此次更新之前,由于 error-handling 路径中的一个错误,损坏的元数据块可用作有效的块。在这个版本中,错误处理路径已被修复,并添加了更多检查来验证元数据块。现在,当遇到损坏的元数据块时,它会被正确标记为已损坏并相应地处理。
BZ#1154087, BZ#1158321
在以前的版本中,日志会强制在调用链中出现相对较少的可用堆栈。因此,(XFS)文件系统中的一个堆栈 overflew,系统可能会意外终止。要修复此错误,移动日志会强制到工作队列,减轻堆栈压力,并避免系统崩溃。
BZ#1158324
在此次更新之前,TCP 传输中断不能小于默认的 8 buffered tx 帧,这会导致 ixgbe 适配器发生 TCP 传输延迟。在这个版本中,代码更改会删除最小 8 缓冲帧的限制,现在允许至少 1 个帧进行传输。因此,传输延迟现在可以最小化。
BZ#1165984
在以前的版本中,以太网 100 驱动程序更新中的编码错误会导致某些物理层(PHY)的初始化不正确,并返回 RX 错误。在这个版本中,编码错误已被修复,设备驱动程序可以正常工作。
BZ#1158327
在此次更新之前,帧缓冲(offb)驱动程序不支持在 QEMU 标准 VGA 适配器上设置颜色面板注册的设置,这会导致颜色显示不正确。QEMU 标准 VGA 适配器更新了fb 驱动程序,从而修复颜色问题。
BZ#1142569
在此次更新之前,在 PCI 错误恢复回调和 tg3 驱动程序中潜在的调用之间会发生几个竞争条件。触发时,这些竞争条件可能会导致意外的内核终止。这个程序错误已被解决,内核不会再崩溃。
BZ#1158889, BZ#1162748
由于在 Top Segmentation Offload (TSO)片段处理过程中出现硬件错误条件,所以内核和数据包没有传输页面分配失败。在这个版本中,当 TSO 片段处理失败时,更通用通用分段卸载(GSO)用作回退,数据包现在可以成功传输。
BZ#1163397
在以前的版本中,当使用 zombie PID 和 cgroup 时,内核变得无响应。要修复这个程序错误,应用了补丁程序,内核不再挂起。
BZ#1165000
在以前的版本中,在某些情况下,gfs2_converter 引入了磁盘内节点的 di_goal_meta 字段不正确的值。因此,gfs2_converter 返回了此类内节点上的 EBADSLT 错误,且不允许在常规文件的目录中或新块中创建新文件。在这个版本中,如果遇到损坏的目标值并继续进行正常操作,则允许 gfs2_converter 来设置可行的目标值。在这个版本中,gfs2_converter 隐式修复任何损坏的目标值,因此不再破坏正常操作。
BZ#1169403
在以前的版本中,某些错误条件会导致信息发送到系统日志。这些消息可能会丢失,而不是被记录,或重复的消息不会被禁止。在极端情况下,生成的日志记录卷可能会导致系统锁定或其他问题。现在,相关的测试已被反向修复,现在频繁的消息会被禁止和不经常记录的消息。

功能增强

BZ#1167209
这个版本增加了来自 Emulex 和 Oracle Enterprise Management (OEM)资格的修复,包括kyhawk 硬件的最新修复到 Emulex be2iscsi 驱动程序。
建议 内核 用户升级到这些更新的软件包,其中包括向后移植补丁以更正这些问题并添加此功能增强。必须重启系统才能使此更新生效。
现在,Red Hat Enterprise Linux 6.5 延长更新支持提供了修复一个安全问题、几个程序错误并添加一个增强的内核软件包。
红帽安全响应团队将此更新的安全影响严重性级别定为 Important (重要)。以下与描述相关的 CVE 链接中提供了通用漏洞评分系统(CVSS)基础分数,它给出了详细的严重性评级。
内核软件包包含 Linux 内核,它是任何 Linux 操作系统的核心。

安全修复

CVE-2014-5077, Important
在 Linux 内核的流控制传输协议(SCTP)实现中发现了一个 NULL pointer dereference 缺陷。一个远程攻击者可以使用这个缺陷使系统崩溃。

程序错误修复

BZ#1110839
由于内核信号处理中的一个错误,可以使用不正确的舍入模式来执行十进制浮动点(DFP)操作。因此,DFP 计算可能会返回不正确的或损坏的结果。在这个版本中解决了这个问题,方法是替换之前用来验证浮动点控制寄存器中某些值的有效性的简单位掩码。位掩码被浮点控制寄存器的试用负载替代。
BZ#1140163
在以前的版本中,当释放大量巨页(several TB)时,内核可能会遇到软锁定事件。这可能会导致性能问题。已修改内存管理代码,以增加在这种情况下上下文切换的机会,从而防止出现软锁定事件。
BZ#1122102
nouveau 驱动程序中的一个错误可能会阻止 Lenovo ThinkPad W530 笔记本电脑的主显示在系统恢复挂起后进行初始化。如果笔记本电脑有一个外部屏幕,在系统暂停时已分离。这个问题已通过向后移植与 DisplayPort 接口相关的上游补丁来解决。
BZ#1139807
由于 IP 虚拟服务器(IPVS)代码中的竞争条件,内核可以在运行 IPVS 连接同步守护进程时触发常规保护错误。在这个版本中,IPVS 代码中的竞争条件已被解决,在运行 IPVS 守护进程时内核不再崩溃。
BZ#1139345
内核有时可能会因为内核调度程序中的零划分而出现 panic。这个程序错误已通过定义一个新的 div64_ul ()划分函数,并更正 proc_sched_show_task () 函数中的受影响的计算来解决。
BZ#1125980
在某些 Lenovo ThinkPad 系列笔记本电脑上删除 rtsc_pci_ms 内核模块可能会导致内核 panic。在这个版本中,通过更正基本驱动程序函数 platform_uevent ()中的一个 bug 来解决这个问题。
BZ#1125994
如果系统通过绑定设备配置了 netconsole 服务,则 Linux Netpoll API 中的错误可能会导致内核 oops。在这个版本中,netpoll_poll_dev ()函数中使用不正确的标记已被修复,因为这个程序错误,内核不再崩溃。
BZ#1127580
内核没有处理由无效的浮点控制(FPC)注册导致的异常,从而导致内核 oops。这个问题已通过将标签放在代码中的正确位置来解决。
BZ#1138301
在以前的版本中,某些网络设备驱动程序在挂载后不接受 ethtool 命令。因此,不会应用指定设备驱动程序的当前设置,并返回错误消息。添加了 ETHTOOL_DELAY 变量,这样可确保 ethtool 实用程序在尝试应用选项设置前等待一段时间,从而修复这个程序错误。
BZ#1130630
文件系统卸载代码和文件系统通知代码之间的罕见的竞争条件可能会导致内核 panic。在这个版本中,内核应用了一系列补丁来防止这个问题。
BZ#1131137
bio 层中的一个错误可能会阻止用户空间程序在大量 RAM 内存碎片状况下运行时将数据写入磁盘。这个问题已通过修改 bio 层中的相应功能来拒绝添加新内存片段以及已达到的最大内存片段数时拒绝添加新内存页面的问题。
BZ#1135713
由于 ext3 代码中的一个错误,fdatasync ()系统调用不会强制将内节点大小更改为写入磁盘(如果它是文件中的唯一元数据更改)。如果系统意外终止,这可能会导致错误的内节点大小和可能的数据丢失。代码处理内节点更新已被修复,fdatasync ()现在在这种情况下将数据写入磁盘。
BZ#1134258
在以前的版本中,openvswitch 驱动程序无法正确处理包含多个 VLAN 标头的帧,这可能会导致内核 panic。在这个版本中解决了这个问题,并确保 openvswitch 进程此类帧正确。
BZ#1134696
之后的 Intel CPU 将新的"Condition Changed"位添加到 MSR_CORE_PERF_GLOBAL_STATUS 注册。在以前的版本中,内核 false 假设这个位表示性能中断,这会阻止其他 NMI 处理程序运行并执行。要解决这个问题,对内核应用了补丁来忽略 perf 代码中的这个位,使其他 NMI 处理程序能够运行。
BZ#1135393
在允许 virtio_net 驱动程序上的 VLAN 设备使用 TCP 分段卸载(TSO)功能后,数据包的分段已从虚拟机移到主机。但是,有些设备无法使用 8021q 模块处理 TSO,并破坏数据包,这会导致非常低的吞吐量(小于 1 Mbps)以及通过线路传输损坏的数据包。在该问题正确解决前,恢复了允许使用 TSO 功能的补丁;现在,分段会作为虚拟机再次在虚拟机上执行,并且网络吞吐量正常。
BZ#1141165
由于 IP 虚拟服务器(IPVS)代码中出现竞争条件,因此当处理来自不同 CPU 上连接的数据包时,内核可能会触发 panic。在这个版本中,在从连接表的哈希和未哈希连接的代码中添加了缺少的 spin locks,并确保来自同一连接的所有数据包都由单个 CPU 处理。
BZ#1129994
在以前的版本中,使用 Emulex 16 Gb Fibre Channel (FC)主机总线适配器(HBA)的 IBM Power 8 机器上的小块随机 I/O 操作可能会因为 lpfc 驱动程序中的一个错误而变得无响应。要解决这个问题,在 lpfc 代码中添加了一个内存障碍,以确保在 CQE 有效负载前读取有效的位。
BZ#1126681
在配置了网桥设备的系统上运行 "bridge link show" 命令可能会触发内核 panic。这是因为所有 RTNL 消息类型都没有从 bridge 模块注册中正确取消注册。在这个版本中,确保 RTNL 消息类型被正确取消注册,在这种情况下内核 panic 不再发生。
BZ#1114406
在以前的版本中,当多个 NFS 客户端使用写委托将数据附加到文件中时,NFS 服务器无法正确处理,数据可能会被破坏。在这个版本中,通过调整相关 NFS 代码中的 NFS 缓存有效检查,在这个场景中访问的文件现在包含有效的数据。
BZ#1131977
在以前的版本中,IPv4 路由代码允许 IPv4 垃圾回收程序在具有精确配置的多个 CPU 上并行运行。这可能会大大降低系统性能,并最终会在系统达到某些负载后软锁定。要解决这个问题并改进垃圾收集器的性能,收集器已移到异步运行的工作队列中。

功能增强

BZ#1133834
对于 NFSv3 的 exportfs 工具已实施一个新的"nordirplus"选项。这个选项允许用户为给定的 NFSv3 导出禁用 READDIRPLUS 请求,从而防止在某些情况下不需要的磁盘访问。
我们建议所有 内核 用户升级到这些更新的软件包,其中包括向后移植补丁以更正这些问题并添加此增强。必须重启系统才能使此更新生效。
现在,Red Hat Enterprise Linux 6 提供了修复多个安全问题、几个程序错误和添加一个增强的 内核软件包
红帽安全响应团队将此更新的安全影响严重性级别定为 Important (重要)。一般漏洞评分系统(CVSS)基础分数(提供详细的严重性评级)提供了以下每个描述的 CVE 链接中的每个漏洞。
内核软件包包含 Linux 内核,它是任何 Linux 操作系统的核心。

安全修复

CVE-2014-0205, Important
在 futex_wait ()期间重新排队时,Linux 内核的 futex 子系统处理参考计数的方式中发现了一个安全漏洞。本地无特权用户可以使用此缺陷,对索引节点的参考计数器或 mm struct 的参考计数器进行零换算,后者备份了 futex 的内存区域,这可能会导致无用后缺陷,导致系统崩溃或可能出现权限升级。
CVE-2014-3535, Important
在处理通过 VxLAN 接口的某些无效数据包时,Linux 内核的网络实施处理日志的方式中发现了一个 NULL pointer dereference 缺陷。一个远程攻击者可以通过向此类接口发送特殊设计的数据包来使系统崩溃。
CVE-2014-3917, Moderate
在 Linux 内核的系统调用审核中实施中发现了一个越界内存访问缺陷。在定义了现有审计规则的系统上,本地非特权用户可能会使用此缺陷将内核内存泄漏到用户空间,或者可能会使系统崩溃。
CVE-2014-4667, Moderate
在 Linux 内核的流控制传输协议(SCTP)实现中发现了一个整数,它处理了某些 COOKIE_ECHO 数据包。通过发送特制的 SCTP 数据包,远程攻击者可以利用此漏洞来防止到特定 SCTP 服务器套接字的合法连接。
红帽借此感谢 Nokia Siemens Networks 的 Gopal Reddy Kodudula 报告 CVE-2014-4667。由红帽 Mateusz Guzik 发现了 CVE-libexec205 问题的安全影响。

程序错误修复

BZ#1089359
在以前的版本中,NFSv4 允许 NFSv4 恢复过期或丢失的文件锁定。如果文件同时修改了,这可能会导致文件损坏。此问题已通过一系列补丁解决,确保 NFSv4 客户端不再尝试恢复过期或丢失的文件锁定。
BZ#1090613
NFSv4 代码中的错误可能会导致在无限循环中重新处理 NFS4ERR_BAD_STATEID 错误,而不是恢复错误的状态 ID。要解决这个问题,对 NFSv4 代码应用了一系列补丁。如果 nfs4_select_rw_stateid () 函数返回一个 -EIO 错误,NFS 客户端不再重试 I/O 操作,这会导致不正确的状态 ID 错误。
BZ#1120651
对 Open vSwitch 内核模块的以前的更改引入了一个无用问题,这会导致在使用此模块的系统上出现内核 panic。在这个版本中,确保受影响的对象在代码中的正确位置释放,从而避免了问题。
BZ#1118782
在以前的版本中,Huge conversion Lookaside Buffer (HugeTLB)无条件地允许访问巨页。但是,在某些环境中,巨页可能不被支持,如 PowerPC 架构上的 KVM 客户机,当巨页没有支持时,尝试使用基本页面作为内存的巨页会导致内核 oops。在这个版本中,如果系统中不支持巨页,则 HugeTLB 拒绝对巨页的访问。
BZ#1096397
当 NFS 客户端在发送 CLOSE 操作后收到 NFS4ERR_ADMIN_REVOKED 错误时,NFS4 会错误地处理一个情况。因此,客户端无限期地发送相同的 CLOSE 操作,尽管它收到 NFS4ERR_ADMIN_REVOKED 错误。对 NFSv4 代码应用补丁,以确保 NFS 客户端在这种情况下仅发送特定的 CLOSE 操作。
BZ#1099607
在删除文件以直接降低相关索引节点的链接数后,NFS 之前称为 drop_nlink ()函数。因此,NFS 无法重新验证内节点缓存,因此可以使用过时的文件句柄,从而导致 ESTALE 错误。应用了补丁以确保 NFS 在删除文件后正确验证内节点缓存。
BZ#1117582
SCSI 代码之前的更改修复了在删除 SCSI 设备时可能会出现的竞争条件。但是,这种改变会导致性能下降,因为它使用了块层代码中的某些功能,与更新的内核版本相比是返回不同的值。这个版本更改了 SCSI 代码,以正确使用块层代码返回的值。
BZ#1102794
在以前的版本中,当使用在绑定接口之上配置的桥接接口时,绑定驱动程序不知道分配给网桥的 IP 地址。因此,启用了 ARP 监控时,在探测同一子网时 ARP 监控无法以网桥的 IP 地址为目标。因此,网桥总是报告为 down,且无法访问。在这个版本中,绑定驱动程序已了解到分配给绑定接口上配置的网桥的 IP 地址,并且 ARP 监控现在可以按预期探测网桥。请注意,如果使用 arp_validate 选项,仍会出现这个问题。因此,在解决此问题之前,不要使用这个选项。
BZ#1113824
如果缓存包含具有相同密钥的多个条目但不同的 TOS、标记或 OIF 位,则自动路由缓存重建功能可能会错误地计算路由散列链的长度。因此,该功能可以访问重建的限制并禁用系统上的路由缓存。这个问题已通过使用帮助函数来解决,这样可避免计算此类重复路由。
BZ#1121541
由于一个允许在停止时写入 RAID 阵列的竞争条件,md 驱动程序可能会进入死锁情况。死锁阻止缓冲区被写入磁盘,设备的所有 I/O 操作都会变得无响应。在这个版本中,md 驱动程序已被修改,现在可以避免这种死锁。
BZ#1112226
当在 Hyper-V 环境中引导客户机并有足够的可编程 Interval Timer (PIT)中断丢失或未注入客户机时,内核会 panicked,客户机无法引导。当客户机在 Hyper-V 环境中运行时,绕过相关的 PIT 检查来解决这个问题。
建议所有用户升级到这些更新的软件包,其中包含向后移植的补丁以更正这些问题。必须重启系统才能使此更新生效。
现在,Red Hat Enterprise Linux 6 提供了修复多个安全问题、几个程序错误和添加一个增强的 内核软件包
红帽安全响应团队将此更新的安全影响严重性级别定为 Important (重要)。一般漏洞评分系统(CVSS)基础分数(提供详细的严重性评级)提供了以下每个描述的 CVE 链接中的每个漏洞。
内核软件包包含 Linux 内核,它是任何 Linux 操作系统的核心。

安全修复

CVE-2014-2851, Important
在 Linux 内核的 ping_init_sock () 函数中发现了一个 use-after-free 漏洞,它处理 group_info 参考计数器。本地非特权用户可能会使用此缺陷使系统崩溃,或者可能在系统上升级其权限。
CVE-2014-6647, Moderate
在 Linux 内核 futex 子系统的 futex_wait_requeue_pi () 函数中发现了一个 NULL pointer dereference 缺陷,它处理某些 Priority Inheritance (PI) futexes 的方法。本地非特权用户可能会使系统崩溃。
CVE-2014-7339, Moderate
在 Linux 内核的 Reliable Datagram Sockets (RDS)函数中的 rds_ib_laddr_check () 函数中发现了一个 NULL pointer dereference 缺陷。本地非特权用户可能会使用此缺陷使系统崩溃。
CVE-2014-2672, Moderate
它发现,远程攻击者可以利用th_tx_aggr_sleep () 函数中的竞争条件缺陷,通过在系统的 Atheros 9k 无线网络适配器上创建大型网络流量来使系统崩溃。
CVE-2014-2678, Moderate
在 Linux 内核的 Reliable Datagram Sockets (RDS)函数中的 rds_iw_laddr_check () 函数中发现了一个 NULL pointer dereference 缺陷。本地非特权用户可能会使用此缺陷使系统崩溃。
CVE-2014-2706, Moderate
在 Linux 内核的 mac80211 子系统实现中发现了一个竞争条件缺陷,它处理 TX 和 STA wake-up 代码路径之间的同步。一个远程攻击者可以使用这个缺陷使系统崩溃。
CVE-2014-3144,CVE-2014-3145, Moderate
在 Linux 内核的网络实现中的 Berkeley Packet Filter (BPF)解释器功能的 Netlink Attribute 扩展中发现了一个越界内存访问缺陷。本地无特权用户可以使用此缺陷,通过特制的套接字过滤器使系统崩溃或将内核内存泄漏到用户空间。

程序错误修复

BZ#1107503
由于挂载选项解析器中的一个错误,在 CIFS DFS 共享上的前缀路径可以使用双引号('\\')前加上前缀,从而导致某些环境中出现不正确的 "No such file" 错误。挂载选项解析程序已被修复,前缀路径现在会如预期以反斜杠开头。
BZ#1110170, BZ#1110169, BZ#1110168, BZ#1109885, BZ#1109883
在 IBM S/390 系统上 AES、DES 和 DES3 算法的操作实现中发现了几个并发问题,可能会导致数据崩溃。具体来说,工作页面不受 CTR 模式中的并发调用的保护。在 CTR 模式中没有获取工作页面的回退解决方案无法正确处理 iv 值。在某些并发情况下,使用的 CBC 模式没有正确保存和恢复密钥和 iv 值。所有这些问题已在代码中解决,上述算法的并发使用不再会导致数据崩溃。
BZ#1090749
在集群环境中,从客户机到主机的多播流量有时是不可靠的。但是,通过 RHSA-2013-1645 公告尝试解决这个问题,但尝试引发回归问题。这个版本恢复了 RHSA-2013-1645 提供的此问题的补丁,并引入了一个新的问题修复。如果禁用多播 querier 且没有检测到其他 querier,则代表这个问题已通过大量带有多播数据包的网络来解决。
BZ#1106472
从系统中删除网桥后,网桥 MDB RTNL 处理程序被错误地移除,然后配置了网桥。这会导致各种问题,例如,没有显示来自其余网桥的多播 IGMP 侦听数据。在这个版本中,确保仅在网桥模块卸载后删除桥接处理程序,多播 IGMP snooping 数据现在可以在上述情况下正确显示。
BZ#1100574
由于 nouveau 内核模块中的一个错误,在某些多显示配置中可能会修改错误的显示输出。因此,在连接了外部显示器的 Lenovo Thinkpad T420 和 W530 笔记本电脑上,这可能会导致 LVDS 面板"bleed"到白色,显示控制器在重新引导后可能会无法正常工作。对显示配置的更改还可能会在各种情况下触发错误。在这个版本中,nouveau 内核模块已被修正,上述配置现在可以正常工作。
BZ#1103821
当客户机支持 Supervisor Mode Execution Protection (SMEP)时,KVM 会在客户机页表条目(sptes)上设置适当的权限位,以模拟 SMEP 强制访问。在以前的版本中,KVM 会错误地验证主机 cr4 注册中是否设置了"smep"位,而不是 guest cr4 注册。因此,如果主机支持的 SMEP,它会被强制执行,即使它没有被请求,这可能会导致 guest 系统无法引导。在这种情况下,这个更新会按预期进行"smep"位检查和客户机系统引导。
BZ#1096059
在以前的版本中,如果 hrtimer 中断延迟,则在同一处理器上排队的所有待处理 hrtimer 事件也会延迟,直到处理初始 hrtimer 事件为止。这可能会导致所有 hrtimer 处理在一段时间内停止。要防止这个问题,在处理最初延迟 hrtimer 事件时,内核已被修改来处理所有过期的 hrtimer 事件。
BZ#1099725
在以前的版本中,硬件可能会以 FIFO 顺序而不是标记的顺序执行由驱动程序发送的命令。因此,命令可能会按顺序执行,这可能导致大量延迟和吞吐量降低。在这个版本中,ATA 子系统标记发送到硬件的每个命令,确保硬件按照标记的顺序执行命令。支持标记命令的控制器性能现在可以提高 30-50%。
BZ#1107931
由于 GRE 隧道代码中存在一个错误,无法使用自定义名称创建 GRE 隧道。此更新更正 ip_tunnel_find () 函数的行为,允许用户使用自定义名称创建 GRE 隧道。
BZ#1110658
qla2xxx 驱动程序已升级至 8.05.00.03.06.5-k2 版本,它比之前的版本提供了很多程序错误修复,以便更正 mailbox 命令的各种超时问题。
BZ#1093984
如果在追踪过程中更改了 trace 时钟,内核不会重置内核环缓冲。但是,新的时钟源可能与以前的时钟源不一致,因此结果追踪记录可能包含无法解析的时间戳。为确保 trace 记录只包含可比较时间戳,现在每当 trace 时钟发生变化时都会重置环缓冲。
BZ#1103972
在以前的版本中,KVM 不接受主机 PCI 设备(网段)号,因此无法为虚拟机分配属于非零 PCI 段一部分的 PCI 设备。要解决这个问题,除了插槽、设备和功能号外,KVM 已扩展为接受 PCI 域号。

功能增强

BZ#1094403
用户现在可以基于每个数据包在 IPv4 中设置 ToS、TTL 和优先级值。
建议所有用户升级到这些更新的软件包,其中包含向后移植的补丁以更正这些问题。必须重启系统才能使此更新生效。
现在,Red Hat Enterprise Linux 6 提供了修复多个安全问题的内核软件包和几个程序错误。
红帽安全响应团队将此更新的安全影响严重性级别定为 Important (重要)。一般漏洞评分系统(CVSS)基础分数(提供详细的严重性评级)提供了以下每个描述的 CVE 链接中的每个漏洞。
内核软件包包含 Linux 内核,它是任何 Linux 操作系统的核心。

安全修复

CVE-2014-3153, Important
在 Linux 内核 futex 子系统处理某些优先级不一致性(PI) futexes 的方式中发现了一个安全漏洞。本地非特权用户可能会使用此缺陷升级其在系统上的权限。
CVE-2014-17 37, Important
在处理 FDRAWCMD IOCTL 命令时,Linux 内核的软盘驱动程序处理某些错误代码路径中提供的数据的方式中发现了一个安全漏洞。具有写入 /dev/fdX 的本地用户可能会使用此缺陷释放(使用 kfree ()函数)任意内核内存。
CVE-2014-1738, Low
在处理 FDRAWCMD IOCTL 命令时,Linux 内核的软盘驱动程序会将内部内核内存地址泄漏到用户空间。具有写入 /dev/fdX 的本地用户可能会使用此缺陷获取有关内核堆安排的信息。
注意
对 /dev/fdX 有写入访问权限的本地用户可以使用这两个漏洞(CVE-2014-1737)与 CVE-2014-1738)结合使用,以升级其系统上的权限。
CVE- serving203, Moderate
发现,proc_ns_follow_link () 函数没有正确地返回最后一个 pathname 组件中的 LAST_BIND 值,因为 procfs 符号链接的预期,这可能会导致过量释放内存和排序 slab 崩溃。本地非特权用户可能会使用此缺陷使系统崩溃。
CVE-2014-2039, Moderate
在用户空间应用程序尝试使用链接堆栈时,Linux 内核处理异常的方式中发现了一个安全漏洞。在 IBM S/390 系统中,一个本地非特权用户可能会使用这个缺陷使系统崩溃。
CVE-2013-6378, Low
Linux 内核中的 Marvell 8xxx Libertas WLAN (libertas)驱动程序中发现了一个无效的指针 dereference 缺陷。本地用户能够写入 libertas 驱动程序提供的文件,且位于 debug 文件系统(debugfs)上的文件可能会使用此缺陷使系统崩溃。注: debugfs 文件系统必须在本地挂载才能利用这个问题。默认情况下不挂载它。
CVE-2014-1874, Low
在 Linux 内核的 SELinux 实现处理带有空 SELinux 安全上下文的文件的方式中发现了一个拒绝服务漏洞的问题。具有 CAP_MAC_ADMIN 功能的本地用户可能会使用这个缺陷使系统崩溃。
红帽借此感谢 Kees staff Google 报告 CVE-2014-3153、Matthew Daley 报告 CVE-2014-1737 和 CVE-2014-1738,以及 Vladimir Davydov of Parallels 用于报告 CVE-available203。Google 确认 Pinkie Pie 作为 CVE-2014-3153 的原始报告者。

程序错误修复

BZ#1086839
由于 lpfc 驱动程序中的 ndlp 列表损坏错误,带有 Emulex LPe16002B-M6 PCIe 2-port 16Gb Fibre Channel Adapters 的系统可能会在 I/O 操作过程中触发内核 panic。已向后移植了一系列补丁来解决这个问题,因此内核在上述系统的 I/O 操作过程中不再 panic。
BZ#1096214
之前的更改启用了为网桥接口上配置的 VLAN 接口接收加速。但是,这个更改允许 VLAN 标记的数据包绕过网桥,并直接发送到 VLAN 接口。在这个版本中,确保网桥正确处理流量,然后再将流量传递给该网桥上配置的任何 VLAN 接口。
BZ#1090750
当主机时间戳计数器(TSC)被标记为不稳定时,引入了全局时钟更新的更改会导致客户机机器启动缓慢。随着分配的 vCPU 数量增加,速度较慢。要解决这个问题,应用了补丁来限制全局时钟更新的速度。
BZ#1094287
由于 ixgbevf 驱动程序中的一个错误,来自 ixgbevf 接口中传入数据包的 VLAN 信息可能会丢失,因此这些数据包不会到达相关的 VLAN 接口。这个问题已通过在将数据包的 VLAN 信息传递给网络堆栈前将其添加到套接字缓冲(skb)中来解决。因此,ixgbevf 驱动程序现在将 VLAN 标记的数据包传递给适当的 VLAN 接口。
BZ#1089915
块设备代码中完成和超时处理之间的竞争条件有时可能会触发 BUG_ON () 断言,从而导致内核 panic。在这个版本中,通过在代码中重新定位相关函数调用和 BUG_ON () 断言来解决这个问题。
BZ#1088779
使用 NFS 文件系统的系统可能会变得无响应,或者因为 nfsd 守护进程中的重复回复缓存(DRC)代码中存在 use-after-free 错误而触发内核 oops。这个问题已通过在尝试使用 nfsd 前修改 nfsd 到 unhash DRC 条目并更喜欢从 slab 分配新的 DRC 条目来解决,而不是从列表中重新使用过期的条目。
BZ#1092002
当尝试因为文件系统配额违反而在 GFS2 文件系统中创建文件时,相关的 VFS inode 不会被完全未初始化。这可能会导致列表损坏错误。在这个版本中,通过在这种情况下正确重新初始化 VFS inode 来解决这个问题。
BZ#1069630
在以前的版本中,当尝试在系统启动时使用直接或偏移挂载类型重新连接挂载时,automount 可能会变得无响应。这是因为当相关调用者还没有拥有挂载时,设备 ioctl 代码不会处理这种情况。此外,umount ()命令有时无法卸载具有过时 root 的 NFS 文件系统。现在,在虚拟文件系统代码中解决了这两个问题,automount 现在可以使用新的 lookup 功能 kern_path_mountpoint ()挂载直接或偏移挂载。umount ()命令现在在不重新验证的情况下处理挂载点,该命令可以使用过时的 root 卸载 NFS 文件系统。
BZ#1091424
内核无法正确处理环境和电源警告(EPOW)中断。这导致无法成功使用"virsh shutdown"命令在 IBM POWER8 系统上关闭客户机。在这个版本中,内核可以正确地处理 EPOW 事件,并打印相应 EPOW 事件的信息描述。有关每个遇到的 EPOW 的详细信息,可在 Real-Time Abstraction Service (RTAS)错误日志中找到。
BZ#1081915
由于 cgroup 代码中出现竞争条件,所以内核任务调度程序可能会在 cgroup 之间移动退出任务时触发内核 panic。应用了补丁,通过替换 cgroup 代码中几个不正确的功能调用来避免此内核 panic。
BZ#1081909
cgroup 代码中错误放置函数调用会阻止 notify_on_release 功能正常工作。此功能用于删除空 cgroup 目录,但由于这个错误,一些空 cgroup 目录仍保留在系统中。在这个版本中,确保 notify_on_release 功能始终由 cgroup_task_migrate ()函数中的正确排序操作正确触发。
BZ#1081914
由于 cgroup 代码中的一个竞争条件,当内核任务调度程序在 cgroups 之间移动退出任务时,内核任务调度程序可能会触发一个 use-after-free 错误,这会导致内核 panic。这个版本通过引入新的功能 cpu_cgroup_exit ()来避免内核 panic。此功能可确保内核不会释放尚未为空的 cgroup。
BZ#1079869
由于 hrtimers 子系统中的一个错误,clock_was_set ()函数从软 IRQ 上下文中调用 Inter-processor interrupt (IPI)并等待其完成,这可能会导致死锁情况。通过将 clock_was_set ()函数调用移到工作上下文来应用补丁来解决这个问题。另外,在恢复过程中,hrtimers_resume ()函数仅为当前 CPU 重新编程内核计时器,因为它假定所有其他 CPU 都离线。但是,在某些情况下,这个假设不正确,比如当恢复带有一些非引导 CPU 的 Xen 客户机时,只有禁用 IRQs 时停止了这个假设。因此,即使这些 CPU 在线,在引导 CPU 外,内核计时器不会被修正。要解决这个问题,hrtimers_resume ()已修改,以触发早期软 IRQ 在所有在线 CPU 上正确重新编程内核计时器。
BZ#1080104
由于之前更改了 txselect 参数格式的更改,InfiniBand qib 驱动程序无法在 HP Blade 服务器中支持 HP 品牌 QLogic QDR InfiniBand 卡。要解决这个问题,驱动程序的解析例程 setup_txselect ()已修改为处理多值字符串。
BZ#1075653
对虚拟文件系统(VFS)代码的以前的更改包括 PATH_MAX 变量减少 32 字节。但是,这个更改不会被传播到 do_getname ()函数,它对 getname ()和 do_getname ()函数之间的交互有负面影响。这个版本相应地修改 do_getname (),这个功能现在可以正常工作。
BZ#1082622
在以前的版本中,在某些环境中,如带有几个刀片服务器的 HP BladeSystem Enclosure,kdump 内核可能会因为缺少可用的中断向量而在启动过程中遇到内核 panic 或变得无响应。因此,kdump 无法捕获内核转储。要增加多个可用的中断向量,kdump 内核可以使用更多 CPU 引导。但是,kdump 内核总是尝试使用 bootstrap 处理器(BSP)引导,这会导致在某些情况下内核无法启动多个 CPU。这个更新引入了一个新的内核参数 disable_cpu_acipid,它允许 kdump 内核在引导过程中禁用 BSP,然后成功使用多个处理器引导。这解决了对于有大量设备的系统缺少可用中断向量的问题,并确保 kdump 现在可以在这些系统上成功捕获内核转储。
BZ#1091826
以前对内核调度程序的补丁修复了由 init_numa_sched_groups_power ()函数中的 divide-by-zero 错误导致的内核 panic。但是,这个补丁在带有标准 Non-Uniform Memory Access (NUMA)拓扑的系统上引入了回归问题,以便在一个 NUMA 域中将 cpu_power 设置为预期的值。这会导致任务调度不正确,即使有足够的排队任务来处理任务,但对系统性能有负面影响。在这个版本中,通过为每个未计数的 CPU 添加估算,确保将带有标准 NUMA 拓扑的系统上 cpu_power 的 cpu_power 设置为预期的值。Task 调度现在可以在这些系统上正常工作,而不会与上述程序错误相关的性能问题。
BZ#1092870
RTM_NEWLINK 消息可以包含给定网络接口(NIC)的每个虚拟功能(VF)的信息,并在未过滤这些信息时变得非常大。在以前的版本中,内核 netlink 接口允许 getifaddr ()函数处理带有未过滤内容的 RTM_NEWLINK 消息。在某些情况下,内核 netlink 接口会省略给定 NIC 组的数据,从而导致 getifaddr ()无限期循环无法返回受影响 NIC 的信息。在这个版本中,只提供带有过滤内容的 RTM_NEWLINK 信息来解决这个问题。
BZ#1063508
在以前的版本中,当 ext4_releasepage ()函数通过设置了 PageChecked 标志的页面时,会发出一个不必要的警告信息。为了避免内核日志中相关的警告,这个更新会从 ext4 代码中删除相关的 WARN_ON ()。
BZ#1070296
Microsoft Windows 7 KVM 客户机在重启后可能会变得无响应,因为在处理页面错误时 KVM 不管理将 Non-Maskable Interrupt (NMI)注入到客户机。要解决这个问题,在 KVM 代码中应用了一系列补丁,确保 KVM 按预期在客户机机器重启过程中处理页面错误。
BZ#1096711
turbostat 工具会在带有第四代 Intel Core Processors 的系统中使用时生成错误消息。要解决这个问题,内核已被更新,为 C8、C9 和 C10 C-states 提供 C-state residency 信息。
我们建议所有内核用户升级到这些更新的软件包,其中包含向后移植的补丁以更正这些问题。必须重启系统才能使此更新生效。
现在,Red Hat Enterprise Linux 6 提供了修复三个安全问题的内核软件包和几个程序错误。
红帽安全响应团队将此更新的安全影响严重性级别定为 Important (重要)。一般漏洞评分系统(CVSS)基础分数(提供详细的严重性评级)提供了以下每个描述的 CVE 链接中的每个漏洞。
内核软件包包含 Linux 内核,它是任何 Linux 操作系统的核心。

安全修复

CVE-2014-2523, Important
在 Linux 内核的 netfilter 连接跟踪实施 Datagram Congestion Control Protocol (DCCP)数据包使用了 skb_header_pointer ()函数的方式中发现了一个安全漏洞。一个远程攻击者可以使用此缺陷发送特殊设计的 DCCP 数据包来使系统崩溃,或者可能会在系统上升级其权限。
CVE-2014-6383, Moderate
在 Linux 内核的 Adaptec RAID 控制器(aacraid)检查了 compat IOCTLs 权限的方式中发现了一个安全漏洞。本地攻击者可以利用此漏洞绕过预期的安全限制。
CVE- serving077, Moderate
在禁用可合并缓冲区时处理大型网络数据包的方式中发现了一个安全漏洞。特权客户机用户可以使用此缺陷使主机上的主机崩溃或损坏 QEMU 进程内存,这可能会导致具有 QEMU 进程特权的主机上的任意代码执行。
CVE-quartz077 的问题是由 Red Hat 的 Michael S. Tsirkin 发现的。

程序错误修复

BZ#1078007
由于 Linux 内存管理的最新更改,当热拔 CPU 时,内核无法正确处理每个 CPU LRU 页面向量。因此,相关离线 CPU 的页向量会保留内存核算的内存页面。这导致 libvirtd 守护进程在系统关闭时删除相关的内存 cgroup 目录,从而导致 libvirtd 无响应。要解决这个问题,Linux 内存管理现在可以从相关页面向量中正确地清除离线 CPU 的内存页面。
BZ#1063201
d_splice_alias () 函数的最新更改引入了一个错误,允许 d_splice_alias ()从与正在查找的目录不同的目录中返回 dentry。因此,在集群环境中,当目录被删除时,可能会触发内核 panic,同时在另一个集群节点上在此目录中执行并发跨目录操作。在这个版本中,通过更正 d_splice_alias () 函数中的搜索逻辑来避免在这种情况下出现内核 panic,因此该功能无法再从不正确的目录中返回 dentry。
BZ#1086095
当 Real-Time (RT)调度程序在 CPU 和 wakeup_kswapd ()函数间移动 RT 任务时,系统可能会进入死锁情况,从而导致内核 panic。这个问题已通过从 deadlock-safe 上下文中删除有问题的内存分配来解决,因此从 deadlock-safe 上下文调用 wakeup_kswapd () 函数。
BZ#1086007
在以前的版本中,一些设备映射器内核模块,如 dm-thin、dm-space-map-metadata 和 dm-bufio,其中包含了对它们正常工作的各种错误。这个版本向后移植了几个解决了这些问题的上游补丁,包括对设备映射器精简配置(thinp)的元数据大小特性的修复,以及 dm-thin 和 dm-bufio 的只读模式修复。因此,上述内核模块现在包含最新的上游更改,可以正常工作。
BZ#1066535
使用新函数 release_cb ()扩展"proto"结构的前一个变化,它会破坏内核应用程序二进制接口(kABI)的完整性。如果调用的核心堆栈新引入到这个功能的指针,针对针对旧内核标头编译的模块,调用会导致访问不足以及后续的内核 panic。要避免这个问题,核心堆栈已被修改为识别新引入的 slab 标记 RHEL_EXTENDED_PROTO。这允许核心堆栈只对支持它的模块安全地访问 release_cb pointer。
BZ#1083350
完全公平调度程序(CFS)没有验证 CFS 周期计时器在 CFS 运行队列上的节流任务时是否在运行。因此,在某些情况下,CFS 运行队列会卡住,因为 CFS 周期计时器不活跃且无法重启。要解决这个问题,CFS 现在会在节流功能内重启 CFS 周期计时器(如果它不活跃)。
BZ#1073562
之前的更改从 Linux 内存管理代码中删除了 ZONE_RECLAIM_LOCKED 标志,以修复内存区回收逻辑中的 NUMA 节点分配问题。但是,删除标志允许并发页面在一个内存区中回收(在系统负载过重时),导致出现不必要的旋转锁定竞争和后续性能问题(系统变得缓慢或无响应)。在这个版本中,如果区无法满足扫描要求,防止重新声明线程扫描内存区来解决这个问题。负载重度的系统不再会出现 CPU 过载,但保持其预期性能。
BZ#1073564
使用压缩功能回收内存的重启逻辑以前应用于 LRU 页面向量级别。但是,这可能会在内存分配中造成大量延迟,因为内存压缩不需要特定 cgroup 和整个内存区的内存页面。这个问题已通过将重启逻辑移到区级别,并在压缩需要区更多可用页面时为区中的所有内存 cgroup 重启内存重新声明的问题。
BZ#1074855
在以前的版本中,for_each_isci_host ()宏被错误地定义,以便它可以访问 2-element 数组的一个 out-of-range 元素。这个宏也被 GCC 4.8 错误地优化,以便在带有两个 SCU 控制器的平台上执行多次。因此,系统在进入 S3 状态或删除 isci 模块时会触发内核 panic。在这个版本中修正了上述宏,上面描述的问题不再发生。
BZ#1083175
vmxnet3 驱动程序中的一个错误允许当驱动程序与 netconsole 模块一起使用时,触发潜在的竞争条件。竞争条件允许驱动程序的内部 NAPI 轮询例程与 netpoll 控制器例程同时运行,这会导致数据崩溃和后续的内核 panic。要解决这个问题,vmxnet3 驱动程序已被修改来调用适当的中断处理程序,以正确调度 NAPI 轮询请求。
BZ#1081908
在迁移 CPU cgroup 上的任务时,内核任务调度程序可能会触发竞争条件。竞争条件可能会导致访问指向不正确的父任务组的任务,从而导致系统的行为不可预测,例如显示没有响应。这个问题已通过确保在任务迁移过程中正确存储了正确的任务组信息来解决。
BZ#1076056
以前向后移植到 XFS 代码的补丁向 xlog_cil_empty ()函数添加了一个无条件调用。如果 XFS 文件系统是使用 unsupported nodelaylog 选项挂载的,则该调用会导致访问未初始化的 spin 锁定和一个 consequent 内核 panic。要避免这个问题,nodelaylog 选项已被禁用; 选项仍然被接受,但不再起作用。(nodelaylog 挂载选项最初定义为上游测试选项,自此后已被删除。)
BZ#1076242
SCTP sctp_connectx ()ABI 无法对使用 32 位模拟编译的 64 位内核正常工作。因此,在这种情况下,使用 sctp_connectx ()函数的应用程序不会运行。要解决这个问题,新的 ABI 已被实现;COMPAT ABI 允许从 COMPAT-specific 结构复制和转换用户数据到特定于 SCTP 的结构。需要 sctp_connectx ()的应用程序现在可以在使用 32 位模拟编译的 64 位内核的系统上正常工作。
BZ#1085660
qla2xxx 驱动程序中的一个错误导致内核崩溃。在这个版本中,修复 qla2x00_alloc_iocbs ()函数中的 "for" 语句中的不正确的条件来解决这个问题。
BZ#1079870
负责创建和绑定数据包套接字的代码没有优化,因此使用 socket ()和 bind ()系统调用的应用程序不会按预期执行。补丁已应用到数据包套接字代码,因此在某些情况下,套接字创建和绑定的延迟现在会显著降低。
BZ#1077874
在以前的版本中,在报告命令成功中止后,vmw_pwscsi 驱动程序可能会尝试向 SCSI 中层完成命令。这会导致一个双完成错误和后续的内核 panic。此更新可确保 pvscsi_abort ()函数仅在 abort 完成后返回 SUCCESS,防止驱动程序无效尝试完成该命令。
BZ#1085658
由于 mlx4_en 模块中的一个错误,可以在初始化前访问与时间戳相关的数据结构。因此,载入 mlx4_en 可能会导致内核崩溃。这个问题已通过将时间戳机制的启动移到代码中的正确位置来解决。
BZ#1078011
由于以前的更改重构了通用路由封装(GRE)隧道代码,ip_gre 模块无法正常工作。因此,GRE 接口丢弃了设置了 Explicit Congestion 通知(ECN)位的每个数据包,且没有设置 ECN-Capable Transport (ECT)位。在这个版本中,重新引入 ipgre_ecn_decapsulate () 函数,它现在被用来替代未正确实现的 IP_ECN_decapsulate () 函数。ip_gre 模块现在可以正常工作,GRE 设备可以按预期处理所有数据包。
BZ#1078641
megaraid_sas 驱动程序中的一个错误可能会导致驱动程序错误地读取硬件状态值。因此,在系统引导时禁用了 RAID 卡,系统可能无法引导。在这个版本中,megaraid_sas 驱动程序已被修正,以便在系统引导时启用 RAID 卡。
BZ#1081907
在某些情况下,完全公平调度程序(CFS)中存在一个错误,在 cgroup 之间移动分叉任务时触发竞争条件。当一个子任务被访问时,这个竞争条件可能会导致免费使用的错误以及后续的内核 panic,同时指向其父任务的过时的 cgroup。将补丁应用于 CFS,以确保子任务始终指向有效的父任务组。
BZ#1078874
以前,Red Hat GFS2 文件系统将每个内节点的 ACL 条目限制为 25。然而,在有些情况下这个数字不足,从而导致 setfacl 命令失败。在这个版本中,这个限制增加到 4 KB 块大小的最大 300 ACL 条目。如果块大小较小,则会相应地调整这个值。
BZ#1085358
以前的 CIFS 代码补丁引入了一个回归问题,阻止用户使用 NetBIOS 通过端口 139 上的 TCP 服务挂载 CIFS 共享。这个问题已通过对 get_rfc1002_length ()函数中的 top 字节进行屏蔽来解决。
BZ#1079872
在以前的版本中,用户空间数据包捕获库(如 libcap )有有限的可能确定当前内核支持哪些 Berkeley Packet Filter (BPF)扩展。这个限制对 tcpdump 工具执行的 VLAN 数据包过滤有负面影响,tcpdump 有时无法正确捕获过滤的数据包。因此,这个更新引入了一个新的选项 SO_BPF_EXTENSIONS,它可以指定为 getsockopt ()函数的参数。这个选项可让数据包捕获工具获取当前内核支持哪些 BPF 扩展的信息。现在,tcpdump 工具可以正确地捕获数据包。
BZ#1080600
当 sci_apc_agent_link_up ()函数中硬重置超时时,ci 驱动程序以前会触发错误的 BUG_ON ()断言。如果 SATA 设备在重置后无法恢复链接,则 isci 端口必须返回"等待链接"状态。然而,在这种情况下,端口可能没有处于"resetting"状态,从而导致内核 panic。这个问题已通过删除不正确的 BUG_ON ()断言来解决。
BZ#1078798
在以前的版本中,当从接口中删除 IPv6 地址时,与那个地址相关的路由不会从 IPv6 路由表中删除。这是因为搜索路由时使用不正确的 IPv6 代码。要避免这个问题,已将 IPv6 代码修改为使用 ip6_route_lookup () 函数,而不是在这种情况下的 rt6_lookup ()。现在,当删除 IPv6 地址时,所有相关路由都会从路由表中正确删除。
BZ#1075651
如果 BIOS 在系统引导过程中返回给定rmal 区域的关键行点的负值,则整个 thermal 区域无效,并输出 ACPI 错误。但是,热区域可能仍然需要冷却。在这个版本中,ACPI thermal 管理已被修改为只禁用相关的关键往返点。
BZ#1075554
在分配内核内存时,SCSI 设备处理程序调用 sizeof ()函数,其结构名称为其参数。但是,修改的文件使用不正确的结构名称,这会导致分配内存不足以及后续的内存损坏。在这个版本中,将相关的 sizeof ()函数调用修改为使用指向结构的指针而不是结构名称,以便现在始终正确分配内存。
BZ#1069848
修改 linkat ()系统调用的以前的更改引入了挂载点引用泄漏,并在文件系统链接操作返回 ESTALE 错误代码时后续的内存泄漏。这些问题已通过在这样的情形中正确释放旧挂载点引用来解决。
BZ#1086490
dm-bufio 驱动程序没有调用 blk_unplug ()函数来清空插入的 I/O 请求。因此,由 dm-bufio 提交的请求会延迟 3 ms,这可能会导致性能下降。在这个版本中,dm-bufio 会如预期调用 blk_unplug (),避免任何相关的性能问题。
我们建议所有 内核 用户升级到这些更新的软件包,其中包含向后移植的补丁以更正这些问题。必须重启系统才能使此更新生效。
现在,Red Hat Enterprise Linux 6 提供了修复多个安全问题的内核软件包和几个程序错误。
红帽安全响应团队将此更新的安全影响严重性级别定为 Important (重要)。常见漏洞评分系统(CVSS)基础分数提供了详细的严重性评级,适用于参考部分中 CVE 链接中的每个漏洞。
内核软件包包含 Linux 内核,它是任何 Linux 操作系统的核心。

安全修复

CVE-2014-0055, Important
在 Linux 内核用于 vhost_net 实现中的 get_rx_bufs ()函数的方式中发现了一个安全漏洞,它处理了 vhost_get_vq_desc ()函数报告的错误条件。特权的客户机用户可以使用此缺陷使主机崩溃。
CVE-2014-0101, Important
在初始化 SCTP 连接过程中,Linux 内核如何处理经过身份验证的 COOKIE_ECHO 块的方式中发现了一个安全漏洞。远程攻击者可以利用此缺陷,通过启动特殊精心设计的 SCTP 握手来使系统崩溃,从而触发系统上的 NULL pointer 解引用。
CVE- serving069, Moderate
在 Linux 内核的 CIFS 实现中发现了一个安全漏洞,它通过特殊设计的 iovec 结构处理未缓存的写操作。有权访问 CIFS 共享的非特权用户可能会使用此缺陷使系统崩溃、泄漏内核内存或可能在系统上升级其权限。注意:Red Hat Enterprise Linux 6 上 CIFS 挂载的默认缓存设置禁止成功利用这个问题。
CVE-2013-1860, Low
在 Linux 内核的 cdc-wdm 驱动程序中发现了一个基于堆的缓冲区溢出缺陷,用于 USB CDC WCM 设备管理。具有物理访问权限的攻击者可能会使用这个缺陷导致拒绝服务或可能会升级其权限。
红帽借此感谢 Nokia Siemens 网络报告 CVE-PING101,以及 Al Viro 报告 CVE-SECURE069。

程序错误修复

BZ#1063507
高级可编程中断控制器(APIC)代码的以前的更改会导致使用多处理器(MP)表在某些 Intel CPU 上回归。可以在 LAPIC 映射前执行尝试从本地 APIC (LAPIC)读取的尝试,从而导致系统引导期间内核崩溃。在解析 MP 表时,通过尽快映射 LAPIC 来解决此问题。
BZ#1067775
当从 XFS 文件系统上的命名空间中删除内节点时,文件系统可能会进入死锁情况并变得无响应。这是因为删除操作错误地使用了 AGF 和 AGI 锁定,其顺序与排序约束的要求相反,这会导致文件删除和内节点分配和释放操作之间可能的死锁。在这个版本中,在删除带有删除操作的第一个事务的内节点条目前,内节点的引用计数会被丢弃。这样可确保 AGI 和 AGF 锁定以正确顺序锁定,从而防止在这种情况下出现任何进一步死锁。
BZ#1064913
在以前的版本中,GFS2 内核模块会泄漏 gfs2_bufdata slab 缓存中的内存,并允许在 gfs2_remove_from_journal ()函数中触发 use-after-free 竞争条件。因此,在卸载 GFS2 文件系统后,GFS2 slab 缓存仍然可以包含一些对象,因此在某些情况下可能会导致内核 panic。GFS2 内核模块应用了一系列补丁,确保正确从 slab 缓存中释放所有对象,并避免内核 panic。
BZ#1054072
由于内核在内存控制组(cgroups)过程中处理内存不足(OOM)时使用的锁定机制,在很多进程触发 OOM 时,OOM 终止程序无法正常工作。因此,整个系统可能会变得没有响应。应用了一系列补丁来改进此锁定机制,因此 OOM 终止程序现在可以在大量 OOM 负载下的内存 cgroups 中按预期工作。
BZ#1055364
在以前的版本中,当通过 INET 套接字处理标记为 IPv4 的流量时,某些 SELinux 功能无法正确处理 TCP 同步(SYN-ACK)数据包。SELinux 错误地标记初始 SYN-ACK 数据包,因此,使用服务器套接字的标签而不是新的连接标签进行访问控制决策。另外,SELinux 没有正确检查标有 IPsec 流量的出站数据,这会导致与不正确的访问控制决策相关的问题。解决了这些问题的一系列补丁已应用到 SELinux。现在,初始 SYN-ACK 数据包被正确标记,SELinux 会按预期处理所有 SYN-ACK 数据包。
BZ#1063199
在 Red Hat Enterprise Linux 6.5 中,如果相应的网络设备没有报告其功能列表中的任何 CSUM 标志,则会自动禁用 TCP 分段卸载(TSO)功能。在以前的版本中,通过绑定设备配置的 VLAN 设备不会按预期传播其 NETIF_F_NO_CSUM 标志,因此它们的功能列表不包含任何 CSUM 标志。因此,这些 VLAN 设备禁用了 TSO 功能,这会导致带宽性能降低。在这个版本中,绑定驱动程序会正确传播上述标记,以便网络流量现在通过绑定流过 VLAN 设备,而不会出现性能问题。
BZ#1064464
由于 Infiniband 驱动程序中的一个错误,ip 和 ifconfig 工具会错误地报告 IP 链路状态 over Infiniband (IPoIB)接口(如果"ifconfig",如果"RUNNING",如果没有电缆,则显示为 "UP",即使没有电缆连接到相应的网卡。这个问题已通过在代码的正确位置调用对应的 netif_carrier_off () 函数来解决。现在,在上述情况下,IPoIB 接口的链接状态会被正确报告。
BZ#1058418
在 XFS 文件系统上执行读取操作时,失败的缓冲区 readahead 可以在标记为错误的缓存内存中保留缓冲区。这可能会导致在完成 I/O 操作过程中检测到过时的错误,因为大多数调用者不会在后续读取时出现缓冲区的 b_error 字段。要避免这个问题并确保正确的 I/O 错误检测,使用的缓冲区的 b_error 字段在提交 I/O 操作前会为零。
BZ#1062113
在以前的版本中,当热向系统添加内存时,内存管理子系统总是对在线设置的所有内存部分执行无条件页面-块扫描。热添加操作的总持续时间取决于系统已具有的内存大小以及正在添加的内存大小。因此,如果添加大量内存,或者目标节点已经有相当大的内存,热添加操作需要很长时间才能完成。这个版本会优化代码,以便只在需要时执行 page-block 扫描,这大大减少了热添加操作的持续时间。
BZ#1059991
由于 SELinux 套接字中的一个错误收到 hook,在收到 peer:recv 访问控制拒绝时不会丢弃网络流量。SELinux 套接字接收 hook 中存在一个有问题的网络检查,在上述情况下,网络流量会被正确丢弃。
BZ#1060491
当通过 peer-to-peer (PPPP)链接传输大量数据时,可以触发 tty 驱动程序中的 throttle ()和 unthrottle ()函数之间的一些竞争条件。因此,tty 驱动程序变得无响应,处于 throttled 状态,这会导致流量停止。另外,如果大量载入 PPP 链接,则 tty 驱动程序中的另一个竞争条件可能会被触发。这个竞争条件允许对可用缓冲区空间进行不安全的更新,这也可能导致流量停滞。解决这两个竞争条件的一系列补丁都应用于 tty 驱动程序;如果触发第一个竞争条件,则驱动程序循环并强制重新评估相应测试条件,这样可确保上述情形中出现不间断流量流。现在,因为读锁定而完全避免了第二个竞争,可用缓冲区空间的更新可以正常进行。
BZ#1058420
在以前的版本中,e752x_edac 模块错误地处理 pci_dev 使用计数,这可能会为零并取消分配 PCI 设备结构。因此,当模块在某些系统中多次载入时,可能会出现内核 panic。在这个版本中解决了通过重复载入和卸载模块触发的使用计数,不再发生内核 panic。
BZ#1057165
当页表升级时,会为虚拟地址空间添加一个新的页表级别,这会导致新的 Address Space Control Element (ASCE)。但是,在页表升级时,虚拟地址空间的 Translation Lookaside Buffer (TLB)没有被刷新。因此,TLB 包含与旧 ASCE 关联的条目,这会导致意外的程序故障和随机数据崩溃。要解决这个问题,与旧 ASCE 关联的 TLB 条目现在在页表升级时按预期清除。
BZ#1064115
当网络接口以 promiscuous (PROMISC)模式运行时,接口可能会接收和处理 VLAN 标记帧,即使没有 VLAN 附加到接口。但是,如果帧没有分配 VLAN 组,则 enic 驱动程序无法正确处理使用 PROMISC 模式的 VLAN 标记帧的数据包,这会导致各种问题。要在没有 VLAN 组的情况下处理 VLAN 标记帧,帧必须由 VLAN 代码处理,因此不再验证数据包的 VLAN 组字段是否为空。
BZ#1057164
IBM System z 上的 Linux 内存管理以前的更改删除了 Address Space Control Element (ASCE)类型的处理程序。因此,内核无法处理 ASCE 异常,这会导致内核 panic。例如,如果内核试图使用大于用户空间程序的当前页表限制的地址访问用户内存,则会触发这样的异常。如果引发 ASCE 异常,此问题已通过调用标准页面错误处理程序 do_dat_exception 来解决。
BZ#1063271
由于网络控制台日志记录中的多个错误,网络控制台发送操作和驱动程序的 IRQ 处理程序之间可能会出现竞争条件,或者网络控制台可以访问无效的内存内容。因此,对应的驱动程序(如 vmxnet3)触发了 BUG_ON () 断言,系统意外终止。应用了解决这些 bug 的补丁,因此在处理发送操作前禁用驱动程序的 IRQ,网络控制台现在可以正确访问 RCU 保护(读取复制更新)数据。使用网络控制台日志记录的系统不再会因为上述条件而崩溃。
我们建议所有内核用户升级到这些更新的软件包,其中包含向后移植的补丁以更正这些问题。必须重启系统才能使此更新生效。
现在,Red Hat Enterprise Linux 6 提供了修复多个安全问题的内核软件包和几个程序错误。
红帽安全响应团队将此更新的安全影响严重性级别定为 Important (重要)。一般漏洞评分系统(CVSS)基础分数(提供详细的严重性评级)提供了以下每个描述的 CVE 链接中的每个漏洞。
内核软件包包含 Linux 内核,它是任何 Linux 操作系统的核心。

安全修复

CVE-2013-6381,重要
在 Linux 内核的 QETH 网络设备驱动程序实现中的 qeth_snmp_command ()函数的方式中发现了一个缓冲区溢出缺陷,处理具有越界长度的 SNMP IOCTL 请求。本地非特权用户可能会使用此缺陷使系统崩溃,或者可能在系统上升级其权限。
CVE-2013-292 9, Low
在 Linux 内核的 ptrace 子系统中解释 get_dumpable () 函数返回值的方式中发现了一个安全漏洞。当 'fs.suid_dumpable' 设置为 2 时,本地无特权的本地用户可能会使用这个缺陷绕过预期的 ptrace 限制,并获取潜在的敏感信息。
CVE-2013-7263, CVE-2013-7265, Low
它发现,Linux 内核的网络实现中的某些协议处理程序可以在不初始化关联的数据结构的情况下设置 addr_len 值。本地无特权用户可以使用此缺陷,通过 recvmsg、recvfrom 和 recvmmsg 系统调用将内核堆栈内存泄漏到用户空间。

程序错误修复

BZ#1051393
由于 NFS 代码中的一个错误,状态管理器和 DELEGRETURN 操作可能会在 DELEGRETURN 收到异步会话错误时进入死锁。状态管理器无法处理失败的 DELEGRETURN 操作,因为它正在等待异步 RPC 任务完成,这无法完成,因为 DELEGRETURN 操作无限期地出现会话错误。应用了一系列补丁,以确保在收到会话错误时异步错误处理程序等待恢复,并且死锁不再发生。
BZ#1049590
IPv4 和 IPv6 代码包含与 conntrack 碎片处理相关的几个问题,导致碎片处理阻止了碎片重新组合。这个版本应用一系列补丁,并确保正确处理 MTU 发现,并正确匹配片段并重新集合数据包。
BZ#1046043
在 ptrace ()系统调用中使用 Big Kernel Locks (BKLs)可能会导致 BKL 争用广泛使用 ptrace ()的某些系统上,如 User-mode Linux (UML)系统,从而降低这些系统的性能。这个版本从 ptrace ()系统调用中删除相关的 BKLs,从而解决相关的性能问题。
BZ#1046041
当在 Red Hat Enterprise Linux 6.5 中使用 SCTP over bonding 设备时,SCTP 会假定虚拟设备的卸载功能,无法保证底层物理设备使用这些功能。因此,传出数据包的校验和会被破坏,且无法正确建立网络连接。应用了补丁,以确保软件包到没有 SCTP 校验和功能的设备的校验和会在软件回退中正确计算。在 Red Hat Enterprise Linux 6.5 中,通过绑定设备的 SCTP 连接现在可以按预期建立。
BZ#1044566
如果设置了 VSX Machine State Register (MSR)位,用户进程的上下文以前无法在 PowerPC 平台上保存,但用户没有提供足够的空间来保存 VSX 状态。此更新允许在这样的情形中清除 VSX MSR 位,表明用户上下文中没有有效的 VSX 状态。
BZ#1043779
在静态定义的网关无法访问并且对应的邻居条目进入 FAILED 状态后,该网关将保持在 FAILED 状态,即使它再次可访问。因此,流量不会通过该网关路由。在这个版本中,可以自动探测到这样的网关,以便在流量被访问后再次通过这个网关路由。
BZ#1040826
由于 IPv6 代码中有几个错误,当缓存的 IPv6 目标条目数量达到一个高流量路由器时,可能会发生软锁定。应用了一系列补丁来解决这个问题。这些补丁可确保异步执行路由探测,以防止出现垃圾回收的死锁。另外,垃圾收集器现在异步运行,防止同时请求垃圾收集器的 CPU 等待所有其他 CPU 完成垃圾回收。因此,在上述情况下,软锁定不再发生。
BZ#1035347
以前对 md 驱动程序的更改禁用了 RAID5 卷的 TRIM 操作,以防止可能的内核 oops。但是,如果 MD RAID 卷被重塑为不同的 RAID 级别,这可能会导致在生成的卷上禁用 TRIM,因为 RAID4 个人用于某些重塑。在更改 RAID 级别前,通过设置堆栈限制来解决这个问题,从而确保 RAID 阵列的正确丢弃(TRIM)粒度。
BZ#1051395
在以前的版本中,NFS 在"silly rename"操作和 rmdir ()函数之间允许发生在目录中未链接的文件关闭后删除目录时发生。因此,rmdir ()可能会失败,并显示 EBUSY 错误。这个版本应用了补丁,确保 NFS 在执行 rmdir ()操作前等待任何异步操作完成。
BZ#1051394
由于 EDAC 驱动程序中的一个错误,驱动无法正确对 AMD 系列 16h 处理器进行解码和报告错误。在这个版本中,在代码中包含一个缺少的 case 语句,以便 EDAC 驱动程序现在可以按预期处理错误。
BZ#1045094
当状态管理器从过期状态和恢复 OPEN 操作中恢复时,可能会出现状态管理器(kswapd 守护进程)和 sys_open () 函数之间的死锁。要解决这个问题,已修改 NFS 以忽略 LAYOUTRETURN 操作(一个 pNFS 操作)中的所有错误,在这种情况下,"NFS4ERR_DELAY"除外。
BZ#1040498
bnx2x 驱动程序错误地处理从虚拟功能(VF)收到的、使用 VF-PF 频道收到的、不支持的、但不支持的 TLV 命令的驱动程序时,PF 的驱动不会回复。因此,VF-PF 频道处于不稳定状态,VF 最终会超时。一个补丁已被应用于更正 VF-PF 锁定方案,以便正确处理不支持的 TLV,并由 PF 端响应。另外,不支持的 TLV 在以前的版本中可能会导致用于锁定 VF-PF 操作的 mutex。然后,mutex 会停止代码的保护关键部分,这可能会导致 PF 从 VF 收到额外的 TLV 时生成错误消息。应用了补丁可以更正 VF-PF 频道锁定方案,不支持的 TLV,因此不再会破坏 VF-PF 锁定。
BZ#1040497
bnx2x 驱动程序中的统计流中有一个错误导致卡的 DMA Engine (DMAE)被访问,而无需执行必要的锁定。因此,之前排队的 DMAE 命令可能会被覆盖,然后虚拟功能可能会将请求超时到其相应的物理功能。触发 bug 的可能性较高,配置了更多 SR-IOV 虚拟功能。覆盖 DMAE 命令还可能会导致其他问题,即使没有使用 SR-IOV。在这个版本中,所有使用 DMAE 的流程都将使用相同的 API,并保留正确的锁定方案,所有这些流都会保留正确的锁定方案。
BZ#1035339
当启动或擦除使用带有空端口的 AHCI 控制器的系统时,EM 传输位忙时,AHCI 驱动程序会在启动 sleep 操作前错误地释放相关的错误处理器。因此,错误处理器可以被 AHCI 控制器的不同端口获取,而 Serial General Purpose Input/Output (SGPIO)信号最终可能在空端口上调整重建模式。在这个版本中,对通用 ATA 驱动程序实现了跨端口错误处理器排除,并且已修改 AHCI 驱动程序来在此特定情况下使用 msleep ()函数。在 sleep 操作时不再释放错误处理程序,SGPIO 信号无法再表示磁盘在空控制器的插槽上重建。
BZ#1032389
以前 igb 驱动程序的更改会导致 ethtool 工具决定和显示以太网设备的某些功能。在这个版本中解决了 igb 驱动程序的问题,现在实际链接功能会被正确决定,ethtool 会显示值准确,并依赖于驱动程序可用的数据。
建议所有用户升级到这些更新的软件包,其中包含向后移植的补丁以更正这些问题。必须重启系统才能使此更新生效。
现在,Red Hat Enterprise Linux 6 提供了修复多个安全问题的 内核软件包、几个程序错误和添加两个改进。
红帽安全响应团队将此更新的安全影响级别定为具有重要安全影响。一般漏洞评分系统(CVSS)基础分数(提供详细的严重性评级)提供了以下每个描述的 CVE 链接中的每个漏洞。
内核软件包包含 Linux 内核,它是任何 Linux 操作系统的核心。

安全修复

CVE-2013-4470, 重要
在输出设备上启用了 UDP Fragmentation Offload (UFO)功能时,在 Linux 内核的 TCP/IP 协议套件实现中发现了一个安全漏洞。本地非特权用户可能会使用此缺陷导致拒绝服务或可能在系统上升级其权限。
CVE-2013-6367, Important
在 KVM 的 Local Advanced Programmable Interrupt Controller (LAPIC)实现中的 apic_get_tmcct ()函数中发现了一个按零划分的漏洞。特权的客户机用户可以使用此缺陷使主机崩溃。
CVE-2013-6368, Important
在 KVM 处理虚拟 APIC 访问的方式中发现了一个跨页面边界的内存损坏缺陷。本地非特权用户可能会使用此缺陷使系统崩溃,或者可能在系统上升级其权限。
CVE-2013-2141,低
Linux 内核中的一个信息泄漏漏洞可能会允许本地的、非特权用户将内核内存泄漏到用户空间。
红帽借此感谢 Hannes Frederic Sowa 报告 CVE-2013-4470 和 Andrew Honig 的 Google 报告 CVE-2013-6367 和 CVE-2013-6368。

程序错误修复

BZ#1027343
由于 mlx4 驱动程序中的一个回归错误,Mellanox mlx4 适配器可能会在负载过重负载时变得无响应,以及登录到系统日志的 IOMMU 分配错误。一个补丁已应用到 mlx4 驱动程序,因此驱动程序现在在在 Rx 路径中分配内存时计算最后的内存页片段。
BZ#1028278
RSXX DMA 处理代码中的一个错误允许 DISCARD 操作调用 pci_unmap_page ()函数,它会在同时发出 DISCARD、READ 和 WRITE 操作时在 PowerPC 架构上触发竞争条件。但是,DISCARD 操作总是被分配一个 DMA 地址 0,因为它们不是映射的。因此,这个竞争条件可能会导致为另一个操作映射的内存以及后续的 EEH 事件。应用了补丁,防止 DISCARD 操作调用 pci_unmap_page (),从而避免了上述竞争条件。
BZ#1029330
由于 bcma 驱动程序缺少的一部分,brcmsmac 内核模块没有内核所需的内部别名列表,以正确处理相关的 udev 事件。因此,当引导时为设备扫描 bcma 驱动程序时,这些 udev 事件会被忽略,且内核不会自动加载 brcmsmac 模块。应用了提供缺失别名的补丁,以便 brcmsmac 模块的 udev 请求现在按预期处理,内核在引导时自动加载 brcmsmac 模块。
BZ#1029997
mlx4 驱动程序中的一个错误可能会触发 Tx 环中处理工作队列元素(WQE)时的"blue flame"功能流量流和 Tx 环中的时间戳机制之间的竞争。因此,mlx4 以太网卡的相关队列对(QP)进入错误状态,相关 Tx 环上的流量被阻止。补丁已应用于 mlx4 驱动程序,因此驱动程序不会对 Tx 环中最后完成的 WQE 进行关联,从而避免了上面提到的竞争。
BZ#1030171
NFSv4 代码中的以前更改会导致同步 NFSv4 挂载选项中断。应用了补丁来恢复 sync 挂载选项的功能。
BZ#1030713
由于 Emulex lpfc 驱动程序中的一个错误,驱动程序无法正确分配 SCSI 缓冲区,这会导致 64 位 PowerPC 系统上的 lpfc 适配器出现严重性能下降。应用了这个问题的补丁,lpfc 可以正确地分配 SCSI 缓冲区,lpfc 适配器现在可以在 64 位 PowerPC 系统中按预期工作。
BZ#1032162
当在大量碎片的 GFS2 文件系统中执行 I/O 操作时,可能会发生显著的性能下降。这是因为 GFS2 用来搜索所有可用资源组(rgrp)中的理想可用块的分配策略。在出现大量碎片时,应用了一系列补丁来提高 GFS2 文件系统的性能。现在,如果 GFS2 满足最低要求,则 GFS2 现在会分配在 rgrp 中发现的最大范围。当多块保留时,GFS2 还减少了对位映射的搜索量,方法是跟踪给定 rgrp 中多块保留失败的最小扩展。这通过避免不必要的 rgrp free 块搜索来提高 GFS2 性能。另外,这个补丁系列修复了 GFS2 块分配代码中的一个 bug,当一个多块保留时没有从 rgrp 的保留树正确删除,这最终会因为保留块的计数而触发 BUG_ON ()宏。
BZ#1032167
对于内核,较早的补丁为 QLogic 的 qla2xxx 驱动程序添加了动态队列深度节流功能,允许驱动程序调整附加的 SCSI 设备的队列深度。但是,当某些环境中启用了此功能时,内核可能会崩溃,比如在安装了大量 I/O 负载的 EMC PowerPath 多路径的系统中。要解决这个问题,动态队列深度节流功能已从 qla2xxx 驱动程序中删除。
BZ#1032168
在以前的版本中,如果物理功能(PF)接口停机时,使用分配给虚拟机的 ixgbevf 驱动程序的设备无法自动调整其 Jumbo MTU 值;当 PF 设备上线时,相关的虚拟功能(VF)设备上的 MTU 值被错误地设置。这是因为 PF 和 VF 接口之间的通信频道设置的方式,以及 PF 和 VF 之间的第一个协商尝试。要解决这个问题,对 ixgbevf 驱动程序的结构更改已被进行,以便内核现在可以成功协商 PF 和 VF 之间的正确 API,在这种情况下,在 VF 接口上正确设置 MTU 值。
BZ#1032170
ixgbe 驱动程序中的一个错误导致 IPv6 硬件过滤表在通过 SR-IOV 环境中的 PF 接口使用桥接设备时没有正确重写接口。因此,VF 之间的 IPv6 流量中断。现在,上游补丁已被向后移植来修改 ixgbe 驱动程序,以便对 Multimedia Terminal Adapter (MTA)表的更新现在为无条件,避免在 PF 重置时在 MTA 表中出现可能的不一致的情况。在这种情况下,VF 间的 IPv6 流量可以如预期进行。
BZ#1032247
当使用带有未对齐 DMA 缓冲区大小的 Haswell HDMI 音频控制器时,这些音频控制器可能会锁定,直到下次重启某些音频流配置。补丁已应用于 Intel 高定义 Audio (HDA)驱动程序,该驱动程序为 Haswell HDMI 音频控制器强制执行 DMA 缓冲区对齐设置。这些音频控制器现在可以按预期工作。
BZ#1032249
由于最近一次修复,防止在尝试覆盖活跃的 XFS 日志时死锁,xfs_log_need_covered () 函数的行为已更改。但是,也调用 xfs_log_need_covered (),以确保 XFS 日志尾部作为 XFS 日志同步操作的一部分正确更新。因此,在关闭 XFS 文件系统时,同步操作会失败,一些文件可能已经丢失。应用了补丁,以通过将 dummy 记录记录到 XFS 日志来确保更新 XFS 日志的尾部。同步操作成功完成,在这种情况下,文件会被正确写入磁盘。
BZ#1032250
当向后移植一组补丁时,会释放一个补丁,这些补丁可以在 NFSv4 状态 ID 期间使用零状态 ID 来修复 LOCK 操作中的无限循环问题。因此,在很多方面,系统可能会变得无响应。添加了缺少的补丁块,从而解决了这个问题。
BZ#1032260
当从多个进程执行缓冲的 WRITE 操作时,之前,NFS 代码总是验证锁定所有者信息是否与被访问的文件相同,即使没有涉及文件锁定。这会导致性能下降,因为在写入文件之前,分叉的子进程必须同步由父进程写入磁盘的脏数据。另外,当将请求合并到单个 READ 或 WRITE RPC 调用时,如果锁定所有者信息与给定文件不匹配,NFS 会拒绝请求,即使没有文件锁定。这也会导致性能下降。应用了一系列补丁,可放松相关的测试条件,以便在上述情况下不再验证锁定所有者兼容性,从而解决了这些性能问题。
BZ#1032395
由于 mlx4 驱动程序中的一个错误,在调整 Tx 或 Rx 环时,Mellanox 以太网卡会被意外下降。现在,应用了补丁,当设置了 Tx 或 Rx 环时,mlx4 驱动程序可以正确地验证以太网卡的状态,从而解决这个问题。
BZ#1032423
当系统处于内存压力下时,可能会触发 tg3 驱动程序中的双可用错误,从而导致 NIC 意外下降,然后出现内核 panic。应用了补丁,它重组相应的代码,以便正确释放受影响的环缓冲。
BZ#1032424
如果在第一个 RPC 传输完成前超时,RPC 客户端总是重新传输页面数据的零复制。但是,如果使用 O_DIRECT 缓冲和对应的 TCP 套接字仍然被引用时,则重新传输可能会导致数据崩溃。要防止数据崩溃,请重新传输 RPC 调用,在这种情况下,使用 sendmsg ()函数执行。sendmsg ()函数重新传输第一个 RPC 传输的 authentic reproduction,因为 TCP 套接字包含页面数据的完整副本。
BZ#1032688
在创建 XFS 文件系统时,尝试覆盖活跃的 XFS 日志可能会在某些情况下,这会导致 xfssyncd 和 xfsbufd 守护进程之间的死锁。因此,一些内核线程变得无响应,XFS 文件系统可能无法成功创建,从而导致内核 oops。补丁已被应用,通过强制将活动的 XFS 日志强制到磁盘来防止这种情况。

功能增强

BZ#1020518
内核现在支持在 AMD 系统上具有超过 1TB 内存的内存配置。
BZ#1032426
已修改内核以停止在 Wacom touch 设备上报告 ABS_MISC 事件,以确保设备可以被 HAL 守护进程正确识别。
我们建议所有 内核 用户升级到这些更新的软件包,其中包含向后移植的补丁来更正这些问题并添加这些改进。必须重启系统才能使此更新生效。
现在,修复了多个安全问题、解决了几百个程序错误,以及添加大量改进的内核软件包,作为 Red Hat Enterprise Linux 版本 6 的持续支持和维护的一部分。这是第五个常规更新。
红帽安全响应团队将此更新的安全影响级别定为具有重要安全影响。一般漏洞评分系统(CVSS)基础分数(提供详细的严重性评级)提供了以下每个描述的 CVE 链接中的每个漏洞。
内核软件包包含 Linux 内核,它是任何 Linux 操作系统的核心。

安全修复

CVE-2013-4387, Important
在启用了 UDP Fragmentation Offload (UFO)功能时,在 Linux 内核的 IPv6 实现中发现了一个安全漏洞。一个远程攻击者可以利用这个缺陷使系统崩溃,或者可能会升级其系统的权限。
CVE-2013-0343, Moderate
在 Linux 内核处理临时 IPv6 地址的创建方式中发现了一个安全漏洞。如果启用了 IPv6 隐私扩展(/proc/sys/net/ipv6/conf/eth0/use_tempaddr 设置为 '2'),则本地网络上的攻击者可以禁用 IPv6 临时地址生成,从而导致潜在的信息泄露。
CVE-2013-2888, Moderate
在 Linux 内核处理 HID (Human Interface Device)的方式中发现了一个安全漏洞。具有物理访问权限的攻击者可能会利用此漏洞使系统崩溃,或者可能会在系统上升级其权限。
CVE-2013-4345, Moderate
在 Linux 内核中的 ANSI CPRNG 实现中发现了一个中间漏洞,它处理了非块大小一致的请求。当使用 ANSI CPRNG 时,这可能会导致生成随机数字,其熵比预期少。
CVE-2013-4591, Moderate
发现通过 RHSA-2012:1580 发布的 CVE-2012-2375 修复会意外删除对小型结果缓冲区的检查。具有 ACL 支持对 NFSv4 挂载具有访问权限的本地非特权用户可能会利用此缺陷使系统崩溃,或者可能会升级其对系统的权限。
CVE-2013-4592, Moderate
在移动内存插槽时处理 IOMMU 内存映射的方式中发现了一个安全漏洞。在 KVM 主机上有一个恶意用户,能够将设备分配给客户机,则使用此缺陷使主机崩溃。
CVE-2013-2889,CVE-2013-2892, Moderate
在 Zeroplus 和 Pantherlord/GreenAsia game 控制器处理 HID 报告的方式中发现基于堆的缓冲区溢出漏洞。具有物理访问系统的攻击者可能会使用这些漏洞使系统崩溃,或者可能在系统上升级其权限。
CVE-2012-6542,CVE-2013-3231, Low
Linux 内核中的逻辑链接控制(LLC)实现中发现了两个信息泄漏漏洞。本地非特权用户可以使用这些漏洞将内核堆栈内存泄漏到用户空间。
CVE-2013-1929, Low
在 tg3 以太网驱动程序解析重要产品数据(VPD)设备的方式中,基于堆的缓冲区溢出,允许攻击者对系统进行物理访问,导致拒绝服务或可能升级其权限。
CVE-2012-6545,CVE-2013-1928,CVE-2013-2164,CVE-2013-2234, Low
Linux 内核中的信息泄漏漏洞可能会允许特权的本地用户将内核内存泄漏到用户空间。
CVE-2013-2851, Low
Linux 内核的块层中发现了一个格式字符串缺陷。特权的本地用户可能会利用此漏洞将其权限升级到内核级别(ring0)。
红帽借此感谢 Stephan Mueller 报告 CVE-2013-4345 以及 Kees Consulting 报告 CVE-2013-2851。

程序错误修复

BZ#955712
负责验证缓存的凭据是否与当前进程匹配的功能没有正确执行检查。代码只检查当前进程凭证中的组是否以与缓存的凭证中的相同顺序显示,但没有保证缓存的凭证中没有其他组。因此,当访问 NFS 挂载中的文件时,与原始进程相同的 UID 和 GID 的进程可能已被授予一个对文件的未授权访问权限,或者在某些情况下,进程可能会被错误地阻止访问该文件。修正了不正确的测试条件,问题将不再发生。
BZ#629857
当 netfilter 模块的状态不同步时,TCP 连接会在 conntrack 表中记录,尽管两个主机之间不存在 TCP 连接。如果主机使用相同的源、端口、目标端口、源地址和目标地址重新建立这个连接,则主机会发送 TCP SYN 数据包和此 SYN 软件包的对等发送确认。但是,由于 netfilter 是不同步的,因此 netfilter 会丢弃此确认,并从 conntrack 表中删除连接项,从而导致主机重新传输 SYN 数据包。应用了补丁来改进这个处理 ; 如果出现意外的 SYN 数据包,则会注解 TCP 选项。SYN 数据包确认充当连接跟踪不同步的确认,然后使用之前标注的信息创建新的连接记录,以避免重新传输延迟。
BZ#955807
由于 ext4 代码中有几个错误,数据完整性系统调用并不总是正确持久保留磁盘上的数据。因此,在系统意外终止后,ext4 文件系统中未同步的数据可能会丢失。ext4 代码应用了一系列补丁来解决这个问题,包括确保在负责文件同步的代码中使用数据障碍的修复。在上述情况下,不再发生数据丢失。
BZ#953630
Intel 系列 6、型号 58 和 62 的 C-states 在 Red Hat Enterprise Linux 6 中没有正确初始化处理器。因此,这些处理器无法进入深度 C-states。另外,C-state accounting 无法正常工作,如 powertop 或 turbostat 等电源管理工具,因此显示不正确的 C-state 转换。这个版本应用了一个补丁,以确保正确的 C-states 初始化,因此上述处理器现在可以按预期进入深度核心电源状态。请注意,这个更新没有正确的 C-state 核算,它已被单独的补丁解决。
BZ#953342
在以前的版本中,内核无法处理从非扁平高级编程中断控制器(APIC)模式回退到扁平 APIC 模式的情况。因此,一个 NULL pointer 被解引用,发生内核 panic。在这个版本中,在 APIC 驱动程序中添加了 flat_probe () 函数,它允许使用 flat APIC 模式作为回退选项的内核。在这种情况下,内核不再 panic。
BZ#952785
当试图在多个 NIC 和 macvtap 设备的 hypervisor 上部署虚拟机时,可能会出现内核 panic。这是因为 macvtap 驱动程序无法正常处理,当 macvlan_port.vlans 列表为空并返回 NULL 指针时。这个版本应用了一系列补丁,它们使用 read-copy-update (RCU)机制修复此问题,并防止驱动程序返回一个 NULL pointer (如果列表为空)。在这种情况下,内核不再 panic。
BZ#952329
由于缺少结构,NFSv4 错误处理程序不会处理因为撤销 NFSv4 委派导致的异常。因此,NFSv4 客户端会收到 EIO 错误消息,而不是 NFS4ERR_ADMIN_REVOKED 错误。在这个版本中,修改了 NFSv4 代码,不再需要 nfs4_state 结构来撤销委派。
BZ#952174
在 KVM 时钟(kvmclock)作为时钟源的 KVM 客户机上,某些 VCPU 可能会遇到大量睡眠延迟(时间超过 20 秒)。这会导致通过休眠功能和低延迟事件的不准确度量而造成意外延迟。这是因为 kvmclock 更新被隔离到特定的 VCPU,因此 NTP 频率修正仅应用于该单个 VCPU。这个问题已通过一个补丁解决,允许 kvmclock 对 KVM 客户机上的所有 VCPU 更新。VCPU 睡眠时间现在不超过预期数量,不再会导致上述问题。
BZ#951937
当使用大量使用内存映射的应用程序时,客户会出现大量应用程序延迟,这会导致性能下降。应用了一系列补丁来解决这个问题。另外,补丁会修改内存映射代码,以允许块设备需要稳定的页面写入,仅在后备设备需要时强制 stable 页面写入,并选择性地快照页面内容在写操作期间提供稳定的页面。因此,应用程序延迟已得到显著改进,且有大量内存映射的应用程序会如预期执行。
BZ#997845
以前,RAID1 和 RAD10 代码称为 raise_barrier () 和 lower_barrier () 函数,而不是 freeze_array ()和 unfreeze_array ()函数,它们可以从管理线程中安全调用。因此,如果 MD 阵列包含备用磁盘,则可能会出现死锁情况,从而导致相应的内核线程无响应。另外,如果在出现这个问题后启动关闭序列,关闭序列也会变得无响应,且任何未同步到磁盘中的缓存文件系统数据都将丢失。应用了修正这个问题的补丁,RAID1 和 RAID10 代码现在按预期使用 management-thread 安全功能。
BZ#996802
Linux 内核网络驱动程序代码之前的更改引入了 TCP Small Queues (TSQ)功能。但是,这些更改会导致某些网络设备(如使用 ixgbe 驱动程序的设备)出现性能下降。这个问题已通过一系列补丁到 TCP 分段卸载(TSO)和 TSQ 功能解决,它们包括对设置 TSO 帧大小的支持,以及给定 TCP 流的设备队列数量的动态限制。
BZ#950598
如果在 NFSv4 服务器的 OPEN 状态恢复过程中检查委派的 OPEN 操作打开的权限,则 NFSv4 状态管理器可能会进入死锁。这是因为客户端是保存 OPEN 操作的 NFSv4 序列 ID。这个问题已通过在客户端开始检查打开权限前释放序列 ID 来解决。
BZ#983288
仅当文件未设置字节范围锁定时,NFS 之前允许扩展 NFS 文件写入整个页面。但是,有时需要扩展写入以覆盖整个页面,以避免碎片降低。例如,如果对文件执行一系列小的非连续写入,则报告性能会降低。对 NFS 代码应用补丁,允许 NFS 将文件扩展到完整页面写入,如果整个文件被锁定以写入写入,或者客户端保管写委托。
BZ#998752
包括在内核版本 2.6.32-358.9.1.el6 中的补丁,用于修复撤销的 NFSv4 委派的处理,向 NFSv4 代码引入了一个回归错误。在某些情况下,在 NFSv4 异常和异步错误处理中出现这个回归问题,将 NULL inode 传递给与 NFSv4 委派相关的功能,这会导致内核 panic。NFSv4 异常和异步错误处理已被修复,在这种情况下无法再传递 NULL inode。
BZ#947582
XFS 文件系统偶尔会关闭,并带有 "xfs_trans_ail_delete_bulk: 尝试删除不在 AIL" 错误消息中的日志项目。这是因为 EFI/EFD 处理逻辑不正确,并且 EFI 日志项目在 AIL 和提交之前可以被释放。补丁已应用于修复 EFI/EFD 处理逻辑的 XFS 代码,并确保在处理 EFD 日志项目前永远不会释放 EFI 日志项目。上述错误不再发生在 XFS 关闭中。
BZ#947275
autofs4 挂载过期代码中的一个错误可能会导致 autofs4 模块错误地报告 NFS 挂载的一个忙碌树,"不使用"。因此,automount 会尝试卸载树,并显示 "failed to umount offset" 错误,从而使挂载树显示为空目录。应用了补丁来删除不正确的使用 autofs dentry mount check,并且上述问题不再发生。
BZ#927988
cyclic 添加和删除 st 内核模块可能会导致系统变得无响应。这是因为 SCSI 磁带驱动程序中的磁盘队列引用计数错误导致。上游补丁解决这个程序错误已被向后移植到 SCSI 磁带驱动程序,在这种情况下,系统现在会按预期响应。
BZ#927918
在以前的版本中,在块设备队列被销毁时,blk_get_request ()函数引入了一个新的失败模式,返回 -ENODEV 错误代码。但是,更改不包括函数的所有调用者的 NULL pointer 检查。因此,当从系统中删除块设备时,内核可能会取消引用 NULL 指针,这会导致内核 panic。这个版本应用了一个补丁,它添加了这些缺少的 NULL pointer 检查。另外,blk_get_request ()函数的一些调用者之前可能会返回 -ENOMEM 错误代码,而不是 -ENODEV,这会导致调用链传播不正确。这个版本会应用一个补丁,确保传播正确的返回代码。
BZ#790921
默认情况下,内核使用最佳算法来分配虚拟内存区域(VMAs)将处理的文件映射到地址空间中。但是,如果大量小文件(数以千计或数以百万计)被映射时,地址空间变得非常碎片,从而导致 CPU 使用量和性能下降。在这个版本中引进了可选的 next-fit 策略,如果启用,则允许将文件映射到之前分配的 VMA 后的第一个合适的未使用区域。
BZ#960717
在 "devloss" 超时和发现状态机器之间有一个罕见的竞争条件,可能会在 lpfc 驱动程序中触发一个错误,以相反的顺序嵌套两个级别的 spin 锁定。spin 锁定的反向顺序会导致死锁情况,系统变得无响应。在这个版本中,应用了补丁解决死锁问题,系统在这种情况下不再挂起。
BZ#922999
从上游向后移植块保留功能时出错,这会导致在 rename 系统调用过程中需要分配分配时缺少保留结构。重命名文件系统对象(如文件或目录)需要目标目录的块分配。如果目标目录没有分配保留结构,则会出现 NULL pointer dereference,从而导致内核 panic。在这个版本中,在 rename 操作前分配保留结构,在这种情况下不再发生内核 panic。
BZ#805407
系统可能会因为尝试关闭等待日志 I/O 完成的 XFS 文件系统而变得无响应。应用了 XFS 代码补丁,允许从不同的上下文中调用关闭方法,以便即使 AIL 之外也可以正确删除 XFS 日志项目,从而解决了这个问题。
BZ#922931
dm_btree_remove ()函数中的一个 bug 可能会导致叶值具有不正确的引用计数。移除共享块可能会导致将块视为不再使用的空间映射。因此,向精简设备的共享区域发送丢弃请求可能会破坏其快照。这个程序错误已被解决,以防止在这种情况下崩溃。
BZ#980273
内存映射代码的最新更改引入了一个新的 next-fit 算法,用于分配 VMAs 将处理的文件映射到地址空间。但是,这个更改会破坏特定内部功能的行为,然后始终跟随下一个 VMA 分配方案,而不是 first-fit VMA 分配方案。因此,当使用 first-fit VMA 分配方案时,这个错误会导致线性地址空间碎片,并导致 mmap ()请求早期"-ENOMEM"失败。此补丁将原始的 first-fit 行为恢复到函数,因此不再发生上述问题。
BZ#922779
GFS2 丢弃代码没有为扇区大小为 4 KB 的块设备正确计算扇区偏移,这会导致这些设备中的数据丢失和元数据。应用了这个问题的补丁,因此丢弃和 FITRIM 请求现在可以在带有 4 KB 扇区大小的块设备中正常工作。
BZ#1002765
实时(RT)调度程序中的一个错误可能会导致 RT 优先级进程因为运行队列无效属性停止运行。当 CPU 会受到这个程序错误的影响时,迁移内核线程在 CPU 上停止运行,然后被系统迁移到受影响 CPU 的所有其他进程也会停止运行。补丁已应用到 RT 调度程序,RT 优先级进程不再影响此问题。
BZ#920794
当使用 ip 工具的 congestion 窗口锁定功能时,系统可能会变得无响应。这是因为如果拥塞窗口被锁定使用路由指标,则 tcp_slow_start () 函数可能会进入无限循环。已应用一组补丁来遵守上游内核,确保在这种情况下不再出现这个问题。
BZ#978609
在某些情况下,abort task 和 SPP 设备任务管理路径中的竞争条件可能会发生,在某些情况下,会导致驱动程序清理在 SAS 磁盘设备上待处理的超时 I/O 请求。因此,内核从系统中删除这样的设备。应用到 isci 驱动程序的补丁会修复这个问题,即在输入 abort 功能时向 SAS 驱动器发送任务管理功能,且任务还没有完成。现在,在这种情况下,驱动会按预期清理超时的 I/O 请求。
BZ#920672
由于内核的 DMA 初始化代码中的一个竞争条件,来自 hpsa 和 hpilo 驱动程序的 DMA 请求在启用了 IOMMU 功能的 AMD 系统上初始化过程中可能会失败,带有 IO_PAGE_FAULT 错误。为了避免触发这个竞争条件,内核现在仅在初始化单元映射完成后执行 init_device_table_dma ()函数来阻止来自所有设备的 DMA 请求。
BZ#1003697
如果配置的绑定设备上没有以正确顺序启用 arp_interval 和 arp_validate 绑定选项,绑定设备不会处理 ARP 回复,这会导致链接活跃从设备失败和更改。应用一系列补丁,以根据 arp_validate 和 arp_interval 的值修改内部绑定 ARP hook。因此,即使启用了 arp_validate 后设置了 arp_interval,并且 ARP 回复会如预期处理,也会注册 ARP hook。
BZ#920445
当使用 FPU 中止多线程进程时,内核可能会很少终止,而不是创建转储文件。这是因为内核不会等待所有线程都不活跃,并尝试将活跃线程的 FPU 状态转储到触发 BUG_ON ()例程的内存。应用了这个问题的补丁,内核现在会在将 FPU 状态转储到内存前等待线程变得不活跃。
BZ#962460
在以前的版本中,VLAN 设备默认情况下不启用 Generic Receive Offload (GRO)功能。因此,某些网络适配器(如 Emulex Virtual Fabric Adapter (VFA) II (使用 be2net 驱动程序)在启用 VLAN 标记时丢弃数据包,并加载 8021q 内核模块。这个版本应用了一个补丁,它默认为 VLAN 设备启用 GRO。
BZ#827548
read_swap_cache_async ()和 Memory 管理(mm)代码中的 get_swap_page ()函数之间的竞争条件可能会导致死锁情况。只有禁用内核抢占功能(!CONFIG_PREEMPT 参数),在支持块 DISCARD 和 TRIM 操作的设备上部署交换分区的系统上可能会出现死锁。如果 read_swap_cache_async () 函数被授予交换缓存中没有页面的 SWAP_HAS_CACHE 条目,则会在 scan_swap_map ()函数中执行 DISCARD 操作。因此,完成 I/O 操作被调度到运行 read_swap_cache_async ()的同一 CPU 的工作队列。这会导致 read_swap_cache_async ()中的线程循环其"-EEXIST"案例中,从而导致系统无响应。这个问题已通过向 read_swap_cache_async ()添加显式 cond_resched ()调用来解决,这允许其他任务在受影响的 CPU 上运行,从而避免死锁。
BZ#987426
当尝试挂载 NFSv4 文件系统,且此操作上的第一次迭代失败时,NFSv4 代码中的死循环错误会导致 NFSv4 挂载进程在 LOOKUP_ROOT 操作的忙碌循环操作中挂起。应用了补丁,允许正确退出 LOOKUP_ROOT 操作,挂载尝试现在可以成功或在这种情况下失败。
BZ#828936
OProfile 工具中的一个错误会导致在卸载 OProfile 内核模块时导致 NULL pointer dereference,这会导致内核 panic。如果内核是使用 nolapic 参数集运行的,并且 OProfile 被配置为使用 NMI 计时器中断,则会触发此问题。这个问题已通过在初始化 OProfile 时正确设置 NMI 计时器来解决。
BZ#976915
在以前的版本中,NFS 客户端在向 NFS 服务器发送 LOCKU 和 RELEASE_LOCKOWNER 操作前不会等待完成未完成的 I/O 操作。因此,如果服务器在某些相关 READ 操作前处理 LOCKU 和 RELEASE_LOCKOWNER 操作,它会释放与请求的锁定所有者关联的所有锁定状态,并且 READs 返回 NFS4ERR_BAD_STATEID 错误代码。这会导致在系统日志中生成 "Lock reclaim failed!" 错误消息,且 NFS 客户端必须从错误中恢复。应用了一系列补丁,确保 NFS 客户端会在释放锁定前等待所有未完成的 I/O 操作完成。
BZ#918239
当 Red Hat Enterprise Linux 6 内核作为虚拟机运行时,它会执行 hypervisor 的引导时检测,以启用特定于 hypervisor 的优化。Red Hat Enterprise Linux 6.4 引入了 Microsoft Hyper-V hypervisor 的检测和优化。以前 Hyper-V 是首先检测到的,因为有些 Xen 虚拟机监控程序可以尝试模拟 Hyper-V,因此当模拟没有准确时,这可能会导致引导失败。应用了补丁,以确保在 Hyper-V 之前尝试检测 Xen,从而解决这个问题。
BZ#962976
如果审计队列太长,内核会调度 kauditd 守护进程,以缓解审计队列的负载。在以前的版本中,如果当前审计进程在这样的情形中有任何待处理的信号,它会在审计日志超时的持续时间内输入忙碌循环,因为 wait_for_auditd ()函数被调用为中断任务。这可能会导致系统锁定在非抢占的 uniprocessor 系统中。在这个版本中,通过将 wait_for_auditd ()设置为 uninterruptible 解决了这个问题。
BZ#833299
由于固件中的一个错误,如果"intel_iommu=on"和"iommu=pt"kernel 参数指定了 "intel_iommu=on" 和 "iommu=pt"kernel 参数,使用 LSI MegaRAID 控制器的系统无法在 kdump 内核中初始化这个设备。作为临时解决方案,在固件修复可用前,对 megaraid_sas 驱动程序的补丁已被应用,如果固件在第一次尝试初始化控制器时处于 ready 状态,则驱动程序会重置控制器并重试固件过渡到 ready 状态。
BZ#917872
端口自动选择代码中的以前的更改允许共享端口,而不扩展其使用。因此,当启用 SO_REUSEADDR 套接字选项绑定套接字绑定时,bind (2)功能可以分配已经使用的临时端口。当出现 EADDRNOTAVAIL 错误代码时,后续的连接尝试会失败。这个版本应用了修改端口自动选择代码的补丁,以便 bind (2)现在选择一个非冲突端口,即使启用了 SO_REUSEADDR 选项。
BZ#994430
以前对网桥多播代码的补丁引入了一个 bug,允许在收到 IPv6 多播查询时为多播组重新初始化活跃的计时器。补丁已应用到网桥多播代码,因此当网桥多播计时器处于活动状态时,不再重新初始化它。
BZ#916994
在使用多个 iSCSI、FC 或 SRP 路径连接 iSCSI 启动器和 iSCSI 目标的系统上,内核 panic 可能会发生。这是因为 SCSI 驱动程序中的一个竞争条件允许在处理其运行队列前从系统中删除 SCSI 设备,这会导致 NULL pointer dereference。SCSI 驱动程序已被修改,现在通过在激活时保留对 SCSI 设备运行队列的引用来避免竞争。
BZ#994382
内核的 md 驱动程序包含多个程序错误,包括 raid10 代码中的一个 use-after-free 错误,这会导致内核 panic。另外,在 raid5 代码中发现数据崩溃错误。当在 RAID4、RAID5 或 RAID6 阵列中包含的 RAID6 阵列被恢复过程中,会这个错误。应用了一系列补丁来修复已发现的所有错误。md 驱动程序现在包含必要的测试,可防止上述 use-after-free 和数据崩溃错误发生。
BZ#840860
sunrpc 代码路径(sunrpc 代码路径)对速度进行高度优化,因此代码避免使用任何锁定机制,但需要精确的操作顺序。发现多个与操作排序相关的错误,这会导致内核崩溃涉及 BUG_ON ()断言,或在 sunrpc 层中使用数据结构不正确。这些问题已通过在 sunrpc 层的 wake-up 代码路径中与 RPC_TASK_QUEUED 和 RPC_TASK_RUNNING 位相关的正确排序操作来解决。
BZ#916735
在 RPC 代码中,当网络套接字因为高网络流量而备份时,会设置计时器,从而导致生成大量网络流量。要防止这个问题,RPC 代码现在会等待套接字为空,而不是设置计时器。
BZ#916726
使用并行 NFS (pNFS)时,当进程在 open ()系统调用过程中获取文件布局信息时,可能会出现内核 panic。应用了补丁来防止这个问题发生。
BZ#916722
在以前的版本中,当处理 open (2)系统调用时,GETATTR 例程不会检查是否也返回有效的属性。因此,open ()调用成功并显示无效的属性,而不是在这种情况下失败。在这个版本中,添加了缺少的检查,open ()调用仅在返回有效属性时才会成功。
BZ#916361
crypto_larval_lookup () 函数可能会返回一个 larval,当加密算法被注册时,也会返回一个 in-between 状态,即使它没有创建。这可能导致 larval 终止两次,并导致内核 panic。例如,当 NFS 服务以 FIPS 模式运行时会出现这种情况,并尝试使用 MD5 哈希算法,即使 FIPS 模式有这个算法列入黑名单。在 crypto_larval_lookup () 函数中添加了一个条件,用于检查在返回前是否创建了 larval。
BZ#976879
在以前的版本中,运行大量加载的 NFS 服务器的系统在进行并发修改的大型目录上可能会出现 NFS READDIR 操作的性能,特别是对延迟连接。这是因为 NFS 代码效率低下执行了某些 dentry 操作,并且经常重新验证了目录属性。这个版本应用一系列用来解决问题的补丁;在 READDIR 操作后可以从 dcache 访问所需的 dentries,并且目录属性仅在目录开头或缓存的属性过期后从 dcache 访问。
BZ#976823
GFS2 没有为配额更改块保留日志空间,同时增大文件大小。因此,当从二级位映射中分配空闲块时,可能会触发严重的断言导致 GFS2 文件系统的撤回。在这个版本中,GFS2 在日志中为配额更改保留额外的块,因此文件增长的事务现在可以成功完成。
BZ#976535
以前对 CIFS 代码的补丁会导致在某些情况下出现问题,对 CIFS DFS 共享的挂载尝试会失败,并显示 "mount error (6): No such device or address" 错误信息。这是因为在之前的挂载尝试失败后没有正确重置返回代码变量。现在,应用了向后移植补丁来正确地重置变量,并且 CIFS DFS 共享现在可以按预期挂载。
BZ#965002
PCI 驱动程序中的一个错误,允许使用指向已释放的虚拟功能(VF)设备条目的指针。因此,当热删除启用了 SR-IOV 设备的 I/O 单元时,会出现内核 panic。这个版本修改了 PCI 驱动程序,因此使用到物理功能(PF)设备条目的有效指针,在这种情况下内核不再 panic。
BZ#915834
如果 IRQ 行与其他设备共享,则 uhci-hcd 内核模块中可能会出现竞争条件。竞争条件允许在数据结构完全初始化前调用 IRQ 处理程序例程,这会导致系统变得无响应。在这个版本中,通过向 IRQ 处理程序例程添加测试条件来解决此问题的补丁;如果数据结构初始化仍在进行中,则处理程序例程会立即完成。
BZ#975507
如果系统运行时间超过 208 天,则在 CPU 加速器中设计的计算可能会造成 set_cyc2ns_scale () 函数中的异常溢出。这个溢出会导致在使用时间戳计数器(TSC)时钟源的系统上出现内核 panic,这主要是使用 Intel Xeon E5 处理器在软电源周期中重置 TSC 的系统。应用了补丁来修改计算,以便在这些情况下不再发生这种算术溢出和内核 panic。
BZ#915479
由于 NFSv4 nfsd 代码中存在一个错误,当 nfsd 为 fsync 操作查找 NFSv4 恢复目录的路径时,可能会解引用 NULL pointer,这会导致内核 panic。这个版本应用了修改 NFSv4 nfsd 代码的补丁,来在 NFSv4 恢复目录中为 fsync 打开文件描述符,而不是查找路径。在这种情况下,内核不再 panic。
BZ#858198
在以前的版本中,绑定和网桥设备不会将 Generic Receive Offload (GRO)信息传递给其从设备,网桥设备也不会将 VLAN 信息传播到其端口。因此,在通过网桥或绑定设备配置的 VLAN 的环境中,网桥和绑定设备上配置的从设备性能非常低。应用了一系列补丁,为绑定和网桥设备添加 GRO 功能,并允许使用参与网桥端口注册 VLAN。如果从设备支持 GRO,则在通过网桥或绑定设备配置的 VLAN 的环境中性能显著提高。
BZ#975211
由于 NFS 代码中的一个错误,内核 size-192 和 size-256 slab 缓存可能会泄漏内存。当对应的 slab 缓存使用大多数可用内存时,这可能会导致 OOM 问题。现在,应用了补丁来解决这个问题,且 NFS 代码中相应的属性可以被正确释放。
BZ#913704
在以前的版本中,NFS Lock Manager (NLM)不会在 NFSv3 服务器重启恢复后重新发送阻塞锁定请求。因此,当应用程序在 NFSv3 挂载上运行并请求阻塞锁定时,应用程序会收到 -ENOLCK 错误。此补丁可确保 NLM 始终在宽限期过期后重新发送阻塞锁定请求。
BZ#862758
当计算 CPU 时间时,utime 和 stime 值会根据 rtime 扩展。在更新之前,utime 值乘以 rtime 值,但可能会出现整数多plication overflow,结果的值可能会截断为 64 位。因此,即使应用程序消耗了大量 CPU 时间,用户空间中的 utime 值也会停止。在这个版本中,会在 stime 而不是 utime 上执行复数。这可显著降低大多数工作负载溢出的可能性,因为 stime 值与 utime 值不同,所以无法快速增长。
BZ#913660
对于损坏的服务器,可以匹配不正确的类型的索引节点(inode)。这会导致 NFS 客户端 NULL pointer dereference,因此是一个内核 oops。要防止这个问题发生,添加了检查来验证 inode 类型是否正确。
BZ#913645
以前应用的补丁在 ipoib_cm_destroy_tx ()函数中引入了一个错误,它允许在列表之间移动 CM 对象,而无需任何支持的锁定。在系统负载过重时,这可能导致系统崩溃。在这个版本中,重新尝试正确锁定 CM 对象来修复竞争条件,系统不会在负载过重时崩溃。
BZ#966853
在以前的版本中,当引导 Red Hat Enterprise Linux 6.4 系统且 ACPI 静态资源关联性表(SRAT)启用了热插拔位时,内核会认为 SRAT 表不正确,并且没有配置 NUMA。这会导致通用保护错误以及系统上发生内核 panic。这个问题已通过在代码中使用 SMBIOS 检查来解决,以避免 SRAT 代码表一致性检查。现在,NUMA 会按预期配置,在这种情况下内核不再 panic。
BZ#912963
在某些服务器上引导正常内核(如 HP originally DL980 G7)时,一些中断可能已经丢失,从而导致系统变得无响应,甚至很少出现数据丢失。这是因为内核在引导过程中没有设置正确的目标模式;当这个系统只支持 "x2apic physical mode" 时,内核会以"逻辑集群模式"引导。这个版本应用一系列已解决问题的补丁。底层 APIC 代码已被修改,x2apic probing 代码现在检查修复的 ACPI Description 表(FADT),并按预期安装 x2apic "physical" 驱动程序。另外,APIC 代码已被简化,代码现在使用探测例程来选择目标 APIC 模式并安装正确的 APIC 驱动程序。
BZ#912867
在以前的版本中,fsync (2)系统调用错误地返回 EIO (Input/Output)错误,而不是 ENOSPC (设备中没有剩余空间)错误。这是因为页面缓存中的错误处理不正确。这个问题已被解决,现在会返回正确的错误值。
BZ#912842
在以前的版本中,如果 NFS RPC 任务正在等待 NFSv4 状态序列化锁可用,且会话插槽由 NFSv4 服务器保存,则可以进入死锁并变得无响应。在这个版本中解决了这个问题,以及 pNFS return-on-close 代码中的可能竞争条件。如果委派调用生效,也已修改 NFSv4 客户端,以不接受委派的 OPEN 操作。现在,当客户端使用 CLAIM_DELEGATE_CUR 开放模式时,客户端还会报告 NFSv4 服务器尝试返回委托。
BZ#912662
由于 CPU 时间的计算方式,在多次运行使用数百个内核线程的 CPU 绑定进程后,可能会出现整数多复处理溢出错误。因此,内核会停止更新 CPU 时间,并提供不正确的 CPU 时间。这可能会混淆用户,并导致各种应用程序问题。在这个版本中,当 stime 和 rtime 值太大时,这个更新会降低计算的精度来解决此问题。另外,一个允许 stime 值被错误计算的错误,因为已修复了 utime 值。
BZ#967095
NFS 服务器可能会因为锁定守护进程中个别竞争条件导致的 NULL pointer 解引用而意外终止。一个应用的补丁解决了这个问题,使用 spin locks 保护相关代码,从而避免了锁定的竞争。
BZ#911359
eHEA 以太网适配器的虚拟 LAN (VLAN)支持无法按预期工作。运行 "dmesg" 命令时,可能会报告 "device ethX has buggy VLAN hw accel" 信息。这是因为上游向后移植补丁删除了 vlan_rx_register ()函数。在这个版本中,添加了功能回来,eHEA VLAN 支持可以正常工作。这个版本还解决了可能的内核 panic,这可能会在处理接收的 VLAN 数据包时因为 NULL pointer dereference 而发生。补丁添加了一个测试条件,验证 VLAN 组是否由网络堆栈设置,这可防止解引用 NULL pointer,且内核不再在此情形中崩溃。
BZ#910597
内核的 RTAS 实施(RunTime Abstraction Services)之前允许在 PowerPC 和 IBM System p 机器的实时迁移过程中从中断上下文调用 stop_topology_update ()函数。因此,系统变得无响应。在这个版本中,通过在迁移过程早期调用 stop_topology_update ()解决了这个问题,系统在这种情况下不再挂起。
BZ#875753
在 GFS2 文件系统中修剪文件可能会失败,并显示 "unable to handle kernel NULL pointer dereference" 错误。这是因为缺少保留结构,这会导致截断代码引用不正确的指针。要防止这种情况,在对文件进行截断前,会应用补丁来分配块保留结构。
BZ#909464
在以前的版本中,在 Emulex BladeEngine 2 (BE2)控制器上的中断处理中可能会出现竞争条件,从而导致网络适配器变得无响应。这个版本为 be2net 驱动程序提供了一系列补丁,这可防止争用发生。由于处理中断事件错误,使用 BE2 芯片组的网卡不再挂起。
BZ#908990
在以前的版本中,在系统中默认启用 power-limit 通知中断。这可能会导致系统性能降低,甚至会导致系统在某些平台上不可用,如 Dell PowerEdge 服务器。应用了补丁来默认禁用 power-limit 通知中断,并添加了一个新的内核命令行参数 "int_pln_enable",允许用户使用现有系统计数器观察这些事件。在控制台中不再显示电源限制通知消息。由于此问题,受影响的平台不再会降低系统性能。
BZ#876778
ipmi_si 驱动程序处理的更改会在 SIG UV 平台上引导 Red Hat Enterprise Linux 6.4 时造成大量延迟。这个驱动程序在 Red Hat Enterprise Linux 6 的早期版本中作为内核模块加载,同时现在在内核中构建。但是,SIG UV 不使用,因此不支持 ipmi_si 驱动程序。应用了补丁,内核现在在 SIG UV 上引导时不会初始化 ipmi_si 驱动程序。
BZ#908851
在以前的版本中,队列限制不会被保留,因为如果设备不包含任何数据,或者多路径设备暂时丢失所有路径,则它们应该被保留。这个问题已通过避免调用 dm_calculate_queue_limits ()函数来解决。
BZ#908751
将虚拟 PCI 设备(如 virtio 磁盘、virtio 网络、e1000 或 rtl8139)添加到 KVM 客户机时,kacpid 线程会重新报 PCI 总线上所有设备的热插拔参数。当重新提升 VGA 或 QXL 图形设备的热插拔参数时,图形设备模拟请求清除客户机的 shadow 页表。在以前的版本中,如果客户机有大量且复杂的 shadow 页面表,清除操作需要大量时间,且客户机在几分钟后可能会变得无响应。这会导致超过"软锁定" watchdog 和 "BUG: soft lockup" 事件的阈值,guest 和主机内核都会记录。这个版本应用一系列处理此问题的补丁。KVM 的内存管理单元(MMU)现在避免在支持扩展页表(EPT)的处理器中创建多个页表 root。这可防止 guest 的影子页表在支持 EPT 的机器上变得过于复杂。MMU 现在只清除大型内存映射,这可减少处理器不支持 EPT 的机器上的情况。另外,解决了防止 KVM MMU 释放内存页面的空闲内存核算争用。
BZ#908608
某些 CPU 包含在线虚拟机控制结构(VMCS)缓存,用于保留由 KVM 模块管理的活跃 VMCS。这些 VMCS 包含 KVM 操作的客户机机器的运行时信息。这些 CPU 需要支持 VMCLEAR 指令,以允许将缓存的内容清空到内存中。内核之前没有在 Kdump 中使用 VMCLEAR 指令。因此,当转储 QEMU KVM 主机的核心时,相应的 CPU 不会清空到内存,客户机的运行时信息不包含在内核转储中。这个问题已通过一系列补丁解决,它们实现了在 Kdump 中使用 VMCLEAR 指令的支持。现在,如果 CPU 需要,内核会在 Kdump 中执行 VMCLEAR,因此 QEMU KVM 主机的 vmcore 文件会按预期包含所有 VMCS 信息。
BZ#908524
当使用 pNFS (并行 NFS)代码时,在尝试恢复服务器重启时,文件锁定过程可能会进入死锁。这个更新引入了一个新的锁定机制,可以避免在这种情况下死锁的情况。
BZ#878708
有时,irqbalance 工具无法获取 CPU NUMA 节点信息,因为 sysfs 中缺少 CPU 设备的符号链接。在这个版本中,为 sysfs 中的 CPU 设备添加了 NUMA 节点符号链接,这在使用 irqbalance 构建 CPU 拓扑时也很有用。
BZ#908158
虚拟文件系统(VFS)代码在 unlink 和 link 系统调用之间有一个竞争条件,允许创建硬链接来删除(未链接)文件。在某些情况下,这可能导致最终导致文件系统关闭的内节点崩溃。在 Red Hat Storage 对复制 Gluster 卷进行 rsync 操作期间,在 Red Hat Storage 中发现这个问题会导致 XFS 关闭。测试条件已添加到 VFS 代码中,防止创建到已删除文件的硬链接。
BZ#908093
当在 I/O 操作后在 GFS2 文件系统中检测到不一致时,内核会在本地节点上执行撤回操作。但是,在继续撤回操作前,内核之前不会等待 GFS 控制守护进程(gfs_controld)的确认。因此,如果将 GFS2 文件系统与数据存储隔离,则内核不知道这个问题,且在撤回操作成功记录后,可能会执行对共享块设备的 I/O 操作。这可能导致文件系统崩溃,或者阻止节点恢复日志。这个补丁修改 GFS2 代码,因此撤回操作不再进行,而无需 gfs_controld 的确认,GFS2 文件系统在执行撤回操作后不再被破坏。
BZ#907844
如果在启用了精简配置的设备上创建逻辑卷,mkfs.ext4 命令需要很长时间才能完成,并在系统日志中记录以下信息:
kernel: blk: request botched
这是因为丢弃在块和 SCSI 层中无法正常工作的请求合并所致。这个功能已被临时禁用,以防止出现此类问题。
BZ#907512
修改 dcache 和 autofs 代码的以前的补丁会导致回归。由于此回归,在大量 NFS 负载的系统上卸载大量过期的自动挂载会导致软锁定,从而导致系统无响应。如果配置了"软锁定" watchdog,计算机将重启。为修复回归,错误补丁已被恢复,系统现在可以正确处理上述场景,而无需任何软锁定。
BZ#907227
在以前的版本中,当使用并行网络文件系统(pNFS)和数据写入适当的存储设备时,LAYOUTCOMMIT 请求会在内部失败。元数据服务器没有根据写入的数据由修改的布局提供,这些更改对 NFS 客户端不可见。这是因为 LAYOUTCOMMIT 和 LAYOUTRETURN 操作的编码功能被定义为 void,因此返回任意状态。在这个版本中,修正了这些编码功能,以便如预期成功返回 0。存储设备的更改现在传播到元数据服务器,并可如预期观察到。
BZ#883905
当 Active Item List (AIL)为空时,xfsaild 守护进程会移到一个任务 sleep 状态,它依赖于 xfsaild_push ()函数返回的超时值。最新的修改 xfsaild_push ()在 AIL 为空时返回 10-ms 值,这会将 xfsaild 设置为不可中断的睡眠状态(D 状态),以及 artificially 增加系统负载平均值。在这个版本中,通过将 timeout 值设置为允许的最大值 50 ms 来应用这个问题的补丁。这会将 xfsaild 移到可中断的睡眠状态(S 状态),避免对负载平均的影响。
BZ#905126
在以前的版本中,初始化脚本无法正确设置主接口 MAC 地址,因为它会被第一个从 MAC 地址覆盖。要避免这个问题,在将第一个从设备用作其自身之前,会重新引入对未分配的 MAC 地址的检查。
BZ#884442
由于 be2net 驱动程序中的一个错误,在关闭相应队列前,RX、TX 和 MCC 队列中的事件没有被确认。在后续队列打开过程中创建 RX 环时,这可能会导致无法预计的行为。在这个版本中,会应用一个修正这个问题的补丁,这个场景中会按预期确认事件。
BZ#904726
在以前的版本中,mlx4 驱动程序在 mlx4 卡中的多功能模式下将请求的 MSI-X 向量数设置为 2。但是,mlx4 固件的默认设置允许更多的请求的 MSI-X 向量(带有当前固件的 4 个)。这个版本修改了 mlx4 驱动程序,使其使用这些默认固件设置,这可以提高 mlx4 卡的性能。
BZ#904025
从 pNFS (并行 NFS)挂载和取消正在运行的操作中读取大量文件,通过按 Ctrl+C 导致 XDR 代码中的常规保护错误,这会将自身清单为"无法处理内核分页请求"消息的内核 oops。这是因为解码 LAYOUTGET 操作是由 worker 线程完成的,调用者会等待 worker 线程完成。当读取操作被取消时,调用者会停止等待并释放页面。因此,当 worker 线程在 XDR 代码中调用相关函数时,页面不再存在。这些页面的清理过程已移到代码中的不同位置,这样可防止内核在这种情况下发生。
BZ#903644
以前对 mlx4 驱动程序的补丁启用了内部回环,允许同一主机上的功能间通信。但是,这个更改引入了一个回归,它导致使用 Mellanox 以太网适配器的虚拟交换机(vSwitch)网桥设备,因为在某些情况下在原生(非SRIOV)模式下出现 uplink 变得无法正常工作。要解决这个问题,目的地 MAC 地址被写入仅以 SRIOV 或 eSwitch 模式传输的数据包的 Tx 描述符,或者在设备自我测试过程中写入。在上述设置中,uplink 流量可以正常工作。
BZ#887006
Intel 5520 和 5500 芯片组无法正确处理 MSI 和 MSI-X 中断的重新映射。如果在具有此类芯片组的系统上启用了中断重新映射功能,则可能会出现各种问题和服务中断(例如,NIC 可能会停止接收帧),"kernel: do_IRQ: 7.71 No irq handler for vector (irq -1) " 错误消息会出现在系统日志中。这个问题的一个临时解决方案是,建议在此类系统上的 BIOS 中禁用中断重新映射功能,许多供应商都已更新其 BIOS 以禁用中断重新映射。但是,如果没有使用此功能正确关闭的 BIOS 级别,用户仍会报告这个问题。因此,这个更新会修改内核来检查这些系统上是否启用了中断重新映射功能,并为用户提供一个警告信息,让用户在关闭该功能后关闭该功能并更新 BIOS。
BZ#887045
当引导使用大量 CPU (超过 512)的 Red Hat Enterprise Linux 6 系统时,系统可能无法引导,或者在初始化后显示无响应。这是因为 CPU 频率驱动程序使用常规 spin 锁定(cpufreq_driver_lock)来序列化频率转换,在某些情况下,这个锁定可能会成为系统初始化和操作过程中大量竞争的来源。应用了补丁,将 cpufreq_driver_lock 转换为读写锁,该锁定可以解决竞争问题。所有 Red Hat Enterprise Linux 6 系统现在都引导并按预期运行。
BZ#903220
与上游内核中找到的 IFLA_EXT_MASK Netlink 属性分配不同的值,对内核的以前的补丁引入了一个程序错误。这可能会导致各种问题,例如,针对上游标头编译的二进制代码可能会在 Red Hat Enterprise Linux 6.4 及更新的版本中意外出现或者意外行为。在这个版本中,通过与上游同步 IFLA_IFLA_EXT_MASK 可以正确地进行枚举。这样可确保根据 Red Hat Enterprise Linux 6.4 内核标头编译的二进制文件可以正常工作。保证向后兼容。
BZ#887868
由于 SCTP 代码中的一个错误,在释放被哈希的 SCTP 关联时可能会出现 NULL pointer dereference,从而导致内核 panic。补丁解决了这个问题,方法是在释放和问题不再发生前尝试取消哈希 SCTP 关联。
BZ#888417
在以前的版本中,使用带有 Data Integrity Field (DIF)类型 2 保护的 SCSI sd 驱动程序的机器上可能会出现内核 panic。这是因为 scsi_register_driver () 函数注册了 prep_fn ()函数,它可能需要为 DIF 功能使用 sd_cdp_pool 变量。但是,此时尚未初始化该变量。底层代码已被更新,因此驱动程序是最后注册的,这可以防止内核 panic 发生。
BZ#901747
bnx2x 驱动程序可能之前报告了 occasional MDC/MDIO 超时错误,以及链接连接的丢失。这在使用较旧的引导代码的环境中会出现这种情况,因为 MDIO 时钟是在每个引导代码序列开始时设置的,而不是每个 CL45 命令。要避免这个问题,bnx2x 驱动程序现在为每个 CL45 命令设置 MDIO 时钟。另外,每个 EMAC 注册都会实施 MDIO 时钟,而不是每个端口号,这样可防止端口对不同的 PHY 访问使用不同的 EMAC 地址。另外,需要引导代码或管理固件(MFW)升级,以防止在驱动程序的 pulse 延迟时引导代码(firmware)接管链接所有权。BCM57711 卡需要引导代码 6.2.24 或更高版本,BCM57712/578xx 卡需要 MFW 版本 7.4.22 或更高版本。
BZ#990806
当审计子系统负载过重时,它可能会在 audit_log_start () 函数中循环,而不是切换到错误恢复代码。这会导致在内核中软锁定。在这个版本中,audit_log_start () 函数中的超时条件已被修改,以便在需要时正确故障切换。
BZ#901701
之前的内核更新 broke 队列对(qp)哈希列表在 qp_remove ()函数中删除。这可能会导致 InfiniBand 堆栈或 QLogic InfiniBand 驱动程序中的常规保护错误。应用了补丁来恢复以前的行为,因此不再发生常规保护错误。
BZ#896233
在个别情况下,如果 TCP 重新传输被部分确认并折叠,使用的 Socked Buffer (SKB)可能会因为传输头条导致的溢出而被破坏。这会导致内核 panic。在使用 IP-over-InfiniBand (IPoIB)连接时,这个问题很少。这个版本会应用一个补丁,验证传输头条是否超过已使用 SKB 的最大大小,如果是,则会重新分配头条。另外还发现,如果一个恶意的子 MSS 帧和输出接口没有启用序列生成器(SG),则 TCP 堆栈可能会重新对齐 SKB。这个版本引入了一个新的功能,它允许使用新头复制 SKB,因此 SKB 在此情形中保持一致。
BZ#896020
通过 IPv6 使用透明代理(TProxy)时,内核之前为本地接口和同级接口创建了邻居条目,这些条目无法直接访问。在这个版本中修正了这个问题,内核不再创建无效的邻居条目。
BZ#894683
端口自动选择代码中的以前的更改允许共享端口,而不扩展其使用。因此,当启用 SO_REUSEADDR 套接字选项绑定套接字绑定时,bind (2)功能可以分配已经使用的临时端口。当出现 EADDRNOTAVAIL 错误代码时,后续的连接尝试会失败。这个版本应用了修改端口自动选择代码的补丁,以便 bind (2)现在选择一个非冲突端口,即使启用了 SO_REUSEADDR 选项。
BZ#893584
在具有大量读取工作负载的 NFS 客户端上可能会出现超时的情况;例如,使用 rsync 和 ldconfig 时。这个问题都发现了客户端和服务器端原因。在客户端,修复可能会阻止客户端重新连接丢失 TCP 连接的问题。在服务器端,服务器上的 TCP 内存压力强制发送缓冲区大小低于发送单个远程过程调用(RPC)所需的大小,从而导致服务器无法回复客户端。代码修复仍然被考虑。要临时解决这个问题,请增加最小 TCP 缓冲大小,例如:
echo "1048576 1048576 4194304" >/proc/sys/net/ipv4/tcp_wmem
BZ#895336
Broadcom 5719 NIC 以前可能会因为 cyclic 冗余检查(CRC)错误而丢弃收到的巨型帧数据包。在这个版本中,修改 tg3 驱动程序,以便不再发生 CRC 错误,并按预期处理 Broadcom 5719 NIC 进程巨型帧数据包。
BZ#896224
当在 XFS 文件系统上运行小文件的高线程工作负载时,有时,系统可能会变得无响应,或者可能会出现内核 panic。这是因为 xfsaild 守护进程有一个 Stle 代码路径,当 AIL 中的缓冲区已被锁定时,这会导致在 xfsaild 锁定中锁定,并尝试强制日志解锁它。此补丁删除了危险的代码路径,并将日志强制从与 xfsaild 相关的安全锁定上下文调用。此补丁还解决了缓冲区锁定和缓冲区固定状态之间的竞争条件,该状态会在锁定失败后重新检查缓冲区的状态来公开原始问题。在这种情况下,系统不再挂起,内核不再 panic。
BZ#902965
在 NFSv4.1 或禁用委派的情况下从服务器重启时,NFSv4.1 客户端可能会停止响应。这可能是由于在 NFS 代码中锁定不足以及 NFS 和 RPC 调度程序代码中的几个相关错误,这可能会导致死锁问题。这个版本应用了一系列补丁,它可防止出现可能的死锁情况。现在,在上述情况下,NFSv4.1 客户端可以恢复并继续工作负载。
BZ#1010840
Red Hat Enterprise Linux 6 中的默认 sfc 驱动程序允许在网络设备上切换 Large Receive Offset (LRO)标志,无论设备是否支持 LRO。因此,当在没有 LRO 支持的设备上启用了 LRO 标志时,该操作无效,并可能会让用户混淆。应用了对 sfc 驱动程序的补丁,以便 sfc 驱动程序可以正确地验证该设备是否支持 LRO。如果设备不支持 LRO,sfc 会禁用 LRO 标志,以便用户无法再为该设备切换它。
BZ#886867
在设备发现过程中,如果系统上没有映射 LUN 0,系统会创建一个带有 LUN ID 0 的临时 SCSI 设备。在以前的版本中,这会导致 NULL pointer dereference,因为临时 LUN 0 设备没有分配 inquiry 数据,这会导致内核 panic。在这个版本中,在底层 SCSI 代码中添加了一个 NULL pointer 测试,在这种情况下,内核不再 panic。
BZ#886420
当网络接口(NIC)以 promiscuous (PROMISC)模式运行时,NIC 可能会接收和处理 VLAN 标记帧,即使没有 VLAN 附加到 NIC。但是,一些网络驱动程序(如 bnx2、igb、tg3 和 e1000e )无法正确处理在 PROMISC 模式中标记帧的数据包(如果帧没有分配 VLAN 组)。驱动程序处理带有错误例程和各种问题的数据包;例如,连接到 VLAN 的 DHCPv6 服务器可能会将 VLAN 池中的 IPv6 地址分配给没有 VLAN 接口的 NIC。要在没有 VLAN 组的情况下正确处理 VLAN 标记帧,因此当 NIC 处于 PROMISC 模式时,帧必须被 VLAN 代码处理,因此当 NIC 处于 PROMISC 模式时,对数据包的 VLAN 组字段的 NULL 值被修改。此更新还包括一个补丁修复一个程序错误,其中 bnx2x 驱动程序在没有在 NIC 上配置 VLAN 标头时不会从帧中剥离 VLAN 标头,以及实现一些寄存器更改的另一个补丁,以便在 NIC 上启用和传输 VLAN 数据包,即使没有用卡注册 VLAN 数据包。
BZ#988460
当从设备启动时,current_arp_slave 参数未设置,但从设备上的活动标记未标记为不活动状态。因此,系统上可能会存在多个带有 active-backup 模式的活跃标记的从设备。应用了补丁来修复这个问题,方法是在当前_arp_slave 参数设置前为从设备标记不活跃的标记。
BZ#883575
由于描述符处理中的一个错误,ioat 驱动程序无法使用 Intel Xeon Processor E5 系列正确处理系统中待处理的描述符。因此,CPU 在这些系统上过度使用。现在,一个补丁已应用到 ioat 驱动程序,因此驱动程序可以正确地决定待处理的描述符,对于描述的处理器系列,CPU 使用量正常。
BZ#905561
网桥多播代码中的以前的更改允许发送常规多播查询,以便在启动时加快聚合。为防止多播路由器干扰,请发送包含零源 IP 地址的数据包。但是,这些数据包会干扰某些多播感知的交换机,这会导致系统使用带有零源 IP 地址的 IGMP 成员资格查询而被大量。一组补丁可以通过默认禁用多播查询并实现多播查询(如果需要的话)来切换常规多播查询,从而解决了这个问题。
BZ#882413
一个程序错误导致了错误的块检测,试图隔离在出现完全故障的设备中出现的块问题 - 即使没有打开错误的块跟踪。这会导致在整个 RAID 设备集合失败时返回 I/O 错误时出现非常大的延迟。大型延迟会在灾难恢复场景中造成问题。现在,当 RAID 阵列中有足够设备失败而无法超过其冗余时,会及时禁用错误的块跟踪代码。
BZ#876600
在以前的版本中,在 MultiVersion 文件系统(MVFS)上运行 "ls", "find" 或 "move" 等命令可能会导致内核 panic。这是因为 d_validate ()函数用于 dentry 验证,调用 kmem_ptr_validate ()函数来验证指向父 dentry 的指针。指针可以随时释放,因此 kmem_ptr_validate ()函数无法保证要解引用指针,这可能会导致 NULL pointer derefence。在这个版本中,修改 d_validate ()以验证 parent-child 的关系,方法是遍历父 dentry 的子 dentries 列表,从而解决这个问题。在上述场景中,内核不再 panic。
BZ#1008705
sfc 驱动程序使用 MTD 子系统公开板载分区,必须为每个板公开最多 9 个闪存分区。但是,Red Hat Enterprise Linux 6 中的 MTD 子系统具有 32 个闪存分区的静态限制。因此,如果安装了 3 个板板,Solarflare 工具不能在所有板上操作,防止某些板上的固件被更新或查询版本号。在这个版本中,新的 EFX_MCDI_REQUEST 子命令已添加到 driver-private SIOCEFX ioctl 中,它允许绕过 MTD 层并直接向控制器的固件发送请求。现在可以使用 Solarflare 工具,在这种情况下,所有安装的设备中的固件都可以按预期更新。
BZ#871795
在以前的版本中,VLAN 代码错误地清除使用 igb 驱动程序的网络设备的时间戳中断位。因此,在支持 Precision Time Protocol (PTP)的 igb 网络设备中时间戳会失败。在这个版本中,修改 igb 驱动程序,以便在禁用中断时保留中断位。
BZ#869736
当将超过 4 GB 的 RAM 与 AMD 处理器一起使用时,保留区域和内存漏洞(E820 区域)也可以超过 4 GB 范围。例如,在使用超过 1 TB RAM 的配置中,AMD 处理器为 Hyper Transport (HT)功能保留 1012 GB - 1024 GB 范围。但是,Linux 内核无法正确处理位于 4 GB 范围内的 E820 区域。因此,当在具有 AMD 处理器和 1 TB RAM 的机器上安装 Red Hat Enterprise Linux 时,会出现内核 panic,安装会失败。这个版本修改内核,将位于 4 GB 范围内的 E820 区域从直接映射中排除。内核也不再在引导时映射整个内存,但只找到需要映射的内存范围。系统现在可以成功安装在上述配置上。
BZ#867689
ACPI 的内核接口错误地实现了错误消息传递。当系统有有效的 ACPI Error Record Serialization Table (ERST)和 pstore.backend 内核参数已被 pstore 接口禁止使用 ERST 时,会显示以下出错信息:
ERST: Could not register with persistent store
但是,也使用相同的消息来指示阻止注册的错误。系列补丁会修改相关的 ACPI 代码,以便 ACPI 现在可以正确地区分不同的情况,并相应地打印唯一的和信息信息。
BZ#965132
在设置绑定设备时,使用特定的标记来区分 TLB 和 ALB 模式。但是,在 ALB 模式中使用这个标志可让在激活绑定前避免 NIC。这会导致 enslaved NIC 没有唯一 MAC 地址,并会正确丢失发送到从设备的"回复"数据包。此补丁修改负责从 MAC 地址设置的功能,因此不再需要将 ALB 模式从 TLB 中分离出来,并删除了标志。在这种情况下,上面描述的问题不再发生。
BZ#920752
如果只读文件系统上请求了任何写访问,则 do_filp_open ()函数中的一个 bug 会导致它提前退出。这导致在只读文件系统中打开设备节点。在这个版本中,如果对只读文件系统发出写请求,则 do_filp_open ()已被修复,不再退出。
BZ#981741
当负查询后,FUSE 代码中会出现一个 dentry 泄漏,负的 dentry 不会被丢弃,也不会丢弃引用计数器。这会在卸载包含 dentry 的 FUSE 子树时触发 BUG ()宏,从而导致内核 panic。现在,与此问题相关的一系列补丁已应用到 FUSE 代码,现在可以正确丢弃负的 dentries,以避免触发 BUG ()宏。
BZ#924804
这个版本恢复了两个之前包含的 qla2xxx 补丁。这些补丁更改了光纤通道目标端口发现过程,这会导致在某些情况下不会发现一些端口。恢复这两个补丁解决了发现问题。
BZ#957821
由于内存映射代码中的一个错误,fadvise64 ()系统调用有时不会从缓存内存清除给定文件的所有相关页面。通过添加一个测试条件来解决这个问题,它会验证所有请求页面是否已刷新,并在测试失败时尝试清空 LRU pagevecs。
BZ#957231
xen-netback 和 xen-netfront 驱动程序无法处理大小为 64 KB (包括标头)的数据包。在决定 GSO 的最大大小时(Generic Segmentation Offload)时,xen-netfront 驱动程序不会考虑任何标头。因此,在发送大于 64 KB 的数据包时,Xen mail guest 操作可能会导致 mail 上的网络 DoS 问题。在这个版本中,添加了一个调整 GSO 最大大小计算的补丁,且问题不再发生。
BZ#848085
tty 层中的一个可能的竞争可能会导致触发 BUG_ON ()宏后出现内核 panic。作为临时解决方案,BUG_ON () 宏已被 WARN_ON () 宏替代,这样可避免内核 panic 并进一步调查竞争条件。
BZ#980876
网桥代码中的一个错误允许内部功能调用代码,该代码在保存 spin 锁定时不是 atomic-safe。因此,触发了 "BUG: scheduling while atomic" 错误,以及内核记录的调用追踪。在这个版本中,会应用一个补丁来对功能正常排序,因此函数在调用不是 atomic-safe 的代码时不再包含 spin 锁定。本例中不再会出现带有调用 trace 的错误。
BZ#916806
NFSv4 客户端之前,在重启 NFSv4 服务器后,在状态恢复期间输入死锁情况,并处于恢复状态。这是因为客户端没有释放重启前请求的 OPEN 操作的 NFSv4 序列 ID。这个问题已通过在客户端开始等待服务器恢复前释放序列 ID 来解决。
BZ#859562
设备映射器 RAID 内核模块中的一个错误阻止了"sync"指令被遵守。结果是,用户无法强制其 RAID 阵列在需要时完全重新同步。这个问题已被解决,用户可以使用 'lvchange --resync my_vg/my_raid_lv' 来对 LVM RAID 阵列强制进行完全重新同步。

功能增强

BZ#823012
这个版本通过使用 Linux perf 工具访问硬件性能计数器,为 System z 上的软件提供简化的性能分析。
BZ#829506
Fnic 驱动程序之前允许带有大于 Cisco UCS Palo 适配器的 SGL 描述符数的 I/O 请求。因此,适配器返回任何超过 256 SGL 描述符的 I/O 请求,并显示无效的 SGLs 错误。补丁已被应用,将 fnic 驱动程序中支持的最大 SGL 数限制为 256,问题不再发生。
BZ#840454
例如,若要传输数据,例如,从客户机到主机,则需要一个低壁通信通道。Linux 内核中的 virtio_console 模块添加了对 splice ()调用的支持。这可让客户机内核数据发送到主机,而无需在客户机内生成数据的额外副本。客户端 Linux 内核和主机用户空间之间的低壁通信通过 virtio-serial 执行。
BZ#888903
新的 MTIOCTOP 操作 MTWEOFI 已添加到 SCSI 磁带驱动程序中,允许使用 "immediate" 位编写"filemarks"。这允许 SCSI 磁带驱动器保留其缓冲区的内容,使下一个文件操作能够立即启动。这可显著提高在将多个小文件写入磁带的应用程序的写入性能,同时也会减少磁带。
BZ#913650
在以前的版本中,用户需要卸载、取消激活其 RAID LV 并重新激活它以便恢复其阵列中临时失败的设备。现在,可以通过运行 'lvchange --refresh' 在不卸载的情况下恢复这些设备。
BZ#923212
Open vSwitch (OVS)是一种开源的多层软件交换机,旨在用作虚拟化服务器环境中的虚拟交换机。从 Red Hat Enterprise Linux 6.4 开始,Open vSwitch 内核模块作为 Red Hat Enterprise Linux OpenStack Platform 的驱动者包括在内。Open vSwitch 仅支持包含附带用户空间软件包的红帽产品。如果没有这些软件包,Open vSwitch 将无法正常工作,且不能与其他 Red Hat Enterprise Linux 变体一起使用。
BZ#928983
RHEL6.5 bfa 驱动程序更改了 dev_loss_tmo 值的行为,以便只能设置为大于 bfa 驱动程序的 path_tov 值的值。可以设置为 dev_loss_tmo 的最小默认值为 31 秒。在不降低默认的 bfa path_tov 值的情况下,尝试设置 dev_loss_tmo 值低于 31 秒。
BZ#929257
在闪存设备驱动程序中添加了错误恢复支持,它允许硬件服务升级,而不会对闪存设备的 I/O 造成负面影响。
BZ#929259
添加了 crypto 适配器弹性功能。此功能通过全面的故障恢复为加密适配器提供系统 z 典型的 RAS。例如,这个功能处理意外的故障或由 Linux 客户机重新定位导致的更改,挂起并恢复活动或配置更改。
BZ#929262
添加了 "fuzzy live dump" 功能。通过此功能内核转储运行 Linux 系统,允许在不关闭系统的情况下进行问题分析。因为 Linux 系统在写入转储时继续运行,且内核数据结构在转储过程中有所变化,因此生成的转储包含不一致的。
BZ#929264, BZ#929264
内核现在为 DASD 设备提供离线接口。在设置设备离线前,而不是将 DASD 设备离线,并返回所有未完成的 I/O 请求。这个接口可以离线设置 DASD 设备,并将所有未完成的数据写入该设备。
BZ#929274
内核现在提供物理频道 ID (PCHID)映射,该映射启用使用机器范围唯一标识符的硬件检测。
BZ#929275
内核现在提供 VEPA 模式支持。VEPA 模式通过外部交换机在相同大型机上的虚拟机间路由流量。然后,交换机会成为安全、过滤和管理的单一控制点。
BZ#755486, BZ#755486
消息 Transfer Part 3 User Adaptation Layer (M3UA)是一个由 IETF 标准定义的协议,用于传输 MTP Level 3 用户部分使用流控制传输协议(SCTP)而不是电话设备(如 ISDN 和 PSTN)向消息发送信号。在这个版本中,SCTP 包括了 M3AU 测量计数器。
BZ#818344
添加了对未来 Intel 2D 和 3D 图形的支持,以允许使用未来的 Intel 处理器的系统通过红帽硬件认证计划认证。
BZ#826061
在某些存储配置中(例如,带有许多 LUN 的配置),SCSI 错误处理代码可能会花费大量时间发出命令,如 TEST UNIT READY 到无响应存储设备。一个新的 sysfs 参数 eh_timeout 已添加到 SCSI 设备对象中,它允许配置由 SCSI 错误处理代码使用的 TEST UNIT READY 和 REQUEST SENSE 命令的超时值。这可减少检查这些无响应设备所花费的时间。eh_timeout 的默认值为 10 秒,这是在添加此功能前使用的超时值。
BZ#839470, BZ#839470
在这个版本中,Red Hat Enterprise Linux 6 支持 12Gbps LSI SAS 设备。
BZ#859446
Red Hat Enterprise Linux 6.5 引入了 Orlov 块分配器,它为真正与彼此相关的文件提供更好的位置,可能一起访问。此外,当资源组高度连续时,会使用不同的组来最大化性能。
BZ#869622
mdadm 工具现在支持 RAID0、RAID1、RAID10 和 RAID5 的 TRIM 命令。
BZ#880142
添加了对 OpenStack 的网络命名空间支持。网络命名空间(netns)是基于轻量级容器的虚拟化技术。虚拟网络堆栈可以与进程组关联。每个命名空间都有自己的回环设备和进程空间。虚拟或者实际设备可以添加到每个网络命名空间中,用户可以为这些设备分配 IP 地址,并将它们用作网络节点。
BZ#908606
添加了对动态硬件分区和系统板插槽识别的支持。动态硬件分区和系统板插槽识别功能可提醒高级系统中间件或应用程序进行重新配置,并允许用户在不需要重启的情况下支持额外的工作负载。
BZ#914771, BZ#920155, BZ#914797, BZ#914829, BZ#914832, BZ#914835
根据 Linux 的 IEEE 标准 1588 的 Precision Time Protocol (PTP)的实现是在 Red Hat Enterprise Linux 6.4 中作为技术预览引入。现在,Red Hat Enterprise Linux 6.5 完全支持内核和用户空间的 PTP 基础架构。网络驱动程序时间戳支持现在包括以下驱动程序:bnx2x、tg3、e1000e、igb、ixgbe 和 sfc。
BZ#862340
Solarflare 驱动程序(sfc)已更新,以添加 PTP 支持作为技术预览。
BZ#918316
在 Red Hat Enterprise Linux 6.5 中,用户可以将加密哈希功能从 MD5 改为 SHA1 用于流控制传输协议(SCTP)连接。
BZ#922129
pm8001/pm80xx 驱动程序添加了对 PMC-Sierra Adaptec Series 6H 和 7H SAS/SATA HBA 卡的支持,以及 PMC Sierra 8081、8088 和 8089 芯片基于 SAS/SATA 控制器。
BZ#922299
VMware Platform Drivers Updates The VMware 网络半虚拟化驱动程序已更新至最新的上游版本。
BZ#922941
为将来的 AMD 处理器启用 Error-correcting 代码(ECC)内存。此功能通过访问 ECC 内存相关计数器和状态位来检查性能和错误的功能。
BZ#922965
在操作系统中启用设备支持,用于未来的 Intel System-on-Chip (SOC)处理器。这包括 Dual Atom 处理器、内存控制器、SATA、Universal Asynchronous Receiver/Transmitter、System Management Bus (SMBUS)、USB 和 Intel Legacy Block (ILB - lpc, timers, SMBUS (i2c_801 module))。
BZ#947944
改进了内核共享内存(KSM),以便在协调页面时考虑非统一内存访问(NUMA),这可以提高系统上应用程序的性能。另外,还添加了额外的页面类型,以增加 Red Hat OpenShift 可用的应用程序的密度。
BZ#949805
FUSE (用户空间中的文件系统)是一个框架,它允许单纯在用户空间中开发文件系统,而无需修改内核。Red Hat Enterprise Linux 6.5 为使用 FUSE 的用户空间文件系统(如 GlusterFS (Red Hat Storage))提供性能增强。
BZ#864597
对于充分利用以太网链接的高带宽应用,默认的 TCP 堆栈缓冲太大。这可能会导致连接带宽无法完全使用,如果链接由多个客户端设备共享,则可能会意外分发。要解决这个问题,TCP 代码引入了一个新功能 TCP Small Queues (TSQ)。TSQ 功能可减少 xmit 队列、TCP 往返时间(RTT)和拥塞窗口(CWND)大小中的多个 TCP 数据包。它还缓解了可能出现缓冲区问题的影响。这个更改还包括一个补丁,它通过设置 Tx coalescing 的默认值来解决 mlx4 设备中的性能问题。
我们建议所有 Red Hat Enterprise Linux 6 用户安装这些更新的软件包,以更正这些问题,并修正 bug 并添加 Red Hat Enterprise Linux 6.5 发行注记中的改进。必须重启系统才能使此更新生效。

8.83. kexec-tools

Red Hat Enterprise Linux 6 现在提供了修复多个总线并添加各种改进的 kexec-tools 软件包。
kexec-tools 软件包包含 /sbin/kexec 二进制文件和工具,它们一起组成了内核 kexec 功能的用户空间组件。/sbin/kexec 二进制文件有助于新内核使用内核的 kexec 功能在正常或 panic 重启时引导。kexec fastboot 机制允许从已在运行的内核的上下文引导 Linux 内核。

程序错误修复

BZ#1015764
在以前的版本中,在 mkdumprd 工具中,remove_comments ()函数没有正确实现。当参数传递到 strip_comments ()时,它只使用第一个参数来考虑并跳过其余参数。因此,它会将"makedumpfile"参数传递给 $config_val 变量,但 "makedumpfile" 的参数丢失了。在这个版本中,remove_comments () 函数已被修改。因此,它不再跳过传递给它的参数。
BZ#886572
当 kdump 文件系统位于另一个独立和加密设备的逻辑卷或者卷组中时,mkdumprd 工具会在尝试访问加密设备时退出并显示错误消息,防止 kdump 正确运行。现在,提供了一个补丁来解决这个问题,kdump 现在会在上述场景中被正确地重新配置并重启,从而解决了这个问题。
BZ#920705
某些多端口网卡为所有端口返回相同的 PCI 总线地址。当 kdump 实用程序映射网络端口时,它无法将一个网络端口与这些卡上的另一个网络端口区分开。因此,当不同的网络端口位于不同的网络中时,kdump 无法通过 NFS 或 SSH 转储数据。在这个版本中,确保在上述场景中设置了 MAP_NET_BY_MAC 变量,kdump 现在会根据预期转储所有端口的数据。
BZ#883543
在以前的版本中,98-kexec.rules 文件中的 udev 规则生成重启每个内存的 kdump 工具的进程。要修复这个错误,在尝试重启之前运行的服务时会使用 "condrestart" 参数。因此,当不需要重启时,kdump 不再重启。
BZ#921142
在以前的版本中,extra_modules 列表中的内核模块会被内置黑名单覆盖。因此,kdump 无法加载 mlx4_core 和 mlx4_en 模块,并使用这些模块通过网卡转储数据。在这个版本中,如果 extra_modules 列表中的模块按预期使用,则不会排除 extra_modules 列表中的模块。
BZ#1008543
在以前的版本中,在 makedumpfile 中,dumpfile 标头有一个从已弃用的 "diskdump" 工具继承的字段。crash 实用程序使用字段作为分隔符,来确定物理地址读取请求是否合法。该字段无法处理大于 32 位的物理帧号(PFN)值,且这些值已被截断。在这个版本中,在标头中添加三个新字段。因此,makedumpfile 标头正确地了大于 32 位的 PFN 值。
BZ#876667
在以前的版本中,对于某些内核模块,"modprobe --show-depends"命令的输出没有每行的"insmod"前缀。因此,mkdumprd 工具无法加载,因为当前代码假定每行都以"insmod"前缀启动。代码已被修改,仅匹配以 awk 脚本中的"insmod"开头的行。因此,在这种情况下,mkdumprd 不再无法加载。
BZ#1009207
在以前的版本中,在 cyclic 模式中,makedumpfile 会错误地计算 cyclic 缓冲大小的大小。因此,makedumpfile 不会更新页面帧号中周期范围的长度,这会导致缓冲区覆盖或分段违反。另外,由于重新计算中的 divideup ()函数,cyclic 缓冲区大小变得太大一致且效率较低。已提供了一个补丁来修复这些 bug,在这种情况下不再会出现上述问题。
BZ#1010103
x86_64 内核是一个可重新分配的内核,在静态分配给内核数据和文本的物理地址之间可能会有差距,以及真正分配给与内核符号对应的对象的地址。差距是 phys_base ()函数。makedump 程序以临时命令的形式计算 phys_base,其比较了在 vmcore 的特定范围内出现的一些"Linux 内核"字符串的地址。因此,makedumpfile 无法计算 phys_base,同时还无法转换 vmcore。这个程序错误已被解决,makedumpfile 可以正确地计算 phys_base,并正常 相反 vmcore。
BZ#893764
在以前的版本中,设置空 Direct Access Storage Device (DASD)选项,从 /etc/dasd.conf 文件中解析,这会导致显示环境变量。因此,重启 kdump 服务会显示完整的 kdump 脚本。在这个版本中,如果没有在 /etc/dasd.conf 文件中为设备指定任何选项,kdump 脚本会进入下一个选项。因此,重启 kdump 服务不再显示完整的 kdump 脚本。
BZ#918372
在以前的版本中,在原始设备上写入的 kdump 数据不会被完全清除。因此,保存的 vmcore 有时不完整。此更新使用 blockdev 工具清除块设备缓冲区。因此,在原始设备上保存的 vmcore 现在总是完成。
BZ#903529
在以前的版本中,因为 Storage Class Memory (SCM)设备没有公开与小型计算机系统接口(SCSI)磁盘相同的 sysfs 属性,所以 mkdumprd 工具无法决定写入转储文件的"关键磁盘"列表。因此,某些 SCM 设备没有被 mkdumprd 正确处理,从而导致在这样的设备中尝试将文件系统指定为 kdump 目标时产生无限循环。在这个版本中,mkdumprd 根据设备的存储递增地址处理等待 SCM 设备,属性会在重启后唯一标识 SCM 设备。现在,mkdumprd 可以成功决定用于写入转储文件的"关键磁盘"列表,不再发生无限循环。
BZ#906601
在以前的版本中,在使用多路径支持配置的系统中,mkdumprd 工具会将代码处理多路径设备推送到 kdump initrd。因此,kdump 工具无法在多路径设备中捕获 vmcore。在这个版本中引进了对 kpartx 工具的调用被延迟的机制,直到 "dmsetup ls" 命令列出了与要捕获 vmcore 的多路径设备匹配的设备名称。因此,mkdumprd 现在会等待多路径设备被创建,然后成功捕获 vmcore。
BZ#977651
在以前的版本中,当 Red Hat Enterprise Linux 配置为使用 hugepages 参数时,kdump 内核也会使用这个参数。因此,由于其内存有限,使用巨页可能会导致 kdump 内核出现内存不足(OOM)错误。在这个版本中,当 Red Hat Enterprise Linux 使用时,kdump 内核不会使用 hugepages 和 hugepagesz 内核参数。如果用户希望在 kdump 内核中明确使用巨页,可以通过 /etc/sysconfig/kdump 文件中的 KERNEL_COMMANDLINE_APPEND 选项指定。
BZ#963948
在以前的版本中,当添加 VMware 客户机额外 RAM 时,kdump.init 脚本的多个实例会被同时启动。因此,kdump.init 实例会发生竞争条件。通过引入全局 mutex 锁定,现在只有一个实例可以获取此锁定并运行,其他实例将等待队列中的锁定。因此,kdump.init 实例会按顺序运行,在这种情况下不再发生竞争条件。
BZ#951035
在以前的版本中,当包含 mkdumprd 工具的工具的 e2fsprogs 软件包没有安装在系统上时,mkdumprd 会显示一个误导错误消息。在这个版本中,错误消息已被改进,以明确告知用户缺少这些工具。

功能增强

BZ#959449
在这个版本中,kdump 工具可以通过网络使用任意网桥、绑定或 vlan 名称。现在,可以在不遵循既定的命名约定的情况下为设备命名,例如,绑定设备不需要以"bond"开头。用户可以通过检查 /sys/ 或 /proc/ 目录中是否存在特定目录来确定网络设备是否为绑定、网桥或 vlan。
BZ#871522
有了这个更新,kexec-tools 现在会在 64 位 PowerPC 上构建崩溃内存范围时遵循内存限制。内核通过 /proc/device-tree 文件导出内存限制信息,kexec-tools 现在相应地读取和限制崩溃内存范围。
BZ#825476, BZ#902147, BZ#902148
在 Red Hat Enterprise Linux 6.5 中,makedumpfile 实用程序支持 Lempel-Ziv-Oberhumer (LZO)和 snappy 压缩格式。使用这些压缩格式而不是 zlib 格式会更快,特别是使用随机内容压缩数据时。
BZ#947621
这个版本包括允许在崩溃转储捕获过程中过滤中毒页面的更改。用户现在可以决定是否转储中毒页面。另外,过滤可以提高转储速度。
BZ#797231
在这个版本中,在 kdump 服务启动过程中添加了一个 SELinux 重新标记。kdump 服务现在重新标记在转储路径中具有不正确或缺失的标签的文件。
BZ#909402
在以前的 Red Hat Enterprise Linux 版本中,对 SSH FIPS 模式的支持不完整。在这个版本中,在 kdump 内核中增加了相关的库文件和 5.2.hmac 文件。kdump 工具现在可以在 SSH FIPS 模式下工作。
BZ#975642
在这个版本中,在 mkdumprd (8)手册页中添加了 "-allow-missing" mkdumprd 选项的文档。
建议 kexec-tools 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.84. ksh

现在,Red Hat Enterprise Linux 6 提供了修复几个程序错误并添加了各种改进的 ksh 软件包。
KornShell (KSH)是由 AT&T Bell Laboratories 开发的 Unix shell,它与 Bourne shell (Bash)向后兼容,包含 C shell 的许多功能。最新版本为 KSH-93。KornShell 符合 POSIX.2 标准(IEEE Std 1003.2-1992)。
升级到上游版本
ksh 软件包已升级到上游版本 20120801,它提供很多程序错误修复和增强。(BZ#840568)

程序错误修复

BZ#761551
在以前的版本中,ksh shell 不会将任何编辑模式设置为默认,这会导致互动模式中出现各种可用性问题,以及 shell 自动完成功能。在这个版本中,为新用户将 emacs 编辑模式设置为默认设置。因此,可用性显著提高,shell 自动完成功能可以正常工作。
BZ#858263
在以前的版本中,作业的 ksh 内部计数器太小。因此,当脚本在循环中使用多个子 shell 时,可能会出现计数器溢出,从而导致 ksh shell 意外终止分段错误。在这个版本中,ksh 被修改为将较大的类型用于计数器变量。因此,ksh 不再在上述场景中崩溃。
BZ#903750
在以前的版本中,ksh shell 无法正确计算固定大小变量的偏移量。因此,当为较小的变量分配带有固定宽度的 right-justified 变量时,新变量可能具有不正确的内容。在这个版本中,会应用一个补丁来修复这个程序错误,分配现在可以按预期进行。
BZ#913110
在以前的版本中,命令替换的输出并不总是被正确重定向。因此,这里的输出可能会丢失。在这个版本中,命令替换的重定向代码已被修复,here-document 现在会如预期包含输出。
BZ#921455, BZ#982142
使用 ksh 功能、命令别名或自动载入功能中的数组会导致内存泄漏。底层源代码已被修改来修复这个程序错误,在上述场景中不再会出现内存泄漏的问题。
BZ#922851
在以前的版本中,ksh SIGTSTP 信号处理程序可能会触发另一个 SIGTSTP 信号。因此,ksh 可能会进入无限循环。这个版本修复了 SIGTSTP 信号处理和 ksh,现在在没有任何问题的情况下处理信号。
BZ#924440
在以前的版本中,每次需要 ksh shell 时,ksh shell 不会调整文件描述符列表的大小。当使用多个文件描述符时,这可能会导致内存崩溃。因此,ksh 会意外终止。此更新版本会在每次需要时调整文件描述符列表的大小,ksh 不再会在上述场景中崩溃。
BZ#960034
在以前的版本中,ksh shell 忽略了命令行指定的"-m"参数。因此,ksh 没有启用监控模式,用户必须在脚本中启用它。在这个版本中,ksh 不再忽略该参数,以便用户可以从命令行启用监控模式。
BZ#994251
ksh shell 无法正确处理管道中的命令替换 I/O 重定向。因此,某些命令的输出可能会丢失。在这个版本中,重定向已被修复,命令输出中不再缺少数据。
建议 ksh 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.85. ledmon

现在,Red Hat Enterprise Linux 6 提供了修复几个程序错误并添加各种改进的 resultmon 软件包。
ledmon 和 ledctl 工具是用户空间应用程序,旨在控制与独立或驱动器处的每个插槽关联的 LED。有两种类型的系统:2-LED 系统(Activity LED, Status LED)和 3-LED 系统(Activity LED, Locate LED, Fail LED)。用户必须具有 root 特权才能使用此应用程序。
升级到上游版本
ledmon 软件包已升级到上游版本 0.78,它提供很多程序错误修复和增强。(BZ#922976, BZ#876593, BZ#887370)
建议将 ledmon 的用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.86. libXcursor

现在,Red Hat Enterprise Linux 6 提供了修复一个程序错误的 libXcursor 软件包。
X.Org 的 X11 libXcursor 软件包为光标管理提供了一个运行时库,旨在帮助定位和加载光标。

错误修复

BZ#949586
在 libXcursor 的最后重新构建中,Icon Theme 被改为 Adwaita,这在 Red Hat Enterprise Linux 6 中不可用。要解决这个问题,Icon Theme 已被改为 Red Hat Enterprise Linux 6 的 dmz-aa。
建议 libXcursor 用户升级到这些更新的软件包,从而解决了这个问题。

8.87. libcgroup

现在,Red Hat Enterprise Linux 6 提供了修复几个程序错误并添加一个改进的 libcgroup 软件包。
libcgroup 软件包提供了用来管理和监控控制组的工具和库。

程序错误修复

BZ#972893
在以前的版本中,pam_cgoup 可插拔验证模块(PAM)没有使用缓存。因此,当系统有多个千名用户和 cgrules.conf 文件包含几千个配置设置行时,登录时间可能需要几秒钟。在这个版本中,libcgroup 代码不再为 cgrules.conf 中的每行读取 /etc/passwd 文件,登录时间不再会受到影响。
BZ#863172
在此次更新之前,cgroup 文件没有正确设置写入权限。因此,拥有 cgroup 文件的组成员无法修改其内容。组权限已更新,组成员现在可以修改 cgroup 文件的内容。
BZ#921328
在以前的版本中,打开配置文件时 cgred 服务的行为没有正确设置。因此,如果没有或为空的配置文件,cgred 无法启动。现在,删除了对存在的配置文件的显式检查,现在 cgred 从缺失或空配置文件开始。
BZ#912425
cg_get_pid_from_flags () 函数中的代码假定 /etc/cgrules.conf 文件中的每个条目都有指定的进程名称。因此,如果 /etc/cgrules.conf 文件中的条目没有指定进程名称,则 cgred 服务会意外终止,并带有 segmentation 错误。在这个版本中,代码可以接受空进程名称,cgred 不再崩溃。
BZ#946953
在此次更新之前,/bin/cgclassify 文件的权限被错误地设置。因此,在非特权用户运行时,cgclassify 命令的"-sticky"选项会被忽略。/bin/cgclassify 的文件权限已更新,"--sticky"选项现在可以对常规用户正常工作。
BZ#753334
在以前的版本中,不支持在字典分析器中使用逗号。因此,cgconfig 服务无法在 cgconfig.conf 文件中解析逗号。添加了对字典分析器中的逗号的支持,cgconfig 现在可以在 cgconfig.conf 中成功解析逗号。
BZ#924399
cgrulesengd 守护进程的默认日志记录级别与库的其余部分不同。因此,日志消息不一致。在这个版本中,cgrulesengd 守护进程和库的日志记录级别已被统一,日志消息现在会如预期保持一致。
BZ#809550
在此次更新之前,cgcreate (1)手册页在 synopsis 中包含无效的 "-s" 选项。在这个版本中,删除了这个选项。
BZ#961844
在以前的版本中,cgred 服务在引导过程中启动太早。因此,如果在 cgred 之前启动一些服务,它们可能会避免受到限制。cgred 的引导优先级已降低,现在所有服务都被正确限制。

功能增强

BZ#589535
在这个版本中,cgred 守护进程支持针对任何登录的 UNIX 组中的每个用户自动控制组。现在,使用模板来自动创建新的控制组,用户启动的每个进程都会在适当的组中启动,从而更轻松地管理多个用户。
建议 libcgroup 用户升级到这些更新的软件包,从而修复这些 bug 并添加这个改进。

8.88. libdrm

现在,Red Hat Enterprise Linux 6 提供了修复几个程序错误的 libdrm 软件包,并添加各种改进。
Direct Rendering Manager 运行时库(libdrm)为直接渲染客户端提供了一个用户空间接口库。
升级到上游版本
libdrm 软件包已升级到上游版本 2.4.45,它提供很多程序错误修复和增强。(BZ#914774)
建议 libdrm 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.89. libguestfs

Red Hat Enterprise Linux 6 现在提供了修复一个安全问题的 libguestfs 软件包、几个程序错误并添加各种改进。
红帽安全响应团队将此更新的安全影响级别定为具有中等安全影响。常见的漏洞评分系统(CVSS)基础分数提供了详细的严重性评级,适用于以下每个描述的 CVE 链接中的每个漏洞。
libguestfs 是用于访问和修改客户机磁盘镜像的库和一组工具。
升级到上游版本
libguestfs 软件包已升级到上游版本 1.20.0,它提供很多程序错误修复和增强。(BZ#958183)

安全修复

CVE-2013-4419
发现 guestfish,它启用了 shell 脚本编写和命令行访问 libguestfs,不安全地创建用于在服务器模式中存储网络套接字的临时目录。本地攻击者可以使用这个缺陷来截获和修改其他用户的 guestfish 命令,允许他们使用其他用户的特权执行任意 guestfish 操作,或使用此漏洞获取身份验证凭据。
这个问题是由红帽区域 IT 团队的 Michael Scherer 发现的。

程序错误修复

BZ#892291
在以前的版本中,当 guestmount 工具无法创建硬链接时,会返回不正确的错误消息。因此,有关错误结果的 true 信息不会被显示。在这个版本中,guestmount 中的错误处理已被修复,在上述情况下会显示正确的信息。
BZ#892834
当尝试使用 guestmount 工具重命名符号链接时,guestmount 后跟链接,而不是覆盖它。在这个版本中,添加了一个 guestfs_rename API,它允许 guestmount 正确重命名目标文件。
BZ#908255
不允许使用 guestfs_download API 或 guestfish 下载命令下载 目录。但是 libguestfs 在这种情形中不会返回错误,而丢失协议同步。在这个版本中,libguestfs 会测试下载源是否为目录,如果是,则会返回错误消息。
BZ#909666
在某些情况下,长时间运行的 libguestfs API 调用(生成进度消息)会导致 libguestfs 因堆栈溢出而意外终止。底层源代码已被修改来处理这种情况,且不再发生堆栈溢出。
BZ#971090
在此次更新之前,libguestfs 检查不会检测使用非标准 systemroot 路径的 Microsoft Windows 客户机。有了这个更新,libguestfs 已修改为使用 Windows boot.ini 文件的内容来查找 systemroot 路径。因此,即使使用非标准 systemroot 路径,也会正确检测到 Windows 客户机。
BZ#971326
在以前的版本中,当没有明确指定目标大小时,libguestfs 不会重新定义 Microsoft Windows NTFS 文件系统的大小。在这个版本中,libguestfs 已被修改为从目标存储设备中自动建立这个大小。现在,即使不指定目标大小,也可以调整 NTFS 文件系统的大小。
BZ#975753
virt-resize 在处于不一致状态的 Windows 客户端上会失败。在这个版本中,在 guestfs (3) man page 中添加了此问题的描述。
BZ#975760
如果在添加驱动器时使用 iface 参数,libguestfs 输入一个无限循环。在这个版本中,libguestfs 已被修复,可以正确处理 iface 参数,从而防止挂起。
BZ#980358
即使某些 XFS 功能不可用,也可以将调用 guestfs_filesystem_available(g,"xfs") 功能评估为 true。这个问题记录在 guestfs (3) man page 中。
BZ#980372
在此次更新之前,hivex-commit 命令带有相对路径参数被写入用户无法访问的位置。此命令已被修改,需要覆盖原始路径或 NULL 路径。现在,如果将相对路径传递给 hivex-commit,则会显示错误消息。
BZ#985269
使用 libguestfs 设置访问控制列表(ACL)的语法现在记录在 guestfs (3) man page 中。
BZ#989352
libguestfs 用于读取没有设置能力的文件的功能时,libguestfs 会返回错误。负责检索文件功能的 guestfs_cap_get_file() 功能已被修改,以便在上述情况下返回空字符串。
BZ#996039
在某些情况下,使用带有 two- remote 和- add 选项的 guestfish 命令可能会产生意外的结果。这个行为记录在 guestfish (1) man page 中。
BZ#996825
在以前的版本中,当使用 guestfish --remote 命令时,会显示以下信息:
libguestfs: error: waitpid (qemu): No child processes
在这个版本中,这个不必要的信息不再显示。
BZ#998108
在以前的版本中,当 libguestfs 软件包在负载非常重的系统中使用时,有关"不稳定时钟"的消息会出现在调试输出中。在这个版本中,libguestfs 已被修改,以检查 kvmclock 内核功能是否已启用,从而减少了上述消息输出。
BZ#1000122
在此次更新之前,在挂载磁盘前使用 guestfs_ sh 或 sh 命令会导致 guestfish 工具以分段错误终止。有了这个更新,guestfish 已被修改,以便在执行这些命令前是否挂载了文件系统,如果未显示,则会显示错误消息。因此,guestfish 不再在上述场景中崩溃。
建议 libguestfs 用户升级到这些更新的软件包,其中包含向后移植的补丁来更正这些问题并添加这些改进。

8.90. libibverbs-rocee

针对 Red Hat Enterprise Linux 6 提供了更新的 libibverbs-rocee 和 libmlx4-rocee 软件包。
Red Hat Enterprise Linux 包括一组 InfiniBand 和 iWARP 工具、库和开发软件包,用于编写使用远程直接内存访问(RDMA)技术的应用程序。
升级到上游版本
libibverbs-rocee 软件包已升级到上游版本 1.1.7,并将 libxml-rocee 软件包升级到上游版本 1.0.5,它比之前的版本提供了很多程序错误修复和增强,并使 HPN 频道与基础 Red Hat Enterprise Linux 频道同步,其中 sister 版本使用这些软件包(libibverbs 和 libmlx4)也更新至最新的上游版本。
建议所有远程直接内存访问(RDMA)技术的用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.91. libksba

修正了一个程序错误的 libksba 软件包现在可用于 Red Hat Enterprise Linux 6。
KSBA 是一个库,旨在根据 X.509 和 CMS 标准构建软件。它为开发人员提供了一个 API,它处理 X.509 标准的基本详情,并持续显示数据。

错误修复

BZ#658058
在以前的版本中,/usr/bin/libksba-config 脚本的内容在 32 位和 64 位 libksba-devel 软件包之间冲突。因此,这些软件包无法同时安装。在这个版本中,脚本对所有架构保持一致,从而解决了这个问题。
建议 libksba 用户升级到这些更新的软件包,从而解决了这个问题。

8.92. libnl

更新了 libnl 软件包,修复几个程序错误现在可用于 Red Hat Enterprise Linux 6。
libnl 软件包包含一个方便库,以简化使用 Linux 内核的 Netlink 套接字接口进行网络操作。

程序错误修复

BZ#682240
当使用 libvirt 客户端库和工具启动域时,从 libnl 库触发内存泄漏,因为 libnl 继续使用不再使用的内存。在这个版本中,libnl 中的内存泄漏已被修复,并在完成其使用后 libnl 发布内存。
BZ#689559
在此次更新之前,libnl 的错误处理会导致 strerror ()函数的 generous 使用。然而,strerror () 函数不是 threadsafe,应用程序中的多个线程可以调用 libnl。在这个版本中,所有出现的 strerror ()替换为对 strerror_r ()函数的调用,该函数将消息放入线程本地静态缓冲区中。
BZ#953339
当 igb 模块的 max_vfs 参数(分配最大虚拟功能数)被设置为 KVM (基于内核的虚拟机)主机上 50,50 的任何值时,客户机无法使用以下错误消息启动:
Error : virNetDevParseVfConfig:1484 : internal error missing IFLA_VF_INFO in netlink 响应
Error : virFileReadAll:457 : Failed to open file '/var/run/libvirt/qemu/eth0_vf0': No such file or directory error : virFileReadAll:457 : Failed to open file '/var/run/libvirt/qemu/eth1_vf0': No such file or directory
在这个版本中,增加了默认的接收缓冲区大小,允许接收超过内存页面大小的 Netlink 消息。因此,客户机可以在 KVM 主机上启动,在上述场景中不再会出现错误消息。
建议 libnl 用户升级到这些更新的软件包,从而修复这些程序错误。

8.93. libpcap

现在,Red Hat Enterprise Linux 6 提供了修复几个程序错误的 libpcap 软件包,并添加各种改进。
Packet Capture 库(pcap)为数据包捕获系统提供了一个高级别的接口。网络上的所有数据包(甚至用于其他主机的用户)均可通过此机制访问。它还支持将捕获的数据包保存到 'savefile',并从 'savefile' 读取数据包。libpcap 提供独立于操作系统提供的底层数据包捕获工具的访问。
升级到上游版本
libpcap 软件包已升级到上游版本 1.4.1,它提供很多程序错误修复和增强。(BZ#916749)

程序错误修复

BZ#723108
在以前的版本中,libpcap 库为 Berkeley Packet Filter (BPF)基础架构生成了错误的过滤代码。因此,内核中的数据包过滤器丢弃一些应该被用户空间进程接收的数据包。此外,由于 MTU 链接而发生 IPv6 数据包碎片时,tcpdump 工具会生成不正确的输出。要修复这个程序错误,处理 BPF 过滤器生成的代码已被修复,以便在检查最终协议前检查 IPv6 PDU 中的碎片标头。因此,当 IPv6 传输过程中发生源站点碎片时,内核过滤器不再丢弃 IPv6 片段,tcpdump 接收所有数据包。
BZ#731789
在此次更新之前,libpcap 无法打开带有小值 SnapLen 的捕获设备,这会导致 libpcap 返回一个错误代码,tcpdump 会预先退出。内存映射数据包捕获机制的计算结果已被调整,无法截断数据包到比实际 SnapLen 小的值,从而解决了这个问题。因此,当尝试使用小值 SnapLen 打开捕获设备时,libpcap 不再会返回错误,使用 libpcap 来处理数据包。
建议 libpcap 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.94. libqb

现在,Red Hat Enterprise Linux 6 提供了修复几个程序错误的 libqb 软件包,并添加各种改进。
libqb 软件包提供了一个库,提供高性能客户端服务器可重复使用的功能,如高性能日志记录、追踪、进程间通信和轮询。
升级到上游版本
libqb 软件包已升级到上游版本 0.16.0,它提供很多程序错误修复和增强,包括修复 qb_log_from_external_source () 函数中的错误。(BZ#950403)

错误修复

BZ#889299
如果指定了字符串的长度或精度,则 Blackbox 窗口管理器的输出不包含日志信息。对于调试目的,这会影响 Blackbox 输出的可用性,特别是与 Pacemaker 集群资源管理器一起使用时。问题是由 strlcpy ()和 strlcat ()函数中的 bug 实现导致的,以及负责 Blackbox 日志格式的代码。在这个版本中修正了这些程序错误,Blackbox 输出现在可以按预期进行格式化。
建议 libqb 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.95. libreoffice

现在,Red Hat Enterprise Linux 6 提供了修复几个程序错误并添加各种改进的 libreoffice 软件包。
libreoffice 是一个开源、社区开发、办公室生产力套件。它包括关键桌面应用程序,如处理器、电子表格、演示管理器、公式编辑器和绘制程序。libreoffice 取代了 OpenOffice.org,并提供类似的但增强和扩展办事处套件。
升级到上游版本
libreoffice 软件包已升级到上游版本 4.0.4,它提供很多程序错误修复和增强。(BZ#919230)

程序错误修复

BZ#820554
添加了 "--enable-new-dtags" 标志,以允许某些类型的构建时间回归测试正常工作。因此,GCJ Java complier 无法搜索 Java 库的正确位置。这个版本应用了补丁来删除标志,GCJ 可以正常工作。
BZ#829709
在以前的版本中,LibreOffice 套件没有完全转换为某些本地语言。这个版本提供了 LibreOffice 到本地语言的完整转换。
BZ#833512
在将 OpenOffice.org 套件升级到 OpenOffice 套件时,删除了向后兼容性链接,OpenOffice.org 图标没有迁移到 LibreOffice。因此,尝试启动 LibreOffice 失败并显示错误。在这个版本中,兼容性链接已被恢复,图标现在可以正常工作。
BZ#847519
由于 Chart 创建代码中的一个错误,在某些情况下尝试创建 chart,因为分段错误会失败。底层源代码已被修改来修复这个程序错误,Chart 创建现在可以正常工作。
BZ#855972
由于底层源代码中的一个错误,尝试显示 Impress 工具中的概述视图意外终止。这个版本应用了补丁来修复这个程序错误,概述视图不会在上述场景中崩溃。
BZ#863052
Microsoft Office 套件的特定版本包含不匹配的内部时间戳字段。在以前的版本中,LibreOffice 套件检测到这些字段并返回异常。因此,用户无法打开特定的 Microsoft Office 文档。在这个版本中,LibreOffice 已被修改,忽略不匹配的时间戳字段和 Microsoft Office 文档可以如预期打开。
BZ#865058
当在文件中指定了大量用户定义的数字格式时,这些格式使用表中的所有可用插槽,并用于剩余的通用格式。因此,在载入该文件过程中,某些单元格式不会保留。在这个版本中,提供了一个补丁,单元格式可以正常工作。
BZ#871462
Libreoffice 套件包含许多用于测试目的的无害文件。在以前的版本中,在 Microsoft Windows 系统上,这些文件可能会在各种 anti-virus 软件(如 Microsoft Security Essentials)上触发假警报。例如,在扫描 Red Hat Enterprise Linux 6 ISO 文件时可能会触发警报。底层源代码已被修改来修复这个程序错误,文件不会在上述场景中触发假警报。
BZ#876742
由于表的实施不足,Impress 工具会在每个操作过程中制作表的内部副本。因此,当表示包含大型表时,操作会非常慢。这个版本提供了一个补丁来优化表内容遍历。因此,在上述场景中操作可以更快地进行。
BZ#902694
在以前的版本中,键盘快捷方式映射会自动格式。因此,在某些语言中建议不存在的键作为快捷方式。在这个版本中,提供了一个补丁来修复这个错误,受影响的快捷方式会被手动映射。
建议 libreoffice 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.96. librtas

Red Hat Enterprise Linux 6 现在提供了更新了一个增强的 librtas 软件包。
librtas 软件包包含一组库,允许访问 64 位 PowerPC 架构上的 Run-Time Abstraction 服务(RTAS)。librtasevent 库包含用于分析 RTAS 事件的定义和例程。

功能增强

BZ#985850
在这个版本中,增加了对通过 PRRN 接口的动态内存关联性的用户空间解决方案的支持。当分区关联性因系统优化而改变时,受影响的分区将通过 event-scan RTAS 调用来通知,分区的关联性属性已更改。因此,分区应该通过现有的 RTAS/hidden h_calls 刷新其关联性字符串。
建议 librtas 用户升级到这些更新的软件包,这会添加这个改进。

8.97. libtevent

现在,Red Hat Enterprise Linux 6 提供了修复几个程序错误并添加了各种改进的 libtevent 软件包。
libtevent 软件包提供 Tevent,它是一个基于 talloc 内存管理库的事件系统。tevent 支持许多事件类型,包括计时器、信号和经典文件描述符事件。tevent 还提供帮助程序来处理 tevent_req (Tevent Request)功能代表的异步代码。
升级到上游版本
libtevent 软件包已升级到上游版本 0.9.18,它提供很多程序错误修复和增强。(BZ#951034)

程序错误修复

BZ#975489
在此次更新之前,轮询后端中的一个条件将 64 位变量复制到未签名的整数变量中,该变量小于 32 位构架中的 64 位。在条件中使用未签名的整数变量会使条件始终为 false。变量格式已更改为 uint64_t 格式,保证其宽度为所有架构上的 64 位。现在,条件会产生预期的结果。
BZ#978962
在以前的版本中,tevent_loop_wait () 函数在内部注册了自己的信号处理程序,即使它还没有被删除。因此,即使没有注册的自定义处理程序,tevent_loop_wait ()也无法结束。这个版本应用了补丁来修复这个程序错误,tevent_loop_wait ()现在可以正常工作。
建议 libtevent 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.98. libvirt

现在,Red Hat Enterprise Linux 6 提供了修复多个程序错误的 libvirt 软件包,并添加各种改进。
libvirt 库是一个 C API,用于管理并与之交互 Linux 和其他操作系统的虚拟化功能。此外,libvirt 还提供了用于远程管理虚拟化系统的工具。

程序错误修复

BZ#846013
在以前的版本中,由于几个问题,在迁移过程中无法正确处理 IPv6。在这个版本中,迁移会在上述场景中成功。
BZ#847822
如果没有手动配置,远程驱动程序不支持连接到 libvirtd 守护进程的会话实例。此行为可能会混淆用户,试图使用这样的配置。在这个版本中,libvirt 不允许没有必要的手动配置的连接。
BZ#851075
在以前的版本中,libvirt 库缺少 ESX 环境的驱动程序实现。因此,用户无法为 ESX 客户机配置任何网络。网络驱动程序已经实现,用户现在可以按预期为 ESX 客户机配置网络。
BZ#882077
在以前的版本中,libvirt 在创建快照失败时报告原始 QEMU 错误,并且提供的错误消息可能会造成混淆。在这个版本中,当 QEMU 无法创建快照时,libvirt 会给出一个清晰的错误消息。
BZ#888503
AMD 系列 15h 处理器 CPU 架构 由模块 组成,后者表示为单独的内核和单独的线程。在其中一种方法之间进行选择所需的管理应用程序,libvirt 没有提供足够的信息来执行此操作。此外,管理应用程序无法代表 AMD 系列 15h 处理器内核中的模块,具体取决于他们的需求。现在,能力 XML 输出包含有关处理器拓扑的更多信息,以便管理应用程序可以提取所需信息。
BZ#892079
在以前的版本中,libvirtd 守护进程无法为运行客户机代理服务的 Microsoft Windows 客户机执行 s3 或 s4 操作。因此,这会导致 域 s4 失败 错误信息,因为域被销毁。在这个版本中,客户机被成功销毁,libvirtd 不再崩溃。
BZ#894723
虚拟机(VM)可以保存到压缩文件中。在以前的版本中,当 libvirt 尝试恢复虚拟机时,当解压缩该文件时,libvirt 会从正在运行的虚拟机列表中删除虚拟机。但是,它不会删除对应的 QEMU 进程。在这个版本中,QEMU 进程会在这种情况下被终止。此外,现在忽略非严重的解压缩错误,如果出现此类错误,可以成功恢复虚拟机。
BZ#895294
当为该接口设置了引导顺序时,使用 virDomainUpdateDeviceFlags API 更新网络接口会失败。即使在提供的设备 XML 中设置引导顺序,更新也会失败。virDomainUpdateDeviceFlags API 已被修复,从所提供的设备 XML 中正确解析引导顺序规格,并使用引导顺序更新网络接口现在可以正常工作。
BZ#895340
libvirt 库允许用户在域的网络接口控制器(NIC)上设置服务质量(QoS)。但是,由于实施中有一个错误,某些值没有正确设置。因此,实际的吞吐量与域 XML 中设置没有对应。底层源代码已被修改,从 XML 设置正确的值,吞吐量现在与 XML 中设置的值对应。
BZ#895424
Red Hat Enterprise Linux 6 中的 QEMU 不支持热拔 vCPU。因此,尝试使用此功能会失败,但 libvirt 库记住的处理器数量被更新为新的数字并记住。在这个版本中,libvrit 会验证 QEMU 是否实际取消插入 CPU,以便仅在拔出成功时更新内部信息。
BZ#895826
在以前的版本中,当迁移失败时,目标主机开始重新标记文件,因为它不再使用它们。但是,此行为会影响源主机,该主机仍在运行。因此,客户机可能会丢失写入磁盘的能力。这个版本应用了补丁来修复这个程序错误,以便在上述场景中不再重新标记使用的文件。
BZ#895882
libvirt 库的 Python 绑定包含 virDomainSnapshot 类中的 getDomain ()和 getConnect ()方法的不正确的实现。因此,Python 客户端会意外终止并出现分段错误。Python 绑定现在提供正确的 domain ()和 connect ()accessors,用于获取内部存储在 virDomainSnapshot 实例中的 Python 对象,不再会发生崩溃。
BZ#896013
在以前的版本中,libvirt 库添加了存储文件后备链的缓存,而不是重新发现每个操作的后备链详情。然后,这个缓存用于决定要为 sVirt 标记的文件,但当 libvirt 切换到使用缓存时,只有在使用内核控制组(cgroups)时才会填充代码。在不使用 cgroups 的设置中,sVirt 无法正确标记后备链文件,因为缺少后备链缓存信息。这个行为导致客户机观察到的回归无法运行。现在,填充缓存在流程早期移动,与 cgroups 无关,缓存会产生更高效的 sVirt 操作,现在可以正常工作是否 cgroups 是否生效。
BZ#903238
有时,当用户运行多个 virsh create 或destroy 循环时,可能会出现竞争条件,libvirtd 守护进程会意外终止并出现 segmentation 错误。与已经销毁了调用者的域相关的错误错误消息。在这个版本中,概述的脚本会被运行并完成,而不会 libvirtd 崩溃。
BZ#903248
在以前的版本中,libvirt 库后的相对后备链与 QEMU 不同。这会导致在 libvirt 无法遵循链时缺少 sVirt 权限。有了这个更新,在 libvirt 和 QEMU 中,相对备份文件的处理现在相同,VDSM 使用相对后备文件可以正常工作。
BZ#903433
当启用了内核控制组(cgroups)时,在 cgroup 中移动任务可能会发生很少的情况,从而导致竞争条件。因此,在使用 virsh 工具重复 start 和 stop 命令后,客户机可能无法启动。在这个版本中,处理线程组的代码已被优化,以防止在从一个 cgroup 移动到另一个 cgroup 时进行竞争,在上述场景中客户机现在会如预期启动。
BZ#906299
当用户运行 Coverity 和 Valgrind 泄漏检测工具时,libvirtd 守护进程中的各种内存泄漏会被发现。这个版本解决了这些问题,libvirtd 不再在上述场景中泄漏内存。
BZ#908073
在以前的版本中,当用户使用 sharable block CD-Rom 启动客户机时,libvirtd 守护进程会因为访问已经释放的内存而意外失败。这个版本解决了上述问题,libvirtd 不再在上述场景中崩溃。
BZ#911609
由于 libvirt 客户端库中出现竞争条件,因此任何使用 libvirt 的应用程序可能会意外终止并出现分段错误。当一个线程执行连接关闭回调时会出现这种情况,另一个线程释放了连接对象,然后访问已经释放的内存。在这个版本中解决了在仍被访问时释放回调数据的可能性。
BZ#912179
当要求创建具有零分配的逻辑卷时,libvirt 库运行 lvcreate 命令以创建没有扩展的卷,这是不允许的。创建逻辑卷失败,libvirt 会返回一个未提及正确错误的错误消息。现在,libvirt 会尝试以最少扩展的数量创建卷,而不是要求不扩展。现在,代码已被修复,在卷创建过程失败时提供正确的错误消息。因此,现在可以使用 libvirt 成功创建具有零分配的逻辑卷。
BZ#913244
如果没有指定 auto-port 和 port,但 tlsPort 属性设置为 -1,QEMU 命令行中指定的 tlsPort 参数被设置为 1,而不是有效端口。因此,QEMU 会失败,因为它无法在端口上绑定一个套接字。在这个版本中,当前的 QEMU 驱动程序代码被用来使用新的 virPortAllocator API 管理端口保留,QEMU 现在可以在端口上绑定套接字。
BZ#913363
当域的磁盘使用不安全缓存设置时,libvirt 库可能会中止迁移,即使它们没有存储在共享存储中,并且 libvirt 被明确要求复制所有存储。因此,在没有共享存储的情况下迁移只能使用 VIR_MIGRATE_UNSAFE 标志。在这个版本中,安全磁盘缓存设置的测试只仅限于共享存储,因为任何设置对于本地存储的磁盘镜像是安全的。
BZ#914677
在以前的版本中,libvirt 库没有接受在运行内核中缺少 unpriv_sgio 支持,即使不需要。因此,在将主机系统升级到 Red Hat Enterprise Linux 6.5 后,用户无法使用可共享块磁盘设备启动域,除非它们将主机重启到新内核中。在这个版本中,仅在真正需要时才执行对 unpriv_sgio 支持的检查。因此,libvirt 现在能够启动所有不需要非priv_sgio 支持的域,无论主机内核都支持它。
BZ#916315
由于 libvirt 代码中存在一个错误,所以两个 API vidDomainBlockStatsFlags ()和 vidDomainDetachDeviceFlags ()会被同时执行。因此,libvirtd 守护进程会意外终止。底层源代码已被修改,使这些 API 相互排斥,这样守护进程不会再崩溃。
BZ#917510
当带有受管保存镜像的虚拟机(VM)启动时,使用删除受管保存镜像的 -force-boot 参数启动,则保存受管保存状态的标记不会被清除。这会导致显示不正确的信息,以及有关 managed stave 状态的一些操作失败。这个程序错误已被解决,现在在上述场景中正确清除了这个标志。
BZ#920205
在迁移结束时,libvirt 在在目标主机上恢复域之前,等待简单协议用于计算环境(SPICE)数据迁移到目标 QEMU。这可显著提高当域没有在任何主机上运行时的等待时间。在这个版本中,底层代码已被修改为不会等待 SPICE 迁移结束。因此,恢复会尽快完成,且没有显著延迟。
BZ#920441
在以前的版本中,QEMU cookie 文件中的 listen 属性被丢弃。因此,如果用户使用不同的网络,一个用于管理和迁移,另一个用于虚拟网络计算(VNC)和 SPICE,则远程主机名通过 client_migrate_info 标志传递给 QEMU。这会导致在迁移虚拟机时 SPICE 客户端断开连接。在这个版本中,远程侦听地址会被传递,在上述场景中 SPICE 客户端不再断开连接。
BZ#921387
由于逻辑存储后端中的 use-after-free 错误,libvirtd 守护进程可能会在删除逻辑存储池时意外终止。底层源代码已被修改,守护进程现在可以在删除逻辑卷时正常工作。
BZ#921538
由于 libvirt 的 RPC 实施客户端中的一个竞争条件,因此服务器关闭的客户端连接可能会释放,即使其他线程仍然等待通过此连接发送的 API 完成。因此,其他线程可能会访问已经释放的内存,客户端会意外终止并出现分段错误。在这个版本中,只有在所有线程处理其 API 调用并向调用者报告错误后,才会释放连接。
BZ#921777
在以前的版本中,处理临时网络时使用的锁定不正确。因此,当定义 API 在临时网络中使用时,网络对象锁定不会按预期解锁。现在,底层源代码已被修改,对象锁定会被正确解锁。
BZ#922153
在以前的版本中,libvirt 库对不应具有的文件发出控制组(cgroup)请求。使用旧的内核时,此类非安全 cgroup 请求会被忽略;但是,较新的内核更严格,从而导致 libvirt 日志记录假的警告,并对 libvirtd 和 audit 日志失败。ausearch 工具显示的审计日志失败类似如下:
root [date] - failed cgroup allow path rw /dev/kqemu
在这个版本中,libvirt 不再尝试非识别 cgroup 操作,在 libvirtd 和 audit 日志中只保留有效的尝试。
BZ#922203
在以前的版本中,libvirt 库在构造审计信息时使用不正确的变量。这会导致审核信息无效,从而导致 ausearch 工具将特定条目格式化为 path=(null),而不是正确的路径。这可以防止 ausearch 查找与 cgroup 设备访问控制列表(ACL)修改相关的事件。在这个版本中,审计信息会被正确生成,从而防止审计覆盖丢失。
BZ#923613
在以前的版本中,virsh (1)手册页中错误地描述了 vol-download 命令。在这个版本中,命令描述已被修复。
BZ#923946
当主机上禁用 SELinux 时,或者 QEMU 驱动程序没有配置为使用它,并且域 XML 配置包含一个显式 seclabel 选项,代码解析 seclabel 选项,但稍后会在域启动时忽略,并创建了新的和空的 seclabel 条目 [seclabeltype='none'/]。因此,运行 Red Hat Enterprise Linux 6.5 的两个主机之间进行迁移会失败并显示以下错误消息:
libvirtError: XML error: missing security model when using multiple labels
在这个版本中,如果 seclabel 条目已存在,则不再创建新条目,在上述场景中迁移可以正常工作。
BZ#923963
在以前的版本中,在特定版本的 Red Hat Enterprise Linux 间,在内核 netlink 协议间有一个应用程序二进制接口(ABI)不一致。当 libvirt 库发送一个 netlink NLM_F_REQUEST 消息,并且使用与运行 libvirt 的机器版本不同版本的内核头文件构建 libvirt 二进制文件时,会返回错误。因此,当使用 [interface type='hostdev'] 选项时,或者 libvirt 网络使用 [forward mode='hostdev'] 选项设置时,SR-IOV 网络设备的 Peripheral Component Interconnect (PCI)透传设备分配会失败。在这种情况下,返回以下出错信息或类似信息:
error dumping (eth3) (3) interface: Invalid argument
在这个版本中,libvirt 为所有内核版本正确重试 NLM_F_REQUEST 消息。现在,单个 libvirt 二进制文件在运行任何 Red Hat Enterprise Linux 6 内核的主机上成功使用 PCI 透传为客户机分配 SR-IOV 网络设备。
BZ#924571
在以前的版本中,当没有指定池的选项时,virsh 工具的 vol-name 命令会打印 NULL 字符串。因此,会返回错误消息,这可能会给用户造成混淆。如果不需要,命令已被修改为不需要指定选项。因此,在上述场景中不再返回错误消息。
BZ#924648
QEMU 驱动程序目前不支持增大最大内存大小。但是,这个功能记录在 virsh (1)手册页中。在这个版本中,手册页面已被修正。
BZ#928661
在以前的版本中,代码重构的一部分来修复另一个错误,并保留一个错误清理锁定的情况。因此,libvirtd 守护进程可能会在某些迁移到文件场景时意外终止。在这个版本中,锁定清理路径已被修复,libvirtd 不会在将域保存到文件中时崩溃。
BZ#947387
libvirt 库使用侧文件来存储受管域的内部状态,以便在 libvirtd 服务重启时重新读取状态。但是,如果域状态保存在不一致的状态,则状态不会被重新读取,对应的域会丢失。因此,域可能会消失。在这个版本中,当 libvirtd 服务保存域的内部状态时,会保存一致的内部状态,并禁止启动它的域。因此,域不再被忘记。
BZ#948678
在以前的版本中,尝试使用 virsh vol-create-from 命令将没有处于 RAW 格式的存储卷从目录池、文件系统池或 NFS 池克隆到 LVM 池,会 失败并显示未知文件格式 的错误消息。在这个版本中,通过将输出块设备视为 RAW 文件格式,存储卷现在可以按预期克隆,从而解决了这个问题。
BZ#950286
在某些情况下,连接关闭时,将客户机设置为自动销毁失败。因此,libvirtd 守护进程会意外终止。提供了一系列解决各种崩溃情况的补丁,libvirtd 在自动销毁客户机时不再崩溃。
BZ#951227
当在负载过重的机器上运行 libvirt 测试套件时,测试可能会在死锁中结束。由于测试套件是在 RPM 构建期间运行的,因此如果死锁发生,构建永远不会完成。在这个版本中解决了测试套件中使用的事件循环的处理,测试套件不会在上述场景中挂起。
BZ#955575
在以前的版本中,即使将对应的 ESX 版本 5.1 设置为之前被支持,但 VirtualHW 应用程序版本 9 也不被支持。因此,当连接到使用虚拟HW 版本 9 的客户机的 ESX 5.1 服务器时,会显示以下错误:
internal error Expecting VMX entry 'virtualHW.version' to be 4, 7 or 8 but found 9
在这个版本中,在支持的版本列表中添加了 VirtualHW 版本 9,在这种情况下不再显示上述错误消息。
BZ#960683
libvirt 的内部数据结构(保存主机和客户机拓扑信息)的大小有限,以避免对守护进程进行拒绝服务(DoS)攻击。但是,这些限制过于严格,不考虑使用 4096 个 CPU 的主机可能与 libvirt 一起使用。在这个版本中,增加了限制,以便在大型系统上允许可扩展性。
BZ#961034
在此次更新之前,使用 fcntl ()函数的 F_DUPFD_CLOEXEC 操作预期单个参数,指定最小文件描述符(FD)号,但没有提供任何信息。因此,随机堆栈数据以 FD 号形式访问,然后 libvirt 实时迁移可能会意外终止。在这个版本中,确保参数在上述场景中提供,从而解决了这个问题。
BZ#964359
在以前的版本中,libvirtd 守护进程通过对 getpwuid_r ()function 在 fork ()和 exec ()函数之间发出调用来设置子进程的补充组,这可能会导致 mutual 排除(mutex)。因此,如果另一个线程已经在名为 fork ()函数的 libvirtd 中包含 getpwuid_r mutex,则分叉的子进程死锁,从而导致 libvirtd 变得无响应。计算补充组集合的代码已被重构,以便在分叉后不需要 mutex。因此,不再有可能出现死锁情境。
BZ#965442
在以前的版本中,libvirt 库在添加、删除或重新定义卷大小后不会更新池信息。因此,用户必须使用 "virsh pool-refresh" 命令刷新池,以便在这些操作后获取正确的池信息。在这个版本中,在添加、删除或重新定义卷的大小后自动更新池信息。
BZ#970495
在以前的版本中,virsh 工具将 "vol-create" 和 "vol-create-as" 命令的 "--pool" 参数视为池名称。因此,当池由通用唯一标识符(UUID)指定时,vol-create 和 vol-create-as virsh 命令无法正常工作,即使它们被记录接受池规格的名称和 UUID。在这个版本中,virsh 已修复,按名称和 UUID 查找池。因此,两个 virsh 命令现在都根据文档进行操作。
BZ#971485
在以前的版本中,如果用户没有在域 XML 中指定虚拟网络计算(VNC)地址,则会使用 qemu.conf 文件中的地址。但是,在迁移时,在 XML 中直接设置侦听地址或从 qemu.conf 文件中复制时没有区别。因此,无法迁移域。在这个版本中,如果从 qemu.conf 中复制监听地址,它不会传送到目的地。因此,可以成功迁移域。
BZ#971904
在以前的版本中,传递给 libudev 库的 libvirt 库的日志功能无法正确处理具有多个参数的字符串。因此,当 libudev 记录信息时,libvirtd 守护进程可能会意外终止。在这个版本中,libvirt 可以正确地处理多个参数。因此,当 libudev 日志消息时,libvirtd 不再崩溃。
BZ#975201
在以前的版本中,libvirt 库只从 cacert.pem 文件中加载了一个认证机构(CA)证书,即使文件包含多个链的 CA 证书。因此,libvirt 在由中间 CA 证书签名时无法验证客户端和服务器证书,共享一个通用的 ancestor CA。在这个版本中,底层代码已被修复,以载入所有 CA 证书。因此,当客户端和服务器证书由中间 CA 证书签名时,CA 证书验证代码可以正常工作,共享一个通用的先级 CA。
BZ#975751
在以前的版本中,由于加载程序 Hypervisor 版本,许多功能仅适用于只有一个显示的虚拟机。因此,在 QEMU hypervisor 上无法正确定义具有两个显示器的客户机,一些其他功能没有正确考虑使用第二个显示。在这个版本中,能够定义更多显示类型,所有一次性显示假设已在所有相关代码中修复。因此,现在可以定义、正确迁移并启动具有多个显示器的域。
BZ#976401
SPICE 协议可以设置为侦听给定 IP 地址,或者从给定网络获取侦听 IP 地址。QEMU 不允许在运行时更改 SPICE 侦听 IP 地址,因此 libvirt 库会使用客户机上的每个用户更新 SPICE 设置来验证此 IP 地址。libvirt 代码中的一个回归错误导致 libvirt 错误地评估此侦听 IP 地址检查用户是否将 SPICE 设置为侦听给定网络,因为用户的 XLM 请求同时包含侦听 IP 地址和网络地址。因此,用户的操作将被拒绝。在这个版本中,libvirt 在将用户请求的 IP 地址与当前侦听 IP 地址进行比较时,也会考虑侦听 IP 地址的类型。现在,在这种情况下,用户可以更新客户机上的 SPICE 设置。
BZ#977961
迁移时,libvirtd 守护进程会泄漏目标客户端上的迁移统一资源标识符(URI)。现在,提供了一个补丁来修复这个错误,迁移 URI 现在被正确释放。
BZ#978352
在此次更新之前,libvirtd 守护进程会泄漏 virCgroupMoveTask ()函数中的内存。提供了一个修复,它可防止 libvirtd 管理内存分配不正确。
BZ#978356
在以前的版本中,libvirtd 守护进程在 virCgroupGetValueStr ()函数中的数组之前访问一个字节。这个程序错误已被解决,libvirtd 现在保留在数组绑定中。
BZ#979330
在以前的版本中,libvirt 库依赖于内核的"更改"通知,以指示它应该更改绑定到设备的设备驱动程序的名称。但是,没有发送此更改通知。因此,"virsh nodedev-dumpxml" 命令的输出始终显示在 libvirt 启动时绑定到该设备的设备驱动程序,而不是当前绑定的驱动程序。这个 bug 已被修复,libvirt 现在在每次执行 "nodedev-dumpxml" 命令时手动更新驱动程序名称,而不是根据更改通知。因此,驱动程序名称形成 "nodedev-dumpxml" 的输出始终正确。
BZ#980339
在以前的版本中,如果在 libvirt 网络定义的 <pf> 元素中给出不正确的设备名称,当客户机尝试使用该网络创建接口时,libvirt 会意外终止。在这个版本中,libvirt 会验证 <pf> 设备名称以验证它是否存在,并且它是支持 sriov 的网络设备。因此,当引用不正确的 <pf> 的网络时,libvirt 不再崩溃。相反,它会记录适当的错误消息并阻止操作。
BZ#983539
在以前的版本中,即使 mount 命令失败,virStorageBackendFileSystemMount () 函数也会返回成功。因此,libvirt 会像运行一样显示池,即使它不可用。在这个版本中,如果 mount 命令失败,则会显示错误。因此,当 mount 命令失败时,libvirt 不再显示成功的信息。
BZ#999107
由于 libvirt 代码中的遗漏,基于 hostdev 的网络的 VLAN 标签(一个网络,通过 PCI 设备分配分配给客户机的 SRIOV 虚拟功能池)没有在硬件设备中正确设置。在这个版本中,提供了缺少的代码,网络定义中设置的 VLAN 标签会在设备分配给客户机时正确显示。
BZ#1001881
在以前的版本中,libvirt 库会错误地尝试对多个 hostdev 网络设备使用相同的别名名称。因此,无法在其配置中启动有多个 hostdev 网络设备的客户机。在这个版本中,libvirt 可确保每个设备都有不同的别名名称。现在,可以在其配置中使用多个 hostdev 网络设备启动客户机。
BZ#1002790
virsh (1)手册页中的 blockcopy 命令的描述与 blockpull 命令的描述相同。在这个版本中,提供了正确的描述。
BZ#1006710
在以前的版本中,当使用 "auto" numatune placement 和 "nodeset" 选项解析域 XML 时,nodeset bitmap 被释放两次。因此,libvirtd 守护进程会因为双释放而意外终止。在这个版本中,libvirtd 会在释放后将指针设置为 NULL。因此,libvirtd 不再在这种情况下崩溃。
BZ#1009886
在以前的版本中,由于代码移动,存在一个无效的作业,用于查询 SPICE 迁移状态。因此,当迁移带有独立计算环境(SPICE)无缝迁移的域并使用 domjobinfo 命令同时请求同一域的信息时,libvirtd 守护进程会意外终止。在这个版本中,作业已被正确设置,libvirtd 不会在这种情况下崩溃。
BZ#1011981
当 libvirt-guests 初始化脚本停止时,libvirt-guests 初始化脚本的状态命令会返回 0 值,而 Linux 标准基础(LSB)则需要不同的值(3)。因此,依赖返回值的其他脚本无法区分服务是否在运行。libvirt-guests 脚本已被修复,符合 LSB,服务 libvirt-guests status 命令现在在上述场景中返回正确的值。
BZ#1013758
在以前的版本中,libvirt 库包含一个 heuristic,用于决定 QEMU 进程的最大内存用量的限制。如果达到这个限制,内核会终止 QEMU 进程,域也会被终止。但是,这无法正确猜测。因此,域会随机终止。在这个版本中,Huristic 已被丢弃,域不会再被内核终止。

功能增强

BZ#803602
此功能增强添加了为域的虚拟网络计算(VNC)控制台指定共享策略的功能。QEMU 行为的最新更改(从共享到独占 VNC)会导致某些仅使用共享 VPN 的部署停止工作。使用新属性 sharePolicy,用户可以将策略从 exclusive 改为共享,此类部署现在可以正常工作。
BZ#849796
此增强引进了 QEMU 的原生 GlusterFS 支持。用户现在可以将存储在 GlusterFS 卷上的磁盘镜像作为网络磁盘添加到 QEMU 域中。
BZ#851455
由于安全原因,libvirt 库默认使用端口默认为 1023 (非特权端口)用于来自客户机的网络流量的网络地址转换(NAT)。但是,有时客户机需要访问仅在使用特权端口时可用的网络服务。此功能增强提供了一个新的元素 & lt;nat >,它允许用户同时指定用于 NAT 的网络流量的端口或地址范围。
BZ#878765
在这个版本中,在 virsh (1)手册页中添加了关于 migrate 命令的 migrateuri 参数缺失的描述。
BZ#896604
有了这个增强,libvirt 库现在支持 ram_size 参数。现在,在一个 Peripheral Component Interconnect (PCI)设备中使用多个头时,用户可以设置 RAM 内存。
BZ#924400
QEMU 客户机代理现在支持启用和禁用客户机 CPU。在这个版本中,在 libvirt 库中添加了对这个功能的支持,以便用户现在可以使用 libvirt API 在客户机中禁用 CPU,以满足性能和可扩展性的原因。
BZ#928638
域名系统(DNS)服务器,特别是 root DNS 服务器,不建议转发不是完全限定域名的 DNS 请求,即包括域和主机名。另外,libvirt 启动的 dnsmasq 进程在其虚拟网络上服务客户机都禁止转发此类请求。然而,在某些情况下,这是需要的。在这个版本中,添加了带有非限定域名的上游转发(DNS)请求的权限。libvirt 库现在在其网络配置中提供了一个选项,以允许使用非限定主机名转发 DNS 请求。"forwardPlainNames='yes'" 选项必须作为属性添加到网络的 <dns> 元素中,之后允许转发。
BZ#947118
libvirt 库添加了对在主机内存中锁定域内存的支持。在这个版本中,用户可以避免交换域的内存页面,从而避免交换导致的域执行延迟。用户现在可以将域配置为始终存在于主机内存中。
BZ#956826
QEMU I/O 节流在虚拟机上提供精细的 I/O 控制,并在底层存储设备上提供抽象层。
BZ#826315, BZ#822306
新的 pvpanic 虚拟设备可以进入虚拟化堆栈中,客户机 panic 可能会导致 libvirt 发送通知事件来管理应用程序。此功能在 Red Hat Enterprise Linux 6.5 中作为技术预览引进。请注意,启用这个设备需要使用额外的 qemu 命令行选项 ; 这个版本不包括 libvirt 设置这些选项的任何支持方法。
BZ#1014198
在以前的版本中,libvirt 库中的 virDomainDeviceUpdateFlags () 函数允许用户在域仍在运行时更新域设备上的一些配置。因此,在更新网络接口控制器(NIC)时,因为缺少实现,QoS 无法更改。在这个版本中,添加了缺少的实现,现在可在 NIC 上更新 QoS。
建议 libvirt 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。安装更新的软件包后,libvirtd 将自动重启。
修正了一个程序错误的 libvirt 软件包现在可用于 Red Hat Enterprise Linux 6。
libvirt 库是一个 C API,用于管理并与之交互 Linux 和其他操作系统的虚拟化功能。此外,libvirt 还提供了用于远程管理虚拟化系统的工具。

错误修复

BZ#1029632
当两个客户端尝试启动同一临时域时,libvirt 可能没有正确检测到同一域已经启动。因此,多个 QEMU 进程可以针对同一域运行,而 libvirt 不知道它们。有了这个更新,libvirt 已被修复,可以正确地检查同一域是否尚未启动,因此避免为同一域启动多个 QEMU 进程。
建议 libvirt 用户升级到这些更新的软件包,从而解决了这个问题。安装更新的软件包后,libvirtd 将自动重启。

8.99. libvirt-cim

更新了 libvirt-cim 软件包,修复几个程序错误现在可用于 Red Hat Enterprise Linux 6。
libvirt-cim 软件包包含基于通用管理性编程接口(CMPI)的通用信息模型(CIM)供应商。它支持大多数 libvirt 虚拟化功能,并允许管理多个基于 libvirt 的平台。

程序错误修复

BZ#826179
在以前的版本中,使用 KVM_ComputerSystem 类运行 wbemcli 工具会意外终止并出现分段错误。这是因为即使以只读方式连接到 libvirtd 守护进程,域 XML 带有安全信息(使用 VIR_DOMAIN_XML_SECURE 标志)被转储。但是,在 libvirt 中禁止此操作。在这个版本中,标记不会用于只读连接。使用 KVM_ComputerSystem 运行 wbemcli 命令现在会如预期显示域信息。
BZ#833633
当更新某些 libvirt-cim 或 sblim-smis-hba 软件包时,以下错误可能已在 /var/log/messages 文件中记录:
sfcbmof: *** Repository error for /var/lib/sfcb/registration/repository//root/pg_interop/qualifiers
出现这个问题的原因是,libvirt-cim 在 sblim-sfcb 存储库中错误地安装了 PG_InterOp 类,但这个类特定于 open-pegasus 软件包。在这个版本中,在升级软件包前,PG_InterOp 被取消注册,在这种情况下不会记录任何错误消息。
BZ#859122
在以前的版本中,libvirt-cim 错误地安装了特定于 open-pegasus 软件包的供应商。这可能会导致各种问题,例如编译 MOF 文件时失败。现在会在正确的存储库中安装专用于 open-pegasus 的提供程序,问题将不再发生。
BZ#908083
在以前的版本中,如果使用桥接网络接口定义 qemu 域,运行 libvirt-cim 供应商会失败并显示以下错误消息:
无法启动域:不支持的配置:在网桥的接口不支持脚本
这是因为在检查 qemu 域类型前,在文件中添加了代码触发脚本。但是 qemu 域不允许使用脚本。在这个版本中,在添加代码触发脚本前,会执行对 qemu 域类型的检查。因此,在使用 libvirt-cim 时,现在可以使用桥接网络接口创建 qemu 域。
BZ#913164
在以前的版本中,查询客户机的当前 VNC 地址和端口号的调用会返回客户机的静态配置。如果使用客户机启用"自动端口"选择,调用不会返回分配的端口。libvirt-cim 代码已被修改,仅返回静态配置信息。这允许其他接口根据域状态返回信息。因此,现在返回域用于 VNC 的当前和正确的端口。
BZ#1000937
由 libvirt-cim 代理管理的虚拟机不知道"memory"部分中的"dumpCore"标记,也不支持 "disk" 设备的"shareable"属性。因此,当代理配置被代理更新时,这些属性会从虚拟机 XML 配置中丢弃。因此,希望或在其虚拟机上设置这些属性的客户必须调整配置才能重置配置。在这个版本中,在 libvirt-cim 中添加了补丁,现在了解这些属性,以便在编写配置时不会丢失对虚拟机 XML 配置所做的更改。因此,由 libvirt-cim 代理管理的虚拟机将识别"memory"部分中的"dumpCore"标签,或"disk"设备上的"shareable"标签,在更新虚拟机 XML 配置时不会删除。
建议 libvirt-cim 用户升级到这些更新的软件包,从而修复这些程序错误。

8.100. libvirt-snmp

更新了 libvirt-snmp 软件包,用于修复一个程序错误现在可用于 Red Hat Enterprise Linux 6。
libvirt-snmp 软件包允许用户通过简单网络管理协议(SNMP)控制和监控 libvirt 虚拟化管理工具。

错误修复

BZ#736258
在以前的版本中,使用 Ctrl+C 组合键关闭 libvirtMib_subagent 会导致内存泄漏。libvirtd 守护进程有时也会终止。补丁已被应用于解决这个问题,在这种情况下不再发生内存泄漏。
建议 libvirt-snmp 用户升级到这些更新的软件包,从而解决了这个问题。

8.101. libwacom

修正了一个程序错误的 libwacom 软件包现在可用于 Red Hat Enterprise Linux 6。
libwacom 软件包包含一个库,提供对平板电脑模型数据库的访问。libwacom 软件包将此数据库的内容公开给应用程序,允许特定于平板电脑的用户界面。libwacom 软件包允许 GNOME 工具自动配置屏幕映射和校准,并提供特定于设备的配置。

错误修复

BZ#847427
在以前的版本中,libwacom 数据库的 Lenovo ThinkPad X220 表不支持 Wacom Stylus pen。因此,gnome-wacom-properties 工具无法识别 pen,返回警告信息。添加了对 Lenovo ThinkPad X220 平板电脑上的 Wacom Stylus 的支持,现在 gnome-wacom-properties 现在可以对平板电脑进行校准。
建议 libwacom 用户升级到这些更新的软件包,从而解决了这个问题。

8.102. libxml2

修正了一个程序错误的 libxml2 软件包现在可用于 Red Hat Enterprise Linux 6。
libxml2 库是一个 development toolbox,提供了各种 XML 标准的实现。

错误修复

BZ#863166
在以前的版本中,使用 XML::LibXML 模块解析包含通过 Document Type Definition (DTD)加载实体的 XML 文件可能会导致 XML::LibXML 没有加载实体 DTD。补丁已被应用于解决这个问题,在这种情况下,XML 文件被成功解析。
建议 libxml2 用户升级到这些更新的软件包,从而解决了这个问题。必须重新启动桌面(注销,然后重新登录),才能使此更新生效。

8.103. linuxptp

现在,Red Hat Enterprise Linux 6 提供了修复几个程序错误并添加各种改进的 linuxptp 软件包。
Linux PTP 项目是 Linux 的 IEEE 标准 1588 的 Precision Time Protocol (PTP)的软件实现。这些软件包对标准提供了强大的实施,并使用 Linux 内核提供的最重要的现代应用程序编程接口(API)。支持旧的 API 和其他平台不是一个目标。
升级到上游版本
linuxptp 软件包升级至上游版本 1.3,它提供很多程序错误修复和增强。(BZ#916787)

程序错误修复

BZ#910966
在以前的版本中,ptp4l 应用程序没有限制时钟的频率修正。因此,在一些 PTP 时钟中,当 ptp4l 正确偏移时,它可能会将频率修正设置为 -100%,这样可有效地停止时钟。在这个版本中,添加了一个新的选项来配置时钟的最大允许调整,默认为 90%。因此,同步时钟永远不会停止,除非允许 ptp4l 调整时钟 100%。
BZ#910974
在以前的版本中,phc2sys 工具无法读取有关 ptp4l 应用程序的当前协调时间(UTC)偏移和待处理的 leap 秒的信息。因此,用户必须手动指定 UTC 偏移,且未处理 leap 秒。在这个版本中,为 phc2sys 添加了一个新的选项,以等待 ptp4l 同步 PTP 时钟,并定期读取当前的 UTC 偏移和有关待处理 leap 秒的信息。因此,phc2sys 工具使用正确的 UTC 偏移和 leap 秒。
BZ#991332, BZ#985531
在以前的版本中,ptp4l 应用程序无法正确检查缓存的后续信息是否与新接收的同步或后续消息关联。因此,消息可能会错误地关联,这可能会导致时钟出现大量偏移和干扰的同步。修正了关联同步和后续消息的代码。因此,同步不再有距离。
BZ#991337
在以前的版本中,当收到宣布信息时,ptp4l 应用程序不会为处于 PASSIVE 状态的端口重置宣布接收计时器。因此,PASSIVE 状态下的端口在 PASSIVE 和 MASTER 状态之间重复切换。这个程序错误已被解决,计时器现在可以在每次宣布消息中正确重置。因此,端口会一直处于 PASSIVE 状态,直到它停止接收宣布信息。
BZ#966787
在以前的版本中,ptp4l 和 phc2sys 工具不会检查命令行参数和配置文件中指定的值是否有效。因此,实用程序可能会意外终止。现在,实用程序会检查值是否有效,并且指定了无效的值,工具将不再意外终止并改为打印错误消息。

功能增强

BZ#977258
有时,系统时钟不是分步,也就是说,不会影响系统上运行的其他程序。重启 phc2sys 应用程序会导致时钟步骤。在 phc2sys 中添加了一个新的选项,现在可以防止 phc2sys 分步时钟。
建议 linuxptp 的用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.104. lksctp-tools

Red Hat Enterprise Linux 6 现在提供了几个程序错误并添加各种改进的 lksctp-tools 软件包。
这些软件包旨在补充流控制传输协议(SCTP)实现,这是从内核版本 2.5.36 以来内核的一部分。有关 LKSCTP 的更多信息,请参阅软件包文档中包含的 README 文件中的 "LKSCTP - Linux Kernel SCTP" 部分。这些软件包包含基础运行时库和命令行工具。
升级到上游版本
lksctp-tools 软件包已升级到上游版本 1.0.10,它提供很多程序错误修复和增强。补丁在标头文件中包括更新,允许用户使用新的 SCTP 内核功能,例如,引入 SCTP_GET_ASSOC_STATS 套接字选项,以检索关联统计信息。(BZ#855379, BZ#908390, BZ#912557, BZ#953383)
建议 lksctp-tools 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.105. logrotate

更新了 logrotate 软件包,修复几个程序错误现在可用于 Red Hat Enterprise Linux 6。
logrotate 实用程序简化了多个日志文件的管理,允许自动轮转、压缩、删除和日志文件邮件。

程序错误修复

BZ#841520
即使所有者与日志文件的当前所有者相同,logrotate 实用程序始终尝试设置轮转日志的所有者。因此,在不支持更改所有权的文件系统或系统中轮转会失败。在这个版本中,在更改所有权前,logrotate 会检查其是否是真实所有权更改;也就是说,logrotate 会验证新所有权是否与之前的所有权不同,并在所有权更改没有真实更改时跳过更改。现在,在这种场景中,logrotate 工具会按预期轮转日志。
BZ#847338
在轮转的日志上设置访问控制列表(ACL),覆盖之前设置日志文件的设置模式。因此,"create"指令会被忽略。要解决这个问题,当使用 "create" 指令和使用 "create" 指令定义的模式时,不会从旧日志文件复制 ACL。因此,"create" 模式可以正常工作,在上述场景中不再忽略它。
BZ#847339
acl_set_fd ()和 fchmod ()函数都被调用来设置日志文件权限。因此,有一个竞争条件,日志文件在创建期间在短时间内可能具有不安全的权限。在这个版本中,根据配置文件中使用的指令组合和 acl_set_fd ()和 fchmod ()函数之间的竞争条件无法调用其中一个函数。
BZ#848131
因为创建新日志文件时使用了 inverse umask 值 0000,因此在使用 fchmod ()函数将权限设置为正确的值前,新创建的日志文件可能会短时间内有不需要的 0600 权限。在这个版本中,umask 被设置为 0777,新创建的日志文件在此短时间内具有适当的 0000 权限。
BZ#920030
创建压缩日志文件后,会设置默认 SELinux 上下文。因此,压缩日志没有正确的 SELinux 上下文。在这个版本中,在压缩日志文件创建和压缩日志文件具有正确的 SELinux 上下文之前,会设置默认 SELinux 上下文。
BZ#922169
如果在使用错误发生错误,则不会删除 logrotate 实用程序创建的临时文件。在这个版本中,临时文件会在这样的情形中被删除。
建议 logrotate 用户升级到这些更新的软件包,从而修复这些程序错误。

8.106. logwatch

一个更新的 logwatch 软件包,修复了几个程序错误,现在 Red Hat Enterprise Linux 6 提供了几个程序错误。
logwatch 是一个可自定义的、可插拔的 log-monitoring 系统。它将经历用户在给定时间段内的日志,并在用户需要的区域进行报告。

程序错误修复

BZ#737247
在以前的版本中,logwatch 无法正确解析 up2date 服务的"updateLoginInfo ()登录信息"信息,并将它们显示为不匹配的条目。在这个版本中,对此类日志消息的解析已被修复,可以正常工作。
BZ#799690
在此次更新之前,logwatch 无法正确解析许多 Openswan 日志消息,并将其显示为不匹配的条目。在这个版本中,对此类日志消息的解析已被修复,可以正常工作。
BZ#799987
logwatch 没有正确解析 Dovecot 2.x 日志消息。这会导致报告中有很多不匹配的条目。此补丁添加了额外的逻辑来正确解析 Dovecot 2.x 日志,因此不再会出现与 Dovecot 2.x 信息相关的不匹配的条目。
BZ#800843
.hdr 文件是 RPM 软件包的标头,它们基本上是元数据。logwatch 的 HTTP 服务解析器为 .hdr 文件发出警告,即使"Detail"参数设为"Low"。在这个版本中,.hdr 文件被解析为存档,这会删除有关 .hdr 文件的假警告。
BZ#837034
在以前的版本中,logwatch 无法正确处理其配置中的"MailTo"选项。这会导致没有输出,即使应该会显示报告。此补丁添加了额外的逻辑来正确处理空 "MailTo" 选项。因此,即使这个选项为空,也会正确生成输出。
BZ#888007
在此次更新之前,logwatch 没有正确地解析很多智能日志消息,并将其显示为不匹配的条目。在这个版本中,对此类日志消息的解析已被修复,可以正常工作。
BZ#894134
在此次更新之前,logwatch 没有正确解析启用了 DNSSEC 验证的 DNS 日志消息,并将其显示为不匹配的条目。在这个版本中,对此类日志消息的解析已被修复,可以正常工作。
BZ#894185
在以前的版本中,logwatch 无法正确解析 postfix 服务的"improper 命令 pipelining"消息,并将它们显示为不匹配的条目。在这个版本中,对此类日志消息的解析已被修复,可以正常工作。
BZ#894191
在以前的版本中,logwatch 无法正确解析安全日志中的用户名。它错误地认为此类名称仅包含字母,并显示含有具有其他符号(如数字)的消息,如不匹配的条目。在这个版本中,对用户名的解析已被改进使其包含下划线和数字,因此包含此类用户名的日志消息不再显示为不匹配的条目。
BZ#974042
logwatch 没有正确地解析"su -"或"su -l"命令的登录,显示为不匹配的条目。在这个版本中解决了这个程序错误。
BZ#974044
在此次更新之前,logwatch 无法正确解析 RSYSLOG_FileFormat 时间戳,并将其显示为不匹配的条目。在这个版本中,对 rsyslog 时间戳的解析已被修复,可以正常工作。
BZ#974046
logwatch 没有正确地解析 SSH Kerberos (GSS)登录,并显示为不匹配的条目。在这个版本中解决了这个程序错误。
BZ#974047
logwatch 没有正确解析 Xen 虚拟控制台登录,显示为不匹配的条目。在这个版本中解决了这个程序错误。
建议 logwatch 用户升级到此更新的软件包,从而修复这些 bug。

8.107. luci

现在,Red Hat Enterprise Linux 6 提供了修复两个安全问题的 luci 软件包,一些程序错误并添加了两个改进。
红帽安全响应团队将此更新的安全影响级别定为具有中等安全影响。一般漏洞评分系统(CVSS)基础分数(提供详细的严重性评级)提供了以下每个描述的 CVE 链接中的每个漏洞。
luci 是一个基于 Web 的高可用性管理应用程序。

安全修复

CVE-2013-4482
在 luci 服务初始化的方式中发现了一个安全漏洞。如果系统管理员从本地用户写入的目录启动 luci 服务,则该用户可能会使用此缺陷以 root 或 luci 用户身份执行任意代码。
CVE-2013-4481
在 luci 生成其配置文件的方式中发现了一个安全漏洞。该文件在短时间内以全局形式创建,允许本地用户访问存储在配置文件中的身份验证 secret。
红帽会发现这些问题。

程序错误修复

BZ#917747
在以前的版本中,luci 不会反映隔离设备覆盖的并发添加,如 fence-agents 软件包所发生。因此,Dell iDRAC (idrac)、HP iLO2 (ilo2)、HP iLO3 (ilo3)、HP iLO4 (ilo4)和 IBM Integrated Management Module (imm)设备或代理没有遵守 luci,从而导致无法与或者设置由这些设备组成的集群。在这个版本中,恢复了 luci 功能,以便使用完整的隔离设备集合。
BZ#956360
在以前的版本中,luci 不会在 FIPS 模式下运行,因为它使用了与 FIPS 不兼容的组件。这两个组件、python-breaker 库和 python-weberror 错误处理程序均已修改为符合 FIPS,以便 luci 现在可以按预期在 FIPS 模式下工作。
BZ#978479
由于 luci 代码中的一个错误,在将多个节点添加到具有单个请求的集群中可能会出现数据竞争条件。因此,节点可能会提供具有不同版本号的配置,使集群处于意外状态。相应的 luci 代码已被修复,因此无法再触发此数据争用。现在,可以一次性将多个节点添加到集群中,而不会造成负面影响的风险。
BZ#773491
之前动态弹出消息的实现具有高概率的信息,在某些情况下,使屏幕无法发生。因此,对应的 luci 代码已被修改为调整动态弹出窗口以显示为静态消息,这会显著减少消息可能没有被注意的几率。
BZ#883008
在以前的版本中,luci 不会反映某些隔离设备的参数的并发添加(包括 "cmd_prompt", "login_timeout", "power_timeout", "retry_on", "shell_timeout")或相应的实例("delay")在 fence-agents 软件包中发生。因此,在提交 luci 的专用表单时,可从配置的相应部分丢弃有效的参数。这个版本恢复了 luci 功能,以便使用完整的隔离代理参数集合,并防止 luci 意外丢弃已经配置的参数。
BZ#896244
由于 cluster.conf (5) man page 中存在一个错误,luci 预期集群日志记录配置中的 syslog_facility 选项的默认值为 "daemon",而不是实际默认值 "local4"。因此,所有没有明确设置"syslog_facility"的日志配置项都会被标记为 luci 中的 "daemon" 的 "Syslog Message Facility"。这可能会导致没有集群信息登录到包含 "daemon unset" 的规则的自定义日志文件中。在这个版本中,luci 可以正确地将 "local4" 识别为默认的 syslog 消息工具,并默认将 luci 中的配置项相应地标记。用户现在可以有效地将日志记录配置项的 syslog 工具设置为"daemon"。在这种情况下,集群信息会按预期登录到包含 "daemon decisions" 规则的日志文件。
BZ#886517
在创建新集群时,luci 应用不会自动启用 ricci 和 modclusterd 服务,或将节点添加到现有集群中。因此,管理员的干预是必需的,因为这些服务在生命周期内管理集群至关重要。如果没有这些服务,luci 会保持与集群节点联系,从而导致集群无法重新引导。在这个版本中,luci 已被修改,以便在创建新集群时在每个集群节点上启用 ricci 和 modclusterd 服务,或将节点添加到现有集群中。在上述场景中,不再需要管理员的干预。
BZ#878149
在以前的版本中,如果没有在某些 luci 页面中联系集群节点,luci 会在该页面中显示 Error 500 信息,并记录一个错误信息,并在日志中出现回溯信息。对于这种情况,这个更新会修改 luci 以显示以下信息之一:
Unable to contact any of the nodes in this cluster.
No nodes from this cluster could be contacted. The status of this cluster is unknown
BZ#880363
由于 luci 验证代码中的一个错误,如果在"Failover Domains"选项卡中指定了不存在的故障转移域,则会显示混淆的验证错误消息。这个程序错误已被解决,luci 现在可以正确地处理这些验证错误,如预期显示适当的错误信息。
BZ#878960
在无需身份验证的情况下,可以访问"用户首选项"页面,允许匿名用户禁用或启用"expert"模式。虽然此行为没有直接的安全影响,但分配的授权的一致性被视为最佳实践。此更新将 luci 修改为严格要求用户在访问此"首选项"页面前进行身份验证。
BZ#886576
"Edit Fence Instance"表单中的"删除此实例"按钮没有功能,并可能具有错误的集群管理员。这个按钮已被删除,因此上述形式现在只显示相关内容。
BZ#1001835
luci 应用程序错误地认为 Dell DRAC 5 隔离设备的"module_name"参数是强制的。因此,无法在指定模块名称的情况下创建这样的隔离设备。验证代码已被修复,luci 现在将此参数视为可选,Dell DRAC 5 隔离设备现在可以在没有模块名称的情况下成功创建。

功能增强

BZ#917814
添加了一个确认弹出对话框,防止 luci 意外删除所选集群。
BZ#983693
现在,luci 应用程序反映到 oracledb, orainstance 的并发扩展,以及 Oracle Database 11g 支持的 oralistener 资源代理。这也包括能够配置新支持的 TNS_ADMIN 变量,以允许更广泛的自定义。
建议所有 luci 用户升级到这些更新的软件包,其中包含向后移植的补丁以更正这些问题并添加这些改进。安装此更新后,luci 服务将自动重启。

8.108. lvm2

现在,Red Hat Enterprise Linux 6 提供了修复几个程序错误并添加各种改进的 lvm2 软件包。
lvm2 软件包包括对物理卷上的读写操作的所有支持,从一个或多个物理卷创建卷组,并在卷组中创建一个或多个逻辑卷。

程序错误修复

BZ#820991
当系统中有可见的集群卷组(VG)时,无法在使用非集群锁定类型时静默跳过它们,并带有正确的返回错误代码。要修复这个程序错误,为几个 LVM 命令添加了"--ignoreskippedcluster"选项,即 pvs、vgs、lvdisplay、vgdisplay、vgdisplay、lvdisplay、vgchange 和 lvchange。使用此选项时,集群 VG 会正确跳过,且不会有任何警告或错误消息,而返回错误代码还不依赖于这些集群的 VG。
BZ#834327
在以前的版本中,如果这个设备仍然打开,则 lvremove 命令无法删除虚拟快照设备。因此,在删除失败后,<virtual_snashot_name>_vorigin device-mapper 设备会被保留在系统中。需要使用 dmsetup 的手动删除来丢弃该设备。在这个版本中,lvremove 已被修改,以便在继续删除操作前正确检查 LV 打开计数状态。
BZ#861227
在以前的版本中,当 lvconvert 命令与 "--stripes" 选项一起使用时,所需的补充选项,如 "--mirrors" 或 "--repair", "thinpool", 或 "type raid*/mirror",没有强制执行。因此,在没有附带的转换指令的情况下调用 "lvconvert --stripes" 会导致转换不完整。在这个版本中,添加了一个条件来强制实施正确的语法。现在,在上述场景中会显示错误消息。
BZ#880414
在以前的版本中,某些 lvm2app 功能以扇区而不是字节返回值。这个行为适用于 origin_size, vg_extent_size, stripe_size, region_size, chunk_size, seg_start, 和 pvseg_size 的值。因此,返回的 lvm2app 结果不一致,因此误导。这个行为已被更改,所有 lvm2app 值现在都返回字节值。
BZ#902538
lvm2 工具通过在 /proc/devices 文件中搜索 "emcpower" 行来确定 PowerPath 主号码。在以前的版本中,一些 PowerPath 版本使用 ID 字符串 "power2"。因此,在使用这样的标识符的系统上,PowerPath 设备没有给出与存在相同的物理卷 UUID 的 PowerPath 组件的预期优先级。在这个版本中,对 EMC 电源设备的检测可以正常工作,设备的优先级会被正确设置。
BZ#902806
在此次更新之前,lvm2 dmeventd 守护进程只尝试通过 LANG 环境变量重置为 C 区域。但是,当系统使用 LC_ALL 变量设置区域设置时,此变量的优先级高于 LANG 变量,这会导致大量内存消耗。在这个版本中,LC_ALL 已重置为 C,而不是 LANG,从而减少内存消耗。
BZ#905254
在这个版本中,当 lvmetad deamon 已在运行或者其 pidfile 被锁定时,为问题单添加了一个特定的诊断消息。当尝试启动 lvmetad 时,它现已运行时会返回一个信息,并明确指明这个问题:
Failed to acquire lock on /var/run/lvmetad.pid. Already running?
BZ#907487
在以前的版本中,当 RAID 逻辑卷没有使用缺少的物理卷时,无法使用 'vgreduce --removemissing' 命令。现在,"vgreduce --removemissing"可以使用受影响的 RAID 逻辑卷中的"错误"片段替换失败的物理卷,并从卷组中删除 PV。然而,在大多数情形中,最好使用备用 RAID 设备(如果可能使用 'lvconvert --repair')替换失败的 RAID 设备。
BZ#910104
在某些情况下,lvmetad 守护进程中的缓存元数据可能会在元数据更新过程中泄漏。在这个版本中,lvmetad 已被修复,以防止泄漏。
BZ#913644
在以前的版本中,如果在发出 vgexport 命令后设备失败,则无法导入卷组。另外,这个导入失败也意味着无法修复卷组。现在,在 vgimport 中使用 '--force' 选项来导入卷组,即使设备缺失。
BZ#914143
当 LVM 元数据扫描设备时,它会应用多个过滤器,如多路径过滤器、MD 组件过滤器或分区签名过滤器。在以前的版本中,应用这些过滤器的顺序会导致多路径过滤器无法过滤多路径组件,因为设备被其他过滤器访问。因此,如果路径无法访问,则 I/O 错误。在这个版本中,过滤顺序已被更改,多路径过滤器现在可以正常工作。
BZ#919604
'raid1' 类型可以用来为 thinpool 逻辑卷设置设备容错。不再可以在 'mirror' 段类型的逻辑卷上创建 thinpool。带有 'mirror' 片段类型的 data 或 meta 数据区域的现有 thinpool 仍可以正常工作,但建议使用 'lvconvert' 命令将它们转换为 'raid1'。
BZ#928537
当在提供的 UUID 不正确时,使用 pvcreate 命令和 --restorefile 和 --uuid 选项时,会发出有关内存泄漏的内部错误消息:
 Internal error: Unreleased memory pool(s) found.
在这个版本中,内存泄漏已被修复,错误消息不再显示。
BZ#953612
当将 device-mapper-event 软件包更新至更新的版本时,软件包更新脚本会尝试重启运行 dmeventd 实例,并将其替换为新的 dmeventd 守护进程。但是,之前版本的 dmeventd 不会识别重启的通知,因此在这种情况下需要手动干预。在以前的版本中,会显示以下警告信息:
WARNING: The running dmeventd instance is too old
要为所需操作提供更精确的信息和建议,为上述问题单添加了以下信息:
Failed to restart dmeventd daemon. Please, try manual restart
BZ#953867
当将 lvmetad 守护进程与附带的 LVM 自动激活功能一起使用时,在系统引导时不会自动激活加密设备的逻辑卷。这是因为忽略在系统引导过程中生成的额外的 udev 事件来初始化所有现有设备。这个程序错误已被解决,LVM 现在可以正确地识别用于在引导时初始化设备的 udev 事件,包括加密设备。
BZ#954061
当将 lvmetad 守护进程与附带的 LVM 自动激活功能一起使用时,代表逻辑卷的设备映射器设备在底层 PV 被取消插入或停用后不会被刷新,然后插入或激活。这是因为分配不同的主要和次要对来识别重新连接设备,而在该设备上映射的 LV 仍然被引用为原始对。这个程序错误已被解决,LVM 现在总是在重新激活后刷新 PV 设备中的逻辑卷。
BZ#962436
由于 LVM 2.02.74 中引入的回归,当 optimal_io_size 设备提示小于默认的 pe_start 大小 1 MiB 时,会忽略这个 optimal_io_size,并使用默认大小。在这个版本中,optimal_io_size 会被正确应用,以计算 PV 的 pe_start 值。
BZ#967247
在此次更新之前,在向 RAID 逻辑卷添加额外的镜像前,可用空间被错误地计算。因此,如果可用空间不足,添加这些镜像会失败。这个程序错误已被解决,计算现在可以正确执行。
BZ#973519
在以前的版本中,如果 nohup 命令与不需要输入的 LVM 命令一同使用,在 LVM 尝试重新打开时,不会将标准输入配置为 write-only。因此,命令使用以下信息终止:
stdin: fdopen failed: Invalid argument
LVM 已被修改,如果标准输入已经打开了写写,LVM 不会尝试重新打开它以读取。
BZ#976104
在以前的版本中,当将线性逻辑卷转换为镜像逻辑卷时,/etc/lvm/lvm.conf 配置文件中设置的首选 mirror 片段类型并不总是被接受。这个行为已被修改,在配置文件中的 'mirror_segtype_default' 设置指定的片段类型现在会如预期应用。
BZ#987693
由于代码回归,在没有 '--zero' 选项创建不足的 thin-pool 时,精简快照崩溃。因此,快照中的前 4KB 可能无效。这个程序错误已被解决,在上述场景中快照不再损坏。
BZ#989347
由于 LVM 分配代码中的一个错误,lvm2 会尝试释放空间分配连续到现有条带空间。当尝试使用 lvextend 命令扩展三向条状逻辑卷时,lvm2 工具会意外终止并出现分段错误。有了这个更新,LVM 的行为已被修改,lvextend 现在会在没有分段错误的情况下完成扩展。
BZ#995193
在以前的版本中,无法使用 'locking_type = 0' 的配置设置将卷组从集群转换为非集群。因此,如果集群不可用,可能会出现问题,且需要将卷组转换为非集群模式。有了这个更新,LVM 已被修改,使上述转换成为可能。
BZ#995440
在此次更新之前,修复不一致的元数据会根据 lvmetad 守护进程是否正在运行并启用相关的代码路径。因此,meta 数据修复的 lvmetad 版本无法更正元数据数据,每个命令都会重复输出警告信息,直到手动修复问题。在这个版本中,代码路径已被协调。因此,无论 lvmetad 是什么,无论 lvmetad 都会自动修复元数据不一致。
BZ#997188
当在没有物理卷的系统中调用 lvm2app 库的 lvm_list_pvs_free 功能时,lvm2app 代码会尝试释放之前已释放的内部结构。因此,这个功能会因为分段错误而终止。这个程序错误已被解决,调用 lvm_list_pvs_free 时不再发生分段错误。
BZ#1007406
当在 MD RAID 设备中使用 LVM 逻辑卷作为 PV,在启用了 lvmetad 守护进程时,附带的逻辑卷自动激活有时会在系统中保留不完整的设备映射器设备。因此,在没有手动清理 dangling 设备映射器设备的情况下,无法激活其他逻辑卷。这个程序错误已被解决,而危险的设备不再在系统中保留。
BZ#1009700
在以前的版本中,当在写入失败后试图读取 LVM 镜像时,LVM 命令可能会变得无响应,但在 repair 命令处理失败前,LVM 命令可能会变得无响应。在这个版本中,添加了一个新的 'ignore_lvm_mirrors' 配置选项以避免出现这个问题。将这个选项设置为 '1' 将导致 LVM 镜像被忽略并防止上述问题。忽略 LVM 镜像还意味着无法在 LVM 镜像上堆栈卷组。上述问题没有 LVM RAID 类型(如 "raid1" )不存在。建议您使用 RAID 片段类型,特别是尝试在镜像逻辑卷之上堆栈卷组。
BZ#1016322
在此次更新之前,libdevmapper.so 中的池销毁过程中可能会出现竞争条件。因此,lvmetad 守护进程有时会因为堆崩溃而终止,特别是在处理并发负载下,如同时执行多个 LVM 命令。在这个版本中,引入了一个正确的锁定来修复竞争条件。因此,lvmetad 不再会出现堆崩溃和后续的崩溃。
BZ#1020304
blkdeactivate 脚本会迭代将其指定为参数的设备列表,并尝试逐一卸载或停用它们。但是,如果卸载失败或取消激活失败,则迭代不会进行。因此,blkdeactivate 保持尝试处理同一设备并进入无限循环。这个行为已被修复,如果 blkdeactivate 无法卸载或取消激活任何设备,则会正确跳过这个设备的处理,blkdeactivate 会如预期继续。

功能增强

BZ#814737
在这个版本中,lvm2 已被改进,以支持创建现有非精简配置的逻辑卷的精简快照。精简池现在可用于这些非精简卷快照,从而提高了性能。请注意,当前的 lvm2 版本不支持合并功能,与旧的 lvm2 快照不同,更新的设备无法合并到其原始设备中。
BZ#820203
LVM 现在支持验证配置文件,它可以在现有语法检查之外报告任何带有错误值类型的未识别条目或条目。为了支持此功能,在 /etc/lvm/lvm.conf 配置文件中添加了新的"config"配置部分。本节有两个可配置的:"config/checks"用于启用或禁用检查(默认为启用)和"config/abort_on_errors",它启用或禁用任何找到的无效配置条目上的即时中止(默认为禁用)。
另外,在 "lvm dumpconfig" 命令中添加了新的选项,该命令使用了引入的新配置处理代码。"lvm dumpconfig" 现在识别以下选项:--type, --atversion, --ignoreadvanced, --ignoreunsupported, --mergedconfig, --withcomments, --withversions, 和 --validate。
BZ#888641
在以前的版本中,scm (Storage Class Memory)设备内部不被识别为可分区设备。因此,scm 设备不能用作物理卷。在这个版本中,s scm 设备被添加到已知可以被分区的设备的内部列表中。因此,在 scm 分区上支持物理卷。另外,新的 'lvm devtypes' 命令已被添加来列出所有已知的设备类型。
BZ#894136
当 lvmetad 守护进程被启用时,元数据数据会在 RAM 中缓存,大多数 LVM 命令在正常操作过程中不会参考磁盘上的元数据数据。但是,当元数据数据在磁盘上损坏时,LVM 在重启 lvmetad 或重启时可能无法注意到。在这个版本中,用于检查 VG 一致性的 vgck 命令已被改进来检测磁盘上的崩溃,即使 lvmetad 处于活跃状态并缓存 meta 数据。因此,用户可以发出"vgck"命令,以随时验证磁盘上的元数据数据的一致性,也可以使用 cron 安排定期检查。
BZ#903249
如果设备临时失败,内核会注意到中断并将设备视为禁用。之后,内核需要在接收设备再次接受 alive 之前被通知。在以前的版本中,LVM 无法识别这些更改,且 'lvs' 命令会正常将设备报告为正常运行,即使内核仍然认为该设备失败。在这个版本中,如果缺少设备,则"lvs"已被修改为打印"p" (部分),如果设备存在,则使用"刷新/替换" (刷新/替换),但内核将设备视为仍然被禁用。当看到 RAID 逻辑卷的 'r' 属性时,用户可以决定是否应刷新阵列(使用 'lvchange --refresh' 重新载入到内核中),或者是否应替换该设备。
BZ#916746
在这个版本中,COW 设备大小的快照管理处理已被改进。此版本将快照 COW 大小修剪为最大可用大小,以避免不必要的磁盘空间消耗。它还会在达到最大大小后停止快照监控。
BZ#921280
对 thinpool 更复杂的设备堆栈的支持已被改进,以正确地调整更复杂的卷的大小,如 mirrors 或 raids。新的 lvm2 版本现在支持 raids 上的精简数据卷扩展。对 mirror 的支持已被取消激活。
BZ#921734
在此次更新之前,"vgchange -c {y|n}"命令调用会将系统上可访问的所有卷组更改为集群或非集群。这可能导致意外更改,因此添加了以下提示来确认此更改:
Change clustered property of all volumes groups? [y/n]
只有在调用 "vgchange -c {y|n}" 时,才会显示这个提示,而不指定目标卷组。
BZ#924137
blkdeactivate 工具现在阻止了来自调用的外部工具的错误和信息。相反,只有摘要消息"done"或"skipped"由 blkdeactivate 发出。如果需要显示这些错误消息,在 blkdeactivate 中添加了新的 -e/-errors 开关。另外,有一个新的 -v/-verbose 开关,用来显示来自外部工具的任何信息信息以及任何可能的调试信息。
BZ#958511
在这个版本中,blkdeactivate 工具已被修改来正确处理使用 bind 挂载的文件系统(mount -o bind' 命令)。现在,在尝试取消激活卷之前,blkdeactivate 会正确卸载所有这些挂载点。
BZ#969171
当同时创建很多 RAID 逻辑卷时,后台同步 I/O 可能需要计算奇偶校验或复制镜像镜像,以阻止小的 I/O,并导致后续逻辑卷创建缓慢。现在,可以通过对 lvcreate 的 '-raidmaxrecoveryrate' 选项限制这个初始化 I/O。您可以将相同的参数与 lvchange 搭配使用,在逻辑卷创建后更改恢复 I/O 速率。减少恢复率可防止命名命名的 I/O。初始化将需要更长的时间,但创建许多逻辑卷将更快地进行。(BZ#969171)
BZ#985976
在这个版本中,可以使用清理操作来检查使用 LVM 创建的 RAID 逻辑卷。清理操作是用户发起的检查,以确保 RAID 卷一致。通过将"check"或"修复"选项附加到 "lvchange --syncaction" 命令中,可以执行两个清理操作。"check"操作将检查逻辑卷是否有任何差异,但并不能更正它们。"修复"操作将更正发现的任何差异。
BZ#1003461
在这个版本中,为 lvm2 添加了对精简外部原始卷的支持。这允许将任何 LV 用作精简卷的外部来源。所有未置备块都会从外部原始卷加载,而所有被写的块都是从精简卷加载的。这个功能由 'lvcreate --snapshot' 命令和 'lvconvert' 命令提供,可将任何 LV 转换为精简 LV。
BZ#1003470
当池卷 "pool volume name" 是 active' 时,错误消息 'Cannot change discards state for active pool volume "pool volume name" is active.
BZ#1007074
现在,'lvconvert --repair' 命令提供了损坏的精简池元数据的修复,这是低级手动修复。精简池 meta 数据卷可以通过 'lvconvert --poolmetadata swapLV vg/pool' 命令从 thin-pool LV 中交换,然后使用 thin_check、thin_dump 和 thin_repair 命令运行手动恢复操作。在修复后,精简池 meta 数据卷可以被交换回。只有在用户完全了解精简池功能时,才应使用此低级别修复。
BZ#1017291
LVM 现在将 NVM Express 设备识别为正确的块设备类型。
建议 lvm2 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.109. mailx

现在,Red Hat Enterprise Linux 6 提供了修复两个程序错误的 mailx 软件包。
mailx 软件包包含一个邮件用户代理,主要用于使用脚本管理邮件。

程序错误修复

BZ#845098
在此更新之前,由 Red Hat Enterprise Linux 6 mailx 软件包提供的"电子邮件"实用程序与 Red Hat Enterprise Linux 5 mailx 软件包提供的实用程序与早期版本的 Red Hat Enterprise Linux 5 mailx 软件包和软件包完全兼容。因此,为 mail 工具编写的一些用户脚本无法在 Red Hat Enterprise Linux 6 中使用"电子邮件"。在 mailx 软件包中添加了对多个 "mail" 工具版本的支持。这允许用户安装提供此实用程序的替代软件包,如 bsd-mailx。
BZ#857120
当无法发送电子邮件时,mailx 命令不会设置错误返回代码,因为 TMPDIR 环境变量被设置为无效的路径。因此,错误检查不正确,因此不会很有用。在这个版本中,当 mailx 无法发送电子邮件时,会设置正确的返回码。错误检查现在可以正常工作。
建议 mailx 用户升级到这些更新的软件包,从而修复这些程序错误。

8.110. man-pages-fr

现在,提供了修复一个程序错误的 man-pages-fr 软件包。
man-pages-fr 软件包包括了法语中的手册页。

错误修复

BZ#903048
由于法语 man page 软件包 man-pages-fr 的构建系统中有一些问题,软件包中不包含一些手册页。有些手册页,例如"echo"的手册页,即使系统以法语区域运行,也会以英语显示。因此,命令"man echo"显示英语手册页。man-pages-fr 软件包中的构建问题已被修复,现在包括了缺少的手册页。因此,当系统以法语区域运行时,手册页面现在显示在法语内,例如"man echo"现在会显示一个法语手册页。
建议 man-pages-fr 用户升级到这些更新的软件包,从而解决了这个问题。

8.111. man-pages-ja

现在,Red Hat Enteprise Linux 6 提供了更新的 manpages-ja 软件包,它修复了两个程序错误。
man-pages-ja 软件包包含日语的 man page。

程序错误修复

BZ#949787
上一发行版本中的 shmat (2) man page 没有提到 EIDRM 错误代码,这些代码可以被 shmat 工具返回。在这个版本中,EIDRM 错误代码包含在 shmat 中。
BZ#957937
上一发行版本中的 strtoul (3) man page 错误地提到了返回值的范围。这个版本解决了上述问题。
建议 man-pages-ja 用户升级到这个更新的软件包,从而修复这些 bug。

8.112. man-pages-overrides

现在,Red Hat Enterprise Linux 6 提供了更新的 man-pages-overrides 软件包修复了几个程序错误并添加一个改进。
man-pages-overrides 软件包提供了一系列手动(man)页来补充其他软件包或更新包含的软件包。

程序错误修复

BZ#988125
madvise (2)手册页不包含"MADV_DODUMP"和"MADV_DONTDUMP"参数。在这个版本中,在 madvise (2)手册页中添加了这些参数的描述。
BZ#833868
在以前的版本中,dig 工具的手册页包含国际域名(IDN)库的上游特定选项。因此,这些选项无法按预期工作,用户可以按照手册页中的步骤在 dig 中禁用 IDN 支持。dig (1)手册页已修改为包含 Red Hat Enterprise Linux 中使用的 IDN 库的选项,用户现在可以根据手册页中的步骤在 dig 中成功禁用 IDN 支持。
BZ#978981
在以前的版本中,Red Hat Enterprise Linux 6 中不提供 getent 工具的手册页。在这个版本中,添加了缺少的 getent (1)手册页,实用程序的文档已完成。
BZ#872144
在此次更新之前,top (1)手册页没有正确地描述常量内存大小的计算。常驻内存大小的计算错误已从此 man page 中删除。
BZ#1018622
在以前的版本中,在 arpwatch (8)手册页中"新站"消息的描述不准确,这可能会导致混淆。在这个版本中,在 arpwatch (8)手册页中添加一条"新站"消息的正确描述。
BZ#896700
在以前的版本中,auditd.conf (5)手册页包含不完整的句子。此更新中解决了不完整的句子。
BZ#974697
ld.so (8)手册页包含不正确的 "LD_PRELOAD" 变量描述。在这个版本中,ld.so (8)手册页中已修正了变量的描述。
BZ#1002071
bash (1)手册页没有反映 Bash 版本 4.1 中引入的"extglob"选项中的行为更改。在这个版本中,在 bash (1) man page 中添加了 "extglob" 行为的正确描述。
BZ#903258
fallocate 工具的手册页不包含 "FALLOC_FL_PUNCH_HOLE" 标志的描述。在这个版本中,将描述"FALLOC_FL_PUNCH_H_H_H_HOLE"添加到 fallocate (2)手册页。
BZ#979318
在以前的版本中,netstat 工具的手册页没有在命令"-A"选项的描述中提到 IPv6。在这个版本中,IPv6 功能的描述已添加到 netstat (8)手册页中。
BZ#905066
在以前的版本中,当将 curl 工具与网络安全服务(NSS)一起使用时,在 curl 文档中错误地描述了认证机构(CA)证书。这个版本添加了上述过程的正确文档。
BZ#957010
在此次更新之前,strtoul (3)手册页包含"strtoul ()"和"strtoull ()"函数的返回值不正确。在这个版本中修复了 strtoul (3)手册页,它现在包含正确的信息。
BZ#960281
在以前的版本中,clock_getres (2)手册页不包含 "CLOCK_MONOTONIC_COARSE" 和 "CLOCK_REALTIME_COARSE" clk_id 值。在这个版本中,上述值被添加到 clock_getres (2)手册页中。
BZ#974685
在以前的版本中,sched_setaffinity (2)手册页包含一个不正确的示例,这可能会导致混淆。不正确的示例已从 sched_setaffinity (2)手册页中删除。
BZ#951826
在以前的版本中,postconf 工具的手册页包含有关 postfix 服务器默认配置的不正确的信息。在这个版本中,Administration (5) manual page 中修复了默认配置描述。
BZ#979460
mailx (1)手册页包含有关使用 "-S" 选项设置变量的不完整条目。这个更新提供了更好的使用"-S"选项设置变量的描述,并使用 "from=" 到 mailx (1)手册页添加语法示例。
BZ#913191
在此次更新之前,selinux (8)手册页包含过时的信息。这个手册页已被更新,SELinux 现在可以被正确记录。
BZ#907837
useradd (8)手册页包含"-u、--uid UID"选项不正确的描述,这可能会导致混淆。此更新修复了描述信息。
BZ#807323
在以前的版本中,zanz-record 工具的手册页没有提到使用 "webm" 输出格式的可能性,因此手册页不完整。在这个版本中,在 byzanz-record (1)手册页中添加了 "webm"。
BZ#1020417
ssh_config (5)手册页包含"KexAlgorithms"选项的不正确的默认值。这个程序错误已被解决,ssh_config (5)手册页中"KexAlgorithms"的默认值现在正确。
BZ#1020432
ssh-keygen 工具中的"-n"选项被重命名为 "-Z",但 ssh-keygen (1)手册页没有更新。这个程序错误已被解决,ssh-keygen (1)手册页现在描述了正确的选项。

功能增强

BZ#928917
在以前的版本中,open (2)手册页中没有描述 "O_DIRECT" 标志。这个更新添加了这个描述,文档现已完成。
建议 man-pages-overrides 用户升级到这些更新的软件包,从而修复这些 bug 并添加此功能增强。

8.113. mcelog

现在,Red Hat Enterprise Linux 6 提供了修复几个程序错误并添加各种改进的 mcelog 软件包。
mcelog 软件包包含一个守护进程,它会在 AMD64 和 Intel 64 机器上收集和解码 Machine Check Exception (MCE)数据。

程序错误修复

BZ#875824
在以前的版本中,mcelog 软件包已安装 cron 作业来报告 mce 日志的状态,这与将 mclogd 服务作为默认模式冲突。因此,mcelog 与 cron 作业竞争,且不会收集完整的数据。在这个版本中,当 mcelogd 正在运行时,cron 作业不会被安装,从而解决了这个问题。
BZ#919999
由于 mcelog 软件包中的一个错误,AMD 系列 15 构架不被支持。这个程序错误已被解决,mcelog 现在支持 AMD Family 15。
BZ#996634
在以前的版本中,在 mcelog 软件包中默认启用对扩展日志的支持。因此,在不支持扩展日志记录的处理器系统中,mcelog 服务会意外终止,并显示以下信息:
mcelog: Cannot open /dev/cpu/0/msr to set imc_log: Permission denied
在这个版本中,在 mcelog 软件包中默认禁用扩展日志,mcelog 服务不会在上述场景中崩溃。

功能增强

BZ#881555, BZ#922873, BZ#991079
有了这个更新,mcelog packags 支持 Intel Xeon Processor E5-XXXX v3、Intel Xeon Processor E5-XXXX 和 Intel Xeon Processor E3-XXXX v3 架构。
建议 mcelog 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.114. mdadm

现在,Red Hat Enterprise Linux 6 提供了修复几个程序错误并添加各种改进的 mdadm 软件包。
mdadm 软件包包含一个用于创建、管理和监控 Linux 多磁盘(MD)设备的工具。
升级到上游版本
mdadm 软件包已升级到上游版本 3.2.6,它提供很多程序错误修复和增强,包括性能改进。(BZ#922971)

程序错误修复

BZ#903212
在以前的版本中,在扩展 Intel Matrix Storage Manager (IMSM) RAID1 或 RAID5 卷的大小时,会在 /proc/mdstat 文件中报告重新同步过程,但没有有关卷元数据中进程的信息。因此,如果在扩展过程中停止 RAID 卷,有关此进度的所有信息都会丢失,重新同步会从下一个阵列重新装配开始。现在,一个补丁已被应用于解决这个问题,信息现在存储在上述场景中的元数据中。
BZ#950545
在以前的版本中,当尝试将超级块写入缺陷驱动器时,mdadm 工具无法正常工作。因此,如果 mdadm 遇到写入错误,则 mdadm 可能会意外终止并出现分段错误。这个程序错误已被解决,mdadm 不再会在这种情况下崩溃。
BZ#955972
在以前的版本中,如果重新构建 Intel Matrix Storage Manager (IMSM) RAID5 卷在 Option ROM (OROM)中启动,mdadm 工具无法正常工作。因此,在引导到操作系统后,RAID5 卷处于 "degraded" 状态,重建不会进行。现在,一个补丁已被应用于解决这个问题,并在上述场景中重建 IMSM RAID5 卷。
BZ#956016
在以前的版本中,当 Intel Matrix Storage Manager (IMSM)卷被重塑时,用于停止进程的 "mdadm -Ss" 命令无法正常工作。因此,在第一次运行 "mdadm -Ss" 时,只有卷已被停止,但容器会被保留,需要第二次执行命令。这个程序错误已被解决,在卷的 reshape 过程中命令现在可以正常工作。
BZ#995105
在以前的版本中,当 Intel Matrix Storage Manager (IMSM) RAID10 卷被重新同步或重新构建时,在 50% 完成完成后停止进程无法正常工作。因此,在重新编译后,进程无法正确进行,数据会被破坏。在这个版本中,重新同步和重建可以正常工作。
BZ#1001627
在此次更新之前,当 Intel Matrix Storage Manager (IMSM) RAID1 或 RAID10 卷被重建并停止这个过程时,尝试恢复重建将无法成功。因此,即使向容器添加新驱动器,重建也不会启动,元数据包含不正确的信息。这个程序错误已被解决,在上述场景中恢复重建现在可以正常工作。
BZ#1010859
在以前的版本中,当磁盘在 Intel Matrix Storage Manager (IMSM) RAID 卷中失败时,mdadm 工具无法正常工作。因此,失败的磁盘不会从卷或容器中删除,卷没有处于 "degraded" 状态,重建可能无法启动。在这个版本中,mdadm 可以正确处理 RAID 卷中失败的磁盘。
建议 mdadm 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.115. mesa

现在,Red Hat Enterprise Linux 6 提供了修复几个程序错误并添加了两个改进的 mesa 软件包。
mesa 提供 3D 图形 API,与 Open Graphics Library (OpenGL)兼容。它还为许多流行图形芯片提供硬件加速驱动程序。

程序错误修复

BZ#879637
在某些 Intel GT2+ 处理器上,在运行 Piglit quick-driver 测试后,dmesg 命令的输出中可能会报告分段错误。补丁已被应用于解决其程序错误,不再发生不需要的行为。
BZ#908547
在此次更新之前,压缩的文本大小检查以不正确的方式执行。因此,根据压缩块大小检查镜像大小可能会导致某些应用程序意外终止。底层源代码已被修改,文本错误不再会导致应用程序在上述场景中崩溃。

功能增强

BZ#818345
添加了对未来 Intel 2D 和 3D 图形的支持,以允许使用未来的 Intel 处理器的系统通过红帽硬件认证计划认证。
BZ#957792
在这个版本中,添加了 mesa-private-llvm 库。
建议 mesa 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.116. microcode_ctl

Red Hat Enterprise Linux 6 现在提供了 microcode_ctl 软件包,它修复了一个程序错误并添加一个增强。
microcode_ctl 软件包提供实用程序代码和 microcode 数据,以帮助内核在系统引导时更新 CPU microcode。这个 microcode 支持所有基于 x86 的、基于 Intel 64 和 AMD64 的 CPU 模型。它利用内置 Linux 的机制,允许在系统引导时更新 microcode。加载后,更新的 microcode 可以更正各种处理器的行为,如 Intel 和 AMD 为这些处理器发布的处理器规格更新中所述。

错误修复

BZ#1000317
在以前的版本中,microcode_ctl 工具不会检测它是否在虚拟机中运行,并尝试安装 CPU microcode 更新。此行为会导致内核环缓冲中返回几个错误。底层源代码已被修改,microcode_ctl 不再尝试更新上述场景中的 CPU microcode。

功能增强

BZ#915957, BZ#1005606
Intel CPU microcode 文件已更新至版本 20130906。
建议所有 microcode_ctl 用户升级到这些更新的软件包,从而修复这个程序错误并添加此功能增强。注意:需要重启系统才能使此更新生效。

8.117. mobile-broadband-provider-info

Red Hat Enterprise Linux 6 现在提供了更新的 mobile-broadband-provider-info 软件包,修复了一个程序错误。
mobile-broadband-provider-info 软件包包含移动宽带(3G)提供商、关联网络和计划信息的列表。

错误修复

BZ#844288
在以前的版本中,在位于 /usr/share/mobile-broadband-provider-info/ 目录的 serviceproviders.xml 文件中,"internet.saunalahti" 被错误地指定为 Sonera 供应商的 APN (Access Point Name)值。这导致 Sonera 移动宽带配置无法正常工作。包含 "internet.saunalahti" 作为 Sonera 的 APN 值的小节已从 XML 文件中删除,Sonera 移动宽带配置现在可以正常工作。
建议 mobile-broadband-provider-info 用户升级到这些更新的软件包,从而解决了这个问题。

8.118. mod_auth_kerb

现在,Red Hat Enterprise Linux 6 提供了修复一个程序错误的 mod_auth_kerb 软件包。
mod_auth_kerb 软件包为 Apache HTTP 服务器提供了一个模块,旨在通过 HTTP 提供 Kerberos 身份验证。模块支持 Negotiate 身份验证方法,它根据票据交换执行完整的 Kerberos 身份验证。

错误修复

BZ#867153
在以前的版本中,当启用 KrbLocalUserMapping 指令时,如果本地名称具有更高长度,mod_auth_kerb 不会正确转换主体名称。因此,Apache 服务器在这样的场景中返回 HTTP 500 错误。现在,提供了一个补丁来解决这个问题,模块现在可以正确地转换其对应的主体名称。
建议 mod_auth_kerb 用户升级到这些更新的软件包,从而解决了这个问题。

8.119. ModemManager

现在,Red Hat Enterprise Linux 6 提供了修复一个程序错误的 ModemManager 软件包。
ModemManager 软件包提供了一个一致的应用程序编程接口(API)来操作各种模式,包括移动宽带(3G)设备。

错误修复

BZ#883079
在以前的版本中,/lib/udev/rules.d/77-mmmechanism.rules 文件中的 "udev" 规则不会涵盖一些宽带设备。因此,宽带连接根本没有建立,或者在通信几个软件包后失败。包括了额外的"udev"规则,以确保 ModemManager 使用正确的串行端口。因此,现在支持更多的宽带设备,如 ZTE、LG 和 Sierra Wireless modems。
建议 ModemManager 用户升级到这些更新的软件包,从而解决了这个问题。

8.120. mysql

修正几个程序错误的 mysql 软件包现在可用于 Red Hat Enterprise Linux 6。
MySQL 是一个多用户、多线程的 SQL 数据库服务器。它由 MySQL 服务器守护进程(mysqld)以及多个客户端程序和库组成。

程序错误修复

BZ#842052
在此次更新之前,mysqld 守护进程在访问不可为空的 GEOMETRY 类型时处理未初始化的内存。Cosequenutly,mysqld 可能会在 mysqldump 工具运行时意外终止。在这个版本中,mysqld 会正确初始化内存,因此不再在这种情况下崩溃
BZ#877557
在以前的版本中,mysqldump 实用程序预期要在 MySQL 5.0.x 服务器上创建日志表,用于从其检索数据。因此,mysqldump 无法转储 MySQL 系统表。有了这个更新,mysqldump 不再预期创建日志表,现在可以按预期转储上述场景中的系统表。
BZ#884651
在此次更新之前,mysqld 初始化脚本无法正确验证 mysqld 守护进程的状态。因此,即使守护进程成功启动,该脚本也会返回错误信息。mysqld init 脚本已被修复,现在它会正确检查守护进程状态。
BZ#904061
在以前的版本中,mysql-server 子软件包不包含 logrotate 脚本。因此,必须手动配置日志轮转。在这个版本中,mysql-server 子软件包提供了 logrotate 脚本,用户可以使用该脚本通过取消注释脚本中的相应行来登录 mysqld.log 文件。
建议 mysql 用户升级到这些更新的软件包,从而修复这些程序错误。安装此更新后,MySQL 服务器守护进程(mysqld)将自动重启。

8.121. net-snmp

Red Hat Enterprise Linux 6 现在提供了几个程序错误并添加了两个改进的 net-snmp 软件包。
net-snmp 软件包提供了一个通用客户端库、命令行工具套件、可扩展的 SNMP 代理、Perl 模块和 Python 模块来使用和部署简单网络管理协议(SNMP)。

程序错误修复

BZ#893119
在以前的版本中,snmpd ( SNMP 守护进程)在填充 UCD-SNMP-MIB::extTable 表数据时不会检查错误,并在系统内存不足时可能会泄漏内存。这个程序错误已被解决,snmpd 现在检查内存不足的情况,并在遇到错误时释放 UCD-SNMP-MIB::extTable 表的内存。
BZ#907571
在以前的版本中,snmp_config (5)手册页没有明确查找哪些文件,读者可能会变得错误地给带有后缀 "conf" 或 "local.conf" 的文件被用作 snmp 配置文件。在这个版本中,snmp_config (5)手册页已被修改,以精确指定哪些文件用作 snmp 配置文件。
BZ#919259
在以前的版本中,snmpd 守护进程已被修复,显示可执行文件名称和 UCD-SNMP-MIB::extCommand OID 字符串中的所有命令行参数。在这个版本中,在没有命令行参数的情况下无法检查可执行文件。因此,当检索 UCD-SNMP-MIB::extCommand OID 的可执行文件时,snmpd 守护进程会无参数终止,并带有分段错误。在这个版本中,snmpd 会检查没有参数,并显示 UCD-SNMP-MIB::extCommand OID 的正确值。因此,在上述场景中不再崩溃。
BZ#919952
在之前的 net-snmp 软件包更新中,HOST-RESOURCES-MIB::hrSWRunTable 表已被重写,由于回归,它不会报告内核线程的"hrSWRunPath"字符串。在这个版本中修复了内核线程的 HOST-RESOURCES-MIB::hrSWRunPath 字符串,现在由 snmpd 守护进程报告。
BZ#922691
当在 /etc/snmp/snmpd.conf 文件中指定 "includeAllDisks" 配置选项时,snmpd 守护进程仅在启动时扫描正在运行的系统,如果稍后挂载了新设备,则不会更新 UCD-SNMP-MIB::dskTable 表。因此,在频繁挂载和卸载设备的动态系统上,UCD-SNMP-MIB::dskTable 无法用于监控存储使用情况,因为它只监控系统启动时可用的设备。要修复这个程序错误,UCD-SNMP-MIB::dskTable 的实现已被改进,以便在挂载新设备时动态添加新设备。这只有在 /etc/snmp/snmpd.conf 中使用 "includeAddDisks" 配置选项时才会发生。因此,在频繁挂载和卸载设备的动态系统中,UCD-SNMP-MIB::dskTable 始终显示当前挂载的设备列表。
BZ#927474
在以前的版本中,snmpd 是 SNMP 守护进程,在使用 netlink 套接字与 Linux 内核通信时,不会设置正确的消息大小。因此,在解析属性后,消息 "netlink: 12 bytes leftover 会被保存到内核日志中。在这个版本中,snmpd 会设置正确的消息大小,内核不再记录上述消息。
BZ#947973
在以前的 Net-SNMP 版本中,snmpd 在 IF-MIB::ifTable 和 IF-MIB::ifXTable 表中报告了一个无效的网络接口速度(如果接口有 10, 100, 1000 或 2500 MB/s)。因此,如果将 Virtual Connect 速度设定为(如 0.9 Gb/s),则返回的 net-snmp ifHighSpeed 值是 "0"。在这个版本中,ifHighSpeed 值返回 ethtool 工具中报告的正确速度,snmpd 可以正确地报告非标准网络接口速度。
BZ#953926
net-SNMP 不会验证传入的 SNMP 消息是否正确编码。在某些情况下,它会在解析消息中带有无效大小的接收缓冲区大小时读取过去接收缓冲区大小。这会导致 SNMP 陷阱处理守护进程的 snmptrapd 意外终止,并显示传入格式消息上的分段错误。在这个版本中,当解析带有无效整数大小的传入消息时,snmptrapd 的检查不再会崩溃。
BZ#955771
在以前的版本中,Net-SNMP python 模块不会向使用此模块的应用程序传播各种错误。因此,应用程序不知道 SNMP 通信过程中发生的 erros。要解决这个问题,Net-SNMP python 模块已更新,以返回正确的错误代码。现在,应用程序会接收 SNMP 错误的信息。
BZ#960568
在以前的版本中,snmp-bridge-mib 子代理将桥接本身作为 BRIDGE-MIB::dot1dBasePortTable 表中的网桥端口包含。这个程序错误已被解决,snmp-bridge-mib 子代理现在仅将实际接口报告为 BRIDGE-MIB::dot1dBasePortTable 表中的端口。
BZ#968898
在以前的版本中,snmpd 守护进程在处理 "agentaddress" 配置选项时无法正确终止字符串。因此,当使用 SIGHUP 信号重新读取配置多次时,会发生缓冲区溢出。这个程序错误已被解决,snmpd 现在可以在 "agentaddress" 处理过程中正确终止字符串,且不再使用 SIGHUP 信号崩溃。
BZ#983116
以前的 Net-SNMP 更新包含一个修复程序,以改进对无效传入 SNMP 消息的检查。在这个版本中,引入了一个回归,一些带有多个变量的有效 SNMP 消息被标记为无效。因此,Net-SNMP 工具和服务器会拒绝有效的 SNMP 消息,并等待 "proper" 响应等待超时。在这个版本中,有效的 SNMP 消息不再被拒绝。因此,服务器和实用程序接受第一个传入的消息,且不会等待超时。
BZ#989498, BZ#1006706
在以前的 Net-SNMP 更新中,对 HOST-RESOURCES-MIB::hrStorageTable 表的实现已被重写,并且没有报告带有 Virtuozzo 文件系统(VZFS)和 B-tree 文件系统(BTRFS)的设备。在此次更新之后,snmpd 使用 VZFS 和 BTRFS 文件系统正确识别设备,并在 HOST-RESOURCES-MIB::hrStorageTable 中报告它们。
BZ#991213
在以前的版本中,snmpd 守护进程会错误地解析启用了队列组的 Sendmail 配置文件。因此,snmpd 在启动时输入一个循环。在这个版本中,使用队列组解析配置文件,snmpd 不再在启动时进入循环。
BZ#1001830
在以前的版本中,Net-SNMP 工具和守护进程预期 MD5 哈希算法和 DES 加密在系统的 OpenSSL 库中可用,且不在使用这些加密功能时检查错误。因此,当尝试使用 MD5 或 DES 算法时,Net-SNMP 工具和守护进程在系统以 FIPS 模式运行时不可用。Net-SNMP 工具和守护进程现在检查加密功能错误代码,并显示以下出错信息:
Error: could not generate the authentication key from the supplied pass phrase
因此,上述实用程序和守护进程不再在 FIPS 模式中崩溃。

功能增强

BZ#917816
在这个版本中,所有 net-snmp 配置文件都可以使用 "includeFile" 和 "includeDir" 选项来包含其他配置文件或配置文件的完整目录。snmp_config (5)手册页中描述了详细的语法和用法。
BZ#919239
在以前的版本中,Net-SNMP 应用程序提供其配置文件,该文件可以包含像密码一样的敏感信息,对系统上的任何用户都可读。在这个版本中,配置文件只能由 root 用户读取。
建议 net-snmp 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.122. netcf

修正了两个程序错误的 netcf 软件包现在可用于 Red Hat Enterprise Linux 6。
netcf 软件包包含一个用于修改系统网络配置的库。网络配置以独立于平台的 XML 格式表示,Netcf 转换为系统"原生"网络配置文件的更改。

程序错误修复

BZ#844578
当使用 "virsh iface-start" 或 "ncftool ifup" 命令来启动配置为使用 DHCP 服务器的断开连接的接口时,netcf 库会报告一个失败。但是,后续所有接口列表都会将接口显示为"active"。在这个版本中,netcf 仅报告接口在接口"UP"和"RUNNING"标记为"UP"和"RUNNING"时,如果尝试启动接口是否成功,则仅报告"active"接口状态。
BZ#848722
在以前的版本中,尝试定义子网掩码高于 24 位的接口会失败。这个程序错误已被解决,现在可以定义具有最多 30 位的子网掩码的接口。
建议 netcf 用户升级到这些更新的软件包,从而修复这些 bug。

8.123. NetworkManager

现在,Red Hat Enterprise Linux 6 提供了修复几个程序错误的 NetworkManager 软件包,并添加各种改进。
NetworkManager 是管理网络设备和连接的系统网络服务,在可用时尝试保持网络连接处于活动状态。它管理以太网、Wi-Fi、移动宽带(WWAN)和 PPPoE (以太网上点到点协议)设备,并提供与各种 VPN 服务的集成。

程序错误修复

BZ#922558
在以前的版本中,NetworkManager 不会从 DHCP (动态主机配置协议)服务器显式请求静态路由,因此一些服务器不会提供这些路由。在这个版本中,NetworkManager 现在在可用时从 DHCP 服务器请求静态路由。
BZ#701381
在以前的版本中,用户无法在 NetworkManager 中选中 Enable Wireless 框,因为字段没有响应。此外,在禁用并重新启用硬件后,NetworkManager 中无法使用 Enable Wireless connection 选项。在这个版本中,用户可以在重新启用其硬件后从 GUI 打开无线连接。
BZ#1008884
当在某些虚拟机(VM)配置中运行 NetworkManager 小程序时,点击该图标可能会导致小程序意外终止。这个程序错误已被解决,小程序不会在这些配置中崩溃。
BZ#923648
在以前的版本中,通过 NetworkManager 连接编辑器(nm-connection-editor)创建的网桥和绑定连接没有设置为自动连接,因此必须手动启动。在这个版本中,这些连接默认会在创建时自动启动。
BZ#896198
/etc/sysconfig/network 文件中的 GATEWAY 设置会导致 NetworkManager 将该 GATEWAY 分配给所有具有静态 IP 地址的接口。即使没有为这些地址指定 GATEWAY 或不同的场景。要修复此程序错误,如果在 /etc/sysconfig/network 中提供了 GATEWAY,则仅给出具有匹配网关地址的配置。或者,DEFROUTE=yes/no 选项可以在单独的配置文件中使用,以根据每个配置允许或拒绝默认路由。
BZ#836993
在以前的版本中,当通过 NetworkManager 使用带有令牌不同步的 vpnc 程序时,服务器会提示输入下一个令牌。但是,NetworkManager 会错误地解析这个响应并报告失败的连接。在这个版本中,在 NetworkManager-vpnc 工具中添加了新的令牌代码提示,从而解决了这个问题。
BZ#991341
在此次更新之前,在收到 IPv6 路由器公告时,NetworkManager 会尝试替换内核添加的 IPv6 默认路由。因此,内核会返回以下失败信息:
'ICMPv6 RA: ndisc_router_discovery() failed to add default route.'
要解决这个问题,NetworkManager 不再替换内核添加的 IPv6 默认路由。
BZ#758076
在以前的版本中,无法通过 nm-connection-editor 中的"Choose certificate"对话框窗口选择证书颁发机构(CA)证书。这会给用户造成混淆。对话框复选框信息已被一个更加的信息,从而解决了这个问题。
BZ#919242
在以前的版本中,当因为 /etc/sysconfig/network 文件中缺少 NM_BOND_bridge_ VLAN _ENABLED 选项而导致网桥、绑定或 VLAN 接口, NetworkManager 连接编辑器(nm-connection-editor)仍允许用户创建这些类型的网络连接。现在,当创建不可用的连接时,编辑器会警告用户,从而解决了这个问题。
BZ#915480
在以前的版本中,NetworkManager GUI 小程序(nm-applet)没有在菜单中显示网桥、绑定或 VLAN 接口。在这个版本中,nm-applet 已改进,以显示配置的所有可用绑定、网桥和 VLAN 接口,但尚未创建。
BZ#905532
由于一些缺少的绑定接口选项,/sys/class/net/bond0/bonding/primary 文件在安装过程中为空。另外,网络流量会在安装过程中通过 eth0。这个程序错误已被解决,NetworkManager 现在支持一组更大的绑定接口选项。
BZ#953076
在以前的版本中,在某些情况下,NetworkManager 无法设置绑定 master 接口的模式。现在,提供了一个补丁来修复这个程序错误,模式设置现在会根据 nm-editor 更改而改变。
BZ#953123
在以前的版本中,NetworkManager 连接编辑器(nm-connection-editor)不允许为 VLAN 接口设置克隆的 MAC 地址。已提供了一个补丁来修复这个错误,nm-connection-editor 现在可以正常工作。
BZ#969363
在此次更新之前,nm-online 的手册页没有描述 nm-online 参数的正确用法,如 the -t 选项。man page 已更新,以正确描述其参数的使用。
BZ#973245
在以前的版本中,NetworkManager 只编写并保存与标准 ifcfg 网络配置文件兼容的连接类型。这个程序错误已被解决,其它连接类型(如 Bluetooth、WWAN )现在可以保存为 /etc/NetworkManager/system-connections/ 目录中的 keyfiles。
BZ#902372
在以前的版本中,当控制现有网桥时,NetworkManager 无法保证干净的网桥状态。在这个版本中,NetworkManager 重置网桥选项并删除所有网桥端口,这样可确保在启动时清理网桥状态,并启用了桥接支持。
BZ#867273
在使用 InfiniBand (IB)设备在机器上配置 IP-over-InfiniBand (IPoIB)配置集后,配置集不会被连接。这个程序错误已被解决,在网络小程序菜单中列出了 IP-over-Infiniband (IPoIB)网络配置。
BZ#713975
在为新的无线网络连接更改身份验证或内部身份验证下拉菜单后,"每次重置此密码"复选框。要修复这个程序错误,更新的 NetworkManager GUI 小程序会在连接到 WPA Enterprise 网络时保存复选框值。
BZ#906133
在此次更新之前,当指定 BSSID (基本服务集标识符)时,Ad-Hoc WiFi 网络无法启动,因为内核限制。要解决这个问题,NetworkManager 连接编辑器(nm-connection-editor)不允许为 ad-Hoc WiFi 连接设置 BSSID,因为这个值由内核自动选择。

功能增强

BZ#602265
有了这个更新,NetworkManager 已被改进,支持通过以太网(PPPoE)的基于点对点协议的创建和管理。NetworkManager 现在会在重新连接 PPPoE 连接前等待短暂的时间,以确保对等连接就绪。
BZ#694789
添加了一个新的 GATEWAY_PING_TIMEOUT 配置选项。这个新选项可确保 NetworkManager 在指示网络连接前等待 网关 成功 ping。
BZ#990310
NetworkManager 现在读取 ifcfg 别名文件,并将其中的地址分配给其主接口,使用别名名称作为地址标签。
BZ#564467, BZ#564465
已创建 nm-connection-editornm-applet 工具的手册页。
建议 NetworkManager 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.124. nfs-utils

更新了 nfs-utils 软件包,它修复了几个程序错误,并添加各种改进。
nfs-utils 软件包为内核网络文件系统(NFS)服务器和相关工具(如 mount.nfs、umount.nfs 和 showmount)提供守护进程。

程序错误修复

BZ#889272
当"Background",在 nfsmount.conf 配置文件的多个部分中设置了 "Foreground" 或 "timeo" 选项时,生成的解析值中都会错误地显示这些选项。在这个版本中,更改了此行为,以便任一选项的第一个实例会覆盖之前的任何实例。
另外,配置文件选项可能已被错误地传递给与正在执行的选项无关的 mount syscall。解析器已进行更严格,因此每个选项可以最多显示四次:系统部分一次、特定于服务器的章节一次,一次用于特定于挂载的章节,一次用于命令行挂载选项。
BZ#890146
在此次更新之前,运行 "nfsstat -s -o rpc" 命令会在表标头中生成带有不正确的标签的输出。在这个版本中,底层源代码已被调整,以确保所有列现在都有正确的名称。
BZ#892235
启动 nfs 服务会导致以下输出:
Stopping RPC idmapd:               [ OK ]
Starting RPC idmapd:               [ OK ]
虽然事件序列需要首先停止,然后启动 RPC idmapd 服务,但之前必须启动 RPC idmapd 服务,但当前的初始化脚本不需要此行为。这个问题已被修正,因此启动 nfs 服务现在只会导致一个"Starting RPC idmapd"状态显示。
BZ#950324
在运行 sm-notify 时,指定 "-v <ip_address>" 或 "-v <hostname>" 选项在 nfs-utils 软件包更新至版本 1.2.2 后无法正常工作。在这个版本中,修正了地址处理逻辑,以便使用 '-v' 选项指定主机名、IPv4 或 IPv6 IP 地址可以正常工作。
BZ#952560
nfs (5)手册页包含有关"retrans=n"选项的不正确的信息,其中指定 NFS 客户端在尝试进一步恢复操作前重试请求的次数。此信息已被修正,现在根据协议类型指定尝试次数。对"retrans=n"选项的手册页修正为:
NFS 客户端在尝试进一步恢复操作前,其重试请求的次数。如果没有指定 retrans 选项,NFS 客户端会尝试每个使用 UDP 的挂载尝试三次,并使用 TCP 进行挂载两次。
建议 nfs-utils 用户升级到这些更新的软件包,从而修复这些 bug 并添加各种改进。

8.125. Nmap

现在,Red Hat Enterprise Linux 6 提供了修复两个程序错误的 nmap 软件包。
nmap 软件包提供了一个网络探索实用程序和安全扫描程序。

程序错误修复

BZ#729045
在以前的版本中,nmap debuginfo 软件包中缺少 ncat 工具的 debuginfo 文件。因此,无法对意外的终止进行调试和分析。在这个版本中,请确保软件包中存在缺少的文件,从而解决了这个问题。
BZ#826601
在以前的版本中,ncat 工具无法在使用的协议是 UDP 时将其会话数据写入输出文件中。这个版本提供了一个补丁,以确保在上述场景中正确写入数据,从而解决了这个问题。
建议 nmap 用户升级到这些更新的软件包,从而修复这些程序错误。

8.126. NSS 和 nspr

Red Hat Enterprise Linux 6 现在提供了 nssnspr 软件包,它们修复了很多错误并添加各种改进。
网络安全服务(NSS)是一组库,旨在支持启用了安全的客户端和服务器应用程序的跨平台开发。Netscape Portable Runtime (NSPR)为非 GUI 操作系统设施提供独立平台。
升级到上游版本
nss 系列软件包(由 nssnss-softoknnss-util 组成)已升级到更高的上游版本,与之前的版本相比,它提供了很多程序错误修复和增强:
  • nss 软件包已升级至上游版本 3.15.1。(BZ#918950, BZ#1002645)
  • nss-softokn 软件包已升级至上游版本 3.14.3 (BZ#919172)
  • nss-util 软件包已升级至上游版本 3.15.1 (BZ""919174, BZ""1002644)
nspr 软件包已升级到上游版本 4.10,它提供很多程序错误修复和增强。(BZ#919180, BZ#1002643)

程序错误修复

BZ#702083
PEM 模块对客户端应用程序施加限制,以使用派生证书的唯一基础文件名。因此,客户端应用程序的认证和密钥相同,但不同的文件路径无法加载,因为它们被错误地认为是重复的。现在,修改了比较算法,PEM 模块可以正确地决定唯一性,无论用户如何命名其文件。
BZ#882408
由于 nss 软件包的上游版本不同,尝试启用不支持的 SSL PKCSxdg 绕过 功能会失败,并显示严重错误信息。这个行为可能会破坏某些调用的语义,从而破坏应用程序二进制接口(ABI)兼容性。在这个版本中,nss 软件包已被修改,以保留上游行为。因此,尝试启用 SSL PKCSRoCE 绕过 不再失败。
BZ#903017
在以前的版本中,与智能卡相关的认证代码中有一个竞争条件。因此,当 Firefox 证书管理器中查看通用访问卡(CAC)或个人身份验证(PIV)智能卡证书时,Firefox Web 浏览器将变得无响应。底层源代码已被修改以修复竞争条件,在上述场景中 Firefox 不再挂起。
BZ#905013
由于 Netscape Portable Runtime (NSPR)代码中的错误负责线程同步,有时会发生内存损坏。因此,在向 NSPR 库发出 1023 调用后,web 服务器守护进程(httpd)有时会意外终止并出现分段错误。在这个版本中,改进了 NSPR 释放之前分配的内存的方式,httpd 在上述场景中不再崩溃。
BZ#918136
nss 软件包的 3.14 上游版本中,默认禁用使用数字签名中的 MD5 哈希算法支持证书签名。但是,某些网站仍然使用基于 MD5- 的签名,因此尝试访问此类网站会失败并显示错误。在这个版本中,数字签名中的 MD5 哈希算法再次支持,以便用户可以按预期使用此算法连接到网站。
BZ#976572
在这个版本中,从上游版本 3.14.1 开始,对 Galois/Counter Mode (GCM)的实现的修复已被向后移植到 nss 软件包。因此,用户可以使用 GCM,而无需在上游版本中记录并修复任何问题。
BZ#977341
在以前的版本中,cert util -H 命令的输出(这是 certutil 工具使用的选项和参数列表)没有描述 -F 选项。现在,添加了此信息,选项现在会在 certutil -H 的输出中正确描述。
BZ#988083
在以前的版本中,pkcs11n.h 标头缺少某些常量来支持传输层安全(TLS) 1.2 协议。常量已添加到 nss-util 软件包中,NSS 现在支持 TLS 1.2。
BZ#990631
在以前的版本中,网络安全服务(NSS)恢复 pkcs11.txt 文件的权限,以便只有文件所有者才能读取该文件并写入它。这个行为覆盖了用户指定的其他权限。因此,用户无法使用系统范围的安全数据库将安全模块添加到自己的配置中。这个版本提供了一个补丁来修复这个程序错误。因此,NSS 保留 pkcs11.txt 的现有权限,用户现在可以修改 NSS 安全模块数据库。
BZ#1008534
由于网络安全服务(NSS)中的一个错误,IPA (身份、策略、审计)服务器的安装意外终止,并返回错误。这个程序错误已被解决,IPA 服务器的安装可以如预期进行。
BZ#1010224
NSS softoken 加密模块没有确保在运行自我测试前正确初始化 freebl 库。因此,某些客户端(如轻量级目录访问协议(LDAP)客户端)可以初始化并完成 NSS。在这种情况下,清理和卸载 freebl。当再次加载库时,尝试意外运行测试会导致客户端失败,如传输层安全(TLS)连接错误。这个程序错误已被解决,现在 softoken 现在可以在运行自我测试前正确初始化 freebl。因此,在上述场景中不再会出现失败。

功能增强

BZ#960193, BZ#960208
Red Hat Enterprise Linux 6.5 中的网络安全服务(NSS)自己的内部加密模块现在支持 Elliptic curve 加密(ECC)的 NIST Suite B 推荐算法集。
建议 nssnsrp 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。安装此更新后,必须重启使用 NSSNSPR 的应用程序才能使此更新生效。

8.127. ntp

现在,Red Hat Enterprise Linux 6 提供了修复几个程序错误并添加各种改进的 ntp 软件包。
网络时间协议(NTP)用于将计算机的时间与其他参考时间源同步。ntp 软件包包括用于查询和配置 ntpd 的 ntpd 守护进程和实用程序。
升级到上游版本
ntp 软件包已升级到上游版本 4.2.6p5,它提供很多程序错误修复和增强。(BZ#654004)

程序错误修复

BZ#673198
在尝试从互联网获取日期和时间更新前,ntpdate 服务不会等待 NetworkManager 服务配置网络。因此,如果没有配置网络,ntpdate 无法设置系统时钟。在这个版本中,当初始尝试失败时,ntpdate 会尝试以几个增加的间隔从互联网获取更新。现在,即使 NetworkManager 需要较长的时间来配置网络,系统时钟也会设置较长的时间。
BZ#749530
ntp-keygen 工具总是使用 DES-CBC (数据加密标准 Cipher Block Chaining)加密算法来加密私有 NTP 密钥。但是,在 FIPS 模式中不支持 DES-CBC。因此,当在启用了 FIPS 模式的系统中使用时,ntp-keygen 会生成空的私钥。要解决这个问题,在 ntp-keygen 添加了一个新的"-C"选项,它可用于为私钥文件选择加密算法。现在,在启用了 FIPS 模式的系统中生成私有 NTP 密钥。
BZ#830821
ntpstat 程序没有将 root 延迟包括在 "time correct to within" 值中,因此实际的最大错误可能大于 ntpstat 报告的值。已修复 ntpstat 工具,如预期包括 root 延迟,且工具显示的"时间正确"值现在正确。
BZ#862983
将 DHCP 提供的 NTP 服务器(使用 dhclient-script)添加到 ntp.conf 文件时,ntp 脚本不会验证 ntp.conf 是否已包含这些服务器。这可能会导致配置文件中的重复的 NTP 服务器条目。这个版本修改了 ntp 脚本,以便在 ntp.conf 文件中不再发生重复的 NTP 服务器条目。
BZ#973807
当 ntpd 配置为广播客户端时,它不会在网络配置更改时更新广播套接字。因此,广播客户端在网络服务重启后停止工作。这个版本修改了 ntpd,以在网络接口更新后更新广播客户端套接字,以便客户端在网络服务按预期工作后继续工作。

功能增强

BZ#623616, BZ#667524
NTP 现在在默认 ntp.conf 文件中指定带有 iburst 配置选项的四个非站点 NTP 服务器,从而可以更快地进行时间同步并提高了 NTP 服务的可靠性。
BZ#641800
NTP 添加了对使用 SHA1 symetric 密钥进行身份验证的支持。SHA1 密钥可以通过 ntp-keygen 工具生成,并在客户端和服务器机器的 /etc/ntp/keys 文件中配置。
BZ#835155
在 NTP 中添加了对已签名响应的支持。当使用 Samba 4 作为 Active Directory (AD)域控制器(DC)时,需要此项。
BZ#918275
添加了一个新的各种 ntpd 选项 "interface"。此选项允许控制 ntpd 打开哪些网络地址以及是否在不处理的情况下丢弃传入的数据包。有关使用"interface"选项的更多信息,请参阅 ntp_misc (5)手册页。
建议 ntp 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.128. numactl

修正了两个程序错误的 numactl 软件包现在可用于 Red Hat Enterprise Linux 6。
numactl 软件包提供了一个简单的非统一内存访问(NUMA)策略支持,它由 numactl 程序组成,来运行具有特定 NUMA 策略和 libnuma 库的其他程序,以使用 NUMA 策略在应用中进行分配。

程序错误修复

BZ#881779
在以前的版本中,在 numactl (8)手册页中没有明确描述"localalloc"选项,这可能会导致混淆。在这个版本中,在 numactl (8)手册页中添加了一个"localalloc"的清晰描述。
BZ#987507
由于 numastat 实用程序源代码中的一个错误,"numastat -m"命令的输出报告分配的静态巨页内存量的不正确的值。现在,一个补丁已被应用于解决这个程序错误,numastat 现在可以正确地计算巨页大小。
建议 numactl 用户升级到这些更新的软件包,从而修复这些 bug。

8.129. numad

现在,Red Hat Enterprise Linux 6 提供了修复两个程序错误并添加一个增强的 numad 软件包。
numad 软件包为 NUMA (Non-Uniform Memory Architecture)系统提供了一个守护进程,监控 NUMA 的特征,并管理进程和内存的放置,以最大程度降低内存延迟。软件包还提供一个接口,可用于查询 numad 守护进程以获取应用程序的最佳手动放置。

程序错误修复

BZ#987563
当所有 CPU 都被忙碌时,numad 守护进程在节点间平衡进程,即使它导致应用程序和系统性能显著提高。在这个版本中,numad 对移动进程更为积极,即使所有 CPU 都是忙碌的。因此,整体系统性能显著提高。
BZ#987559
在以前的版本中,无法设置系统的巨页 "scan_sleep_millisecs" 参数。因此,当跨节点迁移进程内存时,NUMA 性能会被破坏。底层代码已被修改,接受新的 "-H" 选项来指定 "scan_sleep_millisecs",从而修复这个程序错误。用户现在可以将值设置为微调 numad 的性能。

功能增强

BZ#913546
Red Hat Enterprise Linux 6 添加了新的 logrotate 工具的配置文件。
建议所有 numad 用户升级到这些更新的软件包,从而修复这些 bug 并添加这个改进。

8.130. opencryptoki

现在,Red Hat Enterprise Linux 6 提供了修复几个程序错误并添加各种改进的 opencryptoki 软件包。
opencryptoki 软件包包含 PKCSxdg API 的版本 2.11,为 IBM Cryptocards 实施。这个软件包包括对 IBM 4758 Cryptographic CoProcessor (在 IBM System z 上载入了 PKCSalsa 固件)、IBM eServer Cryptographic Accelerator (IBM eServer System p 中的FC 4960)、IBM Crypto Express2 (在 IBM System z 上FC 0863 或 FC 0870)的支持,以及 IBM eServer Cryptoic Function (FC 3863 on IBM System z)。
升级到上游版本
opencryptoki 软件包已升级至上游版本 2.4.3.1,与之前的版本相比,与之前的版本相比,在 ICA 令牌中提供对 SHA-2 哈希算法的支持,并在 CCA 令牌中为基于 SHA-2 的证书添加修复。(BZ#948349)
建议 opencryptoki 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.131. opencv

现在,Red Hat Enterprise Linux 6 提供了修复一个程序错误的 opencv 软件包。
opencv 是开源计算机愿景库。它是实现镜像处理和计算机可见性算法的 C 功能和 C++ 类的集合。

错误修复

BZ#658060
OpenCVConfig.cmake 文件在 32 位和 64 位构架上具有不同的内容,并在 /usr/share 目录下安装。因此,opencv-devel 软件包无法安装到 multilib 环境中。在这个版本中,OpenCVConfig.cmake 文件已移到 /usr/lib (64)目录,opencv-devel 软件包现在可以在 multilib 环境中安装。
建议 opencv 用户升级到这些更新的软件包,从而解决了这个问题。

8.132. openhpi

针对 Red Hat Enterprise Linux 6 提供了修复几个 bug 的 openhpi 软件包。
OpenHPI 提供服务可用性论坛(SAF)硬件平台接口(HPI)的开源实施。HPI 是一个用于管理计算机硬件的抽象接口,通常是机箱和基于机架的服务器。HPI 包括资源建模;对与资源关联的传感器、控制、监视和清单数据的访问;抽象的系统事件日志接口;硬件事件和警报;以及受管热交换接口。

程序错误修复

BZ#891626
由于 power_supply () 解析例程中有一个错误,一些返回的字符串可能包含错误显示的字符。因此,通过 OpenHPI API 检索电源单元(PSU)的序列号会导致字符串包含这些字符。在这个版本中,确保为 PSU 返回了正确的串行和部分数字,返回的字符串现在仅包含有效的字符。
BZ#924852
在以前的版本中,OpenHPI 缺少支持某些 RDR (带有 Reply)传感器的代码。因此,在提取和重新插入通过 Onboard Administrator (OA) SOAP 插件监控的保护机制后,以下错误消息将返回到日志文件:
openhpid: ERROR: (oa_soap_sensor.c, 2005, RDR not present) openhpid: ERROR: (oa_soap_fan_event.c, 279, 处理传感器 24 失败)
这个程序错误已被解决,现在在提取组件和重新插入组件后不会记录错误消息。
BZ#948386
在某些情况下,当将 OpenHPI 与 Onboard Administrator (OA) SOAP 插件搭配使用时,当 OA 交换机发生时,HPI 客户端变得无响应,或者 openhpi 守护进程无法连接到新的活跃 OA。因此,客户端无法检索事件和数据。已提供了一系列补丁来更好地考虑 OA 故障转移情况,从而解决了这个问题。
BZ#953515
在此次更新之前,OpenHPI 缺少了对某些刀片服务器的支持。因此,OpenHPI 守护进程会意外终止,并在这些服务器上启动时出现分段错误。提供了一个补丁来添加缺少的支持,OpenHPI 守护进程不会在上述场景中崩溃。
BZ#953525
由于缺少对某些rmal sensors 的支持,getBladeInfo ()函数可能会意外终止,从而导致整个发现过程失败。在这个版本中,添加了对这些传感器和 OpenHPI 发现功能的支持现在可以正常工作。
建议 openhpi 用户升级到这些更新的软件包,从而修复这些程序错误。

8.133. openscap

现在,Red Hat Enterprise Linux 6 提供了修复几个程序错误并添加各种改进的 openscap 软件包。
openscap 软件包提供了 OpenSCAP,这是一组用于集成安全内容自动化协议(SCAP)的开源库。SCAP 是提供与 Computer Network Defense (CND)相关的信息表达式的标准语言。
升级到上游版本
openscap 软件包已升级到上游版本 0.9.12,它提供很多程序错误修复和增强。在这个版本中,增加了对国家标准与技术研究院(NIST) SCAP 1.2 标准的支持,以便所有内容(如以下内容)被正确支持:Red Hat Enterprise Linux 5 安全技术实施指南(STIG)、美国政府配置基准(USGCB)和红帽安全公告内容。(BZ#956763)

错误修复

BZ#999903
在以前的版本中,oscap 工具在查询 RPM 数据库(RPMDB)时无法正确处理对象评估的过程。如果进程被中止,则在查询上创建的 RPMDB 迭代器无法正确删除,这会导致 RPMDB 损坏。在这个版本中,创建的 RPMDB 迭代器被正确删除,进程中止不再会导致 RPMDB 崩溃。
建议 openscap 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.134. openssh

更新了 openssh 软件包,修复一个安全问题、几个程序错误并添加各种改进现在可用于 Red Hat Enterprise Linux 6。
红帽安全响应团队将更新的安全影响级别较低。常见的漏洞评分系统(CVSS)基础分数提供了详细的严重性评级,适用于以下每个描述的 CVE 链接中的每个漏洞。
OpenSSH 是 OpenBSD 的 Secure Shell (SSH)协议实施。这些软件包包括 OpenSSH 客户端和服务器所需的核心文件。

安全修复

CVE-2010-5107
默认的 OpenSSH 配置使远程攻击者可以轻松地耗尽未经授权的连接插槽,并防止其他用户登录到系统。默认情况下,通过把 MaxStartups 设置为 10:30:100 来启用随机早期连接丢弃来解决这个问题。如需更多信息,请参阅 sshd_config (5)手册页。

程序错误修复

BZ#872169
使用 syslog 工具记录时,需要一个现有的 /dev/log 套接字,它不适用于基于用户主目录的所有 chroot 环境。在以前的版本中,要修复这个问题,应用了补丁来保持 syslog 文件描述符被打开。但是,syslog 库已被更改,使用的高度停止工作。因此,sftp 命令没有记录在内部 sftp 子系统中的 chroot 设置中。补丁已调整到新条件,sftp 命令会记录在内部 sftp 子系统中的 chroot 设置中。
BZ#880575
在以前的版本中,当用户尝试使用自己的未保护的私钥时,ssh 工具会显示以下信息:
It is recommended that your private key files are NOT accessible by others.
密钥随后被拒绝,这可能会导致混淆,因为行为与消息不一致。在这个版本中,消息已被改为:
It is required that your private key files are NOT accessible by others.
BZ#896561
ssh-agent 工具无法打开更多连接,并可能会因为竞争条件而变得无响应。竞争条件已被修复,ssh-agent 在此场景中不再挂起。
BZ#954094
如果 "bindpw" 选项包含双引号,则 ssh-ldap-helper 解析器无法正确解析它,ssh-ldap-helper 无法绑定到 LDAP 服务器。有了这个更新,ssh-ldap-helper 可以正确地解析 LDAP 配置文件。
BZ#955792
在此次更新之前,非 ASCII 字符已被横幅消息中的八进制表示替代,以防止终端重新编程攻击。因此,客户端中没有正确显示包含 UTF-8 字符串的横幅。在这个版本中,横幅消息会根据 RFC 3454 处理,已删除控制字符,包含 UTF-8 字符串的横幅会被正确显示。
BZ#974096
在以前的版本中,如果目标用户的 /tmp/ 目录是 polyinstantiated,则在启动可插拔验证模块(PAM)会话后,远程机器上不会找到凭证缓存。因此,Kerberos 票据转发无法正常工作。在这个版本中,在启动 PAM 会话后,缓存会在新的 /tmp/ 目录中重新创建,Kerberos 票据转发现在可以正常工作。
BZ#993509
在以前的版本中,如果 sshd 守护进程被配置为强制内部 SFTP 会话,守护进程无法正确处理交互式会话的请求。因此,sshd 不会终止 SSH 连接,SSH 客户端可能会变得无响应。有了这个更新,sshd 已修改为返回只允许 SFTP 连接的错误消息,SSH 客户端在这种情况下不再挂起。

功能增强

BZ#906872
在这个版本中,增加了对使用新的 OpenSSH 证书格式用户和主机的证书身份验证的支持。证书包含公钥、身份信息和有效期限制,并使用 ssh-keygen 工具使用标准 SSH 公钥进行签名。请注意,Red Hat Enterprise Linux 6 附带的 ssh-keygen 版本使用"-Z"选项来指定主体。有关此功能的更多信息,请参阅 /usr/share/doc/openssh-5.3p1/PROTOCOL.certkeys 文件。
BZ#908038
在这个版本中,增加了对 PKCSxdg 令牌的支持。现在,OpenSSH 客户端可以使用智能卡进行身份验证。
BZ#951704
KexAlgorithms 配置选项已添加到 ssh 实用程序和 sshd 守护进程中的客户端和服务器配置中。指定 KexAlgorithms 可让用户和管理员选择密钥交换方法及其顺序或首选项。
BZ#969565
在这个版本中,在 OpenSSH 中的基于Hash 的消息身份验证代码(HMAC)中添加了对 SHA-2 Secure Hash Algorithm 的支持。
BZ#993577
新的联邦信息处理标准(FIPS)验证需要随机数字生成器(RNG),其至少为 112 位的熵,而不是之前的 80 位。因此,SSH_USE_STRONG_RNG 环境变量的最小值增加到 14。
BZ#1001565
新的联邦信息处理标准(FIPS)验证要求在安装 FIPS 模块时在所有情况下运行 Power On Self Test (POST)。在这个版本中,POST 自测试会在 SSH 客户端和 SSH 服务器上运行(如果已安装 dracut-fips 软件包)。
我们建议所有 openssh 用户升级到这些更新的软件包,其中包含向后移植的补丁来更正这些问题并添加这些改进。

8.135. openssl

现在,Red Hat Enterprise Linux 6 提供了修复几个程序错误并添加了各种改进的 openssl 软件包。
openssl 软件包提供了一个工具包,它实现了安全套接字层(SSL)和传输层安全(TLS)协议,以及一个完整的通用加密库。
升级到上游版本
openssl 软件包已升级到上游版本 1.0.1e,它提供很多程序错误修复和增强,包括对多个新加密算法的支持,并支持传输层安全(TLS)协议的新版本(1.1, 1.2)。在这个版本中,在 GlusterFS 中添加了以下密码用于透明加密和验证支持:基于 Cipher-GCM 的 MAC (CMAC)、使用 Ciphertext Stealing (AES-XTS)和 Galous Counter 模式(AES-GCM)的 XEX Tweakable Block Cipher。现在支持以下新的额外算法: ECDH、ECDSA 和 AES-CCM。(BZ#924250)

程序错误修复

BZ#830109
在以前的版本中,不正确的变量大小被传递给 getsockopt ()函数。因此,在 datagram 模式中使用 BIO (OpenSSL I/O)层会导致使用分段错误终止。更具体地说,openssl s_client 命令在启用了 "-dtls1" 选项的 IBM System z 上意外终止。在这个版本中,使用正确大小的变量,datagram BIO 功能将不再使用 System z 上的分段错误终止。
BZ#919404
在此次更新之前,getaddrinfo ()函数返回一个在 openssl s_server 命令实现中错误错误。因此,OpenSSL s_server 无法在只使用 IPv4 的系统上工作。在这个版本中,当 getaddrinfo ()在 IPv6 地址上失败时,代码已被修改,以回退到 IPv4 地址查找。因此,openssl s_server 现在可以在只配置 IPv4 地址的计算机上正确启动。

功能增强

BZ#818446
现在,使用 Intel RDRAND 指令生成随机数字,并替换了默认的 OpenSSL 随机数字生成器。当 OpenSSL 以 FIPS 模式运行时,不使用该指令。
BZ#929291
改进了当前 IBM PowerPC 处理器上的 OpenSSL 性能。
BZ#951690
现在,在 OpenSSL 中启用了 elliptic curve 数字签名算法(ECDSA)和 elliptic curve Diffie-Hellman (ECDH)算法。这些算法只支持在美国标准和技术(NIST) Suite B 规范中列出的 elliptic curves。
BZ#951701
新的 "-trusted_first" 选项已添加到 OpenSSL 中。这可让首选本地存储的中间证书,而不是 TLS 服务器发送的中间证书。
BZ#969562
OpenSSL 库现在支持传输层安全(TLS)协议版本 1.1 和 1.2。
BZ#969564
在这个版本中,在使用在构建前配置 OpenSSL 时,使用 "%{_prefix}" 宏而不是在 openssl.spec 文件中硬编码的 /usr/ 目录。
BZ#987411
OpenSSL 现在支持 TLS 协议的下一个协议协商(NPN)扩展。此扩展允许在 TLS 握手期间协商应用程序协议,供应用程序使用。
BZ#993584, BZ#999867
由于 FIPS 验证要求,安装 FIPS 模块时必须运行 FIPS Power-on self-tests (POST)。对于库,这通过从动态库构造器函数运行 self-tests 来确保。如果安装了 dracut-fips 软件包,OpenSSL 现在将其视为一个指示 OpenSSL FIPS 模块已安装并完成,并在载入 OpenSSL 动态库时运行 self-tests。
建议 openssl 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。要使更新生效,必须重启链接到 OpenSSL 库的所有服务,或者系统重启。
修正了两个程序错误的 openssl 软件包现在可用于 Red Hat Enterprise Linux 6。
openssl 软件包提供了一个工具包,它实现了安全套接字层(SSL)和传输层安全(TLS)协议,以及一个完整的通用加密库。

程序错误修复

BZ#1025597
在以前的版本中,当 Cyrix CPU 上运行时,OpenSSL 代码会错误地使用 RDRAND 指令,这不支持它。因此,使用 OpenSSL 工具的应用程序在启动时意外终止。Cyrix CPU 上的 CPU 功能检测已被修复,使用 OpenSSL 的应用程序不会在上述场景中崩溃。
BZ#1025598
在此次更新之前,传输层安全(TLS)客户端公告对一些不支持的 elliptic curves 的支持。因此,服务器可能会选择不支持的 elliptic curve,客户端无法通过 TLS 与服务器通信。在这个版本中,OpenSSL TLS 客户端只公告它支持的 curves,并且与服务器的 TLS 通信(使用 Red Hat Enterprise Linux OpenSSL TLS 客户端不支持的 curves)现在可以建立。
建议 openssl 用户升级到这些更新的软件包,从而修复这些 bug。要使更新生效,必须重启链接到 OpenSSL 库的所有服务,或者系统重启。

8.136. openswan

Red Hat Enterprise Linux 6 现在提供了几个程序错误并添加各种改进的 openswan 软件包。
Openswan 是互联网协议安全(IPsec)和互联网密钥交换(IKE)的免费实现。IPsec 使用强大的加密来提供身份验证和加密服务。这些服务允许您通过不受信任的网络构建安全隧道。

程序错误修复

BZ#771612
在以前的版本中,在 /var/log/lastlog 文件中称为 grep 工具的 "ipsec barf" 命令会导致系统使用大量内存。在这个版本中,"ipsec barf"使用 "lastlog -u user" 命令,这会阻止工具使用太多内存。
BZ#831669
根据 RFC 5996 标准,无论其值如何,必须忽略保留字段。但是,对于某些有效负载,在接收时不会忽略保留字段的内容。因此,Openswan 报告出错信息,互联网密钥交换(IKE)协商失败。在这个版本中,Openswan 已被修改,忽略保留字段和 IKE 协商可以成功,无论保留字段值是什么。
BZ#831676
当在传输模式下配置连接时,Openswan 在安全关联(SA)设置过程中不会将流量选择器的信息传递给 NETKEY/XFRM IPsec 内核堆栈。因此,这些信息在 "ip xfrm state" 命令的输出中不可用。在这个版本中,当以传输模式设置 SA 时,Openswan 会正确地将流量选择器信息传递给内核。
BZ#846797
当隧道在两个 IPsec 主机(如 host1 和 host2)之间建立时,使用死对等检测 DPD,如果 host2 在 host1 持续传输数据时,host1 会在 DPD 操作后持续排队多个阶段 2 请求。当 host2 重新上线时,将建立待处理阶段 2 请求的堆栈,保留一个新的 IPsec Security Association (SA),以及大量消耗系统资源并最终过期的额外 SA 组。在这个版本中,Openswan 在 host2 停机时只有一个待处理的阶段 2 请求,在 host2 备份时,只会建立一个新的 IPsec SA,从而防止这个程序错误。
BZ#848132
当隧道在两个 IPsec 主机(如 host1 和 host2)之间建立时,使用 "dpdaction=restart" 选项,如果 host2 离线并且已激活了 Dead Peer Detection (DPD),新的 phase1 替换启动了重新传输,但会受有限数量的重试,即使"keyingtries=%forever"选项被激活,也会设置它。如果 host2 没有及时重新连接,则 phase1 替换过期,然后隧道在旧的 phase1 安全关联(SA)过期前不会重新密钥(默认为大约 10 分钟)。这意味着,使用 "dpdaction=restart" 选项只允许对等窗口重新连接。在这个版本中,phase1 替换将继续尝试重新密钥,从而避免重新传输限制和超时。
BZ#868986
在以前的版本中,使用 "rightid" 连接选项中指定的证书(包含逗号)被忽略,这些连接不会因为 ID 不匹配而被验证。在这个版本中,Openswan 现在支持 "rightid" 选项的 OID 字段中的转义逗号。
BZ#881914
在以前的版本中,当使用 SHA2 摘要算法签名的证书用于对等身份验证时,连接设置会失败并显示以下错误:
digest algorithm not supported
这个程序错误已被解决,Openswan 现在可以识别这些证书并正确设置连接。
BZ#954249
openswan 软件包用于互联网协议安全(IPsec)包含两个诊断命令 "ipsec barf" 和 "ipsec look",这可能会导致 NAT 和 IP 连接跟踪的 iptables 内核模块被加载。在非常忙碌的系统中,载入此类内核模块可能会导致性能下降,或者在内核耗尽资源时造成崩溃。在这个版本中,诊断命令不会导致加载 NAT 和 IP 连接跟踪模块。这个版本不会影响已经使用 IP 连接跟踪或 NAT 作为 iptables 和 ip6tables 服务的系统,这些内核模块已加载。
BZ#958969
在以前的版本中,当 IPsec 守护进程(pluto)试图验证证书撤销列表(CRL)的签名时,如果签名值以零字节开头,且另一个零为零,则 mpz ()函数剥离所有前导零。这会导致网络安全服务(NSS)数据输入较短,因此当 NSS 将其长度与 modulus 长度进行比较时,无法验证失败。在这个版本中,转换删除了到任意的算术(bignum)对象,并通过移动指针来转发并减少签名长度,从而处理前导零。因此,即使签名中带有前导零,验证 CRL 现在可以正常工作。
BZ#960171
在以前的版本中,plutomain.c 文件中的 load_crls ()和 load_authcerts_from_nss () 函数的顺序不正确。因此,当 IPsec 守护进程(pluto)尝试加载 /etc/ipsec.d/crls/ 目录中的证书撤销列表(CRL)时,加载会失败,因为当没有可用的认证机构(CA)时,加载会失败,因为会检查载入的证书颁发机构(CA)。在这个版本中,交换了 plutomain.c 文件中上述功能的顺序,现在 pluto 不再在启动过程中失败,并成功加载 CRL。
BZ#965014
在以前的版本中,Openswan Internet Key Exchage 版本 2 (IKEv2)实现不会将 "reserved" 字段设置为零。因此,Openswan 没有通过 TAHI IKEv2 测试。在这个版本中,Openswan 将 "reserved" 字段设置为零,并成功通过 TAHI IKEv2 测试。
BZ#975550
在以前的版本中,当在 Openswan 中的互联网密钥交换版本 2 (IKEv2)算法中使用 MD5 哈希来连接到另一个 IPsec 实现,例如强大的,有时安装的内核安全策略条目与另一端上的相应值不同。因此,即使安全关联(SA)被正确建立,也无法建立连接。在这个版本中,这些值在 Openswan 中正确设置,连接可以成功建立。
BZ#985596
在以前的版本中,当使用 FIPS 模式时,Openswan 不允许使用 SHA2 算法。在这个版本中,启用了在 FIPS 模式中使用 SHA2 算法。
BZ#994240
对将流量选择器传递给传输模式的 XFRM IPsec 堆栈的初始支持不完整,且不包括 NAT 遍历支持的必要工作。因此,Openswan 无法与使用 NAT-Traversal 的设备建立 L2TP 连接。在这个版本中,IPsec Security Association (SA)的方向传递给 netlink_setup_sa ()函数,以便客户端 IP 替换为主机 IP,选择器可用于 NAT 传输模式。
BZ#1002633
在这个版本中,Openswan 使用 dracut-fips 来确定它是否应该以 FIPS 模式运行。

功能增强

BZ#916743
在这个版本中,引入了控制 IPsec 连接的传输延迟时间的功能。
BZ#880004
在这个版本中,Openswan 支持互联网密钥排除(IKE)碎片。Openswan 现在可以成功连接到支持 IKE 碎片的设备。
BZ#908476
对 Internet Key Exchage 版本 1 (IKEv1) INITIAL-CONTACT IPsec 消息的支持,如 RFC2407 规格第 4.6.3.3 节中所述。这解决了一个互操作性错误,因为对等点不会将现有的 IPsec Security Association (SA)替换为新协商的,除非存在通知 Payload 消息。
BZ#957400
内核模块 aesni_intel 现在被 Openswan 在启动时加载。这个更新显著提高了在运行高级加密标准新指令(AES-NI)的机器上 Openswan 的性能。
BZ#959568
Openswan 的默认行为是发送 NAT-Traversal keepalive 数据包。禁用发送 keepalive 数据包之前是一个全局选项。在这个版本中,用户可以禁用每个连接的 NAT-Traversal keepalive 数据包发送。
建议 openswan 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.137. pacemaker

Red Hat Enterprise Linux 6 现在提供了修复一个安全问题、几个程序错误并添加各种改进的 pacemaker 软件包。
红帽安全响应团队将更新的安全影响级别较低。以下与描述相关的 CVE 链接中提供了通用漏洞评分系统(CVSS)基础分数,它给出了详细的严重性评级。
Pacemaker 是一个具有强大的策略引擎的高可用性集群资源管理器。

安全修复

CVE-2013-0281
在某些情况下,Pacemaker 执行身份验证和处理远程连接的方式中发现了一个拒绝服务缺陷。当将 Pacemaker 配置为允许远程 Cluster Information Base (CIB)配置或资源管理时,远程攻击者可以使用这个缺陷导致 Pacemaker 无限期阻断(阻止其他请求)。
注意
Red Hat Enterprise Linux 6 中的默认 Pacemaker 配置禁用了远程 CIB 管理功能。
升级到上游版本
pacemaker 软件包已升级到上游版本 1.1.10,它提供很多程序错误修复和增强:
* Pacemaker 不再假设未知的 cman 节点已被安全停止。
* 内核转储文件现在将所有退出代码转换为正的 'errno' 值。
* Pacemaker 在隔离太多隔离失败后确保返回稳定状态,并在声明节点被隔离时启动关闭。
* crm_error 工具添加了列出和打印错误符号的功能。
* crm_resource 命令允许重新探测到单个资源,并实施"--ban"选项来移出节点。"--clear"选项已替换 "--unmove" 选项。另外,crm_resource 现在支持使用 "--force" 选项时的 OCF 跟踪。
* IPC 机制恢复 haclient 组的成员连接到集群的功能。
* Policy Engine 守护进程允许在没有仲裁的情况下隔离当前成员资格中的活跃节点。
现在,在显示匿名克隆状态时,策略引擎会阻止有意义的 ID,支持单一节点的维护模式,并在操作前正确处理恢复的资源。
现在,在导出 XML 文本时,会检查 XML 配置文件是否有非打印字符,并替换为对应的八进制值。另外,还实施了更可靠的缓冲区分配策略,以防止锁定。
(BZ#987355)

程序错误修复

BZ#902407
"crm_resource --move"命令是为 atomic 资源而设计的,无法处理多个节点上的克隆、主控机或从设备上的资源。因此,crm_resource 无法获取足够信息来移动资源,也不会执行任何操作。添加了"--ban"和"--clear"选项,以允许管理员指示集群不当。克隆、主资源和从资源现在可以按预期在集群中导航。
BZ#908450
hacluster 用户帐户没有在系统上保留的用户标识(UID)或组标识(GID)号。因此,在安装过程中随机选择 UID 和 GID 值。UID 和 GID 号 189 为 hacluster 保留,现在始终用于所有安装。
BZ#913093
某些集群使用的节点主机名与 "uname -n" 命令的输出不匹配。因此,crm_standby 和 crm_failcount 命令使用的默认节点名称不正确,并导致集群忽略管理员的更新。crm_node 命令现在在帮助程序脚本中使用,而不是 uname 实用程序。因此,集群的行为如预期。
BZ#951371
由于返回码处理不正确,在更新配置失败时,crm_mon 工具的内部恢复逻辑不会被执行,从而导致断言失败。现在,返回码会被正确检查,对预期错误状态的恢复现在会被透明处理。
BZ#996850
与 Pacemaker 结合使用时,CMAN 的自动取消隔离功能会失败。添加了对 Pacemaker 中自动取消隔离的支持,不再发生不必要的行为。
建议所有 pacemaker 用户升级到这些更新的软件包,其中包含向后移植的补丁来更正这些问题并添加这些改进。

8.138. pam

现在,Red Hat Enterprise Linux 6 提供了添加一个增强的 pam 软件包。
可插拔验证模块(PAM)提供一个系统来设置身份验证策略,而无需重新编译程序来处理身份验证。

功能增强

BZ#976033
在 TTY audit 期间,通常不需要或不需要记录审计操作器输入的密码。在这个版本中,为 pam_tty_audit PAM 模块添加了一个增强,因此只有在使用 "log_passwd" 选项时,才会在 TTY 控制台中输入的密码记录。因此,除非使用了 pam_tty_audit 的"log_passwd"选项,否则不再记录密码。请注意,在 Red Hat Enterprise Linux 6.5 之前,这个选项不适用于内核版本。
建议 pam 用户升级到这些更新的软件包,这会添加此增强。

8.139. papi

现在,Red Hat Enterprise Linux 6 提供了修复几个程序错误并添加了各种改进的 papi 软件包。
PAPI (性能应用程序编程接口)是一个软件库,提供对处理器的性能监控硬件的访问。这样,开发人员可以跟踪与性能相关的事件,如缓存未命中、指令停用和时钟周期,以更好地理解软件的性能问题。
升级到上游版本
papi 软件包已升级到上游版本 5.1.1,它提供很多程序错误修复和增强,包括对 Intel Xeon Processor E5-XXXX v2 架构的支持。(BZ#831751)

程序错误修复

BZ#740909
由于 makefile 中缺少依赖项,PAPI 库并行重建会失败。在这个版本中,在 makefile 中添加了新的规则来解决这个问题。因此,可以在上述场景中成功重建 PAPI。
BZ#785258
在以前的版本中,当在 Intel Xeon Processor E5-XXXX 节点上启用了 Hyper-threading 时,PAPI libary 无法将 performance-monitoring 硬件配置为计算浮点操作。这个程序错误已被解决,上面提到的错误不再发生。
BZ#883475
由于 papi.spec 文件中的 ldconfig 设置不正确,所以当 root 用户执行进程时,papi 无法从 srpm 文件重建。在这个版本中,底层源代码已被修改来解决这个问题。
BZ#883766
在以前的版本中,当安装了之前版本的 papi 时,papi 软件包无法从 srpm 文件构建。在构建过程中,papi 的新版本会尝试链接到之前安装的 papi-devel 软件包的 libpfm.so 文件,这会导致 papi 意外终止。在这个版本中,引入了一个补丁来重新排序构建期间的文件链接顺序,以便首先使用本地构建的文件。因此,papi 是使用以前版本正确构建的。

功能增强

BZ#726798, BZ#831751, BZ#947622
PAPI 库添加了对 Intel Xeon Processor E5-XXXX 和 Intel Xeon Processor E5-XXXX 架构的支持。
BZ#743648
添加了对通过 PAPI 访问各种能源和性能寄存器的支持。
BZ#785975
在这个版本中,PAPI 界面中有几个小的小小小错误已被修正。
BZ#866590
添加了 papi-static 子软件包,以便为静态链接提供库。
BZ#910163
添加了 papi-testsuite 子软件包来允许测试 papi。
建议所有 papi 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.140. parted

更新了 parted 软件包,修复几个程序错误现在可用于 Red Hat Enterprise Linux 6。
parted 软件包提供了用于创建、销毁、调整大小、移动和复制硬盘分区的工具。parted 程序可用于为新操作系统创建空间,重组磁盘使用情况,并将数据复制到新的硬盘。

程序错误修复

BZ#851705
从包含唯一分区的设备映射器多路径(DM-Multipath)设备中删除分区后,parted 工具无法按预期删除 DM-Multipath 设备,直到系统重启为止。在这个版本中,libparted 库中的一个 bug 已被修复,parted 现在可以正确地删除 DM-Multipath 设备。
BZ#869743
在以前的版本中,parted 工具只能处理大小限制为未签名的 32 位整数的循环设备。因此,使用带有大于 4 GiB 的 loop 设备的 parted 会失败。在这个版本中,上述限制已增加到未签名的 64 位整数,并且支持 loop 设备最多 2^64 大小。
BZ#631928
在以前的版本中,parted 工具无法处理超过 65535 cylinders 的扩展地址卷(EAV)直接访问存储设备(DASD)。因此,无法使用 parted 分区 EAV DASD 驱动器,在 EAV DASD 驱动器中安装会失败。在这个版本中,增加了对大于 65535 cylinders 的 EAV DASD 设备的支持,parted 现在可以正确处理它们。
建议 parted 用户升级到这些更新的软件包,从而修复这些程序错误。

8.141. pcs

现在,Red Hat Enterprise Linux 6 提供了修复几个程序错误的 pcs 软件包,并添加各种改进。
pcs 软件包提供了一个命令行工具来配置和管理 Pacemaker 和 Corosync 工具。
升级到上游版本
pcs 软件包已升级到上游版本 0.9.90,它提供很多程序错误修复和增强,包括改进的稳定性和错误检查。(BZ#993115)

程序错误修复

BZ#901588
在以前的版本中,pcs 工具不会显示约束规则 ID 和资源操作 ID。因此,用户无法使用 pcs 删除规则,且必须使用其他工具或直接编辑集群信息基础(CIB)。这个更新添加了 "--full" 选项,它显示资源操作和约束规则的 ID,用户现在可以使用 pcs 处理规则。
BZ#901607
在以前的版本中,pcs 工具无法创建限制来提升或降级 master 和 slave 资源。因此,无法使用 pcs 提升或降级 master 和 slave 资源。在这个版本中,pcs 添加了使用 constriants 来提升或降级主资源和从资源的功能。
BZ#902450
在以前的版本中,当用户使用 monitor 操作创建资源时,然后尝试更新 monitor 操作,而不是更新 monitor 操作。因此,无法在 pcs 工具中更新资源监控操作。这个程序错误已被解决,在 pcs 中更新资源监控操作现在可以正常工作。
BZ#902453
当用户在创建资源时选择了不存在的资源代理时,pcs 实用程序不会显示任何错误消息。因此,资源无法启动,但不会通知用户。在这个版本中,添加了一个错误消息,在需要时可以使用 "--force" 标志覆盖,用户现在会在选择不存在的资源代理时正确通知。
BZ#902460
在以前的版本中,当用户提交 unrecognized 选项时,pcs 工具不包含特定的错误消息。因此,pcs 返回回溯而不是错误消息。有了这个更新,pcs 会在上述场景中打印特定的错误消息。
BZ#903712
在检查 Pacemaker 集群的配置时,"pcs config"命令不会显示配置为 master 和 slave 资源的资源。因此,用户必须直接分析 Cluster Information Base (CIB)来查看配置的 master 和 slave 资源及其选项。在这个版本中,提供了一个补丁来解决这个问题,因此 "pcs config" 命令现在显示所有资源,包括 master 和 slave 资源。
BZ#912496
在此次更新之前,在使用 pcs 实用程序创建资源时无法指定多个资源操作。因此,只能创建一个操作的资源。"pcs resource create" 命令已更新,用户现在可以使用多个操作创建资源。
BZ#912498
在以前的版本中,当资源有多个操作时,它们都在同一行中显示。因此,很难查看特定资源的所有操作。在这个版本中,每个资源操作都会在自己的行中显示。
BZ#912528
在以前的版本中,pcs 工具不包含清理资源失败的命令。因此,用户无法清理失败的资源。在这个版本中,添加了 "pcs resource cleanup" 命令来解决这个问题。
BZ#915248
在以前的版本中,pcs 工具不支持检查或重置资源的故障计数。因此,用户必须使用其他不支持的工具。在这个版本中,用户可以使用 "pcs resource failcount show" 和 "pcs resource failcount reset" 命令重置并查看特定资源的失败计数。
BZ#916993
在此次更新之前,pcs 实用程序没有 man page。因此,用户必须使用 "pcs --help" 命令而不是查看 man page。添加了 pcs (8)手册页,用户现在可以使用"man pcs"命令查看 pcs 的完整文档。
BZ#920767
在以前的版本中,pcs 工具不包含管理或不管理资源组的支持。因此,用户只能管理和取消管理单个资源。在这个版本中,增加了必要的支持,用户可以管理和取消管理整个资源组。
BZ#998970
在以前的版本中,在 pcs 实用程序中删除包含资源的组无法正常工作。因此,组被删除,但资源会保留。这个程序错误已被解决,"pcs resource delete " 命令现在可以正确地删除组及其包含的资源。

功能增强

BZ#887926
在这个版本中,增加了对使用标准编辑器为 pcs 实用程序编辑集群配置的支持。这将保存用户的几个步骤,包括保存集群信息基础(CIB),编辑它,然后将其推送回集群。用户可以使用 "pcs cluster edit" 命令在一个步骤中编辑和更新集群配置。
建议 pcs 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.142. perl

现在,Red Hat Enterprise Linux 6 提供了修复几个程序错误并添加各种改进的 perl 软件包。
Perl 是一个高级编程语言,通常用于系统管理实用程序和 Web 编程。
升级到上游版本
perl 软件包升级至上游版本 2.021,它提供很多程序错误修复和增强。改进了对 64 位 ZIP 存档的支持。特别是,现在正确报告大于 2^32 字节的文件大小。(BZ#810469)

程序错误修复

BZ#767608
在以前的版本中,引用带有不匹配名称的命名捕获组会导致内存泄漏。在这个版本中,底层源代码已被修改,以避免在这种情况下出现内存泄漏。
BZ#819042
当执行 Pod::Man 或 Pod::Text 模块中的 parse_file ()函数时,没有指定功能输出,parse_file ()终止。在这个版本中,parse_file ()已修改为默认使用标准输出。因此,parse_file ()不再会失败,并显示未定义的输出。
BZ#825713
在此次更新之前,find2perl 工具会错误地翻译了包含问号("?")字符的全局表达式。因此,Perl 代码与 'find' 命令行工具不同的表达式匹配。在这个版本中,全局表达式转换器已被修改,find2perl 与 'find' 工具相同的 glob 表达式匹配。
BZ#839788
退出声明了其 destructor 方法但尚未定义的对象范围,这会导致 Perl 解释器意外终止。这个程序错误已被解决,解释器现在可以按预期处理未定义的破坏性方法。
BZ#905482
当构建 XML-LibXSLT 库时,没有安装 libgdm-devel 软件包,它无法链接到其他库。在这个版本中,glibc-devel、gdbm-devel 和 db4-devel 软件包已添加到运行时依赖项的 perl-devel 列表中。因此,现在可以在不复杂的情况下构建原生 Perl 库。
BZ#920132
在模型的子例程中执行带有 "format" 选项的 Perl 代码时,Perl 解释器会意外终止并出现分段错误。在这个版本中,在 perl 软件包中添加了各种向后移植修复。因此,现在可以在没有复杂情况的情况下以模型的子程序格式使用格式。
BZ#973022
在此次更新之前,XML::Simple::XMLin ()解析器没有处理 Getopt::Long::GetOptions ()处理程序的输入。因此,XML::Simple::XMLin ()报告了一个不支持的方法。在这个版本中,Getopt::Long::GetOptions ()已修改为生成一个简单的字符串输出,其他 Perl 模块可以在不复杂的情况下读取其他 Perl 模块。
BZ#991852
安装自定义信号处理程序后,perl 脚本会尝试访问特定于线程的解释器结构。这个结构已被禁用,Perl 会终止分段错误。这个 bug 已被修复,Perl 脚本不再询问解释器结构。因此,Perl 不再在上述场景中崩溃。

功能增强

BZ#985791
在这个版本中,在 perl-core dependences 列表中添加了 CGI.pm 模块。CGI.pm 现在与 perl-core 软件包一起安装。
建议 perl 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.143. Perl-CGI-Session

Red Hat Enterprise Linux 6 现在提供了一个更新的 perl-CGI-Session 软件包,它修复了一个程序错误。
CGI-Session 是一个 Perl5 库,可在 HTTP 请求之间提供简单、可靠和模块化的会话管理系统。Persistency 是此类应用程序的一个关键功能,如购物车、登录/身份验证例程和应用,需要跨 HTTP 请求传输数据。

错误修复

BZ#657359
在以前的版本中,软件包中缺少几个构建时依赖项。因此,无法从源重建软件包。在这个版本中,在软件包中添加了缺少的依赖项,现在可以按预期从源重建。
建议 perl-CGI-Session 用户升级到这个更新的软件包,从而解决了这个问题。

8.144. perl-Config- General

现在,Red Hat Enterprise Linux 6 提供了更新的 perl-Config-General 软件包,它们修复了几个程序错误并添加各种改进。
Config::General Perl 模块能够解析和写入配置文件,并提供对其数据的面向对象的访问。此外,Config::General 模块与 Apache 配置文件 100% 可读取兼容,尽管也可以创建并访问简单的名称/值配置文件。也提供某些增强功能,如 here-documents、C 样式注释和多行选项。
升级到上游版本
perl-Config-General 软件包已升级到上游版本 2.52,它提供很多程序错误修复和增强。这些更改最重要的如下:
* 当提供 Config::General 模块而不是配置文件时,模块会静默接受它并返回空配置哈希。在这个版本中,如果配置文件参数是一个目录,且"directory include"选项没有开启,则模块现在会调用 croak ()函数。
* 解析现在接受块关闭字符 ">" 后的空格。
* save_file ()函数和命名块(第二部分以斜杠字符(/)开头)现在可以用于将有效配置正确写入文件。"
* 在这个版本中,如果 "-SaveSorted" 选项关闭,则 sort () 函数不再用于数组。
* 修复了字符转义错误。转义 $"$" 或反斜杠"\" 字符现在可以正确地处理。
现在,在保存到文件时,会保持绑定的哈希值。
* 在变量插入过程中保留单引号已被修正。现在,递增器用于标记单引号,而不是使用 rund ()函数。
* 空配置值不再手动手动解释方法。
* 引进了插件 closures 的 "-Plug" 参数已添加到 perl-Config-General 软件包中。
* "-NoEscape" 切换(关闭每个字符的转义)已添加到 perl-Config-General 软件包中。
* 参数 "-NormalizeOption", "-NormalizeBlock" 和 "-NormalizeValue" (使用子例程引用并相应地更改块选项或值)已添加到 perl-Config-General 软件包中。
* 一个新的选项 "-AllowSingleQuoteInterpolation",该选项会在单引号内为变量开启,并被添加到 perl-Config-General 软件包中。
* 一个新的选项 "-ForceArray" 已添加到 perl-Config-General 软件包中。启用后,以方括号 "[ ]" 括起的单个配置值将变为强制数组。
有了这个升级的 perl-Config-General 软件包,用户可以更有效地编写和处理其配置文件。(BZ#658946)
建议 perl-Config-General 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.145. perl-DateTime

现在,Red Hat Enterprise Linux 6 提供了修复一个程序错误的 perl-DateTime 软件包。
datetime 是表示日期/时间组合的类,是 Perl DateTime 项目的一部分。

错误修复

BZ#978360
在以前的版本中,DateTime::Duration 没有识别为 2012-07-01,这会导致在 2012-06-30T23:59:60 秒之间出现不准确的计算时间持续时间。要修复这个程序错误,在 2012-06-30 的末尾会附加一秒到 perl-DateTime leap second database。使用 Perl 模块 DateTime 和 DateTime::Duration 的时间算术现在正确地识别 2012-06-30 秒的步调。
建议 perl-DateTime 用户升级到这些更新的软件包,从而解决了这个问题。

8.146. perl-Makefile-Parser

Red Hat Enterprise Linux 6 现在提供了一个更新的 perl-Makefile-Parser 软件包,它修复了一个程序错误。
perl-Makefile-Parser 初始目的是为 Makefile::GraphViz 模块提供基本支持,它旨在呈现使用 GraphViz 库的 Makefile 指定的构建过程。

错误修复

BZ#657496
在以前的版本中,当在没有安装 perl-Time-HiRes 软件包的情况下构建 perl-Makefile-Parser 源 RPM 软件包时,构建过程无法执行 Makefile.PL 脚本。在这个版本中,对 MDOM::Document::Gmake, MDOM::Util, 和 Time::HiRes Perl 模块的构建时依赖项已添加到 RPM 软件包中,且 perl-Makefile-Parser 源软件包现在可以如预期在最小环境中构建。
建议 perl-Makefile-Parser 的用户升级到这个更新的软件包,从而解决了这个问题。

8.147. perl-Net-DNS

现在,Red Hat Enterprise Linux 6 提供了修复一个程序错误的 perl-Net-DNS 软件包。
Perl 软件包提供了高级别编程语言 Perl,它通常用于系统管理实用程序和 Web 编程。

错误修复

BZ#766357
在以前的版本中,一个 AAAA 记录的动态更新会导致 DNS 模块在创建 RDATA 条目时导致 DNS 模块返回 FORMERR 错误,即使地址永远不会指定。因此,从 DNS 区域中删除 AAAA 记录会失败。在这个版本中,添加了一个检查,以确保定义了所需的数据并删除 AAAA 记录现在可以正常工作。
建议 perl-Net-DNS 用户升级到这些更新的软件包,从而解决了这个问题。

8.148. perl-Socket6

现在,Red Hat Enterprise Linux 6 提供了修复一个程序错误的 perl-Socket6 软件包。
此模块支持 getaddrinfo ()和 getnameinfo ()函数来启用独立于协议的程序。如果用户的环境支持 IPv6,则包括与 IPv6 相关的定义,如 AF_INET6。

错误修复

BZ#953873
在调用 Socket6 的 man page 时,未找到 man page。构建脚本已被修复,将 POD (Plain Old Documentation)转换为手册页。因此,"man Socket6"命令会如预期正确显示 Socket6 (3)手册页。
建议 perl-Socket6 用户升级到这些更新的软件包,从而解决了这个问题。

8.149. Perl-Test-Memory-Cycle

Red Hat Enterprise Linux 6 现在提供了更新的 perl-Test-Memory-Cycle 软件包,它修复了一个程序错误。
perl-Test-Memory-Cycle 软件包提供可以搜索循环参考,这不能被 Perl 的垃圾收集器收集。

错误修复

BZ#621089
在以前的版本中,perl-Test-Memory-Cycle 软件包缺少构建要求。因此,无法构建软件包。在这个版本中,对 perl-Test-Memory-Cycle.spec 文件和 perl-Test-Memory-Cycle-Cycle 增加了 perl-CGI 软件包的要求,现在可以按预期构建。
建议 perl-Test-Memory-Cycle 用户升级到这个更新的软件包,从而解决了这个问题。

8.150. perl-Test-MockObject

更新了 perl-Test-MockObject 软件包,现在 Red Hat Enterprise Linux 6 提供了修复一个程序错误的 perl-Test-MockObject 软件包。
test::MockObject 是一个高度多学测试对象,能够像所有种类的对象一样。这使得白box 测试更加容易,因为您可以集中精力测试代码,并从模拟对象接收代码,而不必担心建立自己的数据。

错误修复

BZ#661804
在测试执行时,构建 perl-Test-MockObject 源 RPM 软件包而不安装 perl-CGI 软件包会失败。为修复此错误,RPM 软件包中声明了对 CGI、Test::Builder 和 Test::More Perl 模块的构建时依赖项。因此,可以在最小环境中重建 perl-Test-MockObject 源 RPM 软件包。
建议 perl-Test-MockObject 用户升级到这些更新的软件包,从而解决了这个问题。

8.151. perl-XML-Dumper

现在,Red Hat Enterprise Linux 6 提供了更新的 perl-XML-Dumper 软件包,它修复了一个程序错误。
perl-XML-Dumper 软件包提供 XML::Dumper 模块,允许将 Perl 对象转换为 XML 格式。XML::Dumper 也可以读取之前由模块转储的 XML 数据,并将其转换为 Perl 对象。为确保其正确行为,应该在同一环境中转换和重建 Perl 对象。与 Compress::Zlib 模块一起安装时,XML::Dumper 也可以将数据转储到,并从中读取数据,即带有 ".xml.gz" 扩展名的压缩文件。

错误修复

BZ#652833
由于 XML::Parser 模块缺少依赖项,无法使用 XML::Dumper 模块。在这个版本中,在 perl-XML-Dumper spec 文件中添加了所需的依赖项,XML::Dumper 现在可以按预期使用。
建议 perl-XML-Dumper 用户升级到这个更新的软件包,从而解决了这个问题。

8.152. php

Red Hat Enterprise Linux 6 现在提供了修复三个安全问题、几个程序错误和添加一个增强的 php 软件包。
红帽安全响应团队将此更新的安全影响级别定为具有中等安全影响。一般漏洞评分系统(CVSS)基础分数(提供详细的严重性评级)提供了以下每个描述的 CVE 链接中的每个漏洞。
PHP 是 Apache HTTP 服务器常用的 HTML-embedded 脚本语言。

安全修复

CVE-2006-7243
发现 PHP 没有正确处理带有 NULL 字符的文件名。远程攻击者可能会使用这个缺陷使 PHP 脚本访问意外文件,并绕过预期的文件系统访问限制。
CVE-2013-4248
在处理包含 NULL 字节的证书时,PHP 的 SSL 客户端主机名身份检查中发现了一个安全漏洞。如果攻击者能够精心设计由受信任的证书颁发机构签名的证书,攻击者可以利用证书对欺骗 SSL 服务器进行中间攻击。
CVE-2013-1643
找到 PHP SOAP 解析器允许在 SOAP 消息解析过程中扩展外部 XML 实体。远程攻击者可能会使用此缺陷来读取可通过 SOAP 扩展访问 PHP 应用程序的任意文件。

程序错误修复

BZ#892158, BZ#910466
在以前的版本中,当禁用 allow_call_time_pass_reference 设置时,在尝试处理某些 PHP 内容时,Apache 服务器上的虚拟主机可能会终止并带有分段错误。这个程序错误已被解决,当 allow_call_time_pass_reference 为 off 时,虚拟主机不再崩溃。
BZ#947429
在此次更新之前,如果在 fclose ()的操作期间出现错误,file_put_contents ()或 copy ()函数,则函数不会报告它。这可能会导致数据丢失。在这个版本中,上述功能已被修改以正确报告任何错误。
BZ#969110
SQLSTATE 错误代码的内部缓冲区可以存储最多 5 个字符。在以前的版本中,当某些调用超过这个限制时,会出现缓冲区溢出。在这个版本中,超过 5 个字符的消息会自动替换为默认的 "HY000" 字符串,从而防止溢出。

功能增强

BZ#953814
在这个版本中,在 php 软件包中添加以下 rpm 宏: %__php、%php_inidir、%php_incldir。
建议 php 用户升级到这些更新的软件包,从而修复这些 bug 并添加此功能增强。安装更新的软件包后,必须重启 httpd 守护进程才能使更新生效。

8.153. piranha

更新了 piranha 软件包,修复两个程序错误现在可用于 Red Hat Enterprise Linux 6。
Piranha 为 Red Hat Enterprise Linux 提供高可用性和负载平衡服务。piranha 软件包包含各种工具来管理和配置 Linux 虚拟服务器(LVS),以及心跳和故障转移组件。LVS 是一个动态调整的内核路由机制,可提供负载平衡,主要用于 Web 和 FTP 服务器。

程序错误修复

BZ#903711
在以前的版本中,当所有真实服务器都不可用时,lvsd 守护进程无法正确激活"sorry server"回退服务。因此,没有可用真实服务器的虚拟服务的传入流量不会定向到"sorry server"。这个程序错误已被解决,当没有实际服务器可用时,lvsd 守护进程现在可以正确激活"sorry server"。
BZ#980169
在某些情况下,大多数是由网络中断、director 之间的高延迟或主动 keepalive 和 deadtime 设置导致的,当 pulse 守护进程信号时,lvsd 守护进程无法正确终止。因此,lvsd 在具有多个虚拟 IP (VIP)的 master 和备份目录上运行。在这个版本中,lvsd 已被修改来正确地捕获和处理 pulse 守护进程中的所有信号。现在,冗余 VIP 会被正确删除。
建议 piranha 用户升级到这些更新的软件包,从而修复这些 bug。

8.154. 389-ds-base

更新了 389-ds-base 软件包,修复几个程序错误可用于 Red Hat Enterprise Linux 6。
389 Directory Server 是一个兼容 LDAPv3 的服务器。基本软件包包括用于服务器管理的轻量级目录访问协议(LDAP)服务器和命令行工具。

程序错误修复

BZ#830334
由于对错误代码的不正确的解释,目录服务器将无效的链配置设置视为磁盘完整错误并意外终止。现在,使用更合适的错误代码,当指定无效的链配置设置时,服务器将不再关闭。
BZ#905825
从 Red Hat Enterprise Linux 6.3 升级到 6.4 后,升级脚本不会更新 PamConfig 对象类的 schema 文件。因此,由于 schema 违反,无法使用 PAM 的新功能(可插拔验证模块),如多个实例和 pamFilter 属性的配置。在这个版本中,升级脚本会如预期更新 PamConfig 对象类的 schema 文件。因此,新功能现在可以正常工作。
BZ#906005
在以前的版本中,valgrind 测试套件报告 modify_update_last_modified_attr() 功能中的重复内存泄漏。每个修改调用的 60-80 字节之间平均泄漏的大小,这可能会导致具有频繁修改操作的环境出现问题。在这个版本中,在 modify_update_last_modified_attr() 功能中不再会出现内存泄漏的问题。
BZ#906583
在某些情况下,目录服务器 (DS)无法替换仅在字母情况下与旧值不同的新值的多值属性。因此,会显示代码 20 错误消息:
Type or value exists
在这个版本中,DS 被修改为正确处理修改请求,现在可在不复杂的情况下更改属性值的字母大小写。
BZ#907985
在某些情况下,在尝试使用 uidNumber 属性创建条目时,DNA (Distributed Numeric Assignment)插件使用 DB_LOCK_DEADLOCK 错误代码记录消息。这个 bug 已被修复,DNA 现在可以正确处理这种情况,错误将不再记录在上述场景中。
BZ#908861
Posix Winsync 插件是不必要的调用内部 modify() 功能。这个内部 modify() 调用失败并记录以下信息:
slapi_modify_internal_set_pb: NULL parameter
在这个版本中,Po ix Winsync 已被修复,不再调用 modify()。因此,上面提到的消息将不再记录。
BZ#910581
在某些情况下,/etc/dirsrv/slapd-dstet-mkubik/dse.ldif 文件在服务器终止或系统关闭时使用 0 字节写入。因此,在系统重启后,DS 或 IdM 系统有时无法启动,从而导致生产服务器中断。写入 dse.ldif 的服务器机制已被修改,在上述情况下,服务器中断不再发生。
BZ#913215
在此次更新之前,当尝试删除 tombstone 条目时,ns-slapd 守护进程会意外终止,并带有 segmentation 错误。这个程序错误已被解决,删除 tombstone 条目不再会导致 ns-slapd 崩溃。
BZ#921937
在以前的版本中,schema-reload 插件不是 thread-safe。因此,在负载下执行 schema-reload.pl 脚本可能会导致 ns-slapd 进程意外终止,并显示 segmentation 错误。在这个版本中,schema-reload 已修改为 thread-safe,schema-reload.pl 现在可以与其他 LDAP 操作一起执行,而无需复杂情况。
BZ#923407
由于 DNA (Distributed Numeric Assignment)插件中存在不正确的锁定计时,在 DNA 操作与其他插件一起执行时会出现死锁。这个版本移动有问题的锁定的发行时间,DNA 不再导致上述场景中死锁。
BZ#923502
在某些情况下,超出范围本地变量会导致 modrdn 操作意外终止,并显示 segmentation 错误。在这个版本中,修改本地变量的声明,使其不会超出范围。因此,modrdn 操作不再崩溃。
BZ#923503
在以前的版本中,启用了 replica-force-cleaning 选项的 cleanallruv 任务不会删除所有配置属性。因此,每次服务器重启时都会启动该任务。在这个版本中,cleanallruv 搜索机制已被修改,cleanallruv 在服务器重启时不再重启。
BZ#923504
由于 Acl 插件中的一个错误,在不存在的条目中使用 getEffectiveRights 请求时,会出现 NULL pointer dereference。因此,服务器会意外终止,并显示分段错误。在这个版本中,Acl 已被修改来检查 NULL 条目指针。因此,当在不存在的条目中使用 getEffectiveRights 请求时,服务器不再崩溃。
BZ#923909
由于默认 sasl_io 缓冲区的大小不足,因此服务器可能会拒绝 SASL 连接。在这个版本中,缓冲区大小增加到 65,536 字节。此外,用户可以使用 nsslapd-sasl-max-buffer-size 设置来增加这个值。现在,在没有复杂情况的情况下接受 SASL 连接。
BZ#947583
在以前的版本中,在一些情况下,负责 389-ds-base 软件包中复制冲突解析的代码无法正常工作,如冲突 DN 生成、检索已删除的父条目,以及检查已删除的条目的范围。因此,可能会创建一个具有正子计数、但没有子级的中间节点条目。然后,服务器拒绝删除此类条目。在这个版本中修复了复制冲突解析代码,从而防止创建不正确的节点条目。
BZ#951616
在以前的版本中,如果 Active Directory 上的组包含位于非同步类型的容器中的成员,则与 LDAP 服务器同步组会失败。因此,有效成员不会被同步。在这个版本中,这些容器中的条目会被忽略,在上述情况下同步现在可以成功。
BZ#953052
在此次更新之前,389-ds-base 软件包中的某些架构定义不符合 LDAP RFC 2252 标准。因此,可能会发生 LDAP 客户端的问题。在这个版本中,这些架构定义已被修正,以符合 LDAP RFC 2252。
BZ#957305
在非常高的数百个同时连接和操作负载时,目录服务器 可能会在连接处理代码中遇到竞争条件。因此,服务器会意外终止,并显示分段错误。在这个版本中,更新连接对象的代码已移到连接 mutex 对象中。因此,目录服务器 不会在高负载下崩溃。
BZ#957864
在此次更新之前,simple Paged Results 控制不支持异步搜索。因此,如果 Directory 服务器收到大量异步搜索请求,则有些请求会终止并显示错误 53:
LDAP_UNWILLING_TO_PERFORM
在这个版本中,在 简单页面结果中实现了异步搜索支持。因此,Directory 服务器 可以安全地处理密集型异步搜索请求。
BZ#958522
在以前的版本中,当从数据库载入条目时,会调用 str2entry_dupcheck() 功能而不是更合适的 str2entry_fast() 功能。这个行为已被更改,现在在上述场景中调用 str2entry_fast()
BZ#962885
出于安全原因,Red Hat Enterprise Linux Identity Mangement 服务器的升级将 nsslapd-port 变量的值改为 "0"。nsslapd-port 还用来构造复制使用的 RUV (Replica Update Vector)。在以前的版本中,如果复制启动代码找到了一个 nsslapd-port,它会删除 RUV。因此,复制变得无响应。在这个版本中,在上述场景中不再删除 RUV,从而防止复制挂起。
BZ#963234
在以前的版本中,目录服务器 无法正确处理空控制列表。因此,会返回 LDAP 协议错误。有了这个更新,目录服务器 已被修改来处理零长度的序列,从而防止错误。
BZ#966781
当新 LDAP 连接的请求与新 LDAPS 或 LDAPI 连接的请求同时存在时,目录服务器 仅处理 LDAP 请求。在这个版本中,Directory 服务器 已被修改,以同时处理所有监听程序请求。
BZ#968383
在此次更新之前,在创建无效的外部 SASL 绑定时会返回不正确的错误代码(err=0)。在这个版本中,上述场景中会返回正确的错误代码(err=48)。
BZ#968503
当目录服务器 (DS)在处理 startTLS 请求时遇到错误,服务器会尝试将响应写回客户端。因此,DS 变得无响应。有了这个更新,即使出现网络错误,DS 已被修改来正确处理 startTLS 请求。因此,在上述场景中 DS 不再挂起。
BZ#969210
在以前的版本中,listen() 函数的 backlog 参数的大小被设置为 "128"。因此,如果服务器处理了大量同时连接请求,服务器可能会因为超过 backlog 大小而丢弃连接请求。在这个版本中,添加了一个 nsslapd-listen-backlog-size 属性,以允许更改 backlog 大小。
BZ#970995
在以前的版本中,Directory 服务器 的磁盘监控功能无法正常工作。如果日志记录功能被设置为 "critical" 并禁用了日志记录,则会删除轮转的日志。如果属性 nsslapd-errorlog-level 被明确设置为任何值,即使为零,磁盘监控功能不会按预期停止 Directory 服务器。在这个版本中,修正了磁盘监控功能的设置,当达到关键阈值时服务器会关闭。
BZ#971033
在此次更新之前,存储当前连接的客户端数量的连接属性被错误地递增两次,包括 disconnect_server_nomutex()connection_reset() 功能。因此,属性包含不正确的值。这个程序错误已被解决,连接 现在存储了正确的连接的客户端数量。
BZ#972976
当目录服务器 (DS)同时使用复制和 DNA 插件时,并且为同一条目发送 ADD 或 DELETE 请求的客户端,DS 返回以下信息:
modify_switch_entries failed
这个程序错误已被解决,上述消息将不再返回。
BZ#973583
Directory Server (DS)重启后,内部 密码 属性不会被保留。在以前的版本中,在重启 DS 后尝试删除 密码,从而导致 DS 意外终止。在这个版本中,DS 已被修改,以检查 password 属性是否存在,如果没有,则跳过删除。因此,在上述情况下 DS 不再崩溃。
BZ#974361
在此次更新之前,当使用 account 策略 插件为基于 createTimestamp 属性的单个用户配置策略时,在 consequent 绑定后会覆盖 createTimestamp。因此,帐户策略 无法锁定用户。在这个版本中,在成功绑定和 帐户策略 后,createTimestamp 不再被修改,现在会按预期锁定用户。
BZ#974719
在某些情况下,在处理 tombstone 条目时 modrdn 操作的行为不一致会导致 Directory Server (DS)意外终止。在这个版本中,DS 被修改为使用 modrdn 正确处理 tombstones,从而防止崩溃。
BZ#974875
在此次更新之前,当将属性配置为加密时,在线导入无法在服务器上加密此属性。在这个版本中,允许在在线导入过程中对消费者进行加密,从而修复这个程序错误。
BZ#975243
在以前的版本中,在从帐户策略中删除 createTimestamp 属性后,此属性仍然由 Directory Server (DS)应用。这个 bug 已被修复,现在可将 createTimestamp 从 DS 帐户策略中删除。
BZ#975250, BZ#979169
在以前的版本中,随着并发搜索、更新和复制操作的组合,死锁可能会在更改日志读取器、写入器和主数据库写入器之间发生。因此,更新操作会失败。在这个版本中,引入了一个新的 nsslapd-db-deadlock-policy 配置参数。此参数的默认值被设置为 9,它会在死锁时终止最后一个锁定程序。在将这个值更改为 6 后,会终止具有最少写入锁定的锁定程序,建议遇到频繁死锁的用户。
BZ#976546
在此次更新之前,如果在搜索过程中跳过某些请求的属性,则返回的属性名称和值有时会转换为大写。在这个版本中,删除了不是从请求的属性集中授权的属性,因此返回的属性或值的名称以正确的形式保留。
BZ#979435
在以前的版本中,在修改多 master 复制环境中的单值属性后,这个更改不会复制到其他服务器。在这个版本中,处理复制更新的代码已被修改。因此,对单值属性的修改操作会被正确复制。
BZ#982325
在以前的版本中,使用 ldapmodify 工具将 "nsslapd-disk-monitoring-threshold" 属性设置为大值可以正常工作,但由于 ldapsearch 工具中的一个错误,treshold 的值会显示为负数。在这个版本中,显示 ldapsearch 中的 bug 和正确的 treshold 值。
BZ#983091
在以前的版本中,目录服务器(DS)无法正确释放旧连接使用的内存。因此,当长时间打开和关闭数百个连接时,会出现内存泄漏。在这个版本中,DS 已被修改为释放旧连接使用的内存。因此,在上述场景中,内存泄漏不再发生。
BZ#986131
由于 USN (Update Sequence Number)配置,rootdse 目录中 lastusn 变量的初始值显示为 "18446744073709551615" 而不是预期的 "-1"。这个版本为初始 lastusn 添加了特殊处理。因此,这个值会如预期设置为 "-1"。如果在 USN 索引文件中找到负值,它将重置为初始值。
BZ#986424
在这个版本中,修正了几个小代码错误,以防止出现内存泄漏和稳定性问题。
BZ#986857
如果日志记录功能没有设置为"critical",则在磁盘空间检查过程中会错误地跳过日志目录的挂载点。修正了对配置设置的处理,日志目录不再被跳过。
BZ#987703
在以前的版本中,当将 set_krb5_creds ()函数用于复制传输或绑定时,会泄漏内存泄漏。底层源代码已被修改,内存泄漏不再发生。
BZ#988562
当多个客户端连接到目录服务器(DS)时,每个客户端都添加和删除用户,则服务器死锁可能会出现。在这个版本中,引入了一个新的补丁来防止死锁。
BZ#989692
评估服务器端排序请求时,仅从请求中的第一个属性注册"排序类型"参数,即使具有不同的"sort type"值,也会忽略以下属性:因此,排序操作被错误地执行。在这个版本中,目录服务器已被修改,以便对请求中的每个排序属性的服务器端排序会重置"排序类型"。现在,排序会被正确处理。
BZ#1002260
由于模式错误,Directory 服务器(DS)无法在系统升级后启动。这个程序错误已被解决,在上述情况下 DS 现在可以正常工作。
BZ#1006846
如果在初始化子后端前配置了复制,则不会使用真实子后缀条目更新临时子后缀。因此,服务器搜索无法返回子后缀下的条目。在这个版本中,当添加真实的子后缀时,entryrdn 索引中的临时条目 ID 替换为实际条目 ID。因此,搜索可以成功返回子后缀条目。
BZ#1007452
对于 nsDS5ReplicaName 变量的特定值,复制可能会被破坏。在这个版本中,所有副本名称都会被正确处理。
BZ#1008013
在某些情况下,Directory 服务器在使用 TLS 或 SSL 协议处理多个传出和传入的操作时时变得无响应。底层源代码已被修改,在这种情况下,服务器不再挂起。
BZ#1013735
在以前的版本中,如果目录服务器(DS)与不支持 CLEANALLRUV 任务的副本一起工作,则运行此任务会导致 DS 无响应。在这个版本中,DS 被修改为跳过不支持 CLEANALLRUV 的副本,从而解决了这个问题。
BZ#1016038
在以前的版本中,当检查 Active Directory (AD)条目时,只检查目标的直接子级。因此,处于更深入的 AD 条目不会与 Directory 服务器同步。这个程序错误已被解决,目标的子目录现在在和所有级别同步。
建议 389-ds-base 用户升级到这些更新的软件包,从而修复这些 bug。

8.155. pki-core

更新了 pki-core 软件包,它们现在为 Red Hat Enterprise Linux 6 提供了修复三个程序错误的 pki-core 软件包。
Red Hat Certificate System 是一个企业软件系统,用于管理企业公钥基础架构(PKI)部署。PKI 核心包含红帽认证系统所需的基本软件包,这些软件包由证书颁发机构(CA)子系统组成。
注:此公告提供的证书颁发机构组件不能用作独立服务器。它作为 Red Hat Enterprise Linux 中的身份管理(IPA 组件)的一部分安装并运行。

程序错误修复

BZ#887305
在以前的版本中,在安装 pki-ca 软件包后,/var/run/pki/ca/ 目录被分配一个不正确的 SElinux 上下文。在这个版本中,restorecon 命令在安装后的 /var/run/pki/ca/ 上应用。因此,这个目录现在使用正确的 SElinux 上下文进行标记。
BZ#895702, BZ#999055
在此次更新之前,当 pki-ca 守护进程在 Red Hat Enterprise Linux 6.4 Identity Management 服务器上重启时,会报告 AVC 拒绝。在这个版本中,pki-ca 已被修改,在上述场景中不再报告 AVC 拒绝。
BZ#998715
pki-selinux 软件包为特定默认路径设置文件上下文,以便在创建 Red Hat Certificate System 实例时不需要设置上下文。在此次更新之前,当安装 pki-selinux 时,如果这些路径不存在,则会显示不必要的警告信息。现在,这些信息会被禁止。
建议所有 pki-core 用户升级到这些更新的软件包,从而修复这些程序错误。

8.156. policycoreutils

Red Hat Enterprise Linux 6 现在提供了几个程序错误并添加一个改进的 policycoreutils 软件包。
policycoreutils 软件包包含安全增强型 Linux (SELinux)系统及其策略的基本操作所需的核心工具。

程序错误修复

BZ#860506
在以前的版本中,一些 semanage 命令行选项无法按预期工作。在这个版本中,这些选项已被修正,现在可以进行。
BZ#868218
有了这个更新,semanage man page 已更新,以便与 semanage 帮助页面中包含的信息保持一致。
BZ#886059
由于 policycoreutils 软件包中的一个错误,安装 ipa-server-selinux 软件包会失败。这个 bug 已被修复,ipa-server-selinux 现在可以在不复杂的情况下安装。
BZ#913175
在此次更新之前,Sandbox 工具不接受在 /etc/sysconfig/sandbox 文件中指定的符号链接。因此,执行 "sandbox -M" 命令会失败,并显示 "No such file or directory" 信息。底层源代码已被修改,现在可以在不复杂的情况下在 /etc/sysconfig/sandbox 中配置符号链接。
BZ#916727
在以前的版本中,fixfiles 脚本无法识别描述 /sbin/ip6?tables-multi* 文件的正则表达式的更改。因此,使用 yum update 命令更新系统后,这些文件会被错误地标记。在这个版本中,fixfiles 已被修正,可以接受正则表达式的更改。
BZ#918460
在此次更新之前,在执行 "semanage boolean -m" 命令后,会返回回溯。这个程序错误已被解决,上面提到的场景中不再显示回溯信息。
BZ#928320, BZ#947504
在以前的版本中,semanage 工具不允许在目录和文件上设置"none"上下文。因此,在尝试这样做时会显示以下信息:
/usr/sbin/semanage: Type none 无效,必须是文件或设备类型
这个程序错误已被解决,现在可以在不复杂的情况下设置"none"上下文。
BZ#967728
在此次更新之前,audit2allow 命令的"-o"选项覆盖输出文件的内容,而不是仅附加新内容。这个程序错误已被解决,"audit2allow -o"现在可以正常工作。
BZ#984484
尝试启用不存在的 SELinux 布尔值后,会生成一个简短的错误消息。在这个版本中,将此消息修改为更加明确。
BZ#998974
在尝试永久更改不存在的布尔值后,会生成不正确的错误消息。这个消息已被修改,以提供关于问题原因的正确信息。

功能增强

BZ#916734
在这个版本中,可以在运行 restorecon 工具时排除所选文件,这可以显著减少执行时间。
建议 policycoreutils 用户升级到这些更新的软件包,从而修复这些 bug 并添加此功能增强。

8.157. powertop

现在,Red Hat Enterprise Linux 6 提供了修复几个程序错误并添加各种改进的 powertop 软件包。
powertop 是一个检测所有软件组件的工具,使计算机在空闲时消耗超过必要电源。powertop 可用于在系统上运行各种命令来降低功耗。
升级到上游版本
powertop 软件包升级至上游版本 2.3,它提供很多程序错误修复和增强,包括更正任意接口名称的处理。另外,还添加了 ondemand governor 的可用性。另外,还进行了一些更改,以增强用户体验并简化和改进电源管理性能分析功能。(BZ#682378, BZ#697273, BZ#829800)

错误修复

BZ#998021
每个进程打开文件描述符的默认软限制为 1024,每个进程文件描述符的默认硬限制为 4096。通过使用性能计数器子系统,PowerTOP 工具可能会超过复杂系统的限值。因此,会显示有关缺少对 perf 的内核支持的错误消息。在这个版本中,添加了一个修复程序,它会临时将当前进程的软和硬文件描述符限制增加到内核限制。如果内核限制仍不足,PowerTOP 会显示一条错误消息,表示应手动增加文件描述符限制。
建议 powertop 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.158. pykickstart

Red Hat Enterprise Linux 6 现在提供了一个更新的 pykickstart 软件包,它修复了几个程序错误并添加一个增强。
pykickstart 软件包包含一个 python 库,用于操作 kickstart 文件。

程序错误修复

BZ#886010
当将 autopart 命令与一个 kickstart 文件中其他 kickstart 分区命令合并时,安装会意外地进行错误。底层源代码已被修改,如果用户获得通知,如果 kickstart 文件包含无效分区,则会中止安装并显示 parse 错误。
BZ#924579
当 kickstart 文件指定了名称相同的两个逻辑卷时,安装会失败并显示以下错误消息:
AttributeError: 'LogVolData' 对象没有属性 'device'
在这个版本中,重复的名称会被正确检测到,并显示适当的错误消息。
BZ#966183
在运行包含 "network" 命令的 kickstart 文件时,指定了 "--ipv6" 选项,安装可能会意外终止,并显示以下信息:
TypeError: 不是在字符串格式化过程中转换的所有参数
这个版本提供了一个补丁来修复这个程序错误,在上述场景中可以按预期工作。

功能增强

BZ#978252
此功能增强添加了在 kickstart 文件中为 "network" 命令指定 "--ipv6gateway" 选项的功能。因此,可以使用 "network" 命令为网络设备配置指定 IPv4 和 IPv6 默认网关。
建议 pykickstart 用户升级到这个更新的软件包,从而修复这些程序错误并添加了此增强。

8.159. pyparted

现在,Red Hat Enterprise Linux 6 提供了修复一个程序错误的 pyparted 软件包。
pyparted 软件包包含 libparted 库的 Python 绑定。它们主要由 Red Hat Enterprise Linux 安装软件使用。

错误修复

BZ#896024
由于底层源代码中的一个错误,尝试运行 parted.version ()函数会导致返回系统错误。这个程序错误已被解决,parted.version ()现在可以按预期执行。
建议 pyparted 用户升级到这些更新的软件包,从而解决了这个问题。

8.160. python

现在,Red Hat Enterprise Linux 6 提供了修复一个安全问题、几个程序错误和添加一个增强的 python 软件包。
红帽安全响应团队将此更新的安全影响级别定为具有中等安全影响。一般漏洞评分系统(CVSS)基础分数(提供详细的严重性评级)提供了以下每个描述的 CVE 链接中的每个漏洞。
Python 是一个解释、交互式的编程语言。

安全修复

CVE-2013-4238
在 Python SSL 模块处理包含 NULL 字节的 X.509 证书字段的方式中发现了一个安全漏洞。攻击者可能会利用此漏洞对欺骗 SSL 服务器进行中间人攻击。请注意,要利用此问题,攻击者需要获得由客户端信任的授权签署的精心设计的证书。

程序错误修复

BZ#521898
在以前的版本中,python-tools 子软件包中的一些 Python 可执行文件以 #!/usr/bin/env python shebang 开始。这使得安装和使用其它 Python 版本变得更加困难。在这个版本中,这些可执行文件的第一行已被明确引用 Python 系统版本的 #!/usr/bin/python 替代。现在,可以在不复杂的情况下使用用户首选 Python 版本
BZ#841937
在此次更新之前,sqlite3.Cursor.lastrowid 对象不接受在 Turkish 区域中指定的插入语句。因此,当使用图形安装程序安装 Red Hat Enterprise Linux 6 时,选择 "Turkish" 作为安装语言会导致安装失败。在这个版本中,sqlite3.Cursor.lastrowid 已被修复,安装不会在 Turkish 区域下失败。
BZ#845802
在以前的版本中,SysLogHandler 类将 UTF-8 字节顺序标记(BOM)插入到日志消息中。因此,这些消息被评估为具有紧急优先级级别,并记录到所有用户控制台。在这个版本中,SysLogHandler 不再将 BOM 附加到日志消息,现在消息被分配了正确的优先级级别。
BZ#893034
在以前的版本中,当系统上不存在 /dev/urandom 文件时, random.py 脚本无法导入随机模块。这会导致后续程序(如 Yum )意外终止。这个程序错误已被解决,即使没有 /dev/urandomrandom.py 也会按预期工作。
BZ#919163
WatchedFileHandler 类对竞争条件敏感,这会导致出现异常。因此,轮转一个新的日志文件会失败。WatchedFileHandler 已被修复,日志轮转现在可以正常工作。
BZ#928390
在此次更新之前,Python 没有从某些安全套接字层(SSL)证书读取备用主题名称。因此,检查证书主机名时可能会出现假的身份验证失败。在这个版本中解决了处理 Alternative Subject Names 和 false 验证错误的问题。
BZ#948025
在以前的版本中,SocketServer 模块无法正确处理系统调用中断。这会导致某些 HTTP 服务器意外终止。在这个版本中,SocketServer 已修改为处理中断,服务器在上述场景中不会再崩溃。
BZ#958868
timeout=None 参数传递给 subprocess.Popen() 功能会导致 Eventlet 库的上游版本意外终止。这个程序错误已被解决,在上述情况下 Eventlet 不再会失败。
BZ#960168
当进入带有启用 SSLSocket 类的服务器的连接无法传递自动 do_handshake() 功能时,连接会保持打开状态。这个问题只会影响 Python 2 版本。底层源代码已被修复,失败的传入连接现在可以正确关闭。
BZ#962779
当有多个 libexpat.so 库可用时,Python 无法选择正确的库。在这个版本中,向 _elementtree.so 添加了一个明确的 RPATH,从而解决了这个问题。
BZ#978129
在以前的版本中,urlparse 模块无法正确为任意 XML 方案解析 URL 的查询和片段部分。在这个版本中,urlparse 已被修复,在这种情况下可以保证正确的解析。

功能增强

BZ#929258
在这个版本中,将 collections.OrderedDict 数据结构添加到 集合 软件包中。collections.OrderedDict 在应用程序代码中用于确保当 json.dumps 例程转换为字符串时,会以相同的顺序发出内存中 python 字典。
建议所有 python 用户升级到这些更新的软件包,其中包含向后移植的补丁以更正这些问题并添加此功能增强。

8.161. python-beaker

更新了 python-beaker 软件包,用于修复一个程序错误,并现在可用于 Red Hat Enterprise Linux 6。
python-beaker 软件包提供了 Beaker,它是一个 Web 会话和通用缓存库,其中包括用于 Web 应用程序的 Web 服务器网关接口(WSGI)中间件。

错误修复

BZ#983292
在以前的版本中,Beaker 使用 MD5 算法来生成唯一的十六进制编码的会话标识符。但是,默认情况下,这个算法在 FIPS 模式下由 Python 运行时支持。因此,使用 Beaker 的 Web 应用程序在特定环境中创建新会话。有了这个更新,MD5 已被 SHA1 算法替代,后续的十六进制编码使用 Base64 编码方案。因此,Beaker 在 FIPS 环境中可以正常工作。
建议 python-beaker 用户升级到这些更新的软件包,从而解决了这个问题。

8.162. python-ethtool

现在,Red Hat Enterprise Linux 6 提供了修复两个程序错误的 python-ethtool 软件包。
python-ethtool 软件包在 Python 编程环境中提供 ethtool 内核接口,以允许查询和更改以太网卡设置,如速度、端口、自动协商和 PCI 位置。

程序错误修复

BZ#855920
在以前的版本中,当只为 IPv6 设置时,firstboot.loader 模块中的 _haveNetwork ()例程会返回 "False"。因此,没有网络连接。应用了检测 IPv6 活跃设备的补丁,_haveNetwork ()例程现在会如预期返回 "True"。
BZ#876211
在此次更新之前,如果更多 IPv4 地址绑定到一个接口,pifconfig 脚本会显示网络接口的信息,无法生成正确的输出。因此,会报告两个具有相同 IPv4 地址的接口。应用了补丁,pifconfig 脚本现在可以正确地报告多个 IPv4 地址。
建议 python-ethtool 用户升级至这些更新的软件包,从而修复这些 bug。

8.163. python-urlgrabber

更新了修复一个程序错误的 python-urlgrabber 软件包现在可用。
python-urlgrabber 软件包提供 urlgrabber、Python 编程语言的高级 url-fetching 软件包,以及相同名称的对应实用程序。urlgrabber 软件包允许 Python 脚本使用 HTTP 和 FTP 协议以及本地文件系统获取数据。

错误修复

BZ#807030
在以前的版本中,当用户使用 reposync 命令将远程 Yum 存储库同步到本地目录时,源代码中的缺陷会导致回溯错误,当 utime ()系统调用出错时。在这个版本中修正了源代码中的错误,上面描述的场景中不再会出现回溯错误。
建议 python-urlgrabber 用户升级到这些更新的软件包,从而解决了这个问题。

8.164. python-urwid

Red Hat Enterprise Linux 6 现在提供了修复了几个程序错误并添加了各种改进的 python-urwid 软件包。
python-urwid 软件包提供了一个库,用于在 Python 编程环境中开发文本用户界面应用程序。
升级到上游版本
python-urwid 软件包已升级到上游版本 1.1.1,它提供很多程序错误修复和增强。除了其他更改外,这个更新还解决了在 Red Hat Enterprise Linux 6 中使用的以前的 python-urwid 版本不兼容的问题。这些不兼容性对于 Red Hat Enterprise Virtualization Hypervisor 存在一个问题,它需要 python-urwid 软件包用于其新的用户界面。(BZ#970981)
建议 python-urwid 用户升级到这些更新的软件包,这会添加这些改进。

8.165. python-virtinst

现在,Red Hat Enterprise Linux 6 提供了更新的 python-virtinst 软件包修复了几个程序错误并添加一个增强。
python-virtinst 软件包包含多个命令行工具,包括用于构建和安装新虚拟机的 virt-install 以及用于克隆现有虚拟机的 virt-clone。

程序错误修复

BZ#861972
如果有重复的 USB 设备连接到主机设备,请将 vendorId 或 productId 值传递给 "--host-device" 选项会导致 virt-install 工具使用以下信息终止:
需要 ERROR 'vendor' 和 'product' 或 'bus' 和 'device'。
这个消息没有告知重复设备,这会导致错误。该消息已被修改为:
ERROR 15e1:2007 对应于多个节点设备
现在,用户会收到有关安装失败的真正原因的信息。
BZ#916875
在以前的版本中,当 "--disk" 参数包含 hash ("cephfs")字符时,会显示不正确的错误信息。这个程序错误已被解决,错误消息现在可以正确通知不支持的字符。
BZ#921480
在此次更新之前,virt-install 工具默认创建稀疏逻辑卷。但是,稀疏逻辑卷需要进一步配置,因此只应该由高级用户或管理应用程序创建。在这个版本中,非稀疏模式是默认值且唯一可用的设置。
BZ#946972
在个别情况下,virt-clone 工具在克隆操作过程中显示不正确的速度统计信息。这个程序错误已被解决,当 virt-clone 处于操作时会显示正确的速度值。
BZ#954262
在某些情况下,当系统中有 ".treeinfo" 文件时,virt-install 工具会尝试从该文件中获取镜像信息。如果 ".treeinfo" 没有包含此信息,virt-install 会意外终止。这个程序错误已被解决,virt-install 现在会在 ".treeinfo" 不完整时使用默认值。
BZ#980334
在以前的版本中,尝试从 "qxl" 更改视频设备的模型类型,从而导致 virt-manager 工具返回以下出错信息:
更改虚拟机配置时出错: XML error: ram 属性只支持 qxl 类型
底层源代码已被修改,现在可以在不复杂的情况下更改视频设备的模型类型。

功能增强

BZ#958496
这个更新提供了 virt-manager 工具支持的安装环境的修订列表。
建议 python-virtinst 用户升级到这些更新的软件包,从而修复这些 bug 并添加此功能增强。

8.166. python-weberror

Red Hat Enterprise Linux 6 现在提供了一个更新的 python-weberror 软件包,它修复了一个程序错误。
python-weberror 软件包提供 WebError,它是一个 web 应用程序的错误手动库,用作 Web 服务器网关接口(WSGI)中间件。

错误修复

BZ#746118
在以前的版本中,当为处理的错误分配标识符时,WebError 中间件使用 MD5 算法。但是,默认情况下,这个算法在 FIPS 模式下由 Python 运行时支持。因此,当 web 应用程序在 FIPS 模式中引发异常,且异常由 WebError 处理时,会提供不完整的错误诊断。在这个版本中,基于 MD5 的错误标识不会被自动生成,从而避免在错误标识符没有进一步处理时出现问题。
建议 python-weberror 用户升级到这个更新的软件包,从而解决了这个问题。

8.167. qemu-kvm

针对 Red Hat Enterprise Linux 6 提供了修复一个安全问题的 qemu-kvm 软件包、几个程序错误并添加各种改进。
红帽安全响应团队将此更新的安全影响级别定为具有重要安全影响。一般漏洞评分系统(CVSS)基础分数(提供详细的严重性评级)提供了以下每个描述的 CVE 链接中的每个漏洞。
KVM (基于内核的虚拟机)是 AMD64 和 Intel 64 系统中 Linux 的完整虚拟化解决方案,内置于标准 Red Hat Enterprise Linux 内核。qemu-kvm 软件包形成了用户空间组件,以使用 KVM 运行虚拟机。
CVE-2013-4344
当为单个 SCSI 目标指定 256 个 LUN 时,在 QEMU 处理 SCSI "REPORT LUNS" 命令的方式中发现了一个缓冲区溢出缺陷。特权的客户机用户可以使用此缺陷来破坏主机上的 QEMU 进程内存,这可能会导致具有 QEMU 进程特权的主机上的任意代码执行。
该问题是由 Asias He of Red Hat 发现的。

程序错误修复

BZ#974617
在以前的版本中,当使用 qcow2 文件格式重启磁盘镜像的分配请求时,计数器变量不会被正确重置。因此,在某些情况下,这些磁盘镜像会被破坏。在这个版本中,对可用集群的数量以 qcow2 格式计算的方式改变,在上述场景中 qcow2 磁盘不再损坏。
BZ#927336
由于计算中的整数溢出,在使用 Virtio Balloon Driver 且超过 4 GB 内存时,qemu-kvm 工具在 QMP (QEMU Machine Protocol)上报告不正确的内存大小。现在,提供了一个补丁来修复这个程序错误,qemu-kvm 现在会报告正确的当前 RAM 数量。
BZ#917860
在以前的版本中,Microsoft Windows XP 和 Microsoft Windows 7 客户机的智能卡模拟会失败,因为 Answer To Reset (ATR)文件长度与智能卡输入/输出设备错误不一致。在这个版本中,会创建一个具有适当历史字节的 ATR 文件长度,并在需要时禁用 USB 信号。现在,智能卡模拟可以正常工作,上面提到的场景中不再会出现故障。
BZ#916020
在以前的版本中,qemu-kvm 工具没有启用 IOeventFD 功能,这会导致对 virtio-blk 设备的 IOeventFD 支持被静默禁用。这个版本启用了 IOeventFD 功能,对 virtio-blk 设备的 IOeventFD 支持可以正常工作。

功能增强

BZ#670162
实施了使用 qemu-img rebase 命令删除后备文件的新功能。现在,运行 qemu-img rebase 命令时不会发生数据丢失。
BZ#963420
Red Hat Enterprise Linux 6.5 对 VHDX (Hyper-V 虚拟硬盘)提供只读支持,如 Microsoft Hyper-V 创建的。
BZ#960685
Red Hat Enterprise Linux 6.5 对 VMDK (虚拟机磁盘)的只读支持提供了很多改进,包括其子格式,包括由许多 VMware 虚拟化解决方案创建的。
BZ#848070
更新了 QEMUGlusterFS 的支持,允许使用 libgfapi 库的原生访问 GlusterFS 卷,而不是通过本地挂载的 FUSE 文件系统进行本地访问。这种原生方法提供了显著的性能改进。
BZ#884253
从 Microsoft Windows 客户机内支持卷控制。用户现在可以使用 AC'97 codec 完全控制 Microsoft Windows XP 客户机上的卷级别。
BZ#914802
在这个版本中,实现了对转储虚拟磁盘元数据的支持。主机上运行的第三方应用程序现在可以读取客户机镜像内容,而无需了解 QCOW2 镜像格式的详细信息。这可以与 Linux 设备映射器一起使用,以作为 Linux 块设备访问 QCOW2 镜像。
BZ#911569
与 Windows VSS (Visual SourceSafe)版本类似,现在可以使用附加到客户机上运行的 QEMU 客户机代理的脚本来创建应用一致性快照。这些脚本可以通知应用程序在冻结或波动操作期间将其数据刷新到磁盘,从而允许执行一致的快照。
BZ#817066
当系统以 FIPS (Federal Information Processing Standards)模式下运行时,VNC 密码身份验证被禁用。
建议所有 qemu-kvm 用户升级到这些更新的软件包,其中包括向后移植补丁以更正这些问题并添加这些改进。安装此更新后,关闭所有正在运行的虚拟机。所有虚拟机都关闭后,再次启动它们以使此更新生效。
更新了 qemu-kvm 软件包,用于修复几个程序错误的 Red Hat Enterprise Linux 6。
KVM (基于内核的虚拟机)是 AMD64 和 Intel 64 系统上 Linux 的完整虚拟化解决方案。qemu-kvm 是使用 KVM 运行虚拟机的用户空间组件。

程序错误修复

BZ#1025596
最近对块层的更改会导致磁盘 I/O 性能下降,因为在内部计算和缓存块长度的方式。这个版本改进了计算此类长度的逻辑,并将性能恢复到预期级别。
BZ#1029327
由于回归问题,"qemu-img info"命令用太多时间响应 "cluster_size=512,preallocation=metadata" 选项。这个程序错误已被解决,"qemu-img info"现在在一秒内做出响应。
BZ#1029327
在使用非常小的非标准集群大小(如 512 字节)创建的镜像中,如果镜像创建后立即运行,"qemu-img info"命令可能需要很长时间才能响应。这个程序错误已被解决,"qemu-img info"现在可以正常工作。
BZ#1029329
当使用 "--copy-storage-all" 选项进行实时迁移时,virsh 用户界面会失败,并显示以下错误消息:
"error: Unable to read from monitor: Connection reset by peer"
现在,由回归导致的这个程序错误已被解决,实时迁移现在可以成功完成。
BZ#1028252
在以前的版本中,qemu (例如,"qemu-img info"命令)无法打开 VMWare ESX 镜像文件。现在,提供了一个修复这个 bug 的补丁,xx 个镜像可以被正确处理。
建议 qemu-kvm 用户升级到这些更新的软件包,从而修复这些程序错误。

8.168. ql2400-firmware

Red Hat Enterprise Linux 6 现在提供了更新的 ql2400-firmware 软件包,它修复了几个程序错误并添加了各种改进。
ql2400-firmware 软件包提供运行 QLogic 2400 系列批量存储适配器所需的固件。
升级到上游版本
ql2400-firmware 软件包已升级到上游版本 7.00.01,它提供很多程序错误修复和增强。(BZ#996752)
建议所有 QLogic 2400 系列光纤通道适配器的用户升级到这个更新的软件包,从而修复这些 bug 并添加了这些改进。

8.169. ql2500-firmware

更新了 ql2500-firmware 软件包,它修复了几个程序错误,并现在为 Red Hat Enterprise Linux 6 提供了各种改进。
ql2500-firmware 软件包提供运行 QLogic 2500 系列批量存储适配器所需的固件。
升级到上游版本
ql2500-firmware 软件包已升级到上游版本 7.00.01,它提供很多程序错误修复和增强。(BZ#996754)
建议所有 QLogic 2500 系列光纤通道适配器的用户升级到这个更新的软件包,从而修复这些 bug 并添加这些改进。

8.170. quota

现在,Red Hat Enterprise Linux 6 提供了修复一个程序错误并添加了两个改进的配额软件包。
配额软件包包含一组系统管理工具,用于监控和限制文件系统上的用户和组磁盘使用情况。

错误修复

BZ#717948
当 SELinux 拒绝访问 quotacheck 工具时,"quotacheck -c"命令不会报告任何错误,且退出代码为 0。在这个版本中,quotacheck 内部被修改为使用适当的非零退出代码传播任何错误,并在无法使用旧配额文件时打印准确的警告。因此,quotacheck 现在会在文件系统上初始化配额时正确报告错误。

功能增强

BZ#890051
edquota 和 setquota 工具现在支持使用 multiplicative unit abbreviations (K, M, G, T)输入的输入值。
BZ#846120
在这个版本中,quotacheck 工具不再检查 GFS2 和 XFS 文件系统上的配额文件。由于这些文件系统没有任何配额文件,因此检查是多余的。
建议配额用户升级到这些更新的软件包,从而修复这个程序错误并添加这些改进。

8.171. rdesktop

现在,Red Hat Enterprise Linux 6 提供了修复几个程序错误并添加了各种改进的 rdesktop 软件包。
rdesktop 软件包是 Windows NT Terminal Server 和 Windows 2000 & 2003 Terminal Services 的开源客户端,能够原生使用远程桌面协议(RDP)来展示用户的 NT 桌面。
升级到上游版本
rdesktop 软件包升级至上游版本 1.7.0。它比之前的版本提供了很多程序错误修复和增强,包括对不正确的光标的修复和滚动渲染。(BZ#852890, BZ#914279)

错误修复

BZ#902912
由于 rdesktop 代码中存在一个错误,在使用 rdesktop 时,shell 中会持续显示错误消息。这个程序错误已被解决,在 rdesktop 会话中不再生成信息。

功能增强

BZ#701246
在这个版本中,在 rdesktop 软件包中添加了对集群 Windows Server 2008 R2 机器上的终端服务的支持。
建议 rdesktop 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.172. RDMA 堆栈

现在,Red Hat Enterprise Linux 6 提供了 rdma,libibverbs,libmlx4,librdmacm,qperf,perftest,openmpi,compat-openmpi,infinipath-psm,mpitests, 和 rds-tools 软件包。
红帽安全响应团队将此更新的安全影响级别定为具有中等安全影响。常见的漏洞评分系统(CVSS)基础分数提供了详细的严重性评级,适用于以下每个描述的 CVE 链接中的每个漏洞。
Red Hat Enterprise Linux 包括一组 Infiniband 和 iWARP 工具、库和开发软件包,用于编写使用远程直接内存访问(RDMA)技术的应用程序。

安全修复

CVE-2013-2561
在 ibutils 处理临时文件的方式中发现了一个安全漏洞。本地攻击者可以利用这个漏洞,通过符号链接攻击使任意文件被替换为 root 用户。
CVE-2012-4516
发现 librdmacm 使用静态端口连接到 ib_acm 服务。本地攻击者可以在该端口上运行一个特制的 ib_acm 服务,可以利用此漏洞为 librmdacm 应用程序提供不正确的地址解析信息。
CVE-2012-4516 问题是由红帽产品安全团队的 Florian Weimer 发现的。
此公告将以下软件包更新至最新的上游版本,与之前的版本相比,提供了很多程序错误修复和增强:
表 8.1. 升级的软件包
软件包名称上游版本
libibverbs1.1.7
libmlx41.0.5
librdmacm1.0.17
mstflint3.0
perftest2.0
qperf0.4.9
rdma3.10
在 openmpi, mpitests, ibutils, 和 infinipath-psm 软件包中解决了几个程序错误。
这些来自 RDMA 堆栈更新的软件包中最重要的更改如下:
  • 消息传递接口(MPI)测试软件包中的多个错误已被解决,允许更多 mpitest 应用程序在底层 MPI 实现上传递。
  • libmlx4 软件包现在包含 dracut 模块文件,以确保 initramfs dracut 构建中包含任何对 mlx4 端口类型的自定义配置。
  • perftest 和 qperf 软件包中的多个测试程序现在可以通过 RoCE 接口正常工作,或者在指定 rdmacm 队列对时正常工作。
  • mstflint 软件包更新至最新的上游版本,现在可以在新发布的 Mellanox Connect-IB 硬件上刻录固件。
  • openmpi 和 infinipath-psm 软件包之间的兼容性问题已使用这些软件包的新构建解决。
我们建议所有 RDMA 用户升级到这些更新的软件包,其中包含向后移植的补丁来更正这些问题并添加这些改进。

8.173. readahead

针对 Red Hat Enterprise Linux 6 提供了修复一个程序错误的 readahead 软件包。
readahead 软件包提供了一个实用程序,用于读取内存中文件的内容。在实际需要时,从缓存目录读取这些文件。它的目标是加快引导过程。

错误修复

BZ#1017072
readahead 软件包的 readahead-collect 工具会延迟系统引导时 auditd 守护进程的启动过程。这可能会导致审计、kdump 和运行级别切换出现各种问题。为加快引导过程,现在默认关闭 readhead。如果需要,可以通过编辑 /etc/sysconfig/readahead 文件来打开 readhead。
建议 readahead 用户升级到这些更新的软件包,从而解决了这个问题。

8.174. redhat-indexhtml

现在,Red Hat Enterprise Linux 6 提供了增加了两个改进的 redhat-indexhtml 软件包。
redhat-indexhtml 软件包包含一个欢迎页面,它会在成功安装 Red Hat Enterprise Linux 后在 Web 浏览器中显示。本网页提供有关 Red Hat Enterprise Linux 注册、文档和支持的信息。

功能增强

BZ#892016
在这个版本中,index.html 文件中的链接已被更新,以直接指向红帽客户门户网站和 Red Hat Enterprise Linux 6 发行注记。另外,对 index.html 版本的多个链接被修改为指向相应语言中的发行注记。
BZ#657558
为 Assamese、Bengali 和 Telugu 语言添加了 index.html 的翻译。
建议 redhat-indexhtml 用户升级到这些更新的软件包,从而添加了这些增强功能。

8.175. redhat-release

增强的 redhat-release 软件包现在可用于 Red Hat Enterprise Linux 6.5。
redhat-release 软件包包含有关 Red Hat Enterprise Linux 的许可信息,并确定已安装的版本 Red Hat Enterprise Linux。
这些更新的 redhat-release 软件包反映了对 Red Hat Enterprise Linux 6.5 版本所做的更改。
建议 Red Hat Enterprise Linux 6 用户升级到这些更新的 redhat-release 软件包,其中包括这个改进。

8.176. Red Hat Enterprise Linux 6.5 发行注记

现在提供了包含 Red Hat Enterprise Linux 6.5 发行注记的更新软件包。
Red Hat Enterprise Linux 次版本是单个增强、安全和程序错误修复勘误的集合。Red Hat Enterprise Linux 6.5 发行注记介绍了对 Red Hat Enterprise Linux 6 操作系统及其与该次发行版本相关的应用程序的主要更改。有关此次发行版本中的所有更改的详细备注,请参阅技术说明。
有关 Red Hat Enterprise Linux 6.5 发行注记的最新版本,请参阅在线发行注记:
https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux /6/html-single/6.5_Release_Notes/index.html

8.177. resource-agents

现在,Red Hat Enterprise Linux 6 提供了更新的 resource-agents 软件包,修复了几个程序错误并添加各种改进。
resource-agents 软件包包含一组脚本,用于与多个服务在 Pacemaker 和 rgmanager 服务管理器的高可用性环境中操作。

程序错误修复

BZ#784933
在以前的版本中,当使用 exportfs 工具重新定位导出的共享时,/var/llib/nfs/rmtab 文件的大小会被加倍。这个 bug 已被修复,/var/lib/nfs/rmtab 文件大小在上述场景中不再加倍。
BZ#851188
在此次更新之前,fs-lib.sh 代理在搜索 /proc/mounts 文件中的设备时无法识别结尾斜杠("/")字符。因此,NFSv4 挂载不会被监控。在这个版本中,fs-lib.sh 已被修改来跟踪斜杠字符。因此,NFSv4 挂载会如预期管理并监控。
BZ#853220
由于 oracledb.sh 脚本中的一个错误,当同一主目录中有多个 ORACLE 实例运行时,该脚本会生成不必要的延迟。这个 bug 已被修复,当多个 ORACLE 实例存在于主目录中时,oracledb.sh 现在可以在没有延迟的情况下工作。
BZ#871659
要完全关闭,postgres 代理需要接收 SIGINT 信号。在以前的版本中,这个信号没有发送,postgres 会执行硬关闭,而不是安全退出。这个行为已被修改,在关闭时将 SIGINT 发送到 postgres 以尝试安全退出,并在一段时间后发送 SIGQUIT 信号(如果代理仍然处于活动状态)。因此,postgres 在 stop 操作过程中执行安全关闭。
BZ#884326
在以前的版本中,如果设备在由 HA-LVM 工具控制的非冗余(不是镜像或 RAID)逻辑卷(LV)中失败,则整个 LV 可以从卷组中自动删除。这个程序错误已被解决,现在如果一个非冗余逻辑卷出现设备故障,HA-LVM 无法启动该服务,而不是强制从卷组中删除失败的 LV。
BZ#895075
在此次更新之前,ip.sh 代理没有配置包含大写字母的 IPv6 地址。因此,具有此类地址的资源会失败。在这个版本中,ip.sh 已修改为对 IPv6 地址敏感。因此,带有大写字母的 IPv6 地址现在由 ip.sh 正确配置。
BZ#908457
在以前的版本中,当启用 force_unmount 选项时,基于 fs-lib.sh 脚本(如 ip.sh )的代理会忽略 self_fence 选项。因此,配置的 self_fence 选项不会被启用。这个 bug 已被修复,无论 force_unmount 是什么,都会接受 self_fence
BZ#948730
在这个版本中,mount 工具生成的日志消息的优先级级别已从以前的 错误 改为更合适的 调试级别
BZ#959520
由于 /var/lib/nfs/statd/sm/ 目录不正确的 SELinux 上下文,rpc.statd 守护进程无法启动。只有在集群包含 NFS 挂载时会出现此问题。在这个版本中,修改文件如何复制到 /var/lib/nfs/statd/sm/ 目录,以便 SELinux 上下文从目标目录中继承。因此,rpc.statd 现在可以在不复杂的情况下启动。
BZ#974941
autofs 映射用于网络存储时,集群文件系统的代理("fs"),如 netfs.shfs.shclusterfs.sh 需要 use_findmnt 选项设为 'false'。在以前的版本中,当错误地设置 use_findmntautofs 映射不可用时,带有 "fs" 资源的 rgmanager 服务会变得无响应,直到网络恢复为止。底层源代码已被修改,rgmanager 服务在上述场景中不再挂起。
BZ#976443
在此次更新之前,lvm.sh 代理无法准确检测到集群节点所代表的标签。因此,当另一个节点重新加入集群时,集群节点中的活跃逻辑卷会失败。在这个版本中,lvm.sh 可以正确地检测到标签是否代表一个集群节点。因此,当节点重新加入集群时,卷组不会在其它节点上失败。
BZ#981717
当将 tomcat-6 服务的多个实例用作集群资源时,会忽略自定义 /conf/tomcat6.conf 配置文件中的 TOMCAT_USER 设置。因此,每个实例始终以 TOMCAT_USER 设置为 root。这个程序错误已被解决,在上述情况下,TOMCAT_USER 现在被正确应用。
BZ#983273
在某些情况下,当 tomcat-6 资源的 tomcat.conf 配置文件存储在不可用的共享存储资源中时,tomcat-6 上的后续停止操作会失败。这个程序错误已被解决,当 tomcat.conf 不可读取时,tomcat-6 现在可以成功停止。
BZ#998012
基于文件系统的资源(如 fs.shclusterfs.sh )在状态监控过程中需要使用 /tmp 目录。如果在挂载文件系统后此目录已满,则 monitor 操作也会失败,即使正确挂载文件系统。在文件系统监控器中不再使用 /tmp 目录,从而解决了这个问题。
BZ#1009772
如果在两个节点上同时启动 rgmanager,则这些节点可以同时执行 lvchange --deltag 命令,并破坏 LVM 标头。在这个版本中,即使两个节点上的 rgmanager 不足,LVM 标头也不会被破坏。
BZ#1014298
在以前的版本中,当 NFS 服务器不响应时,fuser 工具可能会阻止卸载 NFS 文件系统。有了这个更新,fuser 已替换为自定义逻辑,它会搜索带有打开文件描述符的进程到 NFS 挂载,从而解决了这个问题。

功能增强

BZ#670022
在这个版本中,对 Oracle Database 11g 的支持被添加到 oracledb,orainstance, 和 oralistener 资源代理中。
BZ#711586
在这个版本中,在 named.sa 代理中添加了新的 update-source 选项。启用此选项后,可以将 notify-sourcetransfer-sourcequery-source 设置为服务集群 IP。
BZ#909954
在这个版本中,/usr/share/cluster/orainstance.sh 脚本的锁定文件已从 /tmp/ 目录移到 /var/tmp/
BZ#917807
在这个版本中,TNS_ADMIN 变量已添加到 oracledb.sh 集群脚本中。此变量是标准 Oracle 功能,用于设置监听程序配置文件的特定路径。
BZ#919231
这个版本提高了启动、停止和监控文件系统资源操作的性能。文件系统资源使用 findmnt 工具来加快在有大量文件系统资源的集群上加快迁移速度。
BZ#989284
在这个版本中,增加了对与 Pacemaker 集群管理器一起使用的 ocf heartbeat 资源代理的官方支持。此初始版本仅有官方支持的代理。这意味着,没有官方支持的心跳代理在此更新中没有提供。
建议 resource-agents 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。
现在,Red Hat Enterprise Linux 6 提供了修复两个程序错误的 resource-agents 软件包。
resource-agents 软件包包含一组脚本,用于与多个服务在 Pacemaker 和 rgmanager 服务管理器的高可用性环境中操作。

程序错误修复

BZ#1027410
在此次更新之前,netfs 代理可能会在停止操作过程中挂起,即使启用了 self_fence 选项。在这个版本中,自助隔离操作会更早地执行,这样可确保 NFS 客户端检测到如果 umount 无法成功,则 NFS 客户端会检测到服务器保留成功,并发生自我隔离。
BZ#1027412
在以前的版本中,IPaddr2 代理不会发送出 unsolicited neighbor 公告来宣布链路层地址更改。因此,需要此功能的浮动 IPv6 地址无法正常工作。要解决这个问题,添加了 IPaddr2 代理所需的 send_ua 内部二进制文件来驱动 IPv6 地址。因此,浮动 IPv6 地址现在可以正常工作,并且 IPv4 地址不受此更改的影响。
建议 resource-agents 用户升级到这些更新的软件包,从而修复这些程序错误。

8.178. rgmanager

现在,Red Hat Enterprise Linux 6 提供了修复两个程序错误的 rgmanager 软件包。
rgmanager 软件包包含红帽资源组管理器,用于在系统停机时创建和管理高可用性服务器应用程序。

程序错误修复

BZ#862075
在以前的版本中,如果主 rgmanager 进程终止并出现分段错误,或者手动终止,或者手动终止,它上运行的任何服务都会立即恢复到另一个节点上,而不是等待隔离,如 rgmanager 进程在以前的版本中。使用标记包含高可用性逻辑卷管理器(HA-LVM)资源的服务存在问题,因为如果发现的标签属于仍属于群集成员的节点,则启动操作会失败。在这个版本中,服务恢复会延迟,直到节点从配置中删除并隔离为止,这样就可以正确恢复 LVM 资源。
BZ#983296
在以前的版本中,尝试启动 MRG 消息传递(MRG-M)代理会导致 rgmanager 意外终止,并带有分段错误。这是因为在未锁定的 mutual 排除中调用 pthread_mutex_unlock () 函数导致的微小内存损坏。在这个版本中解决了在调用 pthread_mutex_unlock ()时内存可能会损坏的情况,在上述情况下,rgmanager 不再意外终止。
建议 rgmanager 用户升级到这些更新的软件包,从而修复这些程序错误。

8.179. rhel-guest-image

现在,Red Hat Enterprise Linux 6 提供了更新的 rhel-guest-image 软件包,修复了几个程序错误并添加一个增强。
rhel-quest-image 软件包为云实例提供 Red Hat Enterprise Linux 6.5 KVM 客户机镜像。此镜像作为最小配置的系统镜像提供,可按原样使用,或者供最终用户进行配置和自定义。

程序错误修复

BZ#912475, BZ#952280
在以前的版本中,因为缺少行尾(EOL)返回,/etc/ssh/sshd_config 文件没有正确创建。因此,sshd 守护进程启动失败并显示出错信息。将序列写入 /etc/ssh/sshd_config 已被修正,在这种情况下 sshd 启动不再会失败。
BZ#912801
在以前的版本中,当虚拟机(VM)关闭时,持久性 udev 规则不会从客户机镜像中删除。因此,当虚拟机再次引导时,并分配了不同的网卡介质访问控制(MAC)地址时,udev 规则会导致 Network Interface Controller (NIC)设为 eth1 而不是 eth0。这个不正确的配置会导致实例在没有网络支持的情况下引导。这个版本添加了 /etc/udev/rules.d/75-persistent-net-generator.rules 文件,VM 配置可以正常工作。
BZ#969487
默认情况下,Red Hat Enterprise Linux 客户机镜像不使用 ttyS0 串行端口,因此监控串行控制台日志的工具没有捕获任何信息。在这个版本中,在引导装载程序中添加了控制台日志功能,Red Hat Enterprise Linux 客户机镜像现在在 ttyS0 串行端口和标准控制台上打印引导信息。
BZ#983611
元数据访问由网络节点处理,cloud-init 服务在启动时使用元数据。在以前的版本中,cloud-init 服务没有配置 "NOZEROCONF=yes"。因此,访问子网 169.254.0.0/16 范围没有路由到网络节点,因此 cloud-init 服务无法正常工作。在这个版本中,为 /etc/sysconfig/network 文件中的云镜像添加了 "NOZEROCONF=yes"。用户应避免在这些镜像中打开 zeroconf 路由。要在系统引导时禁用 zeroconf 路由,请以 root 用户身份编辑 /etc/sysconfig/network 文件,并将 "NOZEROCONF=yes" 添加到文件末尾的新行中。
BZ#1006883
在以前的版本中,/etc/fstab 文件包含不必要的条目。因此,当更新内核和 grub 安装时,文件系统挂载无法正常工作。在这个版本中,不必要的条目已被删除,文件系统挂载现在可以正常工作。
BZ#1011013
在以前的版本中,ifcfg-eth0 配置文件中缺少 dhclient 配置选项。因此,如果动态主机配置协议(DHCP)失败,网络连接会丢失。在这个版本中,将 "PERSISTENT_DHCLIENT=1" 配置选项添加到 ifcfg-eth0 配置文件中。现在,如果网络接口控制器(NIC)无法协商 DHCP 地址,它会重试。

功能增强

BZ#974554
virtual-guest 镜像现在包含一个默认激活的"tuned"守护进程的配置集。在大多数情况下,这有助于提高客户机的性能。
建议 rhel-guest-image 用户升级到这些更新的软件包,从而修复这些 bug 并添加此功能增强。

8.180. rhn-client-tools

更新了 rhn-client-tools 软件包,修复几个程序错误现在可用于 Red Hat Enterprise Linux 6。
红帽网络客户端工具提供程序和库,允许系统从 Red Hat Network (RHN)接收软件更新。

程序错误修复

BZ#891746
在以前的版本中,rhn-channel 手册页错误地被称为 "--username" 选项而不是 "--user"。这个错误已被修正,RHN-channel 手册页现在可以正确地引用"--user"选项。
BZ#912984
在此次更新之前,一些以英语编写的消息发生在 Red Hat Enterprise Linux 6.4 的日语安装中。未翻译的字符串已翻译,信息现在以正确的语言显示。
BZ#983999
在以前的版本中,Red Hat Enterprise Linux 6 上的 sosreport 工具调用的 rhn-client-tools 代码意外终止,并会回溯。这个程序错误已被解决,sosreport 可以正确地收集有关硬件的信息。
BZ#994531
在以前的版本中,具有许多 CPU 的机器可能会为其所有处理器报告大量闲置时间。因此,闲置时间值不适用于 XML-RPC 的整数限制,并在有问题的机器上运行 rhn_check 命令会导致回溯错误。这个程序错误已被解决,在有问题的场景中 rhn_check 现在可以正常工作。
BZ#997637
在以前的版本中,当机器上安装了旧版本的 rhn-virtualization-host 软件包时,rhn-profile-sync 工具会意外终止。这个程序错误已通过需要新版本的 rhn-virtualization-host 来解决。
建议 rhn-client-tools 用户升级到这些更新的软件包,从而修复这些 bug。
更新了 rhn-client-tools 软件包,用于修复一个程序错误并添加一个增强。
红帽网络客户端工具提供程序和库,允许系统从 Red Hat Network (RHN)接收软件更新。

错误修复

BZ#949648
如果以足够慢的网络与父项分开,则 RHN 代理无法正常工作。因此,试图下载更大的 repodata 文件和 RPM 会出现超时的情况。这个版本更改了 RHN 代理和 Red Hat Enterprise Linux RHN 客户端,以便所有通信可以模糊处理连接配置的超时值。

功能增强

BZ#949640
虽然 Satellite 5.3.0 现在能够通过 API 调用获取 CPU 数量,但无法从注册的系统获取套接字数量。在这个版本中,添加了一个功能,用于通过 API 调用从 Satellite 获取受管系统中的物理 CPU 插槽数量。
建议 rhn-client-tools 用户升级到这些更新的软件包,从而修复这个程序错误并添加此功能增强。

8.181. rhnlib

更新了 fix one 漏洞的 rhnlib 软件包现在可用。
rhnlib 软件包包含专门为与红帽网络交互而开发的 Python 库。

错误修复

BZ#949650
如果以足够慢的网络与父项分开,则 RHN 代理无法正常工作。因此,试图下载更大的 repodata 文件和 RPM 会出现超时的情况。这个版本更改了 RHN 代理和 Red Hat Enterprise Linux RHN 客户端,以便所有通信可以模糊处理连接配置的超时值。
建议 rhnlib 用户升级到这些更新的软件包,从而解决了这个问题。

8.182. ricci

现在,Red Hat Enterprise Linux 6 提供了修复几个程序错误并添加了两个改进的 ricci 软件包。
ricci 软件包包含一个守护进程,以及用于远程配置和管理集群的守护进程。

程序错误修复

BZ#853890
在此次更新之前,用于在不同节点间复制和同步集群配置的 ccs_sync 命令可能会在将外部配置文件推送到所选节点时意外终止。在这个版本中,ccs_syncd 已被修复,它不会在上述场景中崩溃。
BZ#883585
在此次更新之前,ricci、ccs 和 ccs_sync man page 的文件权限被错误地设置为可执行文件。在这个版本中,这些 man page 的文件权限已被修正。
BZ#893574
在此次更新之前,ccs 管理器没有正确配置 fence_scsi 代理。缺少的配置可能会导致恢复过程中集群的行为不正确。这个程序错误已被解决,现在 fence_scsi 配置为预期。
BZ#918555
由于集群的配置解析不正确,ccs 管理器不会显示 fence_daemon 选项。在这个版本中,解析已被修复,fence_daemon 选项现在可以正确地显示。

功能增强

BZ#877863
在这个版本中,"-lsresourceopts"命令行选项已添加到 css 管理器中。此选项提供了一种直观的方式,演示了如何显示和列出 shell 提示符中的所有可用资源类型和代理。
BZ#1009098
ricci 软件包中包含的集群模式已更新,在资源和隔离代理软件包中包含新选项。
建议 ricci 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.183. rp-pppoe

现在,Red Hat Enterprise Linux 6 提供了修复一个程序错误的 rp-pppoe 软件包。
rp-pppoe 软件包提供 Roaring Penguin PPPoE (Point-to-Point 协议 over Ethernet)客户端,这是不需要任何内核修改的用户模式程序。此客户端完全符合 RFC 2516,即官方 PPPoE 规格。

错误修复

BZ#841190
在以前的版本中,每个系统引导都会默认启动的 pppoe-server 服务,这并不适用于在管理员启用时运行 pppoe-server。在这个版本中,确保默认情况下不启动 pppoe-server,从而解决了这个问题。
建议 rp-pppoe 用户升级到这些更新的软件包,从而解决了这个问题。

8.184. rpm

现在,Red Hat Enterprise Linux 6 提供了修复几个 bug 的 rpm 软件包。
RPM Package Manager (RPM)是一个命令行驱动的软件包管理系统,能够安装、卸载、验证、查询和更新软件包。

程序错误修复

BZ#868332
在以前的版本中,brp-python-bytecompile 脚本会跳过那些包含 "/usr/lib realm/python.+/" 字符串的路径。因此,当创建一个 RPM 时,在路径中包含 Python 模块(如 "/opt/myapp/usr/lib64/python2.6/site-packages/mypackage/"),则不会创建 bytecode。reproducer 规格已更改,现在为所有路径创建 bytecode。
BZ#904818
当通配符字符与 spec 文件中的 "%caps" 标签一起使用时,rpmbuild 工具会意外终止。提供的补丁通过为其应用的每个文件生成 caps 数据的副本来更正问题,因此 rpmbuild 不再会在上述场景中崩溃。
BZ#919435
在以前的版本中,当安装带有大量(80k)文件的软件包时,RPM 软件包管理器会意外终止,并带有分段错误。作为临时解决方案,当软件包无法安装大量文件时,分段错误已被一个错误消息替代。
BZ#920190
在以前的版本中,rpm 程序尝试无条件地处理在 spec 文件中找到的任何 "%include" 指令,这可能会导致软件包或错误消息中不需要的内容。更新的 rpm 软件包对"%include"正确隐藏了各种规格条件。
BZ#963724
在这个版本中,添加了 Red Hat Enterprise Linux 5 向后兼容性选项 "%_strict_script_errors 宏"。Red Hat Enterprise Linux 6 的默认行为不会改变这个更新,我们不推荐使用这个选项的用户。
建议 rpm 用户升级到这些更新的软件包,从而解决了这些程序错误。所有针对 RPM 库链接的应用程序都必须重启,才能使此更新生效。

8.185. rpmlint

现在,提供了修复两个程序错误的 rpmlint 软件包。
rpmlint 是一个检查 rpm 软件包中常见错误的工具。它可用于在上传或检查整个发行版之前测试各个软件包和特定文件。默认情况下,所有适用的检查都会处理,但可以使用命令行参数来执行特定的检查。

程序错误修复

BZ#663082
在以前的版本中,rpmlint 中的一个不正确的规则会导致它为任何运行级别中没有启动的服务报告 "missing-lsb-keyword Default-Stop" 错误消息。在这个版本中修正了 rpmlint 中的规则,在上述场景中不再会出现错误消息。
BZ#958038
当软件包在描述中有一个 UTF-8 编码错误时,或者描述被编码在不同的字符集中时,rpmlint 会意外终止,并带有分段错误。在这个版本中,rmplint 返回一个错误消息,描述已错误地编码了 UTF-8 数据(tag-not-utf8 错误),在上述场景中不再会出现崩溃。
建议 rpmlint 用户升级到这些更新的软件包,从而修复这些程序错误。

8.186. rsyslog

现在,Red Hat Enterprise Linux 6 提供了修复几个 bug 的 rsyslog 软件包。
rsyslog 软件包提供了一个增强的多线程 syslog 守护进程。它支持 MySQL、syslog/TCP、RFC 3195、允许的发件人列表、在任何消息部分进行过滤以及精细的输出格式控制。

程序错误修复

BZ#862517
当配置文件读取器在 /etc/rsyslog.conf 配置文件中遇到 $InputGSSServerRun 指令时,将立即初始化 imgssapi 模块。因此,在 $InputGSSServerRun 后配置的补充选项会被忽略。要使配置生效,必须在 $InputGSSServerRun 之前放置所有 imgssapi 配置选项。在以前的版本中,当这个顺序相反时,rsyslogd 守护进程会意外终止,并显示分段错误。这个程序错误已被解决,rsyslogd 不再在上述场景中崩溃。
BZ#886117
用于控制文件所有者或组的 rsyslog 指令(FileOwner、FileGroup、DirOwner、DirGroup)仅在 rsyslog 初始化过程中将名称转换为数字 ID。在以前的版本中,当 rsyslog 启动时无法使用用户数据时,没有分配给这些日志文件的 ID。在这个版本中,添加了不依赖于翻译进程的新指令(FileOwnerId, FileGroupId, DirOwnerId, DirGroupId)。因此,即使用户信息在 rsyslog 启动过程中不可用,日志文件也会分配正确的用户或组 ID。
BZ#893197
由于源代码中有一个错误,如果启用了 $RepeatedMsgReduction 指令,主机名将被替换为空字符串。这个 bug 已被修复,当 $RepeatedMsgReduction 被开启时,主机名会被正确存储。
BZ#924754
在此次更新之前,$FileGroup 指令不会处理大于特定大小的组。因此,当达到此大小时,rsyslogd 守护进程无法设置请求的组,root 用户则保留为文件的所有者。这个 bug 已被修复,$FileGroup 现在在上述情况下正确创建组。
BZ#927405
之前版本中的一个错误补丁(更改了配置文件解析程序的实现)会导致 rsyslogd 守护进程意外终止,并显示特定配置的分段错误。在这个版本中,补丁已被删除,在默认配置中不再会崩溃。但是,$IncludeConfig 指令必须放在 /etc/rsyslog.conf 配置文件的开头,然后再其他指令。如果需要在文件中进一步使用 $IncludeConfig,建议用户使用 dummy 操作(如 "syslog.debug /dev/null"。
BZ#951727
在此次更新之前,PRI 属性的数字值会附加到 pri-text 变量中。生成的 pri-text 值看起来像 "local0.info swig164>"。在这个版本中,后缀已被删除。现在,变量只包含文本工具和严重性值。
BZ#963942
在以前的版本中,为保存 spool 文件大小限制的变量设置了不正确的数据类型。因此,不接受预期的大小限制,并可能会出现信息丢失。在这个版本中,上述变量的数据类型已被修正。因此,使用用户定义的大小限制来正确设置 spool 文件。
建议 rsyslog 用户升级到这些更新的软件包,从而修复这些程序错误。

8.187. rubygems

现在,Red Hat Enterprise Linux 6 提供了修复一个程序错误并添加一个改进的 rubygems 软件包。
RubyGems 是用来发布和管理第三方库的 Ruby 标准。

错误修复

BZ#559707
在以前的版本中,规格文件列出了不正确的许可证。规范文件已更新,以修复许可证,现在是 MIT。

功能增强

BZ#788001
rubygems 软件包的新版本引进了带有 RPM 宏的 rubygems-devel 子软件包,以便更轻松地与 Fedora 的兼容性。
建议 rubygems 用户升级到这些更新的软件包,从而修复这个程序错误并添加此功能增强。

8.188. s390utils

Red Hat Enterprise Linux 6 现在提供了修复多个程序错误并添加了各种改进的 s390utils 软件包。
s390utils 软件包包含 IBM System z 架构上的 Linux 的一组用户空间工具。

程序错误修复

BZ#883456
在以前的版本中,ziomon 工具没有遵循符号链接在 /dev/mapper/ 目录中找到多路径设备。因此,多路径设备无法找到。这个更新修复了这个程序错误,ziomon 现在遵循符号链接,且多路径设备可以如预期找到。
BZ#887336
dbginfo.sh 实用程序从系统中收集各种用于调试目的的数据。在以前的版本中,dbginfo.sh 输出中缺少某些运行时数据,底层源代码不一致。因此,提供了不完整的信息,工具性能会降低。此外,在某些情况下,dbginfo.sh 无法检测 debgfs 文件系统是否已挂载。代码已被统一并调用额外的实用程序和命令,以改进收集数据。另外,dbginfo.sh 现在从额外的配置和日志文件收集数据。
BZ#906836
ziorep_config 配置报告应该在创建多路径映射程序报告时忽略不属于多路径设备的小型计算机系统接口(SCSI)磁盘。在以前的版本中,ziorep_config 无法正确忽略 SCSI 磁盘,这些磁盘不是多路径设备的一部分。现在,当 SCSI 磁盘没有找到多路径设备时,输出中会跳过这样的磁盘。
BZ#948343
在以前的版本中,sysfs_getUnitsFromPort() 功能只搜索使用 scsi_generic:sg* 布局的设备的 Small Computer System Interface (SCSI)设备目录。此布局已弃用,且仅在内核配置中设置了 CONFIG_SYSFS_DEPRECATED[_V2] 选项时才可用。因此,这个功能无法正常工作。在这个版本中,这个功能已被修改,来使用 scsi_generic/sg* 布局搜索设备,以便它现在可以按预期工作。
BZ#951585
World Wide Names (WWN)和 Logic Unit Numbers (LUNs)字符串,fc_host statistics sysfs 属性被转换为不正确的整数类型,该类型太小,以容纳整个字符串可能的范围。这可能导致丢失信息。现在,底层源代码已被修改来修复这个程序错误,WWNLUN 和 fc_host statistics sysfs 属性现在转换为正确的整数类型。
BZ#973235
由于 incoherent dbginfo.sh 源代码,sysfs 树的集合需要很长时间,日志没有编写序列化,而是被混合。此外,生成的文件中缺少一些信息,因为 实用程序没有从所有必要的配置文件中收集信息。在这个版本中,底层源代码已被改进来修复这些问题,dbginfo.sh 现在可以正常工作。
BZ#974180
dbginfo.sh 实用程序从系统中收集各种用于调试目的的数据。在以前的版本中,从系统中收集的信息无法提供有关加密适配器的足够数据。dbginfo.sh 已被修改来收集有关适配器的更多信息。
BZ#996180
sysfs 文件系统中的 CPU 跟踪的追踪可能会阻塞 dbginfo.sh 工具。因此,在这种情况下,工具会变得无响应。这个程序错误已被解决,trace 管道不再阻止 dbginfo.sh。因此,在上述场景中,工具不再挂起。
BZ#997359
zgetdump 工具没有为 CPU ELF 备注分配足够内存。因此,在有多个 CPU 的系统上,会返回以下错误:
zgetdump: Internal Error: hdr_size=28512 alloc_size=26624
在这个版本中,工具已被修改为为 ELF 备注分配足够的内存,且不再返回错误。
BZ#997360
在以前的版本中,即使的地址被错误地加载。因此,当指定 Direct Access Storage Device (DASD)多卷转储的- force 选项,并在之后修改转储分区时,转储会失败并显示错误。在这个版本中,载入了正确的地址,选项可以正常工作。

功能增强

BZ#929261
此增强提供了 Fuzzy live dump 功能,它是一个可提取内核当前内存状态的工具。要做到这一点,Fuzzy live 转储提取 ELF 内核转储并使用 makedumpfile 命令过滤它。此功能允许用户在不关闭系统的情况下提供问题分析。
注意
记录的内存可能会在记录过程中更改,以便在所有情况下结果可能不一致。
BZ#929263
这个增强引入了一个新的 Direct Access Storage Device (DASD)接口,它会在离线前将所有未处理的数据写入 DASD 设备。用户现在可以使用 安全离线 选项来确保在设置设备离线前完成所有未完成的写入请求。
BZ#967014
对物理频道 ID (PCHID)映射的支持已添加到 s390utils 软件包中,允许用户确定与逻辑频道路径标识符(CHPID)关联的 PCHID。将 CHPID 映射到 PCHID 的功能对于维护目的和错误确定过程非常重要。另外,现在可以启用依赖于 PCHID 信息的高级健康检查。
建议 s390utils 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.189. samba

Red Hat Enterprise Linux 6 现在提供了修复三个安全问题、几个程序错误并添加一个改进的 samba 软件包。
红帽安全响应团队将此更新的安全影响级别定为具有中等安全影响。一般漏洞评分系统(CVSS)基础分数(提供详细的严重性评级)提供了以下每个描述的 CVE 链接中的每个漏洞。
Samba 是服务器消息块(SMB)或通用互联网文件系统(CIFS)协议的开源实现,它允许 PC 兼容机器共享文件、打印机和其他信息。

安全修复

CVE-2013-0213
发现 Samba Web 管理工具(SWAT)没有防止在网页框架中打开。远程攻击者可能会使用此缺陷对 SWAT 用户或具有活跃 SWAT 会话的用户进行攻击。
CVE-2013-0214
在 SWAT 中实施的 Cross-Site Request Forgery (CSRF)保护机制中发现了一个安全漏洞。熟悉 victim 的密码的攻击者可能会利用此漏洞绕过 CSRF 保护,并对 victim SWAT 用户执行 CSRF 攻击。
CVE-2013-4124
在 Samba 处理客户端提供的扩展属性(EA)列表的方式中发现了一个整数溢出缺陷。恶意客户端可能会发送专门编写的 EA 列表,该列表触发了溢出,从而导致服务器使用过多的内存进行循环和重新处理列表。
注意
此问题不会影响 Samba 服务器的默认配置。
红帽借此感谢 Samba 项目报告 CVE-2013-0213 和 CVE-2013-0214。上游社区确认 Jann Horn 作为 CVE-2013-0213 和 CVE-2013-0214 的原始报告者。

程序错误修复

BZ#948071, BZ#953985
尝试使用基于 TCP/IP 协议的连接从可信域检索组信息会失败,因为需要用户帐户凭证以通过 TCP/IP 建立安全连接。因此,到命名 pipe 连接的回退无法正常工作,用户无法登录到可信域。在这个版本中,回退到命名的 pipe 连接已被修复,用户现在可以按预期登录到可信域。
BZ#951175
在以前的版本中,当 Winbind 服务(winbindd)负载过重时,验证大量 Active Directory (AD)用户时,可能会使用 100% 的 CPU 并停止用户身份验证。这个版本提供了一个补丁来显著改进连接处理,winbindd 不再在上述场景中停止用户身份验证。
BZ#952268
Samba 服务包含用户名映射优化,它存储了一个不成功映射,因此不需要每次遍历整个映射文件。由于优化中存在错误,用户名映射只运行一次,然后被成功映射覆盖。在这个版本中,提供了一个补丁来修复这个程序错误,在上述场景中不再覆盖成功的用户名映射。
BZ#953025
在以前的版本中,处于 "security = share" 模式的客户机用户没有正确的令牌,允许对可写客户机共享进行写操作。因此,此类用户无法创建或写入共享中的任何文件。在这个版本中,提供了一个补丁来修复这个程序错误,客户机用户可以按预期写入或创建任何文件。
注意
"security = share" 模式已弃用,用户应迁移到 "security = user" 模式。
BZ#955683
net ads keytab add 命令总是将服务主体名称(SPN)中的字符转换为大写字符。因此,一些 Kerberos 服务无法找到其票据。在这个版本中,SPN 不再转换为大写字符,Samba 可以正常工作。
BZ#961932
由于身份验证代码中转发 NTLMv2 身份验证的 bug 质询转发到主域控制器(PDC),可以从客户端发送不正确的域名。因此,用户无法登录,因为当域名在第二个 NTLMv2 身份验证挑战中哈希时,服务器无法验证哈希的有效性,并且访问被拒绝。在这个版本中,客户端为 PDC 设置了正确的域名,用户可以按预期登录。
BZ#980382
试图执行 wkssvc_NetWkstaEnumUsers RPC 命令,但没有指向恢复句柄的指针,从而导致 smbd 守护进程使用分段错误终止。因此,客户端已断开连接。在这个版本中,底层源代码已被调整,在尝试解引用它前验证指针是否有效。因此,smbd 不再会在这种情况下崩溃。
BZ#997338
当非 root 用户执行 smbstatus 命令时,命令输出中缺少锁定的文件。现在,底层源代码已被修改来修复这个程序错误,非 root 用户现在可以按预期显示锁定的文件。
BZ#1003689
Red Hat Enterprise Linux 6 可用于共享 Microsoft Windows 8 客户端使用的网络打印机的打印服务器。在以前的版本中,Red Hat Enterprise Linux 附带的 Samba 版本与 Windows 8 不兼容。因此,当 Windows 8 客户端访问打印机共享并尝试为这个打印机安装驱动程序时,会出现一个错误。这个更新应用了补丁来修复这个程序错误,现在可以在上述场景中成功安装 Windows 打印机驱动程序。
BZ#1008574
在以前的版本中,当其子进程成功连接到域控制器时,主 winbind 守护进程不会被通知。因此,Network Data Representation (NDR)缓存条目永远不会过期,因此无法更新条目。在这个版本中,winbind 子进程在连接到域控制器时通知主 winbind 进程。现在,缓存会如预期更新。

功能增强

BZ#915455
smbd 守护进程预期 Samba 3.5 的旧打印数据库采用 UTF-8 格式。但是,数据库也可以采用不同的格式,例如在拉丁语中。因此,smbd 无法迁移数据库。这个版本增强了 net 实用程序,用于管理 Samba 和远程 CIFS 服务器,以便正确对数据库进行编码,并将其转换为 UTF-8。因此,smbd 现在可以按预期迁移数据库。
建议 samba 用户升级到这些更新的软件包,其中包含向后移植的补丁以更正这些问题并添加此增强。安装此更新后,smb 服务将自动重启。

8.190. samba4

针对一个安全问题的更新 samba4 软件包,现在 Red Hat Enterprise Linux 6 提供了两个程序错误。
红帽安全响应团队将此更新的安全影响级别定为具有中等安全影响。一般漏洞评分系统(CVSS)基础分数(提供详细的严重性评级)提供了以下每个描述的 CVE 链接中的每个漏洞。
Samba 是服务器消息块(SMB)或通用互联网文件系统(CIFS)协议的开源实现,它允许 PC 兼容机器共享文件、打印机和其他信息。

安全修复

CVE-2013-4124
在 Samba 处理客户端提供的扩展属性(EA)列表的方式中发现了一个整数溢出缺陷。恶意客户端可能会发送专门编写的 EA 列表,该列表触发了溢出,从而导致服务器使用过多的内存进行循环和重新处理列表。
注意:此问题不会影响 Samba 服务器的默认配置。

程序错误修复

BZ#882338
当在构建根目录中安装 Samba 时,RPM 目标可能不存在。因此,find-debuginfo.sh 脚本不会为与目标关联的 libwbclient.so.debug 模块创建符号链接。在这个版本中,符号链接的路径是相对的,现在可以正确创建符号链接。
BZ#911264
在以前的版本中,samba4 软件包缺少 libreplace.so 模块的依赖项,这可能会导致安装失败。在这个版本中,缺少的依赖项已添加到 samba4 软件包的依赖项列表中,安装现在可以按预期进行。
建议所有 samba4 用户升级到这些更新的软件包,该软件包包含一个向后移植补丁以更正这些问题。

8.191. sanlock

现在,Red Hat Enterprise Linux 6 提供了修复几个程序错误的 sanlock 软件包,并添加各种改进。
sanlock 软件包提供共享存储锁定管理器。具有对块设备或文件的共享访问权限的主机可以使用 sanlock 来同步其活动。VDSM 和 libvirt 使用 sanlock 来同步对虚拟机镜像的访问。
升级到上游版本
sanlock 软件包已升级到上游版本 2.8,它提供很多程序错误修复和增强,包括为应用程序提供的新 API 来请求资源发行版本。(BZ#960989)

错误修复

BZ#961032
在以前的版本中,当某些 watchdog 模块提供了两个设备时,wdmd 守护进程并不总是选择功能设备。因此,wdmd 在有些实例中无法正常工作。现在,一个补丁已被应用于解决这个程序错误,wdmd 现在会验证两个设备的状态并正确选择可以正常工作。

功能增强

BZ#960993
在这个版本中,为应用程序提供了一个新的 API,以验证锁定空间中的主机状态。
BZ#966088
在这个版本中,为应用程序提供了一个新的 API,以检查保存资源租期的主机状态。
建议 sanlock 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.192. sblim-cmpi-fsvol

更新了 sblim-cmpi-fsvol 软件包,现在 Red Hat Enterprise Linux 6 提供了修复一个程序错误的 sblim-cmpi-fsvol 软件包。
sblim-cmpi-fsvol 软件包提供了文件系统和卷管理检测,允许用户通过使用 CIM 或 WBEM 技术和基础架构来获取有关挂载和卸载的文件系统的信息。

错误修复

BZ#921482
在枚举 CIM_UnixLocalFileSystem 类实例时,某些文件系统显示为 disabled,尽管挂载了它们。当 /etc/fstab/ 目录中的条目使用符号链接或通用唯一标识符(UUID)时会出现这种情况。现在,提供了一个补丁来修复这个错误,挂载的文件系统会被正确显示。
建议 sblim-cmpi-fsvol 用户升级到这些更新的软件包,从而解决了这个问题。

8.193. sblim-sfcc

针对 Red Hat Enterprise Linux 6 现在提供了修复一个程序错误的 sblim-sfcc 软件包。
占用少的 CIM 客户端库(sblim-sfcc)是一种 C API,允许客户端应用程序与 CIM (通用信息模型)实现(如 CIM 服务器)进行接口。由于其内存较小,磁盘占用量非常适合于嵌入式环境。

错误修复

BZ#875011
在以前的版本中,当 KEYVALUE 对中存在属性 "EnumerateInstances" 时,sfcc 客户端无法解析 XML 文件,客户端会意外终止,且生成内核转储时意外终止。这个程序错误已被解决,sfcc 客户端现在可以使用上述属性成功解析 XML 文件。
建议 sblim-sfcc 用户升级到这些更新的软件包,从而解决了这个问题。

8.194. sblim-wbemcli

更新了 sblim-wbemcli 软件包,它们现在可用于 Red Hat Enterprise Linux 6。
WBEM (基于 Web 的企业管理)CLI 是一个独立的命令行 WBEM 客户端。它可用于基本系统管理任务的脚本。

程序错误修复

BZ#745264
在以前的版本中,sblim-wbemcli 软件包的 spec 文件包含 tog-pegasus CIM 服务器的要求,这可能会导致问题。在安装 sblim-wbemcli 时,不再需要 spec 文件和 top-pegasus。
BZ#868905
由于代码中使用 curl API 不正确,当使用 HTTPS 方案调用 wbemcli 工具时,wbemcli 会意外终止并出现分段错误。在这个版本中,curl API 被正确使用,wbemcli 不再会在上述场景中崩溃。
建议 sblim-wbemcli 用户升级到这些更新的软件包,从而解决了这个问题。

8.195. scl-utils

Red Hat Enterprise Linux 6 现在提供了几个程序错误的 scl-utils 软件包。
scl-utils 软件包为打包软件集合提供了一个运行时工具和 RPM 打包宏。Software Collections 允许用户同时在系统中安装同一 RPM 软件包的多个版本。使用 scl 工具,用户可以启用 RPM 的特定版本,这些 RPM 安装到 /opt 目录中。

程序错误修复

BZ#949995
在以前的版本中,检测被指定为启用的集合的检测是在代码中不正确的位置进行的。因此,如果用户希望通过单个命令启用多个集合,则只启用第一个集合,而忽略其余的集合。在这个版本中,软件包会扫描所有参数,而不是只使用第一个方法的原始方法,并且现在启用了所有指定的集合。
BZ#955669
在开始检查启用了什么集合时,会使用一个不正确的变量作为此信息的来源。在特定情况下,当用户在启用了 scl 的环境中运行 shell 时,并尝试启用已启用的集合,然后启用了集合两次。这可能会导致新创建的环境中出现错误,因此可能会导致应用程序在此环境中运行的问题。在这个版本中,接受正确的变量作为有关已启用的集合的信息源,集合不再多次启用。
BZ#957185
在以前的版本中,python27 需要特定的字节编译器,因此 python27 集合的构建会失败,因为它使用了不正确的字节编译器。在这个版本中,python27 使用新的功能来覆盖各种 RPM 宏,因此可以编译。
BZ#957754
如果 PATH 变量没有设置为 scl-utils 预期,执行 "scl enable" 命令会生成 "command not found" 错误。这是因为 scl 工具在没有绝对路径的情况下调用 scl_enabled 命令所致,并依赖用户设置的 PATH。在这个版本中,在调用 scl_enabled helper 脚本时使用绝对路径,因此它不会依赖 PATH,并且不再发生上述错误。
BZ#964058
在以前的版本中,当启用集合时,检查是否会执行集合。但是,与始终启用集合的结果无关。因此,如果命令行中多次声明了单个集合,则会多次启用。对于某些破坏性的 enable scriptlets,这可能会导致意外行为。在这个版本中,只有在集合之前没有启用时,才会运行 enable scriptlet,并在一个环境中尝试多次启用集合。
建议 scl-utils 用户升级到这些更新的软件包,从而修复这些 bug。

8.196. scsi-target-utils

针对 Red Hat Enterprise Linux 6 现在提供了几个程序错误的 scsi-target-utils 软件包。
scsi-target-utils 软件包包含一个守护进程和工具,用于设置小型计算机系统接口(SCSI)目标。目前,支持用于 RDMA (iSER)目标的软件互联网 SCSI (iSCSI)和 iSCSI 扩展。

程序错误修复

BZ#910638
在以前的版本中,tgtadm 工具没有检查 libaio 库是否存在,以启用异步 I/O 类型后端存储。因此,尝试使用 "tgtadm --bstype aio" 命令添加新 iSCSI 目标设备会失败,并显示 "invalid request" 错误消息。在这个版本中,添加了 libaio 作为运行时依赖项。现在,使用带有 tgtadm 工具的 "--bstype aio" 选项不再失败,并尝试添加新的逻辑单元可以正常工作。
BZ#813636
在此次更新之前,当网络中发生中断时,TCP 协议的重新连接无法正常工作。因此,在这些情况下,内存泄漏会在 tgtd 守护进程中发生。这个程序错误已被解决,TCP 重新连接现在可以在上述场景中正常工作。
BZ#865739
在以前的版本中,如果将 tgtd 守护进程配置为将其报告到互联网存储名称服务(iSNS)服务器,则 tgtd 守护进程无法正确报告其导出的目标。因此,运行 "iscsiadm -m discoverydb -t isns" 命令会失败。这个程序错误已被解决,在上述场景中,tgtd 现在会正确报告其导出的目标。
BZ#922270
在以前的版本中,无法向 tgtd 守护进程提供命令行参数。在这个版本中,可以设置包含参数的 TGTD_OPTIONS 变量,并在 /etc/sysconfig/tgtd 文件中使用它。
建议 scsi-target-utils 用户升级到这些更新的软件包,从而修复这些 bug。必须重启所有正在运行的 scsi-target-utils 服务才能使更新生效。

8.197. seabios

现在,Red Hat Enterprise Linux 6 提供了更新的 seabios 软件包修复几个程序错误并添加两个改进。
seabios 软件包包含一个开源传统 BIOS 实施,可用作 coreboot 有效负载。它实现了标准的 BIOS 调用接口,即典型的 x86 专有 BIOS 实施。

程序错误修复

BZ#846519
由于高级配置和电源接口(ACPI)描述表中存在一个错误,在某些 Windows 客户端上可能会发生停止错误(称为 Blue Screen of Death 或 BSoD)。在大量 S3 和 S4 电源状态转换过程中,使用 virtio-win small 计算机系统接口(SCSI)驱动程序的客户机中会发现这个问题,例如在运行 CrystalDiskMark 基准时。一个补丁已被用来修复这个程序错误,在上述场景中不会再发生停止错误。
BZ#846912
之前包含了一个不正确的定义,多个 ACPI 描述表(MADT)。因此,在切换到 S3 或 S4 电源状态后,SCSI 驱动程序无法禁用,并且始终附加到 Global System Interrupt (GSI)数字 9。MADT 定义不正确,现在在这种情况下可以禁用并启用 SCSI 驱动程序。
BZ#888633
SeaBIOS 工具之前允许在不找到可引导设备时从未取消选择的设备引导。这个问题已通过添加对 HALT 指令的支持来解决,这可防止 SeaBIOS 在没有可引导设备可用时进行默认引导尝试。

功能增强

BZ#876250
在这个版本中,SMBIOS GUID 号(与系统的 UUID 相同)现在显示在 BIOS Power-on 自测试(POST)屏幕上。
BZ#963312
这个版本修改了 virsh 管理用户界面,以便 "virsh dump" 命令现在支持自动内核转储。使用适当的 kdump 机制设置,vmcore 文件会被自动捕获,后续的操作会自动执行。
建议 seabios 用户升级至这些更新的软件包,从而修复这些 bug 并添加这些增强功能。

8.198. selinux-policy

Red Hat Enterprise Linux 6 现在提供了几个程序错误修复并添加各种改进的 selinux-policy 软件包。
selinux-policy 软件包包含管理系统中运行受限进程的方式的规则。

程序错误修复

BZ#872542
当 SELinux 处于 enforcing 模式,并且 AWStats 工具配置为清除 httpd 日志文件时,会因为缺少此设置的 SELinux 策略规则而生成 AVC 信息。要修复此程序错误,添加了 awstats_purge_apache_log_files 布尔值。启用后,布尔值允许 AWStats 清除日志文件。因此,AVC 信息不再返回。
BZ#878148
由于缺少 SELinux 策略规则,httpd 守护进程没有搜索 /var/lib/cobbler/webui_sessions/ 目录的权限。因此,用户无法登录到 Cobbler Web 用户界面(UI)。有了这个更新,SELinux 策略已被更新,用户现在可以按预期使用 Cobbler Web UI。
BZ#890646, BZ#890647, BZ#892024
当 SELinux 处于 enforcing 模式时,与 postfix 服务相关的问题会出现:
  • postfix 服务无法连接到 MySQL 数据库。
  • sysadm_u SELinux 用户无法正确执行 postqueue -p 命令。
  • postfix 守护进程无法列出 /tmp/ 目录的内容。
  • 当网关上启用了 Sender Policy Framework (SPF)验证时,posfix-master 二进制文件无法执行 postfix-policyd-spf-perl Postfix 服务器。
在这个版本中,在 SELinux 策略中添加了新的 SELinux 策略规则来修复这些程序错误。因此,在上述场景中 postfix 现在可以正常工作。
BZ#903371
在以前的版本中,缺少 /usr/local/bin/x11vnc 文件的正确安全上下文。因此,处于 enforcing 模式的 SELinux 会阻止 GNOME 显示管理器(GDM)和 X.Org 实现 X Window 系统执行 x11vnc 服务器工具。文件的 xserver_exec_t 安全上下文已添加到 SELinux 策略中,GDM 和 X.Org 现在可以在上述场景中正常工作。
BZ#906346
由于缺少 SELinux 策略规则,在为 sar 命令生成数据时,sysstat 工具无法写入设备标签。有了这个更新,SELinux 策略已被更新,允许 sysstat 正常工作。
BZ#906773
在以前的版本中,缺少 /bin/yum-builddep 文件的正确安全上下文。因此,使用 yum-builddep 命令安装 sendmail 软件包后,处于 enforcing 模式的 SELinux 会返回错误。安全上下文已更新至 rpm_exec_t,使用 yum-builddep 的安装现在可以按预期进行。
BZ#908095
由于 SELinux 策略规则不正确,尝试使用 Munin 实用程序的 df_inode 插件会导致 AVC 消息返回。策略规则已被更新,插件现在可以按预期工作。
BZ#909857, BZ#983601, BZ#1003571, BZ#1021566
当 SELinux 处于 enforcing 模式时,因为 SELinux 策略规则不足而导致与 tgtd 守护进程相关的问题:
  • tgtd 守护进程与 iSNSd 守护进程在服务器上运行时,tgtd 守护进程无法连接到 TCP 端口 3205。因此,tgtd 无法发现互联网存储名称服务(iSNS)目标。
  • 因为缺少设备的 SELinux 标签,tgt d 守护进程无法访问 /dev/infiniband/uverbs0 设备。
  • SYS_RAWIOSYS_ADMINIPC_LOCK 功能缺失。
  • tgtd 守护进程无法访问 /dev/sg0 设备。
添加了适当的 SELinux 策略规则来修复 这些 bug,在上述场景中现在可以按预期工作。
BZ#912295
在以前的版本中,当在系统中添加多个设备时,udev 规则会为每个新设备重启 ktune 服务。这可能会导致在短时间内进行多次重启。多个重启可能会在内核中触发竞争条件,这目前无法修复。tuned 守护进程代码已被修改,不会每 10 秒触发多个重启,从而防止竞争条件发生。
BZ#913673
cgrulesengd 守护进程尝试使用 inotifyfs 脚本监控文件系统更改时,SELinux 会拒绝守护进程因为 SELinux 策略不足而无法访问脚本。在这个版本中,添加了一个新的 SELinux 策略规则来解决这个问题,cgrulesengd 现在可以按预期使用 inotifyfs
BZ#915729, BZ#966203, BZ#984903
当 SELinux 处于 enforcing 模式时,因为 SELinux 策略规则不足而无法与 system-config-kdump 工具相关的问题:
  • kdumpgui_t SELinux 域中运行的 kexec 功能无法访问 kcore 文件。
  • system-config-kdump 无法写入 /boot/efi/EFI/redhat/grub.cfg 文件。
  • system-config-kdump 无法编写 zipl 信息。
添加了适当的 SELinux 策略规则来修复这些 bug 和 system-config-kdump 现在可以正常工作。
BZ#917157, BZ#991024
在以前的版本中,因为缺少 SELinux 策略规则,不允许 Nagios Remote Plugin Executor (NRPE)执行 sudo 工具。因此,当用户使用 NRPE 及其自己的 Nagios 插件监控服务器时,会尝试调用所提供的服务的 init.d 脚本 的状态 操作,以确定服务的健康状况,失败。已更新适当的 SELinux 策略规则,以便 NRPE 现在可以按预期使用 sudo 工具。
BZ#919192
由于 /var/lock/subsys/dirsrv-admin 文件的标签不正确,尝试使用控制台重启管理服务器或命令行失败。因此,会返回 AVC 拒绝信息。在这个版本中,为文件和拒绝消息添加了正确的默认安全上下文,现在不再返回。
BZ#919893
在以前的版本中,缺少 /sbin/ip6tables 文件的正确安全上下文。因此,处于 enforcing 模式的 SELinux 会导致 Shorewall 工具失败。有了这个更新,安全上下文已更新至 iptables_exec_t。因此,Shorewall 可以正常工作。
BZ#921234
由于缺少 SELinux 策略规则,不允许 abrt_t SELinux 域转换至 prelink_t SELinux 域。因此,软件包的 RPM 验证提供了意外终止的软件包二进制文件,在自动错误报告工具(ABRT)处理过程中会失败。SELinux 策略已被修改来修复这个程序错误,以便在上述场景中 RPM 验证不再会失败。
BZ#922028
在以前的版本中,enforcing 模式的 SELinux 会阻止 snmptthandler 工具在 /var/spool/snmptt/ 目录中执行任何操作,因为目录的安全上下文不正确。在这个版本中,上下文已更新至 snmpd_var_lib_t,以便实用程序现在可以按预期工作。
BZ#922135
由于 SELinux 策略规则不正确,Nagios 应用程序无法临时存储带有测试的文件,从而导致 /var/spool/nagios/checkresults/ 目录。在这个版本中,相关的 SELinux 策略规则和 Nagios 不再阻止将文件存储在这个目录中。
BZ#927003
网络信息服务(NIS)主设备可以和其他作为 NIS 从机器运行的机器进行配置。在以前的版本中,当 NIS 客户端更改了 NIS 密码时,新的 AVC 消息会登录到 /var/log/audit/audit.log 文件中。这是因为 SELinux 不允许 yppus 工具连接到传输控制协议(TCP) 111 端口。在这个版本中,修改了适当的 SELinux 策略规则,并且 AVC 信息不再记录在上述场景中。
BZ#927973
由于 SELinux 策略不正确,与 postfix 代理一起运行 Apache HTTP 服务器无法正常工作。因此,使用 httpd_t SELinux 标签标记的 postdrop 工具无法访问 /var/spool/postfix/maildrop/ 目录。在这个版本中,httpd_can_sendmail 布尔值已被更新,以允许 postdrop 访问该目录。
BZ#947772
当 SELinux 处于 enforcing 模式时,sanlock-helper 工具不允许向任何进程发送 SIGKILL 信号,该信号注册到 sanlock 守护进程中。现在,相关的 SELinux 策略规则已被修改,sanlock-helper 现在可以向注册的进程发送 SIGKILL 信号。
BZ#950103
由于 SELinux 策略规则不足,pegasus_tmount_t SELinux 域之间的转换无法正常工作。因此,当 OpenPegasus 基于 Web 的企业管理(WBEM)服务尝试使用 wbemcli 工具检索文件系统的信息时,SELinux 会拒绝对挂载的访问。在这个版本中,SELinux 策略已被修改,OpenPegasus 现在可以在上述场景中访问挂载。
BZ#952621
当 SELinux 处于 enforcing 模式时,因为缺少 SELinux 策略规则,沙盒 SELinux 域无法使用继承的用户终端。在这个版本中,相应的规则已更新,以允许 沙盒 域使用这些终端。
BZ#953180
由于 SELinux 策略规则不足,当混合 Red Hat Network Satellite 和 Red Hat Network Satellite Proxy 环境中使用了 s2s 服务时,在 audit.log 文件中返回以下 AVC 信息:
type=AVC msg=audit(1364300742.715:101611): avc: denied { name_connect } for pid=2278 comm="s2s" dest=5269 scontext=system_u:system_r:jabberd_t:s0 tcontext=system_u:object_r:jabber_interserver_port_t:s0 tclass=tcp_socket
添加了适当的 SELinux 规则来修复这个程序错误,在这种情况下不再返回 AVC 信息。
BZ#956720
以前,opasswdopasswd.old 文件使用 etc_t SELinux 上下文进行标记。但是,这些文件包含敏感信息,应该使用 shadow_t 上下文进行标记。在这个版本中,SELinux 策略已被修改,文件现在可以按预期使用 shadow_t 正确标记。
BZ#957012
在以前的版本中,时钟设备(/dev/ptp*)被错误地标记为 device_t SELinux 标签,而不是 clock_device_t。这个更新提供了一个补丁来修复这个程序错误,现在时钟设备已被正确标记。
BZ#957023
在以前的版本中,enforcing 模式的 SELinux 会阻止 svnserve 守护进程使用 TCP 端口 3690。现在,相关的 SELinux 策略规则已被更新,svnserve 现在可以按预期使用端口。
BZ#957265
由于缺少 SELinux 规则,因此无法进行 aide_tprelink_t SELinux 域之间的转换。因此,当 SELinux 在 enforcing 模式下运行时,在 cron 任务中执行 aide --check 命令无法正常工作。相关的 SELinux 规则已更新,可以修复这个程序错误,命令现在可以按预期工作。
BZ#958682, BZ#975921, BZ#1009449
在以前的版本中,mysqld_safe 脚本无法使用 shell_exec_t SELinux 安全上下文执行 shell (/bin/sh)。因此,mysql55mariadb55 Software Collection 软件包无法正常工作。在这个版本中,SELinux 策略规则已被更新,这些软件包现在可以正常工作。此外,mysqld_safe SELinux 策略已被修改,以允许 SYS_NICE 功能。
BZ#966106
当使用带有 netns 支持的特定版本的 Quantum 服务时,SELinux 会拒绝各种操作,这会导致 Quantum 意外终止。此外,由于操作的 dontaudit 规则,除非 SELinux 在 permissive 模式下运行,否则不会返回 AVC 信息。修正了适当的 SELinux 策略,SELinux 不再拒绝操作,在上述场景中不再发生 Quantum 失败。
BZ#966515
在以前的版本中,启用 ftp_homdedir 布尔值允许某些规则,这不应该被布尔值允许。相关的 SELinux 策略已被修改,布尔值现在只允许它应该使用的规则。
BZ#966635
在以前的版本中,M unin Common Gateway Interface (CGI)脚本被错误地标记,因此在不正确的 SELinux 域中运行。脚本的文件上下文已更新至 httpd_munin_script_exec_t,脚本现在在正确的 SELinux 域中运行。
BZ#966640
在以前的版本中,/var/log/syslog-ng 文件被错误地标记为 syslog_var_run_t SELinux 安全上下文。因此,当 SELinux 处于 enforcing 模式时,logwatch 工具无法访问该文件。有了这个更新,syslog-ng 文件的安全上下文已修改为 var_log_tlogwatch 现在可以按预期访问该文件。
BZ#971594
在以前的版本中,尝试将逻辑卷管理(LVM)卷附加到 Red Hat OpenStack 3 实例会失败,因为 SELinux 策略不正确,返回 AVC 拒绝信息。相关的 SELinux 策略规则已被修改,为 hald_t SELinux 域添加额外的 Multi-Category Security (MCS)属性。现在,在上述场景中不再返回 AVC 拒绝信息。
BZ#973156
在以前的版本中,/etc/yaboot.conf 文件被错误地标记为 etc_t SELinux 安全上下文。在这个版本中,安全上下文已改为 bootloader_etc_t
BZ#974932
SELinux 策略中缺少 SETUIDSETGID 功能。因此,当 SELinux 处于 enforcing 模式时,rsyslog 实用程序无法使用 $PrivDropToUser$PrivDropToGroup 选项丢弃特权。在这个版本中,缺少的功能已添加到 SELinux 策略中,rsyslog 现在可以按预期丢弃权限。
BZ#978993
由于 SELinux 策略规则不正确,SELinux 会阻止 chronyd 守护进程使用 SYS_NICE 功能。sched_setscheduler() 功能需要该功能。有了这个更新,SELinux 策略规则已被修改为允许守护进程使用 SYS_NICE
BZ#983217
在以前的版本中,不允许从 dovecot_t SELinux 域转换到 oddjob_mkhomedir_t SELinux 域。因此,尝试与 Dovecot 服务器一起创建用户主目录,并且启用了 pam_oddjob_mkhomedir 模块会失败,并返回 AVC 信息。SELinux 策略已被修改,现在允许转换。
BZ#995434
在 enforcing 模式下运行的 SELinux 会阻止 lldpad 服务与 fcoemon 服务通信。因此,用户无法在 Virtual Machine Manager (virt-manager)中创建虚拟机,并返回以下 AVC 信息:
type=AVC msg=audit(1376046443.294:69876): avc:  denied  { sendto } for  pid=2755 comm="lldpad" path=003030303232 
scontext=system_u:system_r:lldpad_t:s0 tcontext=system_u:system_r:fcoemon_t:s0 tclass=unix_dgram_socket
修正了适当的 SELinux 策略,用户现在可以按预期创建虚拟机。
BZ#998663
在以前的版本中,SELinux 策略会阻止基于位于 /var/run/vdsm/storage/ VDSM 的守护进程目录中的卷运行虚拟机。因此,尝试运行这样的虚拟机会意外终止并出现错误。在这个版本中,svirt_t SELinux 域已被更新,以读取 /var/run/ 目录中的符号链接。因此,在上述场景中,虚拟机不再失败。
BZ#1005196, BZ#1005250
由于 SELinux 策略规则不正确,某些 SELinux 域无法访问 /sys/devices/system/cpu/ 目录。因此,此类域无法从目录获取信息。在这个版本中,相关的 SELinux 策略规则已更新,以允许域访问 /sys/devices/system/cpu/ 目录。
BZ#1005806
启用了 Multi-Level Security (MLS) SELinux 策略后,xinetd 守护进程无法执行 shell 脚本,并返回以下出错信息:
xinetd[2771]: execv( /usr/local/eal4_testing/audit-test/utils/network-server/pidfile_kill.sh ) failed: Permission denied (errno = 13)
适当的 SELinux 规则已更新,允许 xinetd 执行 shell 脚本。
BZ#1006952
由于 SELinux 策略规则不足,尝试使用 libvirt 库启动 QEMU 进程会失败并显示错误。在这个版本中,SELinux 策略已被修改,QEMU 进程现在可以按预期启动。
BZ#1009661
由于 SELinux 策略规则不足,在自动无线测试期间获取作业失败,并返回 AVC 拒绝消息。因此,用户无法使用无线连接。已更新了适当的 SELinux 策略规则,以修复这个程序错误,以便用户现在可以在上述场景中使用无线连接。
BZ#1009838
由于缺少 SELinux 策略规则,当系统设置为在服务器上使用 yppasswdd 守护进程时,现在允许 rpc.yppasswdd 二进制文件读取 /var/run/utmp 文件并列出 /boot/ 目录的内容。相关的 SELinux 策略已更新,守护进程现在可以按预期访问 utmp 文件和 /boot/ 目录。
BZ#1009859
当系统设置为 Concurrent Versions System (CVS)服务器使用可插拔验证模块(PAM)进行客户端身份验证时,不允许 CVS 二进制文件读取 /var/run/utmp 文件。在这个版本中,相关的 SELinux 策略被修复,允许 CVS 按预期读取该文件。

功能增强

BZ#926022
在这个版本中,在 SELinux 策略中添加了一个新的布尔值 ftpd_use_fusefs。启用后,此布尔值允许 GlusterFS 挂载用于文件传输协议(FTP)数据目录。
BZ#854963, BZ#876334, BZ#881834, Bz#891779, BZ#1000521
pand,haproxy,watchdog,lldpad, 和 openhpid 守护进程在 initrc_t SELinux 域中运行。在这个版本中,为守护进程添加了 SELinux 支持,它们现在使用自己的独立 SELinux 域。
BZ#871437
在这个版本中,提供了 smstools 软件包的新 SELinux 策略。
BZ#880728, BZ#986198
在以前的版本中,手册页不包括所有更新的 SELinux 策略规则。在这个版本中,实际的 SELinux 策略包含在 selinux-policy 软件包中。因此,此类手册页是最新的。
BZ#889120, BZ#915151, BZ#923246, BZ#924843, BZ#1011963,
在以前的版本中,pacemaker 资源管理器没有定义自己的 SELinux 策略,并使用 initrc_t 域。在这个版本中,包括 pacemaker 的所有集群管理服务都已合并到 cluster_t SELinux 域。除了此合并外,所有其他 Red Hat Cluster 服务也被更新为使用 cluster_t 域。
BZ#859651, BZ#1004380, BZ#1010324
git_shell_t SELinux 类型已从 SELinux 策略中删除。在这个版本中,提供了 Git 控制系统的更新的 SELinux 策略。
BZ#890554
在这个版本中,Zabbix 监控 系统的 SELinux 策略已更新。
BZ#915314
有了这个增强,一组允许用户挂载 Gluster 文件系统的新规则,已添加到 SELinux 策略中。
BZ#922732, BZ#966387
/var/lib/openvpn/ 目录添加了新的 SELinux 文件类型和标签。另外,SELinux 策略已被更新,允许 OpenVPN 管理自己的日志文件。
BZ#928020, BZ#955189, BZ#979421, BZ#999471, BZ#1002593
有了这个增强,ama vis_t,clamd_t,clamscan_t, newclam_t SELinux 域已合并到 antivirus_t SELinux 域。
BZ#952827
在这个版本中,增加了对 27017, 28017, 27018, 28018, 27019, 28019 端口的 SELinux 支持。现在端口使用其单独的 mongod_port_t SELinux 端口类型。
BZ#953652, BZ#963465, BZ#968344, BZ#969485
在这个版本中,OpenShift 应用平台的 SELinux 策略已更新,以反映最新的上游策略。
BZ#953754
位于 usr/lib (64)?/nagios/plugins/ 目录中的所有 Nagios 插件的文件上下文已更新至 nagios_unconfined_plugin_exec_t 上下文。
BZ#955774
有了这个增强,在 SELinux 策略中添加了新的布尔值。tftp_use_nfs 布尔值允许 Trivial 文件传输协议(TFTP)从 NFS 卷读取公共文件传输服务。tftp_use_cifs 布尔值允许 TFTP 从 CIFS 卷读取。
BZ#959554
新的共享系统证书功能添加了新的位置,系统信任的证书和黑名单信息可以被读取。在这个版本中,SELinux 文件上下文相应更新。
BZ#964345
根据新的 qemu-ga 特性和功能更新了与 QEMU 客户机代理( qemu-ga )相关的 SELinux 策略。
BZ#968403
在这个版本中,Oracle Automatic Storage Management (ASM)的 SELinux 策略已更新,以反映最新的上游策略。
BZ#977047
Zettabyte 文件系统(ZFS)已添加到支持的文件系统的 xattr 列表中。在这个版本中,SELinux 策略会相应地更新。
BZ#979432
新的 openvpn_run_unconfined 布尔值已添加到 SELinux 策略中。启用后,布尔值允许 OpenVPN 执行无限制脚本。
BZ#986883
在这个版本中,互联网协议安全(IPsec)的 SELinux 策略已更新,以反映最新的上游策略。
BZ#1006370
在这个版本中,openstack-selinux 策略的前缀已从 quantum 改为 neutron
BZ#1011973
在这个版本中,TCP 端口 9000 使用 httpd_port_t SELinux 标签进行标记。
建议 selinux-policy 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.199. setuptool

现在,Red Hat Enterprise Linux 6 提供了修复一个程序错误的 setuptool 软件包。
Setuptool 是一个用户友好的文本模式菜单实用程序,允许用户访问操作系统分发中包含的所有文本模式配置程序。

错误修复

BZ#883581
/usr/share/man/man1/setup.1.gz 文件不再设置可执行标志。
建议 setuptool 用户升级到这些更新的软件包,从而解决了这个问题。

8.200. sg3_utils

针对 Red Hat Enterprise Linux 6 提供了更新的 sg3_utils 软件包,它修复了一个程序错误。
sg3_utils 软件包包含使用 Linux SCSI 通用(sg)接口的 SCSI 设备的集合。这个集合包括用于根据 "dd" 语法和语义进行数据库复制的工具("sg_dd", "sgp_dd" 和 "sgm_dd" 命令)、INQUIRY 数据检查和关联的页面("sg_inq")、模式和日志页面检查("sg_modes" 和 "sg_logs")、磁盘 spinning ("sg_start")和 self-tests ("sg_senddiag"),以及其他工具。它还包含 rescan-scsi-bus.sh 脚本。

错误修复

BZ#920687
show_devices ()函数中使用的逻辑(由"sginfo"命令使用)通过扫描 /dev 目录来识别这些设备打开这些设备。因此,/dev/snapshot 文件被打开,从而导致系统准备 suspend/hibernate,作为此的一部分,阻止热添加的 CPU 被激活。要修复这个错误,显示_devices () 函数中使用的逻辑决定了要打开的设备。因此,运行 "sginfo -l" 命令不再对阻止热添加的 CPU 激活造成意外的影响。
建议 sg3_utils 用户升级到这些更新的软件包,从而解决了这个问题。

8.201. slapi-nis

现在,Red Hat Enterprise Linux 6 提供了修复两个程序错误的 slapi-nis 软件包。
slapi-nis 软件包包含 NIS 服务器插件和用于 389 目录服务器的 Schema 兼容性插件。

程序错误修复

BZ#923336
由于 NIS 服务器插件中的一个错误,当多个客户端通过流套接字连接到服务器时,其中一些客户端在早期断开连接。这个程序错误已被解决,在上述情况下客户端不再过早断开连接。
BZ#967468
在此次更新之前,NIS 服务器插件不会释放用于存放已解码客户端请求的内存。因此,目录服务器使用过量内存,因为它处理来自 NIS 客户端的更多请求。这个程序错误已被解决,目录服务器现在消耗预期的内存量。
建议 slapi-nis 用户升级到这些更新的软件包,从而修复这些 bug。

8.202. scs

现在,Red Hat Enterprise Linux 6 提供了一个更新的 sos 软件包,它修复了几个程序错误并添加了各种改进。
sos 软件包包含一组从系统硬件、日志和配置文件收集信息的工具。然后,这些信息可用于诊断和调试。

程序错误修复

BZ#876309
SELinux 插件在现代 Linux 发行版中使用了过时的一些命令,因此 sosreport 工具无法从 SELinux 工具和诊断收集一些信息。该插件已被更新,以反映 SELinux 工具和诊断中的更改,以便 sosreport 现在可以从这些组件收集更多信息。
BZ#883811
以前版本的 sos 没有屏蔽 libvirt 的 XML 配置文件和 corosync-obctl 命令的输出中的密码,因此密码可能会被披露给 sosreport 数据的接收者。这个版本会修改对应的 libvirt 和 corosync 插件,以便在从上述源收集 sos 数据时密码过期。
BZ#888488
在以前的版本中,当执行外部命令时,sos 始终使用用户的环境设置,除非环境由用于收集 sos 数据的插件明确指定。因此,收集的输出会受到区域设置和自定义设置,运行 sosreport 命令的用户的自定义设置可能会无法进一步处理数据。在这个版本中,sos 运行带有一致的 LC_ALL 设置的所有外部命令,现在命令输出使用 C 区域来收集。
BZ#888589
sosreport 工具以前默认验证所有安装的软件包,这对 CPU 和内存使用情况非常要求。为避免这种情况,rpm 插件现在包含要验证的固定软件包列表,包括内核软件包等核心系统软件包。
BZ#888724
以前的 sos 版本不会保留所收集文件的权限。sosreport 归档中的文件权限可能与主机系统上的文件权限不一致,这可能会误导用户。在这个版本中,sos 保留所收集文件的所有权和权限。
BZ#913201
sosreport 工具以前可能会因为尝试从 proc 文件系统(/proc/net/rpc configured/channel)中复制 RPC 频道文件,在本地系统中造成意外的 RPC 失败。这些文件现在从集合中列入黑名单,sosreport 命令不再干扰活跃的 RPC 通信。
BZ#924925
openswan 插件之前收集了"ipesec barf"命令的输出,以获取 VPN 相关诊断信息。这可能会导致 sosreport 在包含大型 UID 的帐户运行时显示无响应,并安装了被 bug 771612 影响的 openswan 版本。在这个版本中,ipsec barf 命令不再默认运行,在这种情况下,问题将不再发生,除非从命令行显式启用了 barf 功能。
BZ#947424
devicemapper 插件使用过时的语法从 udev 子系统获取信息。名为 "udevinfo" 命令的插件,而不是实际的命令 "udevadm info"。在这个版本中,这个问题已被解决,现在可以为相关的块设备类型收集正确的属性数据。
BZ#966602
sosreport 命令错误地假设 tar 程序默认始终在标准输出中写入数据。因此,当设置 TAPE 环境变量时,数据可能会意外写入磁带设备,或者此变量扩展的另一个位置。sosreport 已修改,总是使用 "-f" 选项调用 tar 命令,强制将数据写入标准输出。在其环境中设置 TAPE 变量的用户可以运行 sosreport,而现有磁带设备中的数据可能会被覆盖。
BZ#986301
以前的 sos 版本允许由集群模块收集来自 luci 配置文件中的密码,这样密码可能会被披露给 sosreport 数据的接收者。在这个版本中,修改集群模块,以便 luci 密码现在可以从收集的数据中移出。
BZ#986973
以前的 sos 软件包版本被称为 "wbinfo -u" 命令,从系统 Winbind 配置可见的域收集用户信息。但是,wbinfo 命令可能会在带有许多可信域的大型 Active Directory 安装中使用大量内存和 CPU 时间。因此,sosreport 似乎没有响应,并可能会为其他进程触发内存不足的情况。sosreport 命令已被修改为使用带有 wbinfo 命令的 "--domain='.'" 开关,它将数据收集限制为本地域。此问题不再在上述场景中发生。
BZ#987103
sos 的早期版本在配置了 kerberos 身份验证的系统上收集文件 /etc/krb5.keytab。此文件包含加密密钥,是有限的诊断值。现在,可以使用 klist 命令获取文件中的条目摘要。

功能增强

BZ#868711
对于调试与 Gluster 地理复制相关的问题,"gluster volume geo-replication-status"命令的输出可能很重要。因此,gluster 插件现在默认收集这个诊断输出。
BZ#907861
ID 映射守护进程(idmapd)控制 NFS 服务使用的身份映射,对于诊断和故障排除工作可能很重要。因此,idmad.conf 配置文件现在在 NFS 客户端和服务器主机上收集,并可在 sosreport 工具中进行分析。
BZ#924338
sosreport 工具现在允许为 Open Hardware Platform Interface (OpenHPI)组件收集配置文件。
BZ#924839
sosreport 工具现在从系统中找到的 vmcore 转储文件中收集内核日志数据(dmesg 日志)。
BZ#989292
sos 软件包现在支持使用 crm_report 工具收集统一集群诊断数据。
建议 sos 用户升级到这个更新的软件包,修复这些 bug 并添加了这些改进。

8.203. spice-gtk

Red Hat Enterprise Linux 6 现在提供了修复几个程序错误并添加各种改进的 spice-gtk 软件包。
spice-gtk 软件包为 SPICE (独立计算环境的简单协议)客户端提供 GIMP Toolkit (GTK+)小部件。虚拟机管理器和虚拟机查看器都可以使用此小部件来访问使用 SPICE 协议的虚拟机。
升级到上游版本
spice-gtk 软件包已升级到上游版本 0.19,与之前的版本相比,它提供了很多程序错误修复和增强,包括支持通过 HTTP 代理服务器的隧道、改进的多监视器支持以及各种 USB 重定向修复。(BZ#961452)

程序错误修复

BZ#980400
polkit 工具基于较新的 GTK+GLib 版本构建,因此它依赖于这些版本。在以前的版本中,在不同时升级 GTK+GLib 的情况下升级 spice-gtk 会导致应用程序在启动时意外终止。在这个版本中,RPM 依赖项已被调整,spice-gtk RPM 需要新的 GTK+GLib 版本。因此,除非同时安装了所需的 GTK+GLib 版本,否则无法安装 spice-gtk
BZ#879352
在此次更新之前,spice-gtk 默认连接到服务器普通端口,只有在服务器提供了端口时成功。但是,这会阻止 spice-gtk 连接到安全端口。在这个版本中,spice-gtk 可以连接到安全端口,而不是首先尝试普通端口。
BZ#906558
在以前的版本中,如果 Shift+CTRL+V 键的组合在 Microsoft Outlook 中的消息窗口上按,spice-gtk 客户端会意外终止。要解决这个问题,应用了未渲染位映射的缓存面板,客户端不会在上述场景中崩溃。
BZ#998529
当鼠标指针放在 Microsoft Windows 客户机的 PuTTY 会话上时,鼠标指针会出现黑色。光标对比已被改进,现在光标在将鼠标悬停在 PuTTTY 会话时明确可见。
BZ#885101
spice-gtk 连接到无法访问的主机时,连接超时错误需要大约 2 分钟。在这个版本中,spice-gtk 仅在报告无法访问的主机错误前等待 10 秒。
BZ#815639
在以前的版本中,spice-gtk 无法正确处理软件 智能卡支持 已被初始化。因此,软件 智能卡支持在迁移后停止工作或重启客户机。作为临时解决方案,如果 libcacard 报告软件智能卡支持已被初始化,则在 spice-gtk 连接时不要禁用软件智能卡支持。 解决这一临时解决方案,软件 智能卡支持 在客户机重新启动或迁移过程中保持工作。

功能增强

BZ#948618
现在 SPICE 客户端可以使用 HTTP 代理服务器支持。SPICE 客户端现在由由环境 SPICE_PROXY=host:port 变量或控制器指定的代理服务器建立与远程服务器的连接。
BZ#752350
Red Hat Enterprise Linux 和 Microsoft Windows 操作系统使用不同的行尾序列。在这个版本中,实现了一项新功能,如果 SPICE 客户机代理支持此功能,它会在复制和粘贴期间将行尾部分转换为目标操作系统。
BZ#978405
由于延迟和有限带宽,视频会变得非常好见。在这个版本中,实现了带有调整带宽和延迟的自适应视频流,这提高了视频体验。
建议 spice-gtk 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.204. spice-protocol

现在,Red Hat Enterprise Linux 6 提供了添加各种增强的 spice-protocol 软件包。
spice-protocol 软件包提供了头文件来描述 SPICE 协议和 QXL 半虚拟化图形卡。需要 SPICE 协议来构建 spice-client 和 spice-server 软件包的较新版本。
升级到上游版本
spice-protocol 软件包已升级至上游版本 0.12.6,与之前的版本相比,它提供了很多改进,包括文件复制支持,以及当客户端和客户机约定不同时使用剪贴板复制和粘贴文本的结束转换。(BZ#965812)

功能增强

BZ#978410
与有限带宽相比,视频回放的连续性得到了提高。现在,出现较少的情况会下降和暂停,从而获得更好的用户体验。在这个版本中,视频位和回放延迟会被动态调整,使用客户端的定期报告。过去视频播放的带宽和延迟估算现在用于改进未来视频播放的初始参数设置。
建议 spice-protocol 用户升级到这些更新的软件包,这会添加这些改进。

8.205. spice-server

Red Hat Enterprise Linux 6 现在提供了更新修复多个程序错误并添加各种改进的 spice-server 软件包。
独立计算环境的简单协议(SPICE)是虚拟环境的远程显示协议。SPICE 用户可从本地系统或任何可访问服务器的系统访问虚拟化桌面或服务器。Red Hat Enterprise Linux 中使用 SPICE 查看在基于内核的虚拟机(KVM)管理程序或 Red Hat Enterprise Virtualization Hypervisor 上运行的虚拟客户机。
升级到上游版本
spice-server 软件包已升级到上游版本 0.12.4,与之前的版本相比,它提供了大量的程序错误修复和增强。(BZ#952671)

程序错误修复

BZ#823472
从使用大多数 SPICE 频道的主线程访问的数据可以通过其他频道的线程访问,如显示和光标频道。为了保护数据,在 SPICE 代码中添加了一个断言检查。但是,对声音频道接口的某些调用使用 Virtual CPU (vCPU)线程。在以前的版本中,这些调用被断言检查拒绝,从而导致 SPICE 服务器和基于内核的虚拟机(KVM) hypervisor 中止。这种调用是无害的,因为 KVM 对 vCPU 和 I/O 线程使用全局相互排除(mutex)。在这个版本中,返回警告信息而不是中止 SPICE 和 KVM。
BZ#859027
client_migrate_info() 功能被指定 cert-host-subject 选项调用时,然后在第三个调用中调用该选项,第二个时间将释放该选项。这是因为在第二个调用第一次释放后,指针没有设置为 NULL。此行为导致 SPICE 服务器意外终止并出现分段错误。底层源代码已被修改,当未指定 cert-host-subject 选项时,指针被设置为 NULL。因此,指针只释放一次,SPICE 在上述场景中不再崩溃。
BZ#918169
当两个项目发送到客户端并且客户端断开连接时,第一项被成功清除,但第二个项目没有被成功清除。因此,由于断言检查失败,SPICE 服务器意外终止。在这个版本中,会应用一个补丁来修复这个程序错误,因此第二个项目现在可以被正确清除。因此,SPICE 服务器不会在上述场景中崩溃。
BZ#918472
由于 SPICE 源代码中的一个错误,尝试运行 getaddrinfo() 功能会失败并显示分段错误。因此,快速模拟器(QEMU)意外终止。底层源代码已被修改,QEMU 在执行 getaddrinfo() 时不再崩溃。
BZ#950029
当 SPICE 源服务器在迁移过程中流传输视频数据时,SPICE 服务器可以在发送 MSG_MIGRATE 消息后向 SPICE 客户端发送与流相关的消息。这不允许,客户端将错误的消息转发给目标主机,而不是 MSG_MIGRATE_DATA 消息。然后,目标主机中止迁移。这个版本修改了 SPICE 服务器代码,以确保在发送 MSG_MIGRATE 和迁移过程成功完成后,只能发送 MSG_MIGRATE_DATA 消息。
BZ#952666
在以前的版本中,SPICE 服务器不允许创建带有 stride >= 0 路径的面,因为路径没有被测试,且任何 QXL 驱动程序之前没有被请求。因此,当 QXL 驱动程序试图创建此类面时,SPICE 会意外终止,并在某些系统上出现错误。底层源代码已被修改,允许使用 stride >= 0 路径创建面。因此,SPICE 服务器不会在上述场景中崩溃。
BZ#956345
在某些情况下,SPICE 服务器可能会在虚拟机迁移时中止。如果虚拟机在之前迁移到同一 SPICE 客户端会话中的当前主机后,可能会发生这种情况。然后,如果原始主机和客户端之间的连接较低带宽连接,新主机会将不正确的连接带宽值传递给 SPICE 客户端,从而导致 SPICE 服务器中止。这个版本提供了一个解决这个问题的补丁,SPICE 服务器现在在此场景中发送正确的连接带宽值。
BZ#958276
在以前的版本中,目标主机不会在迁移过程中将其多媒体时间发送到客户端,以便客户端持有源服务器的多媒体时间。因此,如果源和目标主机有不同的多媒体时间,且没有音频播放,则在客户端迁移后创建视频帧。这个版本应用了补丁来修复这个程序错误,在上述场景中不再丢弃视频帧。
BZ#977998
在以前的版本中,在发送位映射时设置了一个不正确的标记,这会导致客户端显示频道出现无限循环。这个行为特别是在有限带宽条件下。因此,SPICE 服务器可能会变得无响应。底层源代码已被修改来修复这个错误,在这种情况下,SPICE 不再挂起。
BZ#977998
在以前的版本中,客户端响应的等待超时周期被设置为 150 秒。这个持续时间太长,在某些情况下会导致返回服务器错误。在这个版本中,等待的超时时间被设置为 30 秒,以防止服务器错误发生。

功能增强

BZ#961848
在这个版本中,提供了对新的 QEMU disable-agent-file-transfer 选项的支持。现在,用户可以过滤掉文件传输信息。
BZ#978403
这个版本引进了自适应视频流,其提供更好的视频质量。使用此功能,网络带宽和延迟估计,并动态调整视频位,而回放延迟会被动态调整。此外,过去视频播放的带宽和延迟估算用于改进未来视频播放的初始参数设置。
我们建议所有 spice-server 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.206. spice-vdagent

Red Hat Enterprise Linux 6 现在提供了修复几个程序错误并添加各种改进的 spice-vdagent 软件包。
spice-vdagent 软件包为 Linux 客户机提供 SPICE 代理。
升级到上游版本
spice-vdagent 软件包已升级到上游版本 0.14.0,它提供很多程序错误修复和增强。(BZ#951596)

程序错误修复

BZ#881020
在调整客户机的监控器配置时,SPICE 客户机代理在切换到全屏模式时可能无法设置分辨率,这会使客户机的监控配置处于不一致状态。这是因为当客户机的视频内存耗尽时,代理不会处理情况。在这个版本中,当代理无法调整客户机监控器配置时,将客户机的监控器配置恢复到以前的状态解决了这个问题。
BZ#894036
之前,SPICE 客户机代理预计客户机的监控配置一直持续,并尝试以升序(显示 1、2、3、...)来建立和维护与显示窗口的连接。因此,用户无法打开 的顺序显示,并选择在关闭显示窗口时会显示关闭。这个问题已通过向代理发送稀疏监控配置来解决,该代理允许指定打开或关闭的显示。要在稀疏监控配置中,要禁用的 monitor 配置为 0x0 大小监控器。
BZ#894365
当 spice-vdagentd 守护进程在执行某些任务后(如重新定义窗口大小、复制和粘贴数据并改为全屏模式)后,用户会话 spice-vdagent 进程可能会意外终止。这是因为 SPICE 客户机代理在 spice-vdguestd 重启时尝试释放已经空闲的内存。现在,代理可以正确地释放内存,用户会话 spice-vdagent 进程不会在这种情况下崩溃。
BZ#895004
当使用每个 qxl 设备的多个监视器时,Linux 的 SPICE 客户机代理会记录警告信息,因为 spice-vdagent 支持此类配置。spice-vdagentd 守护进程已被修改,日志中不再会出现警告消息。
BZ#999804
当在没有 virtio 频道的系统中运行 SPICE 客户机代理时,代理会发出有关缺少 virtio 设备的错误信息。在这个版本中解决了这个问题,从代码中删除对应的 syslog () 调用,且系统日志中不再会出现错误消息。
BZ#1003977
当用户在关闭大量数据时重新连接到 remote-viewer 窗口时,复制-paste 功能将停止工作。此外,用户无法通过单击鼠标左键来调用上下文菜单。这是因为 SPICE 客户机代理没有在此情形中释放剪贴板。这个代理已被修改来正确发布剪贴板,问题不再发生。

功能增强

BZ#799482
当客户端运行在与客户机操作系统不同的操作系统(例如,运行 Windows 客户端和 Linux 客户机)时,SPICE 客户机代理现在支持确保正确转换行序列。
BZ#904082
在这个版本中,增加了对使用多个 X11 屏幕的设置的支持。这种设置可以使用多个 qxl 设备来实现,每个设备都映射到单独的屏幕。此设置有以下限制:每个 X11 屏幕(qxl 设备)只能使用一个 monitor,所有 monitor 必须具有相同的解析,并且解析同步必须在客户机机器上完成,因为没有 SPICE 客户端。
BZ#904084
添加了一个新的"-X"命令行选项到 spice-vdagent,它允许在运行时禁用 ConsoleKit 框架和 systemd-logind 服务集成,以便在不使用这些服务的设置时使用。
建议 spice-vdagent 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.207. spice-xpi

Red Hat Enterprise Linux 6 现在提供了修复一个程序错误并添加一个改进的 spice-xpi 软件包。
spice-xpi 软件包为 Mozilla 提供简单协议(SPICE)扩展,允许从 Web 浏览器使用 SPICE 客户端。

错误修复

BZ#882339
在此次更新之前,spice-xpi 浏览器插件不会删除 /tmp/spicec-XXXXXX/spice-foreign 套接字和 /tmp/spicec-XXXXXX/ 目录,因此在客户端退出后仍存在。这个程序错误已被解决,浏览器插件现在在客户端退出后删除上述文件和目录。

功能增强

BZ#994613
在 spice-xpi 浏览器插件中添加了对 SPICE 连接的代理支持。有了这个更新,spice-xpi 现在能够将代理设置传递给它生成的 SPICE 客户端,例如,从 Red Hat Enterprise Virtualization Manager 门户打开控制台时。
建议 spice-xpi 用户升级到这些更新的软件包,从而修复这个程序错误并添加此功能增强。安装更新后,必须重启 Firefox 才能使更改生效。

8.208. sssd

现在,Red Hat Enterprise Linux 6 提供了修复多个程序错误并添加了两个改进的 sssd 软件包。
系统安全服务守护进程(SSSD)提供一组守护进程来管理对远程目录和身份验证机制的访问。它为系统提供名称服务切换(NSS)和可插拔验证模块(PAM)接口,以及用于连接到多个不同帐户源的可插拔后端系统。

程序错误修复

BZ#872827
如果组成员位于所有配置的搜索基础之外,get-group-members 请求可能标记为 done,然后调用者有机会注册回调。因此,解析带有搜索基础外成员的组可能会显示为 stucked。get-group-members 请求已被修复,可调用等待返回结果的特殊 tevent_req_post ()函数,直到调用者注册回调为止。即使成员位于配置的搜索基础之外,请求也会正常工作。
BZ#906398
在组处理代码库中使用了一个 get_attribute 调用,当请求不存在的属性时,可能会分配空属性,而不是重新分配之前的属性数组。重新分配可能具有无效的现有指针,这些指针之前指向该数组。如果组根本不包含成员,则数组可以被重新分配,现有的指针无效,从而导致 SSSD 守护进程意外终止。要修复这个错误,现在使用另一个 get_attribute 来返回 ENOENT 错误,而不是创建空属性。因此,SSSD 不再在上述场景中崩溃。
BZ#911329
pam_pwd_expiration 警告被错误地设置为 Kerberos 提供者的 0 值,因此当服务器发送时,始终显示密码过期警告。因此,在某些环境中,如 Active Directory (AD)或 IPA,每次登录时都会显示警告信息。这个版本应用补丁来修改此行为,现在默认将警告设置为在七天中仅显示一次。
BZ#914433
为 IPA 供应商创建登录文件的代码无法正确处理错误条件,在编写 SELinux 标签失败后无法恢复。当系统上没有 selinux-policy-targeted 目录时,SSSD 守护进程写入的目标目录缺失。因此,写入登录文件会失败。在这个版本中,底层源代码已被修改,SSSD 现在可以正确处理写入失败。
BZ#916997
在以前的 Red Hat Enterprise Linux 版本中,可以检索非常大的活动目录(AD)组而不是跳过它们。但是,此行为可能会导致性能问题,因为额外的解析需要很长时间。要修复此错误,添加了一个新的选项 ldap_disable_range_retrieval,允许 SSSD 守护进程跳过非常大的 AD 组。
BZ#918394
当使用 sss_cache 工具重置内存缓存时,SSSD 守护进程不会关闭文件描述符,这会导致文件描述符泄漏。底层源代码已被修改,在上述场景中,文件描述符会被正确关闭。
BZ#948830
Netgroups 可以包含来自其他来源的嵌套网络组,以便 SSSD 守护进程一次只解析一个嵌套级别,并允许 glibc 库查询其他源。但是,每个嵌套级别都有一个完整的查询,因此嵌套的 netgroup 处理非常慢。在这个版本中,引入了一个新的选项 refresh_expired_interval。选项控制更新后台已过期记录的任务,而不是等待用户登录。因此,嵌套的 netgroup 处理速度更快。
BZ#950874
在以前的版本中,对于使用大写字符写入的用户名的用户,简单访问控制会拒绝对不区分大小写的域的访问。这个版本提供了一个补丁来修复这个程序错误,以便所有用户现在可以按预期登录。
BZ#951086
如果处理 LDAP 请求的时间超过客户端超时(默认为 60 秒),在完成请求时,PAM 客户端可能会访问之前因为客户端超时而释放的内存。因此,sssd_pam 进程会意外终止,并显示分段错误。在这个版本中,SSSD 守护进程在检测到达到此请求的设定超时时会忽略 LDAP 请求结果。因此,sssd_pam 进程不会在上述场景中崩溃。
BZ#953165
每次保存用户帐户时,SSSD 守护进程都会使用没有索引的属性来执行不必要的搜索。因此,保存大量用户帐户会消耗几乎 100% 的 CPU,特别是在枚举过程中,因为 SSSD 正在搜索非索引的属性。在这个版本中,搜索已被禁用,SSSD 在保存枚举结果时不再消耗 CPU 数量。
BZ#954275
当尝试使用域名系统(DNS) SerRVice 记录(SRV)失败时,SSSD 守护进程不会重试 SRV 查询,即使查询内部超时已通过时也是如此。因此,当服务器发现过程第一次失败时,特别是在引导时,SSSD 不会重试查询,直到重启或客户端的网络状态更改了 SSSD 网络状态。这个版本应用了补丁来修复这个程序错误,以便 SRV 查询总是在经过超时后重试。现在,在上述场景中,SSSD 可以正确地重试 SRV 查询。
BZ#954323
宽限期警告代码会在强制更改密码前显示保留的登录次数。在以前的版本中,该代码 中有一个非一 的比较错误。因此,当 389 目录服务器用作服务器时,不会显示最后的宽限期警告。在这个版本中,这个比较已被修复,宽限期中的所有登录都会按预期生成警告。
注意
请注意,当 389 Directory Server 或 Red Hat Directory Server 是轻量级目录访问协议(LDAP)服务器时,宽限期警告当前才可以正常工作。grace 警告不适用于 OpenLDAP 服务器,这是一个已知的问题。
BZ#963235
当其成员位于配置的搜索基础外的组被搜索时,搜索请求会错误地终止。这会导致无用内存访问,因此 sssd_be 进程可能会意外终止。搜索请求已被修复,它现在可以正确终止,即使所有组成员都不在配置的搜索基础之外。因此,sssd_be 不再在上述场景中崩溃。
BZ#966757
默认域名系统(DNS)超时值太高,阻止 SSSD 守护进程切换到所有配置的 DNS 服务器。当在 /etc/resolv.conf 文件中配置出现故障的 DNS 服务器时,DNS 请求在能够通过 文件中配置的所有 DNS 服务器执行故障转移之前被终止。现在,默认的 DNS 超时已被降低,SSSD 通过所有配置的 DNS 失败可以正常工作。
BZ#967636
在某些情况下,从 SSSD 守护进程返回到自动挂载程序守护进程的 autofs 映射数量不正确,例如映射太大时。因此,映射不会可靠地返回到自动挂载程序。现在,这个程序错误已被解决,映射的数量在所有情况下都正确。
BZ#973345
如果缓存包含两个具有相同名称的条目(即意外情况),搜索请求不会被正确终止。实际上,请求被终止两次,因此请求终止的第二次时间,它可能会访问随机内存。缓存搜索期间的错误处理已被修改,请求仅终止一次。因此,SSSD 守护进程现在可以在缓存损坏时处理情况。
BZ#978966
在以前的版本中,sudo 刷新处理器使用不正确的回调。因此,在某些情况下可以访问不正确的内存,因此 sssd_sudo 进程意外终止。在这个版本中,处理器使用正确的回调,以便在上述场景中进程不再崩溃。
BZ#978994
在以前的版本中,sssd.conf (5)手册页中的 min_id 选项的描述误导。它表示可以将选项设置为 0 值,这不正确。在这个版本中,描述已被修改,因此 man page 现在可以正确地描述选项的最小值为 1
BZ#979046
在以前的版本中,IPA 供应商尝试在基于主机的访问控制(HBAC)评估过程中将 member 属性的原始值保存到缓存中。这些值由 memberof 插件处理,当存在非常大的主机组时,这需要大量处理时间。因此,sssd_be 进程使用 99% 的 CPU,这会显著减慢登录过程。在这个版本中,member 属性不再存储,HBAC 评估可以更快地进行。
BZ#983028
当用户尝试使用 passwd 实用程序更改密码并错误地写入当前密码时,会返回以下 passwd 错误:
Authentication token manipulation error
此消息似乎是系统错误,可能会使用户混淆。在这个版本中,SSSD 会发送指定问题的额外错误消息:
Old password not accepted
BZ#984814
在某些情况下,存储在快速内存缓存中的记录可能会损坏。在这种情况下,sssd_nss 进程意外终止。添加了额外的测试,以便在访问请求前检查快速缓存。现在,当记录无效时,它们会被跳过并从 SSSD 守护进程请求,从而避免 sssd_nss 崩溃。
BZ#986379
在以前的版本中,sss_cache -N 命令不会使 SSSD 内存中缓存无效。因此,最近查询的网络组不会在其过期时间前刷新,即使执行了该命令。这个版本应用了补丁来修复这个程序错误,以便命令现在可以正确地使 netgroups in-memory 缓存无效。
BZ#987479
libsss_sudo 软件包不需要应使用 SSSD 守护进程的 sudo 工具的特定版本。因此,软件包可以使用与 SSSD 不兼容的 sudo 版本安装。在这个版本中,软件包需要正确版本的 sudo。
BZ#988525
如果 SSSD 守护进程无法将 sudo 规则保存到缓存,它会返回错误并停止处理 sudo 规则的其余部分。因此,相关提供程序中没有保存任何规则,因为一个规则的错误会取消整个事务。在这个版本中,当无法将 sudo 规则保存到缓存中时,日志中会附加一条消息,并跳过规则并处理剩余的规则,并可以正常工作。因此,除有问题的 sudo 规则以外的所有操作都会保存到缓存中。
BZ#997406
由于底层源代码中的一个错误,在某些情况下可能会覆盖到条目的指针。因此,sssd_nss 进程会意外终止,并显示分段错误。已修改代码来解决这个问题,sssd_nss 不再崩溃。
BZ#1002161
当系统上配置了超过 265 KB 的大量 sudo 规则时,因为 sss_packet_grow ()函数计算响应数据包的总长度的方式,SSSD 守护进程会失败,并显示以下错误消息:
Unable to create response: Invalid argument
在这个版本中,sss_package_grow () 函数代码已被修复,以正确地计算响应数据包长度,SSSD 在上述场景中不再失败。
BZ#1002929
当动态域名系统(DNS)更新操作超时时,会释放与操作相关的某些数据。然后,子处理程序试图访问这些数据,这会导致 sssd_be 进程出现分段错误。在这个版本中,一个补丁用于修复这个程序错误,现在当操作超时时处理程序会中止。因此,在上述场景中不再会发生分段错误。
BZ#1019979
如果在此连接的搜索操作时,轻量级目录访问协议(LDAP)连接被终止,搜索回调可以访问不再存在的连接的属性。因此,sssd_be 进程意外终止。要修复这个错误,在搜索回调中添加了一个额外的测试。测试在访问其属性前检查连接的有效性。因此,SSSD 守护进程不会在上述场景中崩溃。

功能增强

BZ#921454
这个版本提供了一个新的 SSSD 配置选项。启用后,选项允许 LDAP 组包含存储在 /etc/passwd 文件中的本地用户。选项默认为禁用,若要启用它,请设置 ldap_rfc2307_fallback_to_local_users = True
BZ#970519
引入了一个新的选项,用于避免下载组成员。在大多数情况下,管理员只需要检索用户的组成员,而不是下载所有组成员。另外,当组成员没有下载并存储在缓存中时,SSSD 性能会显著提高。在这个版本中,管理员可以禁用下载组成员。
建议 sssd 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.209. subscription-manager

现在,Red Hat Enterprise Linux 6 提供了更新的 subscription-managerpython-rhsm 软件包,它们修复了几个程序错误并添加各种改进。
python-rhsm 软件包提供了一个库,用于与红帽订阅和内容服务的表示状态传输(REST)接口通信。订阅管理工具使用此界面管理系统权利、证书和内容访问。
subscription-manager 软件包提供了程序和库,允许用户从红帽授权平台管理订阅和 yum 存储库。
升级到上游版本
  • python-rhsm 软件包已升级到上游版本 1.9.6,它提供很多程序错误修复和增强。(BZ#922837)
  • subscription-manager 软件包已升级到上游版本 1.9.11,它提供很多程序错误修复和增强。(BZ#950118)
  • subscription-manager-migration-data 软件包已升级到上游版本 2.0.5,它提供很多程序错误修复和增强。(BZ#950116)

程序错误修复

BZ#1000145
在以前的版本中,python-rhsm 工具使用已弃用的 API。因此,用户会显示弃用警告信息。在这个版本中,弃用警告信息不再显示。
BZ#914113
在此次更新之前,会调用已弃用的 "hasNow ()" 函数的 rhsmd 守护进程。因此,用户会显示 "DeprecationWarning: Call to deprecated function: hasNow" 警告。在这个版本中,"hasNow ()"功能已被删除,弃用警告信息将不再显示。
BZ#1012566
在此次更新之前,/etc/cron.daily/rhsmd cron 作业的脚本有不正确的权限。因此,即使非 root 用户也具有执行权限。在这个版本中,权限会改为正确的 "0700" 值,只有 root 用户有执行权限。
BZ#872697
在以前的版本中,"Configure Pro_xy"消息的日语翻译包含大量的下划线字符。因此,ja_JP 区域的用户会显示不正确的文本。在这个版本中,添加了正确的消息。
BZ#985090
在此次更新之前,通过按 "TAB" 键两次自动完成 "rhsmcertd" 命令无法正常工作。因此,会显示不正确的选项。修复了 tab 补全脚本来显示正确的选项。请注意,对于自动完成功能,需要 bash 补全软件包。
BZ#988085
在以前的版本中,在运行 "subscription-manager config --remove <server.hostname>" 命令后,"hostname =" 行已从 "rhsm.conf" 配置文件中完全删除。因此,命令行界面(CLI)无法访问 "subscription.rhn.redhat.com" 的默认值。在这个版本中,"hostname =" 行恢复到上述场景中的预期默认值。
BZ#996993, BZ#1008557
在这个版本中,在 "subscription-manager list --available" 命令的输出中添加了两个新字段。"提供"字段显示系统符合条件的产品的名称。添加了 "Suggested" 字段来促进合规性,并提供带有图形用户界面(GUI)的奇偶校验。
BZ#869046
在以前的版本中,subscription-manager 工具仅在连接到代理失败时只包含常规错误消息。因此,当用户试图访问不正确的代理服务器时,用户会收到一个未格式化的错误消息,尝试通过不正确的代理端口进行连接,或者无法输入正确的密码。在这个版本中,为上述情况添加了更详细的错误消息。
BZ#1001820
在此次更新之前,通过按 "TAB" 键两次自动完成 "subscription-manager attach" 子命令无法正常工作。因此,会显示不正确的选项。修复了 tab 补全脚本来显示正确的选项。请注意,对于自动完成功能,需要 bash 补全软件包。
BZ#1004385
在以前的版本中,按 "TAB" 键两次自动完成 "rhsm-icon" 命令无法正常工作。因此,在结尾使用逗号显示选项。修复了 tab 补全脚本来显示正确的选项。请注意,对于自动完成功能,需要 bash 补全软件包。
BZ#1004893
在某些情况下,"subscription-manager list --installed"命令会返回不正确的状态。因此,当新的产品证书包含新产品时,新可用产品的显示状态为 "Not Subscribed"。这个程序错误已被解决,在上述场景中新可用产品的显示状态现在为 "Subscribed"。
BZ#1011234
在某些情况下,"subscription-manager list --available"命令会返回不正确的值。因此,对于未设置服务级别的订阅池,会显示误导 "None"。这个程序错误已被解决,现在在这种情况下会显示空字符串。
BZ#1006985
在此次更新之前,在迁移具有相同产品 ID 的不同产品证书时,subscription-manager-migration 脚本无法正常工作。因此,证书安装在同一名称下,且不可用。这个程序错误已被解决,当检测到具有相同 ID 的不同产品证书时,迁移会中止。
BZ#1008603
在以前的版本中,subscription-manager 工具需要连接到 "subscription.rhn.stage.redhat.com" 站点才能列出产品。因此,连接失败时不会显示产品列表。这个程序错误已被解决,用户现在可以从本地缓存列出产品。

功能增强

BZ#909778
在这个版本中,在 "subscription-manager repos --list" 子命令中添加了 "--proxy" 选项。现在,在连接到 candlepin 服务器时,用户可以设置代理。
BZ#983670
使用带有 "subscription-manager auto-attach" 子命令的 "--help" 选项时显示的描述更加精确。
BZ#986971
Subscriptions 表中的 "Available Subscriptions" 标头已被简化为 "Available",这会为用户节省空间并更清晰。
BZ#1011961
在这个版本中,权利证书中显示的数量已从混淆 "-1" 改为 correct "Unlimited"。
BZ#994620
这个版本为 rhsm-icon 工具提供了更加精确的工具信息。现在,当完全兼容的机器上有部分订阅时,消息会显示"Partially entitled subscriptions",而不是前面的"合作伙伴授权产品"。
BZ#1004341
在这个版本中,通过按 "TAB" 键两次添加了对自动完成 "subscription-manager-gui" 命令选项的支持。请注意,对于自动完成功能,需要 bash 补全软件包。
BZ#1008016
在这个版本中,subscription-manager 工具会在成功订阅后立即生成 /etc/yum.repos.d/redhat.repo 软件仓库,不需要额外的步骤。
BZ#1009600
当运行 "subscription-manager list --consumed" 命令时,输出现在会显示 "System Type: Physical/Virtual"。这允许用户确定授予的权利是虚拟的。
建议 subscription-managerpython-rhsm 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.210. sudo

一个更新的 sudo 软件包修复了两个安全问题,一些程序错误,并添加了两个改进,现在 Red Hat Enterprise Linux 6 提供了两个改进。
红帽安全响应团队将更新的安全影响级别较低。一般漏洞评分系统(CVSS)基础分数(提供详细的严重性评级)提供了以下每个描述的 CVE 链接中的每个漏洞。
sudo (超级用户 do)实用程序允许系统管理员授予某些用户以 root 身份运行命令的权限。

安全修复

CVE-2013-1775
sudo 处理时间戳文件的方式中发现了一个安全漏洞。攻击者可以以本地用户运行代码,并能够控制系统时钟,通过运行允许 victim 用户运行的命令而获得额外的特权,而无需知道 victim 的密码。
CVE-2013-2776,CVE-2013-2777
当 /etc/sudoers 文件中启用了 tty_tickets 选项时,sudo 没有正确验证控制终端设备。攻击者能够以本地用户运行代码可能会获得额外的权限,方法是运行允许 victim 用户通过 sudo 运行的命令,而无需了解 victim 的密码。

程序错误修复

BZ#880150
在以前的版本中,sudo 不支持系统安全服务守护进程(SSSD)的源的 netgroup 过滤。因此,SSSD 规则也会应用到所有用户,即使它们不属于指定的 netgroup。在这个版本中,实现了 SSSD 源的 netgroup 过滤。因此,带有 netgroup 规格的规则仅应用到属于 netgroup 的用户。
BZ#947276
当 sudo 实用程序设置运行命令的环境时,如果 RLIMIT_NPROC 资源限值没有限制,它会将 RLIMIT_NPROC 资源限值的值重置为此限制的父值(current)和 hard (maximum)值。现在,提供了一个上游补丁来解决这个程序错误,RLIMIT_NPROC 现在可以设置为"unlimited"。
BZ#973228
由于上游重构 sudo 代码,SUDO_USER 变量存储运行 sudo 命令的用户的名称不会像以前一样记录到 /var/log/secure 文件。因此,用户名 "root" 始终会被记录,而不是实际用户名。在这个版本中,sudo 的之前行为已被恢复。现在,预期的用户名被写入 /var/log/secure。
BZ#994626
由于 sudo 规则列表代码中的 loop 条件中的一个错误,在某些情况下可能会出现缓冲区溢出。这个条件已被修复,缓冲区溢出不再发生。

功能增强

BZ#848111
在这个版本中,sudo 被修改为发送有关 netgroup 与 debug 日志的调试信息。这些消息应更好地了解 sudo 如何将 netgroup 数据库记录与来自正在运行的系统的值以及值完全匹配。
BZ#853542
在这个版本中,sudo 被修改为在匹配 netgroups 时接受 /etc/sssd/sssd.conf 配置文件中的 ipa_hostname 值。
建议所有 sudo 用户升级到这个更新的软件包,其中包含向后移植的补丁来更正这些问题并添加这些改进。

8.211. suitesparse

现在,Red Hat Enterprise Linux 6 提供了修复一个程序错误的更新 suitesparse 软件包。
suitesparse 软件包是一系列用于涉及稀疏 maces 的计算的库。

错误修复

BZ#902854
suitesparse base 软件包缺少通用公共许可证(GPL)的副本。该许可证包含在 suitesparse-doc 子软件包中,但可以在没有 suitesparse-doc 子软件包的情况下安装 suitesparse。在这个版本中,许可证的副本也包含在基本软件包中。
建议 suitesparse 用户升级到这些更新的软件包,从而解决了这个问题。

8.212. sysstat

现在,Red Hat Enterprise Linux 6 提供了修复几个程序错误并添加各种改进的 sysstat 软件包。
sysstat 软件包提供了一组实用程序,它允许系统监控磁盘、网络和其他 I/O 活动。

程序错误修复

BZ#804534
在以前的版本中,sysstat 软件包不支持动态属性的主设备号。因此,使用这些数字的设备不会在其实际名称下在 sar 报告中。在这个版本中,对动态属性的主设备号的支持已添加到 sysstat 中。因此,所有设备现在都显示在 sar 报告中的正确名称。
BZ#967386
之前的 sysstat 更新以向后兼容的方式更改了二进制数据文件,但这些二进制数据文件的版本号保持不变。因此,使用更新的 sysstat 版本来读取较早版本的 sysstat 创建的二进制数据文件可能会产生无效的结果。sysstat 二进制文件的版本号已更新,从而解决了这个问题。因此,当前的 sysstat 版本不会读取之前版本创建的二进制数据文件。如需更多信息,请参阅 sar (1)手册页中的"-legacy"选项的描述。
BZ#996134
在此次更新之前,umask 命令是在 sa1 脚本中执行的。在某些情况下,这可能会导致新创建的文件的权限不正确。在这个版本中,执行 umask 已移到 sa1 脚本中的相应位置。因此,新创建的文件具有正确的权限。

功能增强

BZ#826399
内核设备名称(如 sda 或 sdb )可能会在每次引导时指向不同的设备。为了防止可能的混淆,在 iostat 和 sar 程序中添加了对持久性设备名称的支持。可以使用 iostat 和 sar 的新"-j"命令行选项启用持久名称。
BZ#838914
sysstat 软件包已修改,以存储所收集的统计信息。原始的 7 天期限已延长至 28 天,从而可以更好地分析更复杂的性能问题。
BZ#850810
有了这个更新,在 iostat 程序中添加了一个新的"-y"选项。此选项允许在报告中跳过第一个"自引导"统计信息,因此不再需要在此基础上对 iostat 输出进行后处理。
建议 sysstat 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些增强功能。

8.213. system-config-date

Red Hat Enterprise Linux 6 现在提供了一个更新的 system-config-date 软件包,它修复了一个程序错误。
system-config-date 软件包提供了一个图形界面,用于更改系统日期和时间、配置系统时区,以及设置 NTP 守护进程以将系统的时间与 NTP 时间服务器同步。

错误修复

BZ#760977
当在系统安装过程中使用不受支持的区域设置时,firstboot 工具会在安装初始阶段后失败,并显示堆栈追踪。因此,用户无法配置外围设备、用户、kdump 和其他设置。在这个版本中,底层代码已被修改来捕获由不正确的区域设置值导致的异常,firstboot 现在会警告用户更改其区域设置而不是失败。
建议 system-config-date 用户升级到这个更新的软件包,从而解决了这个问题。

8.214. system-config-keyboard

现在,Red Hat Enterprise Linux 6 提供了修复一个程序错误的 system-config-keyboard 软件包。
system-config-keyboard 软件包提供了一个图形用户界面,允许用户更改系统的默认键盘。

错误修复

BZ#952125
system-config-keyboard 软件包包含 firstboot 的插件。以前的 system-config-keyboard 版本依赖于 firstboot,因此在没有首次启动时也无法安装软件包。这个错误的依赖项已被删除,现在可以在不拉取 firstboot 的情况下安装 system-config-keyboard 软件包。
建议 system-config-keyboard 用户升级到这些更新的软件包,从而解决了这个问题。

8.215. system-config-lvm

Red Hat Enterprise Linux 6 现在提供了一个更新的 system-config-lvm 软件包,它修复了一个程序错误。
system-config-lvm 工具允许用户使用 GUI 配置逻辑卷。

错误修复

BZ#923643
由于 system-config-lvm 工具中的一个错误,当系统上发现条状镜像设备时,工具会意外终止。在这个版本中,底层源代码已被修改,用户现在可以与支持的设备完全交互。但是,卷组信息可能无法为剥离的镜像设备正确显示。
建议 system-config-lvm 用户升级到这个更新的软件包,从而解决了这个问题。

8.216. system-config-users-docs

Red Hat Enterprise Linux 6 现在提供了一个更新的 system-config-users-docs 软件包,它修复了一个程序错误。
system-config-users-docs 软件包包含 system-config-users 的在线文档,它是一个用于管理用户和组的图形实用程序。

错误修复

BZ#635248
在以前的版本中,屏幕截图中的文本没有被翻译,未转换的屏幕截图与正在运行的程序不匹配。在这个版本中,屏幕截图处于最新状态,并包括了它们的翻译。
建议 system-config-users-docs 用户升级到这个更新的软件包,从而解决了这个问题。

8.217. systemtap

现在,Red Hat Enterprise Linux 6 提供了修复几个程序错误并添加各种改进的 systemtap 软件包。
SystemTap 是一种跟踪和探测工具,用于分析和监控操作系统(包括内核)的活动。它提供广泛的过滤和分析选项。
升级到上游版本
systemtap 软件包已升级到上游版本 2.3,它提供很多程序错误修复和增强。
最显著的改进包括:
* 使用 "=~" 和 "!~" 操作符,使用脚本语言中的正则表达式匹配的新支持;
* 改进了错误诊断,其中包含对 man page 的引用,给出更多信息和纠正建议;
* 使用 "@perf ()" 操作符,在进程探测中读取 perf-counter 值的新功能;
* 更快的堆栈 unwinding 功能,特别是对于仅其中一个或几个调用级别的部分"unwinds"的功能;
* 使用 "@define" 操作器,在脚本语言中对宏处理的新支持;
* 各种 tapset 和运行时改进。
(BZ#920682)

程序错误修复

BZ#920444
在以前的版本中,SystemTap "nfs.proc.commit_done" 探测别名错误地解释底层参数。因此,会返回不正确的信息。SystemTap "nfs_proc.commit_done" 探测别名已被修改来正确解释底层参数,它现在会返回正确的信息。
BZ#743591
在此次更新之前,当 I/O 块待处理请求与其他请求合并时,ioblktime.stp 示例脚本无法正确跟踪。因此,关联数组可能会溢出,并出现错误。该脚本已被修改以删除合并的 I/O 块请求。因此,在数组溢出错误后脚本不再失败。
BZ#874205
stap-serverd 守护进程没有正确使用 avahi-client API。因此,当 avahi 守护进程停止或重启时,stap-serverd 会意外终止。底层源代码已被修改来正确使用 avahi-client API,stap-serverd 现在可以在不崩溃的情况下处理上述场景。
BZ#876848
如果应用程序的主线程没有达到至少一个静默,如系统调用,SystemTap 实用程序无法附加到应用程序。因此,SystemTap 无法检测应用程序的事件。SystemTap 现在中断了主应用程序线程,以便它可以附加到它。因此,Systemtap 不再丢失任何事件。
BZ#846789
在以前的版本中,当搜索 /lib/modules/ 目录下的内核模块并首先标识基本模块时,SystemTap 工具会使用任意顺序。因此,SystemTap 无法探测一些被更新覆盖的模块。SystemTap 现在使用 modules.dep 文件来对模块搜索进行排序,以便它们与 modprobe 程序的顺序匹配。因此,可以成功探测覆盖的模块。
BZ#819967
在以前的版本中,SystemTap 转换器并不总是包含正确的代码才能使用 caller ()函数,这可能会导致编译错误。在这个版本中,SystemTap 转换器在使用 caller ()函数时包括正确的运行时代码。因此,使用 caller ()不再会导致编译错误。
BZ#906061
在此次更新之前,SystemTap 中无法正确处理 IPv6 地址的范围指定符和 ID。因此,用户无法使用 IPv6 连接到 stap-server。在这个版本中,修正了 IPv6 地址的范围指定器或 ID 的处理,用户现在可以按预期使用 IPv6 连接到 stap-server。
BZ#902739
在以前的版本中,SystemTap 中的 "trace" 工具生成低质量的 C 代码。因此,当编译生成的代码时,gcc 编译器会显示错误消息。这个版本提高了生成的代码的质量,现在不会显示任何警告。
建议 systemtap 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.218. sysvinit

现在,Red Hat Enterprise Linux 6 提供了修复一个程序错误的 sysvinit 软件包。
sysvinit 软件包包含控制系统基本功能的一组进程。sysvinit 包含 init 程序,这是在系统引导时由 Linux 内核启动的第一个程序。然后,init 程序控制启动和关闭所有其他程序。

错误修复

BZ#814132
当 pidof 工具处理 /proc configured/stat 文件时,该文件的内容由 fgets ()函数读取。当新行字符 "\n" 处于进程的名称以及读取文件在 fopen 和 fgets 函数之间消失时,这个函数无法正常工作。因此,在以下情况下发出 "pidof: could not get program name from" 信息。要解决这个问题,程序会读取整个文件,并静默跳过所有具有空内容的文件。因此,带有 "\n" 的新行字符的二进制文件现在可以正确地识别并消失的文件不会发出任何警告信息。
建议 sysvinit 用户升级到这些更新的软件包,从而解决了这个问题。

8.219. talk

现在,Red Hat Enterprise Linux 6 提供了修复一个程序错误的软件包。
talk 实用程序是一个通信程序,可将行从一个终端复制到另一个用户的终端。

错误修复

BZ#691355
talk 工具允许用户以"username.hostname"格式指定目标用户。与这个类似,以前版本的工具不支持包含句点的用户名。在这个版本中,添加了一个新的命令行选项(即 "-x")来强制使用 "username@hostname" 表单,以便用户名可以包含句点。另外,对应的手册页已扩展,以提供受支持的命令行参数的完整列表。
我们建议用户升级到这些更新的软件包,从而解决了这个问题。

8.220. tboot

现在,Red Hat Enterprise Linux 6 提供了修复几个程序错误并添加了各种改进的 tboot 软件包。
tboot 软件包提供了受信任的引导(tboot)开源预内核/VMM 模块。此模块使用 Intel Trusted Execution Technology (Intel TXT)来初始化操作系统内核和虚拟机的启动。
升级到上游版本
tboot 软件包已升级到上游版本 1.7.4,它提供很多程序错误修复和增强。(BZ#916046, BZ#957158)
建议 tboot 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.221. tomcat6

现在,Red Hat Enterprise Linux 6 提供了修复几个程序错误的 tomcat6 软件包。
Apache Tomcat 是一个 Java Servlet 和 JavaServer Pages(JSP)技术的 servlet 容器。

程序错误修复

BZ#845786
在以前的版本中,当 Red Hat Enterprise Linux 在 IBM System z 或 64 位 IBM POWER 系列计算机上运行时,尝试构建 tomcat6-docs-webapp 软件包会失败。在这个版本中,构建目标中没有设置构架,且软件包可以如预期构建。
BZ#915447
当用户名称与任何现有组名称不匹配时,在 /etc/sysconfig/tomcat6 文件中指定,Tomcat web 服务器无法启动。这个版本应用了补丁来修复这个程序错误,Tomcat 在上述场景中不再失败。
BZ#950647
由于 checkpidfile ()函数中的一个错误,尝试执行 "service tomcat6 status" 命令会失败,并返回错误消息。底层源代码已被修改来解决这个问题,命令现在可以正常工作。
BZ#960255
由于 checkpidfile ()函数中的一个错误,状态脚本不会返回正确的 PID。这个程序错误已被解决,状态脚本现在返回正确的 PID。
BZ#977685
Tomcat web 服务器包含一个 tomcat-juli.jar 文件版本,该文件被硬编码为使用 java.util.logging 软件包中的类,而不是 log4j 框架。因此,Tomcat 无法配置为使用 log4j,除非下载了 tomcat-juli.jar 和 tomcat-juli-adapters.jar 文件的完整版本。有了这个更新,tomcat6 软件包现在包含这些文件的正确版本来配置 log4j。
BZ#989527
当配置了多个 tomcat 实例时,如 /etc/sysconfig/tomcat6 配置文件中所述,实例名称与 tomcat 目录的名称不同,"service status"命令会失败。在这个版本中,底层源代码已被修改来解决这个问题,命令不会在上述场景中失败。
建议 tomcat6 用户升级到这些更新的软件包,从而修复这些程序错误。

8.222. tuned

现在,Red Hat Enterprise Linux 6 提供了修复几个程序错误并添加一个改进的 tuned 软件包。
tuned 软件包包含一个动态调优系统设置的守护进程。它通过定期监控多个系统组件的使用来实现。

程序错误修复

BZ#904062
在以前的版本中,当将多个设备添加到系统中时,udev 规则会为每个新设备重启 ktune 服务。这可能会导致在短时间内进行多次重启。多个重启可能会在内核中触发竞争条件,这目前无法修复。tuned 守护进程代码已被修改,不会每 10 秒触发多个重启,从而防止竞争条件发生。
BZ#969491
kernel.sched_migration_cost 可调项之前被保留在其默认值 0.5 ms。因此,大型虚拟化主机可能会在运行队列锁定中遇到大量竞争。在这个版本中,kernel.sched_migration_cost 可调项已在 virtual-host 配置集中增加了 10 倍,从而消除了竞争。
BZ#905077
在以前的版本中,ktune 服务不会保存 readahead 值。在启动时,它将当前的值乘以一个恒定的值,并将值除在停止时相同的常数。这可能会导致在 ktune 启动后添加的设备上设置错误的值。现在,以前的 readahead 值会保存所有设备,并在 ktune stop 上恢复正确的值。
BZ#912788
在以前的版本中,tuned 工具不支持 Transparent Huge Pages (THP)的上游 /sys/kernel/mm/transparent_hugepage 位置。已修改代码并对上游使用的 SYSFS 路径的支持。TuneD 现在支持上述上游路径以及 Red Hat Enterprise Linux 的特定路径。
BZ#982756
USB 自动暂停代码以及处理蓝牙的功能中有一个旧的非功能代码拼写错误。因此,当用户激活 spindown-disk 配置集时,会出现各种错误。拼写错误已被修复,蓝牙代码已被更新。因此,当激活 spindown-disk 配置集时,不再会出现错误。
BZ#838512
在以前的版本中,mount 命令用来使用 "no_barriers" 选项重新挂载文件系统,但不能重新挂载所有文件系统。因此,重新挂载偶尔会失败并显示出错信息,这可能会导致用户混淆。在这个版本中,mount 命令的错误消息已被静默。现在,如果无法使用 no_barriers 重新挂载文件系统,它将被静默跳过,且不会显示任何错误。
BZ#987547
在以前的版本中,会载入 sysctl 工具,在更改电池前运行 shell 脚本。因此,用户无法更改或调整 elevator 参数。这个代码已被重新排序来加载 sysctl,并在 elevator 更改后运行 shell 脚本。现在,用户可以调整 elevator 参数。
BZ#885080
diskdevstat 和 netdevstat 代码在命名内置帮助中的参数不一致。术语"total-duration"和"total-interval"表示相同的事情。在这个版本中,文本已被更新为一致,现在只使用 "total-duration" 字符串。
BZ#959732
在以前的版本中 ktune 不会处理 /etc/sysctl.d/ 目录,且不支持使用 sysctl 设置的多个文件。因此,忽略在 /etc/sysctl.d 目录中安装的几个软件包的设置,如 libvirt。在这个更新中,修改 ktune 代码和配置文件。现在,/etc/sysctl.d/ 目录中的所有 sysctl 设置都会被加载,然后载入 /etc/sysctl.conf 文件。用户现在可以指定多个 sysctl 文件(包括通配符)来加载 tuned 配置集。
BZ#964187
在以前的版本中,没有 Tuned virtual-guest 和 virtual-host 配置集的文档。这些配置集的描述已添加到 tuned-adm 手册页中。
BZ#963821
在以前的版本中,tuned-adm 命令的内置帮助中有一个拼写错误。tuned-adm 描述中提到的文本 "tunning" 而不是 "tuning"。这个版本解决了内置帮助中的拼写错误。
BZ#961792
tuned 以前将 CPU 锁定到 latency-performance 配置集中的 C0 状态。在这个版本中,latency-performance 配置集被修改为默认使用 C1 状态,从而提高了配置集的性能。

功能增强

BZ#964193
在这个版本中,在 Tuned 工具中添加了 "sapconf" 软件包。tuned-adm "sap" 配置文件用于优化运行 SAP 软件的系统,符合相关的 SAP 准则。
建议 tuned 用户升级到这些更新的软件包,从而修复这些 bug 并添加此功能增强。

8.223. udev

现在,Red Hat Enterprise Linux 6 提供了修复几个程序错误并添加一个增强的 udev 软件包。
udev 软件包实施动态设备目录,仅提供系统上存在的设备。这个动态目录在用户空间中运行,动态创建和删除设备,提供一致的命名和用户空间 API。udev 软件包取代了 devfs 软件包,并提供更好的热插拔功能。

程序错误修复

BZ#833172, BZ#885978, BZ#918511
在以前的版本中,对于具有相对大 RAM 大小和大量磁盘的机器,很多 udevd worker 会并行运行,从而最大化 CPU 和 I/O。这可能导致 udev 事件因为硬件瓶颈而超时。在这个版本中,udevd worker 的数量受 CPU 计数的限制,并在有大 RAM 大小的机器上显著降低。现在,较少的 udev worker 无法轻松出现瓶颈,从而导致超时。
BZ#888647
在以前的版本中,udev 工具没有提供到 /dev/disk/by-path/ 目录中的 SCM (存储类内存)设备的符号链接,这会阻止 SCM 设备被其路径引用。在这个版本中,path_id 内置命令支持 SCM 设备并提供符号链接。现在,SCM 设备可以被其路径引用。
BZ#909792
在此次更新之前,libudev.h 头文件没有任何 extern "C" 声明,因此无法在 C++ 程序或应用程序中使用。在头文件中添加了一个 extern "C" 声明,从而修复该程序错误。
BZ#918511
在以前的版本中,start_udev 命令称为 "udevadm settle [options]" 命令,并在默认的 180 秒后超时。然而,一些设备没有完全编译,引导过程将继续造成各种故障。在这个版本中,start_udev 等待 udev 被设置。因此,所有设备都会被编译,引导过程现在可以继续,且没有错误。
BZ#920961
如果在调用 udev scsi_id helper 工具时使用 SCSI 设备,scsi_id 不会返回该设备的任何属性。因此,SCSI 设备的属性无法在 udev 规则中处理。在这个版本中,scsi_id 会在提供前重试为特定时间跨度打开设备。因此,SCSI 设备的属性可以在 udev 规则中处理,即使设备在短时间内使用。
BZ#982902
对于 InterfaceClass=0x08 和 InterfaceSubClass=0x05 的 USB 设备,udev 将 ID 类型设置为 "floppy",这不一定为 true。因此,一些工具可以将 USB 设备解释为软盘。现在,ID 类型被设置为此类 USB 设备的"generic",工具会正确解释 USB 设备。
BZ#998237
在以前的版本中,libudev 工具引用内存,已使用旧地址重新分配到 dev_enumerate_get_list_entry ()函数。但是,调用此功能可能会导致分段错误。在这个版本中,libudev 引用 udev_enumerate_get_list_entry ()中偏移的重新分配内存,从而修复这个程序错误。

功能增强

BZ#947067
在以前的版本中,如果存储在 /dev/ 临时文件中,将无法控制调试输出量,并且通常超过可用内存。在这个版本中,带有 udevlog 的 start_udev 命令调用带有 "-s" 选项的 udevd 守护进程,它会将 udevd 的输出重定向到 /dev/.udev/udev.log 文件,但不会在 debug 模式中设置 udevd。另外,udevd 现在了解规则文件中设置的日志优先级(OPTIONS+="log_priority=<level>"),因此用户可以设置数字 syslog 优先级或其文本表示。另外,还有用于日志记录的新示例规则文件: /lib/udev/rules.d/01-log-block.rules。要为块设备启用 "info" 日志记录,请在内核命令行中添加 "rd.log.block=info"。
建议 udev 用户升级到这些更新的软件包,从而修复这些 bug 并添加此增强。

8.224. util-linux-ng

针对 Red Hat Enterprise Linux 6 提供了更新的 util-linux-ng 软件包,修复了几个程序错误并添加各种改进。
util-linux-ng 软件包包含大量低级别系统实用程序,这些工具是 Linux 操作系统正常工作所必需的。

程序错误修复

BZ#885313
在以前的版本中,当在空字符串上迭代时,hexdump 工具会用分段错误终止。现在,这个程序错误已被解决,xxdump 不会在此场景中崩溃。
BZ#911756
在以前的版本中,libblkid 库会错误地检测到某些磁盘作为 Silicon Image Medley RAID 设备。因此,这会导致每周重启后某些系统中出现问题。这个版本添加了来自超级块记录的校验和计数,以及来自 dmraid 工具的新超级块定义,这使得 Silicon Image Medley RAID 设备的签名识别更加强大。
BZ#864585
在以前的版本中,"mount -av"命令触发使用 /sbin/mount.nfs 文件等帮助程序挂载文件系统,打印消息"nothing is mounted",即使帮助程序挂载了文件系统。这个程序错误已被解决,在这种情况下不再打印不正确的信息。
BZ#872291
在以前的版本中,hwclock (8)手册页包含对不存在的 adjtimex 工具的引用。在这个版本中修复了 hwclock (8)手册页。
BZ#915844
在以前的版本中,mount (8)手册页错误地描述了 "relatime" 挂载选项。在这个版本中,"relatime"挂载选项的描述已被改进,以更好地描述内核何时更新 atime。
BZ#917678
由于代码中出现回归问题,如果 /etc/fstab 配置文件中的挂载点使用了符号链接,则挂载会尝试该挂载点。此更新可确保 /etc/fstab 中的所有路径都进行规范,现在可以按预期挂载这些挂载点。
BZ#966735
在此次更新之前,lscpu 命令只接受按顺序分配的逻辑 CPU 号。因此,在 CPU 弹出操作后,lscpu 无法正确列出 CPU。在这个版本中,lascpu 命令不会预期按顺序分配的 CPU 号,并在具有热插 CPU 的系统上正常工作。

功能增强

BZ#816342
在以前的版本中,无法确定内核的正确 CLOCAL 标志,也无法确定一些机器需要手动设置。在这个版本中,新的 -L[={always,auto,never}] 选项被添加到 agetty 工具中,以允许对 CLOCAL 终端标记进行完全控制。
BZ#846790
在以前的版本中,kill (1)手册页没有包含有关 kill 工具和线程交互的信息。在这个版本中,kill (1)手册页已被改进,以明确解释 kill 系统调用和线程之间的交互。
BZ#870854
默认终止字符 "@" 与 IPA 系统上的登录用户名与具有"user@domain"约定的登录用户名冲突。在这个版本中,agetty 工具已被改进,可以接受 "--kill-chars" 和 "--erase-chars" 选项来控制特殊终止和擦除终端字符。
BZ#947062
有了这个更新,Red Hat Enterprise Linux 6 中引入了 "blkdiscard" 命令,以丢弃设备扇区。例如精简配置的存储,"discard"支持非常重要,通过回收可用空间来提高磁盘效率,以便存储可以为其他区域重新利用可用空间。
建议 util-linux-ng 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.225. vhostmd

针对 SAP 的 Red Hat Enterprise Linux 6 更新了 vhostmd 软件包,修复了一个程序错误。
虚拟主机指标守护进程(vhostmd)为虚拟机提供运行 Red Hat Enterprise Linux 主机的资源使用信息。

错误修复

BZ#820500
由于 libmetrics 代码中的错误,在尝试从 vhostmd 获取客户机指标时,用户的程序可能会以分段错误终止。已修复 libmetrics 代码,以执行 XPath 查询并正确将错误传播到用户,以便用户的程序现在可以按预期获取客户机指标。
建议所有 vhostmd 用户升级到这些更新的软件包,从而修复这些程序错误。

8.226. virt-manager

更新了 virt-manager 软件包,修复几个程序错误现在可用于 Red Hat Enterprise Linux 6。
虚拟机管理器(virt-manager)是用于管理 KVM、Xen 和 QEMU 的虚拟机的图形工具。virt-manager 工具可以启动、停止、添加或删除虚拟设备,连接到图形或串行控制台,并查看本地或远程机器上现有虚拟客户机的资源使用情况统计信息。它使用 libvirt API (应用程序编程接口)。

程序错误修复

BZ#820303
在以前的版本中,当调用 libvirt 工具时,virt-manager 会忽略一个地址(格式为 "bus:device"),当附加了相同的 USB 设备(格式为 "vendorid:productid"),因此错误的设备已附加到客户机。在这个版本中,用户指定了"bus:device"和"vendorid:productid"的信息,以选择正确的设备。现在,virt-manager GUI 中选择的 XML 或设备中指定的设备会被正确附加到客户机。
BZ#869206
在以前的版本中,更改设备类型或型号不会重置设备应该可以访问的客户机地址。因此,在将 watchdog 从 i6300esb 改为 ib700 后,客户机无法启动。这个程序错误已被解决,客户机现在可以按预期启动。
BZ#869474
当选择由 libvirt 实用程序创建的网桥网络时,virt-manager 无法显示 libvirt 创建的网络详情和配置。另外,会返回以下错误:
选择 network: 'None Type' 对象没有属性 'split' 错误
在这个版本中,配置由 libvirt 创建的网络。
BZ#873142
在以前的版本中,"创建新虚拟机"virt-manager 对话框在"存储"单元中包含一个拼写错误,显示"Gb"而不是"GB"。拼写错误已被修复。
BZ#907399
由于错误的属性始终设置为"no",在将 SElinux 从 static 选项更改为 dynamic on virt-manager 后出现错误。已提供了一个补丁来修复这个错误。在这个版本中,不会返回任何错误消息,SElinux 现在会从 static 变为 dynamic 选项。
BZ#981628
如果从 virt-manager 中的虚拟机配置中没有"Toolbar"复选框,则任何新虚拟机都无法启动安装,且"Begin Installation"按钮消失。一个补丁已被用来修复这个程序错误,"Begin Installation"按钮不再从 GUI 中消失。
BZ#985184
在以前的版本中,ram 属性只支持 qxl 客户机驱动程序类型。因此,当将视频从 qxl 改为其他模型时,会显示错误。在这个版本中,客户机可以正常工作,并在模型更改时自动删除"ram"元素。
BZ#990507
在此次更新之前,使用 virt-manager 连接物理 CD-ROM 或者 ISO CD-ROM 镜像偶尔无法在 KDE 中工作。另外,选择"Choose Media"对话框用于选择图像或物理设备未显示。现在,提供了一个补丁来修复这个错误,当按"Connect"按钮时,将显示"Choose Media"对话框窗口。
建议所有 virt-manager 用户升级到这些更新的软件包,从而修复这些 bug。

8.227. virt-p2v

现在,Red Hat Enterprise Linux 6 提供了更新的 virt-p2v 软件包修复了几个程序错误并添加各种改进。
virt-p2v 是一种将物理服务器转换为虚拟客户机的工具。
升级到上游版本
virt-p2v 软件包已升级至上游版本 0.9.1,与之前的版本相比,它提供了大量的程序错误修复和增强。(BZ#976832)
建议 virt-p2v 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.228. virt-v2v

更新了 virt-v2v 软件包,它们修复了几个程序错误,并现在为 Red Hat Enterprise Linux 6 提供了各种改进。
virt-v2v 软件包提供了一个将虚拟机转换为使用 KVM (基于内核的虚拟机)hypervisor 或 Red Hat Enterprise Virtualization 的工具。该工具会修改虚拟机镜像及其关联的 libvirt 元数据。另外,virt-v2v 可以将 guest 配置为使用 VirtIO 驱动程序(如果可能)。
升级到上游版本
virt-v2v 软件包已升级至上游版本 0.9.1,与之前的版本相比,它提供了大量的程序错误修复和增强。(BZ#965501)

程序错误修复

BZ#809273
在使用 virt-v2v 实用程序将 Windows 2003 R2 32 位客户机从 Red Hat Enterprise Linux 5 Xen 迁移到 Red Hat Enterprise Linux 6 KVM 后,客户机没有启动。在这个版本中,Windows Xen 驱动程序在转换过程中被禁用,客户机现在可以正常引导。
BZ#820928
在以前的版本中,virt-v2v 假设 Microsoft Windows 操作系统只能安装到 /windows 目录中。因此,当在安装过程中复制了不存在的路径时,virt-v2v 会意外终止。在这个版本中,系统路径不再硬编码,virt-v2v 不再在上述场景中崩溃。
BZ#829859
在以前的版本中,virt-v2v 总是使用第一个内核(0th kernel)而不是默认内核(例如 default=1)。在这个版本中,virt-v2v 使用默认内核来创建新的迁移的虚拟机。
BZ#887884
在此次更新之前,在使用内核引导命令行中的多个控制台条目的 Linux 客户机转换过程中,virt-v2v 会意外终止。在这个版本中,具有多个控制台的客户机可以被成功转换。
BZ#953994
由于 vmware-tools 和 virt-v2v 代码不兼容,virt-v2v 实用程序无法将 ESX Red Hat Enterprise Linux 虚拟机转换为 vmware-tools-foundation 依赖项上的 KVM 虚拟机(基于内核的虚拟机)。现在,应用了修复有问题的依赖项的上游补丁,现在可以成功转换。
建议 virt-v2v 用户升级到这个更新的软件包,从而修复这些 bug 并添加了这些改进。
针对 Red Hat Enterprise Linux 6 提供了更新的 virt-v2v 软件包,它修复了一个程序错误。
virt-v2v 软件包提供了一个将虚拟机转换为使用 KVM (基于内核的虚拟机)hypervisor 或 Red Hat Enterprise Virtualization 的工具。该工具会修改虚拟机镜像及其关联的 libvirt 元数据。另外,virt-v2v 可以将 guest 配置为使用 VirtIO 驱动程序(如果可能)。

错误修复

BZ#1028983
对 virt-v2v 的更新包括对 VMware 服务器导出的 OVA 镜像导入的上游支持。不幸的是,测试表明由最新版本的 VMware ESX 创建的 VMDK 镜像无法可靠支持,因此此功能已经撤回。
建议 virt-v2v 用户升级到这个更新的软件包,从而解决了这个问题。

8.229. virt-viewer

现在,Red Hat Enterprise Linux 6 提供了更新的 virt-viewer 软件包,修复了几个程序错误并添加各种改进。
虚拟机查看器(virt-viewer)是一种轻量级接口,用于与虚拟客户机的图形显示交互。虚拟机查看器使用 libvirt,并旨在替代传统 VNC 或 SPICE 客户端。
升级到上游版本
virt-viewer 软件包已升级至上游版本 0.5.6,与之前的版本相比,它提供了大量的程序错误修复和增强,包括修复多个 monitor 的问题。另外,现在可以通过 Windows 屏幕解析工具禁用显示。(BZ#961455, BZ#888629, BZ#958966)

程序错误修复

BZ#809546
当使用两个或多个屏幕配置客户机时,对应的客户端监控器中没有正确显示这些屏幕。在这个版本中,virt-viewer 已被修改,以将客户机屏幕正确放在客户端监控器中。
BZ#846127
由于 spice-gtk 实用程序中的一个错误,当虚拟机以全屏模式启动时,客户机屏幕分辨率之后无法更改。因此,解析总是恢复到原生监控解析。这个程序错误已被解决,现在可以在不复杂的情况下更改屏幕分辨率。
BZ#856682
在以前的版本中,当在修改其内容的某些操作过程中打开 Gtk+ 菜单时,尝试重新创建此菜单可能会导致客户端变得无响应。在这个版本中,virt-viewer 仓库可以对现有菜单进行重新创建,而不是重新创建整个菜单。因此,在上述场景中,客户端冻结的风险会降低。
BZ#864929
在此次更新之前,当客户端处于全屏模式时,无法设置高于 monitor 原生分辨率的屏幕分辨率。现在,底层源代码的修改和分辨率大于监控原生分辨率,现在可以以全屏模式进行配置。
BZ#870710
在以前的版本中,在暂停时,键盘事件不会发送到客户机,因此客户机无法中断。这个程序错误已被解决,无论其状态如何,所有键盘事件现在都发送到客户机。现在,按键可以按预期唤醒客户机。
BZ#875697
当客户端仍然连接时客户端关闭时,会显示以下信息:
Unable to connect to the graphic server
在这个版本中,virt-viewer 已被修改,它不会在正常断开连接时报告错误。因此,在上述情况下不再显示错误消息。
BZ#876444
在以前的版本中,当 virt-viewer 在全屏模式下运行时,镜像监控器会随机创建。这个版本修改了 virt-viewer,以维护客户端窗口和监视器的关联。因此,额外的 monitor 不再随机镜像。
BZ#876445
在此次更新之前,当 virt-viewer 离开完整屏幕状态时,客户端窗口的标题栏将变得不可见。现在,在离开完整屏幕时,客户端窗口标题栏可见并可访问。
BZ#886570
在以前的版本中,当 virt-viewer 切换到全屏模式时,客户端和客户机中会显示多个 monitor,即使 monitor 有所不同。这个程序错误已被解决,监控器现在根据其实际容量显示解析。
BZ#890297
在此次更新之前,关闭 virt-viewer 客户机终端后,I/O 错误被写入 libvirtd.log 文件中。在这个版本中,在关闭客户机终端时,libvirt 事件和回调会被取消注册,I/O 错误将不再记录在上述场景中。
BZ#908057
当在 remote-viewer 中禁用了 自动调整大小 的选项,并且更改了客户机计算机上的屏幕分辨率时,不会接受此更改,并且解析恢复回以前的状态。在这个版本中,remote-viewer 已被修改,以便监控配置与客户机同步,即使禁用自动调整大小。
BZ#908408
由于 virt-viewer 返回的不必要的消息,在尝试以全屏模式连接到多监视器 guest 时,辅助监视器有时会在循环中保持闪存。现在,有关额外 monitor 重新配置的消息已被删除,在全屏模式下,额外的 monitor 不再闪存。
BZ#913601
在此次更新之前,在多监视器客户机设置中,发送密钥菜单被错误地放置在辅助监控器中。在这个版本中,virt-viewer 已修改为根据顶层窗口位置正确转换菜单协调。现在,sendkey 菜单会被正确放置在辅助监控器中。
BZ#924577
在按 Alt+S 组合键或其他菜单加速器后,客户机会保持 Alt 状态。因此,某些客户机功能无法正常工作。在这个版本中,当客户端用户界面中存在键盘 grab 时,guest Alt 键会被正确释放,从而解决了这个问题。
BZ#982840
在以前的版本中,virt-viewer 无法连接到只使用 SPICE TLS autoport 配置的 libvirt 客户机控制台。在这个版本中,修改了设置逻辑,以检查是否存在任何端口、普通或 TLS。因此,virt-viewer 现在可以成功连接到仅 TLS 的客户机。
BZ#990883
为 Spice 会话输入无效的密码时,不会显示任何错误消息。现在,身份验证失败会被正确处理,如果 Spice 密码无效,则会显示错误对话框。

功能增强

BZ#864026
此更新会在从命令行启动时修改 virt-viewer 启动行为,而无需任何参数。现在,连接对话框处理错误,并允许更正连接详情并尝试新的连接。
BZ#904091
在这个版本中,将-- title STRING 选项添加到 remote-viewer,这可让您使用用户定义的文本覆盖默认窗口标题。
BZ#904094
在这个版本中,添加了 - hotkeys 选项,用于从命令行启用热密钥配置。
BZ#905684
在这个版本中,virt-viewer 已被修改,以便在关闭单个 monitor 会话时显示对话框窗口。此对话框要求用户确认,包含未再次显示的选项。
BZ#908805
此更新允许从文件(例如从 RHEVM 门户)设置 remote-viewer 会话,例如通过简单的浏览器链接,而无需特定于浏览器的插件或多进程通信。
建议 virt-viewer 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.230. virt-who

现在,Red Hat Enterprise Linux 6 提供了添加各种增强的 virt-who 软件包。
virt-who 软件包提供了一个代理,用于收集有关系统中虚拟客户机的信息并将其报告给 Red Hat Subscription Manager 工具。

功能增强

BZ#923757
在这个版本中,在 virt-who 软件包中添加了对 VMware ESXi 主机的支持
BZ#1001416
这个版本添加了对将信息从 virt-who 代理发送到 Red Hat Satellite 5 的支持。
BZ#1002058
在这个版本中,virt-who 软件包已被修改,以支持 VMware ESX 虚拟客户机列表超过 100 个结果。
建议 virt-who 用户升级到这些更新的软件包,这会添加这些改进。

8.231. virtio-win

Red Hat Enterprise Linux 6 现在提供了几个程序错误并添加了各种改进的 virtio-win 软件包。
virtio-win 软件包为大多数 Microsoft Windows 操作系统提供半虚拟化网络驱动程序。半虚拟化驱动程序是 Red Hat Enterprise Linux 上运行的完全虚拟化客户机使用的虚拟化感知驱动程序。与没有驱动程序的完全虚拟化客户机相比,使用半虚拟化驱动程序的完全虚拟化客户机会显著提高 I/O 性能。

程序错误修复

BZ#759019
在以前的版本中,当 virtio 控制台端口热拔下,然后,新端口被插入在同一数字中重复使用之前无拥有的卷组,QEMU 会报告:
Guest moved used index from 0 to 256
在这个版本中,新插入的端口无法在与之前分离的端口相同的数字下注册。因此,不再显示上述消息。
BZ#806223
在以前的版本中,当使用 virtio-serial 设备时,会尝试从 Sleep (S3)模式恢复系统会导致停止错误(death 的蓝色屏幕)。virtio-serial 中的中断禁用逻辑已被修复,现在可以恢复系统而无需 stop 错误。
BZ#823818
在某些情况下,当 virtqueue 已满时,客户机卷组会变得无响应。因此,会触发一个 bug 检查,netkvm 驱动程序被写入只读中断服务 Routine (ISR)注册,这会导致 QEMU 响应以下信息:
virtio_ioport_write: unexpected address 0x13 value 0x0
这个程序错误已被解决,上面提到的消息将不再显示。
BZ#840932
由于 voiserial 代码中缺少 StopIO 处理程序,在关闭系统时会发生停止错误(蓝色屏幕)。在这个版本中,StopIO 处理程序已添加到 voiserial 中,在系统关闭过程中不再发生 stop 错误。
BZ#856490
由于 virtio-serial 电源状态管理代码中的一个错误,在使用 virtio-serial 实用程序时无法将客户机系统转换为 sleep (S3)或休眠(S4)模式。这个程序错误已被解决,客户机现在可以按预期休眠或休眠。
BZ#869476
由于 Seabios 应用程序代码中的一个错误,系统无法从休眠状态恢复,并且出现停止错误(蓝色屏幕出现问题)。有了这个更新,Seabios 已被修复,现在可以按预期恢复系统。
BZ#882795
在通过 virtio-serial 设备传输数据时,将系统切换到 hibernate 模式(S4)会导致停止错误(death 的蓝色屏幕)。在这个版本中,virtio-serial 中的锁定获取和发行版本逻辑已更改,从而解决了这个问题。
BZ#889410
在以前的版本中,TCP 卸载代码经过优化,但驱动程序中卸载模拟的仅测试模式没有更新,因此无法正常工作。因此,当触发 SW 卸载测试模式时,网络不可用。在这个版本中,删除了 TCP/IP 卸载的 SW 模拟,客户机现在会取消应用主机卸载功能,从而防止网络关闭。
BZ#902150
从 sleep (S3)或休眠(S4)状态恢复系统后,vioserial 设备没有正确操作。在这个版本中,vioserial 中的设备处理逻辑已被更改,vioserial 现在可以在从 S3 或 S4 状态恢复后正常工作。
BZ#907160
当启用 multi-queuue 功能时,会增加 virtio-net 网络驱动程序的基本地址注册(BAR)大小。在以前的版本中,virtio-net 在初始化过程中测试 BAR 大小,因此无法启动。在这个版本中,virtio-net 已被修改来测试 BAR 大小,并使用 virtio 功能检查是否可以访问额外的寄存器。现在,驱动程序可以在不复杂的情况下启动。
BZ#908198
在以前的版本中,virtio-win 软件包中的 WDF 安装程序使用红帽签名签名,该签名覆盖了原始 Windows 签名。在这个版本中,WdfCoInstaller010xx.dll 文件会在没有红帽签名的情况下分发。
BZ#908725
在以前的版本中,virtio-win 软件包中的 ".inf" 文件会被分配,但没有明确规格的修订 ID,这会违反特定的 virtio spec 要求。在这个版本中,这些 ".inf" 文件明确指定修订 id 作为 HW 标识字符串的一部分。
BZ#912926, BZ#957435
在此次更新之前,在 NetKVM 设备关闭过程中可能会在客户机卷组中发生中断。因此,客户机变得无响应。在这个版本中,中断已被禁用,设备关闭现在与设备的 DIRQL (设备中断请求级别)同步。因此,在上述场景中,客户机不再挂起。
BZ#921200
在以前的版本中,如果客户机停止错误(降级的蓝色屏幕)或传出传输中挂起,则 NetKVM 驱动程序使用 VIRTO_ISR 注册进行调试输出。但是,这些问题应该由其他方法检测到。在这个版本中,VIRTIO_ISR 不再用于调试目的。
BZ#950623
在以前的版本中,几个 debug 参数公开给用户。这些参数的潜在更改可能会影响网络设备的功能。在这个版本中,从设备管理器中删除这些测试参数。因此,用户不再看到 debug 和 experimental 参数。
BZ#950633
由于校验和测试中出现意外实施不正确,NetKVM 驱动程序将丢弃某些数据包。checksum 计算已被修复,数据包不会在上述情况下丢弃。
BZ#951070
在以前的版本中,在没有换行符的情况下打印的调试信息的某些部分,这减少了调试信息的可读性。在这个版本中,在 debug 打印行尾字符。
BZ#951481
在以前的版本中,在重新安装 virtio-serial 驱动程序后,驱动程序不会通过串行端口传输数据。这个 bug 已被修复,virtio-serial 现在可以在重新安装序列后正常工作。
BZ#953812
由于 virtio-serial 驱动程序的写请求中存在一个错误,在通过 virtio-serial 端口将数据传输到主机时无法关闭客户机。在这个版本中,即使从客户机传输到主机的数据传输仍在进行中,客户机也可以成功关闭。
BZ#955844
在 virtio-win-1.6.3 中,Windows Server 2012 驱动程序已认证为"Network-Other Device"产品类型,而不是"Network-LAN (Server) "。因此,对"Network-LAN (Server) "的支持没有明确说明。这个版本添加了较新的 pre-WHQL 驱动程序构建,作为 "Network-LAN (Server) " 产品类型。
BZ#956290
由于 NetKVM 驱动程序的锁定序列中有一个错误,设备热拔可能会导致驱动程序变得无响应。这个锁定序列已被修复,NetKVM 在删除意外设备后不再挂起。
BZ#956882
如果使用多个 IP 地址设置了驱动程序,则驱动程序中的 IP 地址结构错误地解析可能会导致停止错误(death 的蓝色屏幕)。因为这个解析只用于调试目的,所以这个更新已从驱动程序中完全删除。
BZ#957505, BZ#960503
由于一个竞争条件,在虚拟机休眠前将 virtio 功能设置为 "0" 可触发 QEMU 断言或网络中断。在这个版本中,这些功能不再设置为 "0",从而防止上面提到的场景中出现断言和网络故障。
BZ#966809
在以前的版本中,在热插 virtio-serial 设备后,从休眠模式(S4)恢复系统会导致停止错误(death 的蓝色屏幕)。这个 bug 已被修复,客户机可以在上述情况下成功恢复。
BZ#972310
如果 NetKVM 驱动程序初始化失败,某些内部系统数据结构也不会被初始化。因此,在驱动程序卸载过程中访问未初始化的数据结构会导致停止错误(蓝色屏幕出现问题)。在这个版本中,部分驱动程序初始化会被正确处理,不再会发生停止错误。
BZ#982940
在以前的版本中,INF 文件错误地表示 1GB 连接率。虽然此大小的连接率可以从设备管理器设置,但无法使用命令行工具设置 1GB 速率。在这个版本中,INF 文件中设定了正确的连接率,现在可以按预期使用命令行来配置此速率。
BZ#988302
自动转换为 Visual Studio 项目,为 netsh 插件的 32 位二进制文件设置不正确的调用惯例。因此,netsh 插件的命令行选项无法在 32 位操作系统中工作。在这个版本中,调用惯例已被更改,netsh 插件命令行选项现在可以在 32 位构架中正常工作。

功能增强

BZ#713130
在这个版本中,添加了对事件索引功能的支持。此功能减少了对大多数操作的每个兆字节的 CPU 使用率,例如在网络传输过程中。
BZ#904934
QEMU 中引入了设置 MAC 地址的新机制。现在,可以将 MAC 地址设置为原子更改,QEMU 可以测试 MAC 地址的有效性。
BZ#920011
默认情况下,OVS 交换机从数据包中删除优先级标头,因此从源自 Windows 客户机的数据包中剥离优先级和 VLAN 标签。这个行为现在可以使用 "other-config:priority-tags" 选项进行配置。要保留优先级标签,对于添加到 OVS 网桥的每个端口,需要执行以下命令:
ovs-vsctl set port <PORT_NAME> other-config:priority-tags=true
BZ#948017
在这个版本中,为 qemu-ga-win 代理添加了对 VSS (Volume Shadow Copy Service)的支持。VSS 是一个 Microsoft Windows API,允许一致的冻结和波动操作。借助此功能,虚拟机运行期间执行的快照通过块层到客户机应用的整个堆栈一致,并可用于备份目的。
BZ#950424
在这个版本中,virtio 间接缓冲区功能可以在客户机驱动程序中使用,提供增强的 virtio 功能来传输碎片网络流量。
BZ#950509
有了这个更新,NetKVM 驱动程序构建工具已转换为 Visual Studio 项目或解决方案,提供与 Windows 8 DDK 的兼容性。
BZ#950617
这个版本实现了 RSS (接收扩展),这提高了 Windows SMP 客户机上的 RX 性能。
BZ#971141
Windows 客户机代理现在被完全支持,并在 Supplementary 频道中与 virtio-win 驱动程序一起提供自己的安装程序。
建议 virtio-win 用户升级到这些更新的软件包,其中包含向后移植的补丁以更正这些问题并添加这些改进。

8.232. watchdog

更新了 watchdog 软件包,用于修复一个程序错误现在可用于 Red Hat Enterprise Linux 6。
watchdog 软件包提供了一个用户空间应用程序,它可以配置为通过 Linux 内核的 watchdog 接口为硬件或软件 watchdog 计时器提供更新。
升级到上游版本
watchdog 软件包升级至上游版本 5.6,它比之前的版本提供了一个程序错误修复。之前的版本无法在 Sun Fire X4100 服务器上重置 Ipmi Linux watchdog 计时器。因此,如果 watchdog 守护进程启动,系统会启动来持续重启。现在,一个补丁已被应用于解决这个程序错误,重置 watchdog 计时器现在可以在 Sun Fire X4100 上正常工作。(BZ#870217)
建议 watchdog 用户升级到这个更新的软件包,从而解决了这个问题。

8.233. webkitgtk

现在,Red Hat Enterprise Linux 6 提供了修复一个程序错误的 webkitgtk 软件包。
webkitgtk+ 是可移植 Web 渲染引擎 WebKit 到 GTK+ 平台的端口。

错误修复

BZ#966571
在以前的版本中,WebKitGTK+ 中的 JavaScript 未启用即时(JIT)编译。因此,一些网站在加载和性能时遇到问题。这个版本启用了 32 位 Intel、Intel 64 和 AMD64 架构的 JIT 编译,且不再发生不需要的行为。
建议 webkitgtk 用户升级到这些更新的软件包,从而解决了这个问题。

8.234. wireshark

Red Hat Enterprise Linux 6 现在提供了修复多个安全问题、几个程序错误和添加各种改进的 wireshark 软件包。
红帽安全响应团队将此更新的安全影响级别定为具有中等安全影响。一般漏洞评分系统(CVSS)基础分数(提供详细的严重性评级)提供了以下每个描述的 CVE 链接中的每个漏洞。
wireshark 之前称为 Ethereal,是网络协议分析器。它用于捕获和浏览计算机网络上运行的流量。

安全修复

CVE-2013-3559, CVE-2013-4083
wireshark 中发现了两个漏洞。如果 wireshark 从网络中读取出不正确的数据包或打开恶意转储文件,则可能会崩溃或可能,以运行 wireshark 的用户执行任意代码。
CVE-2012-2392,CVE-2012-3825,CVE-2012-4285,CVE-2012-4288,CVE-2012-4289,CVE-2012-4290,CVE-2012-4291,CVE-2012-4292,CVE-2012-5595, CVE-2012-5597 ,CVE-2012-5597,CVE-2012-5598,CVE-2012-5599 , CVE-2012- 5600 ,CVE-2012-6056 , CVE-2012-605 9, CVE-2012-6 060, CVE-2012-606 1, CVE-2012-606 2, CVE-2013-355 7, CVE-2013- 3561, CVE-2013- 4081, CVE-2013- 4927, CVE-2013- 4931, CVE-2013- 4932, CVE-2013- 4933, CVE-2013- 4934, CVE-2013- 4935, CVE-2013- 4936, CVE-2013-5721
wireshark 中发现了多个拒绝服务漏洞。如果 wireshark 可以读取一个网络不正确的数据包或打开恶意转储文件,则 wireshark 可能会崩溃或停止响应。
升级到上游版本
wireshark 软件包已升级到上游版本 1.8.10,它提供很多程序错误修复和增强。如需有关引入的修复、增强功能和支持的协议的更多信息,请参阅 wireshark 发行注记:
(BZ#711024)

程序错误修复

BZ#750712
在以前的版本中,当检查由 NFSv4.1 生成的流量时,shcont 不会解析 RECLAIM-COMPLETE opcode。现在,提供了一个补丁来启用对 RECLAIM_COMPLETE opcode 的解析,而 wireshark 现在可以正确忽略并处理 NFSv4.1 流量。
BZ#832021
在更新之前,文本文件中的帧异常从数据包捕获文件中的时间戳提前报告一小时。这会导致 dfilter-test.py 测试套件报告各种故障。要修复这个程序错误,帧的 arrival 时间戳已被一小时转移,从而解决了这个问题。
BZ#1004636
"tshark -D"命令将输出返回到 Burstable 而不是 STDOUT,这可能会破坏解析"tshark -D"输出的脚本。这个 bug 已被修复,"tshark -D"命令现在将输出数据写入正确的标准输出。
BZ#715560
由于数组 overrun,Valapps 可能会遇到未定义程序行为,或者可能会意外终止。有了这个更新,正确的数组处理可确保在上述场景中的 wireshark 不再崩溃。
BZ#659661
在以前的版本中,dftest 和 rundpkt 命令行工具缺少手册页。在这个版本中,为这两个工具添加了正确的手册页。

功能增强

BZ#699636, BZ#858976
有了这个更新,VDSP 能够正确忽略和处理 InfiniBand 和 GlusterFS 流量。
建议所有 wireshark 用户升级到这些更新的软件包,其中包含向后移植的补丁以更正这些问题并添加这些增强功能。必须重启所有正在运行的 wireshark 实例,才能使更新生效。

8.235. xfsprogs

现在,Red Hat Enterprise Linux 6 提供了修复几个 bug 的 xfsprogs 软件包。
xfsprogs 软件包包含一组使用 XFS 文件系统的命令,包括 mkfs.xfs 命令来构建 XFS 文件系统。

程序错误修复

BZ#893904
在以前的版本中,当将 ag_stride 选项指定为 xfs_repair 命令的选项时,命令会用分段错误终止。这个版本修改了底层 XFS 修复代码,因此 ag_stride 选项现在可以正确处理。
BZ#950691
在以前的版本中,在某些文件系统中,xfs_repair 工具偶尔可能会发出警告,如 "7f61c041b700: Badness in key lookup (length) "。这些是与缓存查找失败相关的无害错误,但这些消息可能涉及运行 xfs_repair 的用户。在这个版本中,确保不再遇到这些警告。
BZ#961501
当把条带几何结构手动指定到 mkfs.xfs 命令时,mkfs.xfs 没有正确地选择 "multidisk mode",因为它会在自动检测到条带几何结构时执行。因此,会创建比的最佳分配组数小。在这个版本中,可以正确地选择 multidisk 模式,并创建了大量分配组。
BZ#962394
xfs_io (8)手册页不包含 chproj、lsproj 和 setfl 命令的文档。这些命令现在在 man page 中进行了介绍。此外,man page 已被修正,以参考 fallocate ()系统调用的第 2 节。
BZ#962397
在以前的版本中,当遇到多日志的 inode 字段时,xfs_logprint 命令可能会中止,并带有 "xlog_print_trans_inode: illegal inode type" 错误。在这个版本中,修改底层的 logprint 代码,以便可以正确处理多日志的内节点字段,xfs_logprint 会如预期成功完成。
BZ#964216
在以前的版本中,xfs_repair 工具无法正确处理碎片化的多块版本 2 目录,在某些情况下可能会导致 xfs_repair 分段错误。这个更新修改底层代码,因此 xfs_repair 现在可以根据预期在碎片版本 2 目录上运行。
BZ#987538
mkfs.xfs (8)手册页不包含"-d noalign"选项的描述,该选项在 mkfs 时禁用自动存储几何结构检测。在这个版本中,这个选项可以被正确记录。
BZ#1002908
在以前的版本中,当遇到持续内节点事务或嵌套的日志时,xfs_logprint 命令可能会失败。在这个版本中,修改底层的 logprint 代码,以便持续的内节点事务和嵌套日志被正确处理,xfs_logprint 现在可以按预期完成。
建议 xfprogs 用户升级到这些更新的软件包,从而修复这些程序错误。

8.236. xmlrpc-c

更新了 xmlrpc-c 软件包,它修复了一个程序错误。
XML-RPC 是一个远程过程调用(RPC)协议,它使用 XML 对调用和 HTTP 进行编码,作为传输机制。

错误修复

BZ#809819
在以前的版本中,当运行 "--help" 命令时,运行 "--help" 命令时列出的功能与列表不一致。另外,运行 reproducer 脚本会导致 "Unrecognized token" 错误。在这个版本中,列出的功能一致,不再显示 "Unrecognized token" 错误。
建议 xmlrpc-c 用户升级到这些更新的软件包,从而解决了这个问题。

8.237. xorg-x11-drv-ati

现在,Red Hat Enterprise Linux 6 提供了更新的 xorg-x11-drv-ati 软件包修复一个程序错误并添加各种改进。
xorg-x11-drv-ati 软件包为 X Window 系统的 X.Org 实现提供 ATI 图形卡的驱动程序。

错误修复

BZ#907616
在以前的版本中,热插检测和模式设置不会被自动执行。因此,用户必须运行工具程序来在插入多个监视器时强制实施更改。驱动程序已被更新,热插拔检测和模式设置现在可以正常工作。

功能增强

BZ#795919
添加了对新图形处理单元(GPU)硬件的支持。
BZ#822280, BZ#879102, BZ#882086
添加了对硬件加速(包括 OpenGL)的支持,包括 Radeon HD 7000 系列。
建议 xorg-x11-drv-ati 用户升级到这些更新的软件包,从而修复这个程序错误并添加这些改进。

8.238. xorg-x11-drv-intel

现在,Red Hat Enterprise Linux 6 提供了更新的 xorg-x11-drv-intel 软件包,修复了几个程序错误并添加各种改进。
xorg-x11-drv-intel 软件包包含用于 X Window 系统的 X.Org 实现的 Intel 集成图形视频驱动程序。
升级到上游版本
在 xorg-x11 软件包中,Intel-gpu-tools 已升级至上游版本 2.21.12,它提供很多程序错误修复和增强。(BZ#906036)

程序错误修复

BZ#886191
在以前的版本中,当在某些工作站上安装 Red Hat Enterprise Linux 6 时,Anaconda 会选择 fbdev 驱动程序,而不是 i915 Intel 驱动程序。在这个版本中,选择了 Intel 驱动程序,从而解决了这个问题。
BZ#999334
从 src rpms 构建 RPM 时,spec 定义和源生成的文件没有打包在 rpmbuild 过程的最后一个阶段。因此,即使其它构建都成功构建了,rpmbuild 也不会创建 rpm,并返回以下出错信息:
已安装(但未打包的)文件
这个程序错误已被解决,所有文件现在都按预期打包。
建议 xorg-x11-drv-intel 用户升级到这些更新的软件包,从而修复这些 bug 并添加这些改进。

8.239. xorg-x11-drv-mga

针对 Red Hat Enterprise Linux 6 提供了更新的 xorg-x11-drv-mga 软件包,修复两个程序错误。
xorg-x11-drv-mga 软件包为 X Window 系统的 X.Org 实现提供 Matrox G 系列芯片组的视频驱动程序。

程序错误修复

BZ#894959
在此次更新之前,图形用户界面可能会在带有 16:9 比率的 19-inch 监视器中出现 distorted。xorg-x11-drv-mga 软件包已被修复,因此在此场景中不再发生距离。
BZ#918017
在以前的版本中,使用 MGA G200e 芯片的 Red Hat Enterprise Linux 6.4 无法提供大于 1440x900 的分辨率。因此,Matrox 驱动程序不允许为许多 monitor 访问原生解析。在这个版本中,X 服务器不再丢弃更大的分辨率模式,并且现在提供大于 1440x900 的分辨率。
建议 xorg-x11-drv-mga 用户升级到这些更新的软件包,从而修复这些 bug。

8.240. xorg-x11-drv-nouveau

针对 Red Hat Enterprise Linux 6 提供了更新的 xorg-x11-drv-nouveau 软件包,修复了一个程序错误。
xorg-x11-drv-nouveau 软件包为 NVIDIA 图形芯片组提供 X.Org X11 noveau 视频驱动程序。

错误修复

BZ#876566
在以前的版本中,当将 VGA 兼容的控制器用于某些 NVIDIA Quadro 图形卡时,renderedcheck 测试套件无法因为呈现问题而执行完整的检查。xorg-x11-drv-nouveau 软件包已被修复,导致不再发生问题,测试套件可以按预期完成检查。
建议 xorg-x11-drv-nouveau 用户升级到这些更新的软件包,从而解决了这个问题。

8.241. xorg-x11-drv-qxl

针对 Red Hat Enterprise Linux 6 提供了更新的 xorg-x11-drv-qxl 软件包,修复两个程序错误。
xorg-x11-drv-qxl 软件包为 QEMU QXL 视频加速器提供 X11 视频驱动程序。这个驱动可让您使用 Red Hat Enterprise Linux 6 作为 KVM 内核模块下的客户机操作系统和 QEMU 多平台模拟器,使用 SPICE 协议。

程序错误修复

BZ#929037
当用户试图使用 Red Hat Enterprise Linux 5 在主机上启动带有 Red Hat Enterprise Linux 6 的客户机时,QEMU QXL 视频加速器会失败,并显示分段错误。因此,客户机无法启动系统 GUI。这个版本会应用一个补丁来修复这个程序错误,客户机现在可以正常启动。
BZ#951000
当将多个 QXL 设备与 Xinerama 扩展一起使用时,当每个 QXL 设备都是一个单独的屏幕时,在 xorg.conf 文件中设置大于 1024 x 768 pixel 的分辨率会失败,并显示错误。在这个版本中,底层源代码已被修改,解析现在可以如预期设置。
建议 xorg-x11-drv-qxl 用户升级到这些更新的软件包,从而修复这些 bug。

8.242. xorg-x11-drv-synaptics

针对 Red Hat Enterprise Linux 6 提供了更新的 xorg-x11-drv-synaptics 软件包,修复了一个程序错误。
xorg-x11-drv-synaptics 软件包包含 Synaptics touchpads 的 X.Org X11 输入驱动程序。

错误修复

BZ#988174
在以前的版本中,synaptics 驱动程序根据设备解析扩展输入协调。因此,X 服务器无法为相对模式中的其他设备应用基于分辨率的统一扩展。解决了 synaptics 驱动程序,只有在 X 服务器不支持每个设备解析扩展时,才会应用扩展功能。
建议 xorg-x11-drv-synaptics 的用户升级到这些更新的软件包,从而解决了这个问题。

8.243. xorg-x11-drv-wacom

针对 Red Hat Enterprise Linux 6 提供了更新的 xorg-x11-drv-wacom 软件包,修复了一个程序错误。
xorg-x11-drv-wacom 软件包提供了一个 X Window 系统输入设备驱动程序,它允许 X 服务器处理带有扩展功能的 Wacom 平板电脑。

错误修复

BZ#920385
在以前的版本中,xsetwacom 命令无法使用 xsetwacom 命令将 Esc 键映射到 Wacom Cintiq 22HD 平板电脑上的其中一个按钮。因此,命令在没有显示错误消息的情况下失败,密钥不会被映射。现在,这个程序错误已被解决,因此驱动程序现在可以按预期映射 Esc 键。
建议 xorg-x11-drv-wacom 用户升级到这些更新的软件包,从而解决了这个问题。

8.244. xorg-x11-server

更新了 xorg-x11-server 软件包,用于修复一个安全问题,现在 Red Hat Enterprise Linux 6 提供了几个程序错误。
红帽安全响应团队将更新的安全影响级别较低。一般漏洞评分系统(CVSS)基础分数(提供详细的严重性评级)提供了以下每个描述的 CVE 链接中的每个漏洞。
X.Org 是 X 窗口系统的开源实现。它提供完整的图形用户界面设计的基本低级别功能。

安全修复

CVE-2013-1940
在 X.org X11 服务器注册新热插设备的方式中发现了一个安全漏洞。如果本地用户切换到不同的会话并插入新设备,那么在之前的会话中可能会提供该设备的输入,从而导致信息披露。
此问题由 David Airlie 和 Technical Hutterer 的红帽公司发现。

程序错误修复

BZ#915202
以前的上游补丁将 Xephyr X 服务器修改为可调整大小,但默认情况下不启用调整大小的功能。因此,Red Hat Enterprise Linux 6.4 及更高版本无法调整 X 沙盒的大小。这个版本默认启用重新定义大小功能,以便现在可以按预期调整 X 沙盒。
BZ#957298
在 Red Hat Enterprise Linux 6 中,X 安全扩展(XC-SECURITY)已被禁用,并被 X Access Control Extension (XACE)替代。但是,XACE 尚不包含之前在 XC-SECURITY 中提供的功能。在这个版本中,XC-SECURITY 在 Red Hat Enterprise Linux 6 上的 xorg-x11-server spec 文件中被启用。
BZ#969538
上游代码更改,扩展初始化会意外禁用了 Xvfb (X 虚拟帧缓冲)中的 GLX 扩展,导致无头 3D 应用程序无法正常工作。这个问题的上游补丁已被向后移植,GLX 扩展会被再次启用,依赖这个扩展的应用程序可以正常工作。
建议所有 xorg-x11-server 用户升级到这些更新的软件包,其中包含向后移植的补丁以更正这些问题。

8.245. xorg-x11-xinit

现在,Red Hat Enterprise Linux 6 提供了修复一个程序错误的 xorg-x11-xinit 软件包。
X.Org 是 X Window 系统的一个开源实现,提供完整的低级别功能,如 GNOME 和 KDE 构建。xorg-x11-xinit 软件包包含 X.Org X Window 系统 xinit 启动脚本。

错误修复

BZ#811289
在以前的版本中,startx 脚本无法正确处理 xserverrc 文件。如果 /etc/X11/xinit/ 目录中有 xserverrc 文件,则脚本会失败并显示以下错误消息:
fatal 服务器错误: Unrecognized 选项: /etc/X11/xinit/xserverrc
在这个版本中,X 会话是使用 xserverrc 文件中的选项启动的,startx 脚本现在可以正确处理 xserverrc 文件。
建议 xorg-x11-xinit 用户升级到这些更新的软件包,从而解决了这个问题。

8.246. yaboot

现在,Red Hat Enterprise Linux 6 提供了更新的 yaboot 软件包修复了两个程序错误并添加一个增强。
yaboot 软件包为基于 Open Firmware 的 PowerPC 系统提供了一个引导装载程序。Yaboot 可用于引导 IBM eServer System p 机器。

程序错误修复

BZ#903855
在以前的版本中,客户端覆盖 Trivial 文件传输协议(TFTP)文件传输的网关 IP 地址。在使用 VLAN 标签通过网络安装时,当服务器位于不同的 IP 子网中时,引导会失败。此更新可确保正确解析其余参数剥离,并且上面提到的场景中不再会发生故障。
BZ#968046
因为第一次分配和固件底部没有足够空间,因此当固件为 32MB (0200000)时,用户会尝试加载 ramdisk 失败(0200000)。在这个版本中,增加了能够确定 initrd 内存的大容量是多大。因此,yaboot 可以准确将缓冲区放在内存中,而 ramdisk 负载失败不会再发生。

功能增强

BZ#947101
在这个版本中,对 yaboot 添加了 GUID 分区表(GPT)支持,因为之前 yaboot 支持 DOS 分区格式,其限制为 512B 扇区最多为 2TB。因此,即使有大量磁盘,这个限制也会强制用户将所有设备格式化为 2TB。对于 yaboot 中的 GPT 支持,用户现在可以使用更大的磁盘。
建议 yaboot 用户升级到这些更新的软件包,从而修复这些 bug 并添加此功能增强。

8.247. yum-rhn-plugin

更新了 yum-rhn-plugin 软件包,它修复了一个程序错误。
yum-rhn-plugin 软件包支持连接到 Red Hat Network (RHN)。通过 RHN 注册的系统可以从 Red Hat Network 更新和安装软件包。

错误修复

BZ#949649
如果以足够慢的网络与父项分开,则 RHN 代理无法正常工作。因此,试图下载更大的 repodata 文件和 RPM 会出现超时的情况。这个版本更改了 RHN 代理和 Red Hat Enterprise Linux RHN 客户端,以便所有通信可以模糊处理连接配置的超时值。
建议 yum-rhn-plugin 用户升级到这些更新的软件包,从而解决了这个问题。
针对 Red Hat Enterprise Linux 6 提供了更新的 yum-rhn-plugin 软件包,修复了一个程序错误。
yum-rhn-plugin 软件包允许 Yum 软件包管理器访问红帽网络中的内容。

错误修复

BZ#960524, BZ#988895
在此次更新之前,尝试安装已安装的软件包会导致空事务被错误地识别为错误。因此,yum-rhn-plugin 报告失败的安装操作。在这个版本中,yum-rhn-plugin 已被修改,为空事务返回成功代码。现在,当软件包已安装时,现在会报告成功安装操作。
建议 yum-rhn-plugin 用户升级到这些更新的软件包,从而解决了这个问题。

8.248. zsh

现在,Red Hat Enterprise Linux 6 提供了添加一个增强的更新 zsh 软件包。
zsh shell 是一个命令解释器,可用作交互式登录 shell 和作为 shell 脚本命令处理器。zsh 与 ksh shell (Korn shell)类似,但包括很多改进。zsh 支持命令行编辑、内置拼写更正、可编程命令完成、shell 功能(使用自动加载)、历史记录机制等。

功能增强

BZ#820530
在这个版本中,将 ${NAME:OFFSET:LENGTH} 替换为 zsh,用户可以使用语法 ${NAME:OFFSET:LENGTH} 来显示子字符串。
建议 zsh 用户升级到这些更新的软件包,其中包括这个改进。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.