# mkdir -p /usr/local/BACKUP
# tar cvfz /usr/local/BACKUP/redhawk.orignal.src.tar.gz /usr/src/linux-*RedHawk*
# tar cvfz /usr/local/BACKUP/brefore-patch.redhawk.tar.gz /boot/* /var/vmlinux/* /lib/modules/*
polkitのpkexecユーティリティにローカル権限昇格の脆弱性(CVE-2021-4034) (2022.01.28)
# tar xvfz updates6_i686-polkit.tar.gz
# rpm -Uvh \
polkit-desktop-policy-0.96-11.el6_10.1.noarch.rpm \
polkit-0.96-11.el6_10.1.i686.rpm \
polkit-devel-0.96-11.el6_10.1.i686.rpm
または、
# tar xvfz updates6_x86_64-polkit.tar.gz
# rpm -Uvh \
polkit-desktop-policy-0.96-11.el6_10.1.noarch.rpm \
polkit-0.96-11.el6_10.1.x86_64.rpm \
polkit-devel-0.96-11.el6_10.1.x86_64.rpm \
polkit-docs-0.96-11.el6_10.1.x86_64.rpm
polkitのpkexecユーティリティにローカル権限昇格の脆弱性(CVE-2021-4034No2) (2022.09.16)
-rw-r--r-- 1 root root 165016 Sep 16 13:11 polkit-0.96-11.el6_10.2.x86_64.rpm
-rw-r--r-- 1 root root 478220 Sep 16 13:11 polkit-debuginfo-0.96-11.el6_10.2.x86_64.rpm
-rw-r--r-- 1 root root 7360 Sep 16 13:11 polkit-desktop-policy-0.96-11.el6_10.2.noarch.rpm
-rw-r--r-- 1 root root 28688 Sep 16 13:11 polkit-devel-0.96-11.el6_10.2.x86_64.rpm
-rw-r--r-- 1 root root 279640 Sep 16 13:11 polkit-docs-0.96-11.el6_10.2.x86_64.rpm
-rw-r--r-- 1 root root 726892 Sep 16 13:11 sudo-1.8.6p3-29.el6.x86_64.rpm
-rw-r--r-- 1 root root 617756 Sep 16 13:11 sudo-debuginfo-1.8.6p3-29.el6.x86_64.rpm
-rw-r--r-- 1 root root 44380 Sep 16 13:11 sudo-devel-1.8.6p3-29.el6.x86_64.rpm
以下に、x86_64向けビルド済みファイルを示す。
現象
:
:
divide error: 0000 [#1] PREEMPT SMP ← 0除算発生
:
:
Pid: 0, comm: kworker/0:1 Not tainted 2.6.36.4-RedHawk-6.0.2-trace #1
RIP: 0010:[<ffffffff8103c3af> [<ffffffff8103c3af>
find_busiest_group+0x3c2/0x9c4 ←直接のエラー
RSP: 0018:ffff8810f8443c38 EFLAGS: 00010046
RAX: 0000000000000000 RBX: ffff8810f844eb00 RCX: 0000000000000000 ← RCX レジスタは0
RDX: 0000000000000000 RSI: ffff8810f844eae0 RDI: 00000000000003f1
RBP: ffff8810f8443da8 R08: 0000000000000000 R09: 00000000ffffffff
R10: ffffffffffffffff R11: 000000000000001d R12: 0000000000012a01
R13: ffff8810f844eb90 R14: 0000000000000000 R15: 0000000000012a40
FS: 0000000000000000(0000) GS:ffff8810f8440000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 00007ffff762fdac CR3: 000000206557c000 CR4: 00000000000406e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process kworker/0:1 (pid: 0, threadinfo ffff881079be2000, task ffff881079bcce20)
Stack:
ffff88100000001d 0000000000000000 ffff881000000001 ffffffffffffffff
<0> ffff8810f844eb90 ffff8810f8443e78 0000000000012a48 0000000000012a40
<0> ffff8810f844ea00 0000000000000008 0000000000012a40 ffff8810f8443e84
Call Trace:
<IRQ>
[<ffffffff8103ca93> load_balance+0xe2/0x792 ← find_busiest_group()をCALL
:
:
crash> dis find_busiest_group+0x3c2
0xffffffff8103c3af <find_busiest_group+962> div %rcx ← 0除算発生
原因
この不具合は、redhatにより原因の究明と修正が既に行われています。
/**
find_busiest_group - sched_domain内で最も混雑しているグループを返す
不均衡があるならば。不均衡がなく、ユーザーが省電力を選択した場合、そのようなグループが存在する場合は、
他の場所でそれらのタスクを再調整することでCPUをアイドル状態にできるグループを返します。
バランスを回復するために移動する必要がある加重負荷の量も計算します。
*/
:
sds.avg_load = (SCHED_LOAD_SCALE * sds.total_load) / sds.total_pwr; (0除算部分)
:
対処方法
下記patchを適用し、再コンパイルするか、問題の無いバージョン(6.3.x)をNUUもしくは米国のサポートサイトを利用しアップデートを実施して下さい。現象
# ./install-nstar
NightStar RT Installation...
-------------------------------------------------------------------------
Concurrent Real-Time End-User License Agreement (the EULA).
By continuing, you accept the terms of the license agreement. If you do
not accept the terms or need to read the license agreement again, you
must reject this installation now. The license agreement is located
in the root directory of this CD in the file EULA.txt.
-------------------------------------------------------------------------
View, Accept or Reject the terms of this license? [v/a/r] a
Allow this script to use network repositories (already defined on the
system) to download any missing packages required by NightStar? (y/N) n
Should the installation fail due to missing dependencies you can
rerun this script with the --no-disable option or answer yes when
prompted by the question above.
Press to continue
/usr/bin/yum -t -e0 -d1 --disablerepo=ccur* --enablerepo=ccur-nstar-rt-cd-4.5* update 'ccur-n*' 'ccur-NightStar*' ccur-qt
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=6&arch=x86_64&repo=os error was
14: PYCURL ERROR 6 - "Couldn't resolve host 'mirrorlist.centos.org'"
Cannot find a valid baseurl for repo: base
The command /usr/bin/yum
reported an error during installation.
Install aborted; press to exit
原因
ネットワークに接続していない状態でNightStarをインストールした。対処方法
ネットワークに接続していない状態でNightStarをインストールするには、以下のコマンドを実行するようにして下さい。
現象
RedHawk6.0.2で特定のトラックボールを使用中にPANICしてしまう。
原因
USB通信データのリスト展開のマクロ内で、ヌルポインタが割り当てられ、PANICする。
この原因は、USB接続先のシステムのデータ生成に問題がある
詳細は、CRASHダンプ解析について(HTML)をご覧ください。
対処方法
下記RedHawk6.5用のコードをRedHawk6.0へ移植する。
void hidraw_report_event(struct hid_device *hid, u8 *data, int len)
{
struct hidraw *dev = hid->hidraw;
struct hidraw_list *list;
#if 0 /* RedHawk6.0 */
list_for_each_entry(list, &dev->list, node) {
list->buffer[list->head].value = kmemdup(data, len, GFP_ATOMIC);
list->buffer[list->head].len = len;
list->head = (list->head + 1) & (HIDRAW_BUFFER_SIZE - 1);
kill_fasync(&list->fasync, SIGIO, POLL_IN);
}
#else /* from RedHawk6.5 */
list_for_each_entry(list, &dev->list, node) {
int new_head = (list->head + 1) & (HIDRAW_BUFFER_SIZE - 1);
if (new_head == list->tail)
{
printk(KERN_WARNING "hidraw: new_head pointer is same tail!\n");
continue;
}
if (!(list->buffer[list->head].value = kmemdup(data, len, GFP_ATOMIC)))
{
printk(KERN_WARNING "hidraw: kmemdup() return is NULL!\n");
break;
}
list->buffer[list->head].len = len;
list->head = new_head;
kill_fasync(&list->fasync, SIGIO, POLL_IN);
break;
}
#endif
wake_up_interruptible(&dev->wait);
}
下記の手順でパッチを適用し、カーネルを再構築する。
# cd /usr/src/linux-2.6.36.4RedHawk6.0.2/
# patch -b -p0 < hidraw.c.3.patch
TRACEカーネルで再起動する。
# cd /usr/src/linux-2.6.36.4RedHawk6.0.2/
# ./ccur-config -n -F trace
# make REDHAWKFLAVOR="-trace" bzImage
# make REDHAWKFLAVOR="-trace" modules
# make REDHAWKFLAVOR="-trace" modules_install
# make REDHAWKFLAVOR="-trace" install
DEBUGカーネルで再起動する。
# cd /usr/src/linux-2.6.36.4RedHawk6.0.2/
# ./ccur-config -n -F debug
# make REDHAWKFLAVOR="-debug" bzImage
# make REDHAWKFLAVOR="-debug" modules
# make REDHAWKFLAVOR="-debug" modules_install
# make REDHAWKFLAVOR="-debug" install
STANDARDカーネルで再起動する。
# cd /usr/src/linux-2.6.36.4RedHawk6.0.2/
# ./ccur-config -n -F standard
# make REDHAWKFLAVOR="" bzImage
# make REDHAWKFLAVOR="" modules
# make REDHAWKFLAVOR="" modules_install
# make REDHAWKFLAVOR="" install
[ドライバーのインストール]
1. ixgbe*.tar.gzをダウンロードし、任意のディレクトリにコピー
例: /usr/local/
2. カーネルのソースツリーを再構築
RedHawk6.0.2での例:
cd /usr/src/linux-2.6.36.4RedHawk6.0.2
./ccur-config -n -c
3. ドライバーを解凍し、コンパイル
cd /usr/local/
tar zxvf ixgbe*.tar.gz
cd ixgb*/src
make
make install
詳細はREADMEファイルをご参照ください
また、Linuxは一般的に3つの場所にドライバが構成されます。
# dracut --add-drivers "ixgbe" -f /boot/initramfs-`uname -r` `uname -r`
移植済デバイスドライバrpmが必要なお客様は、弊社営業 sales@concurrent-rt.co.jp までお問い合わせください。有償で対応させていただきます。アドオンボード | なし | なし | あり | あり |
---|---|---|---|---|
BIOS設定 | PXE OPROM [Disable] | PXE OPROM [Enebled] | PXE OPROM [Disable] | PXE OPROM [Enebled] |
起動時表示 | なし | Initializaing Intel(R) Boot Agent GE v1.3.95 PXE 2.1 Build 091 (WfM 2.0) | Initializaing Intel(R) Boot Agent GE v1.3.51 PXE 2.1 Build 089 (WfM 2.0) | Initializaing Intel(R) Boot Agent GE v1.3.95 PXE 2.1 Build 091 (WfM 2.0) |
動作 | OK | OK | NG | OK |
PREBOOT/
index.htm - ホームページのユーザーガイド
licesnse.pdf - ソフトウェアライセンス
license.txt - ライセンスの追加について
README.TXT - ソフトウェアバージョンリリースノート
relnotes.rtf - ウェブパックリリースノート
PREBOOT/APPS/BOOTAGNT/DOCS - ユーザーガイドファイル インテルブートエージェント
PREBOOT/APPS/BootUtil/ - インテルR Ethernet Flash Firmware Utilityファイル
../iv.txt - BootIMG.FLB のドライバーのバージョンとイメージ、
../bootimg.flb - - Prebootイメージファイル
../DOCS/bootutil.txt - インテルRイーサネット・フラッシュ・ファームウエアー・ユーティリティーREADME
../linux_x64/ - インテルRイーサネット・フラッシュ・ファームウエアー・ユーティリティ
../linux32/ - インテルRイーサネット・フラッシュ・ファームウエアー・ユーティリティ
# cd PREBOOT/APPS/BootUtil/Linux_x64
# chmod +x bootutil64e
を行い、実行可能にしてから使用する
# ./bootutil64e -NIC=1 -FD
# ./bootutil64e -NIC=1 -WOLD
-NIC=XX
Selects a specific network port in the system. If used without any executable option, it prints the iSCSI boot configuration of
the selected port, or saves it in the file when the -O option is used.
-FLASHDISABLE or -FD
Disables the capability to run flash firmware on the selected adapter.
-WOLDISABLE or -WOLD
Disables Wake On Lan (WOL) functionality on the selected port
なお、マニュアルは、
# ./bootutil64e -?
で表示される。
現在の状態を示す。以下ではPORT3のPXEがENABLEである。
# APPS/BootUtil/Linux_x64/bootutil64e -SHOWPXE -NIC=1
Intel(R) Ethernet Flash Firmware Utility
BootUtil version 1.5.94.2
Copyright (C) 2003-2015 Intel Corporation
ERROR: Unsupported feature
Port Network Address Location Series WOL Flash Firmware Version
==== =============== ======== ======= === ============================= =======
1 90E2BA987754 2:00.0 10GbE N/A FLASH Disabled
2 90E2BA987755 2:00.1 10GbE N/A FLASH Disabled
3 001B21B0BD1C 3:00.0 Gigabit YES PXE 1.3.51
4 001B21B0BD1D 3:00.1 Gigabit N/A FLASH Disabled
5 001B21B0BD1E 3:00.2 Gigabit N/A FLASH Disabled
6 001B21B0BD1F 3:00.3 Gigabit N/A FLASH Disabled
7 008017AD03A0 5:00.0 Gigabit NO FLASH Not Present
8 008017AD039F 10:00.0 Gigabit NO FLASH Not Present
9 001B21A026CC 130:00.0 Gigabit YES FLASH Not Present
10 001B21A026CD 130:00.1 Gigabit N/A FLASH Not Present
スロット番号(ただし16進)表示
# lspci |grep Ether
02:00.0 Ethernet controller: Intel Corporation Device 10fb (rev 01)
02:00.1 Ethernet controller: Intel Corporation Device 10fb (rev 01)
03:00.0 Ethernet controller: Intel Corporation Device 150e (rev 01)
03:00.1 Ethernet controller: Intel Corporation Device 150e (rev 01)
03:00.2 Ethernet controller: Intel Corporation Device 150e (rev 01)
03:00.3 Ethernet controller: Intel Corporation Device 150e (rev 01)
05:00.0 Ethernet controller: Intel Corporation Device 1533 (rev 03)
0a:00.0 Ethernet controller: Intel Corporation Device 1533 (rev 03)
82:00.0 Ethernet controller: Intel Corporation Device 10e6 (rev 01)
82:00.1 Ethernet controller: Intel Corporation Device 10e6 (rev 01)
PORT3のフラッシュをDISABLEに設定
# APPS/BootUtil/Linux_x64/bootutil64e -NIC=3 -FLASHDISABLE
Intel(R) Ethernet Flash Firmware Utility
BootUtil version 1.5.94.2
Copyright (C) 2003-2015 Intel Corporation
Disabling boot ROM on port 3...Success
Port Network Address Location Series WOL Flash Firmware Version
==== =============== ======== ======= === ============================= =======
1 90E2BA987754 2:00.0 10GbE N/A FLASH Disabled
2 90E2BA987755 2:00.1 10GbE N/A FLASH Disabled
3 001B21B0BD1C 3:00.0 Gigabit YES FLASH Disabled
4 001B21B0BD1D 3:00.1 Gigabit N/A FLASH Disabled
5 001B21B0BD1E 3:00.2 Gigabit N/A FLASH Disabled
6 001B21B0BD1F 3:00.3 Gigabit N/A FLASH Disabled
7 008017AD03A0 5:00.0 Gigabit NO FLASH Not Present
8 008017AD039F 10:00.0 Gigabit NO FLASH Not Present
9 001B21A026CC 130:00.0 Gigabit YES FLASH Not Present
10 001B21A026CD 130:00.1 Gigabit N/A FLASH Not Present
PORT3のWOL(Wake On Lan)をDISABLEに設定
# APPS/BootUtil/Linux_x64/bootutil64e -NIC=3 -WOLDISABLE
Intel(R) Ethernet Flash Firmware Utility
BootUtil version 1.5.94.2
Copyright (C) 2003-2015 Intel Corporation
Disabling Wake On LAN for port 3...Success
Port Network Address Location Series WOL Flash Firmware Version
==== =============== ======== ======= === ============================= =======
1 90E2BA987754 2:00.0 10GbE N/A FLASH Disabled
2 90E2BA987755 2:00.1 10GbE N/A FLASH Disabled
3 001B21B0BD1C 3:00.0 Gigabit NO FLASH Disabled
4 001B21B0BD1D 3:00.1 Gigabit N/A FLASH Disabled
5 001B21B0BD1E 3:00.2 Gigabit N/A FLASH Disabled
6 001B21B0BD1F 3:00.3 Gigabit N/A FLASH Disabled
7 008017AD03A0 5:00.0 Gigabit NO FLASH Not Present
8 008017AD039F 10:00.0 Gigabit NO FLASH Not Present
9 001B21A026CC 130:00.0 Gigabit YES FLASH Not Present
10 001B21A026CD 130:00.1 Gigabit N/A FLASH Not Present
PORT4のWOL(Wake On Lan)をDISABLEに設定
# APPS/BootUtil/Linux_x64/bootutil64e -NIC=4 -WOLDISABLE
Intel(R) Ethernet Flash Firmware Utility
BootUtil version 1.5.94.2
Copyright (C) 2003-2015 Intel Corporation
Disabling Wake On LAN for port 4...Unsupported feature
Port Network Address Location Series WOL Flash Firmware Version
==== =============== ======== ======= === ============================= =======
1 90E2BA987754 2:00.0 10GbE N/A FLASH Disabled
2 90E2BA987755 2:00.1 10GbE N/A FLASH Disabled
3 001B21B0BD1C 3:00.0 Gigabit NO FLASH Disabled
4 001B21B0BD1D 3:00.1 Gigabit N/A FLASH Disabled
5 001B21B0BD1E 3:00.2 Gigabit N/A FLASH Disabled
6 001B21B0BD1F 3:00.3 Gigabit N/A FLASH Disabled
7 008017AD03A0 5:00.0 Gigabit NO FLASH Not Present
8 008017AD039F 10:00.0 Gigabit NO FLASH Not Present
9 001B21A026CC 130:00.0 Gigabit YES FLASH Not Present
10 001B21A026CD 130:00.1 Gigabit N/A FLASH Not Present
PORT5のWOL(Wake On Lan)をDISABLEに設定
# APPS/BootUtil/Linux_x64/bootutil64e -NIC=5 -WOLDISABLE
Intel(R) Ethernet Flash Firmware Utility
BootUtil version 1.5.94.2
Copyright (C) 2003-2015 Intel Corporation
Disabling Wake On LAN for port 5...Unsupported feature
Port Network Address Location Series WOL Flash Firmware Version
==== =============== ======== ======= === ============================= =======
1 90E2BA987754 2:00.0 10GbE N/A FLASH Disabled
2 90E2BA987755 2:00.1 10GbE N/A FLASH Disabled
3 001B21B0BD1C 3:00.0 Gigabit NO FLASH Disabled
4 001B21B0BD1D 3:00.1 Gigabit N/A FLASH Disabled
5 001B21B0BD1E 3:00.2 Gigabit N/A FLASH Disabled
6 001B21B0BD1F 3:00.3 Gigabit N/A FLASH Disabled
7 008017AD03A0 5:00.0 Gigabit NO FLASH Not Present
8 008017AD039F 10:00.0 Gigabit NO FLASH Not Present
9 001B21A026CC 130:00.0 Gigabit YES FLASH Not Present
10 001B21A026CD 130:00.1 Gigabit N/A FLASH Not Present
PORT6のWOL(Wake On Lan)をDISABLEに設定
# APPS/BootUtil/Linux_x64/bootutil64e -NIC=6 -WOLDISABLE
Intel(R) Ethernet Flash Firmware Utility
BootUtil version 1.5.94.2
Copyright (C) 2003-2015 Intel Corporation
Disabling Wake On LAN for port 6...Unsupported feature
Port Network Address Location Series WOL Flash Firmware Version
==== =============== ======== ======= === ============================= =======
1 90E2BA987754 2:00.0 10GbE N/A FLASH Disabled
2 90E2BA987755 2:00.1 10GbE N/A FLASH Disabled
3 001B21B0BD1C 3:00.0 Gigabit NO FLASH Disabled
4 001B21B0BD1D 3:00.1 Gigabit N/A FLASH Disabled
5 001B21B0BD1E 3:00.2 Gigabit N/A FLASH Disabled
6 001B21B0BD1F 3:00.3 Gigabit N/A FLASH Disabled
7 008017AD03A0 5:00.0 Gigabit NO FLASH Not Present
8 008017AD039F 10:00.0 Gigabit NO FLASH Not Present
9 001B21A026CC 130:00.0 Gigabit YES FLASH Not Present
10 001B21A026CD 130:00.1 Gigabit N/A FLASH Not Present
# yum update glibc
ネットワークに接続されていないサイトでの更新は、個別のrpmをダウンロード して、更新する必要があるため、
外部サイト http://ftp.jaist.ac.jp/pub/Linux/CentOS/6/updates/x86_64/Packages/
から以下のファイルをダウンロードして
glibc-2.12-1.166.el6_7.7.i686.rpm
glibc-2.12-1.166.el6_7.7.x86_64.rpm
glibc-common-2.12-1.166.el6_7.7.x86_64.rp
glibc-devel-2.12-1.166.el6_7.7.i686.rpm
glibc-devel-2.12-1.166.el6_7.7.x86_64.rpm
glibc-headers-2.12-1.166.el6_7.7.x86_64.rpm
glibc-static-2.12-1.166.el6_7.7.i686.rpm
glibc-static-2.12-1.166.el6_7.7.x86_64.rpm
glibc-utils-2.12-1.166.el6_7.7.x86_64.rpm
nscd-2.12-1.166.el6_7.7.x86_64.rpm
# rpm -Uvh *
でインストールしてください
struct termios ios;
struct serial_struct serial;
:
ios.c_cflag = B115200;
:
tcsetattr(fd, TCSANOW, &ios);
:
ioctl(fd, TIOCGSERIAL, &serial);
serial.flags |= ASYNC_LOW_LATENCY;
ioctl(fd, TIOCGSERIAL, &serial);
:
ata3: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
ata3.00: ATAPI: TEAC DV-W28S-R, 4.0A, max UDMA/33
ata3.00: configured for UDMA/33
scsi 2:0:0:0: CD-ROM TEAC DV-W28S-R 4.0A PQ: 0 ANSI: 5
しかし、認識しない場合には、/var/log/messagesに以下のようなエラー(qc timeout)が記録されます。
ata3: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
ata3.00: ATAPI: TEAC DV-W28S-R, 4.0A, max UDMA/33
ata3.00: qc timeout (cmd 0xef)
ata3.00: failed to set xfermode (err_mask=0x4)
ata3: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
ata3.00: qc timeout (cmd 0xef)
ata3.00: failed to set xfermode (err_mask=0x4)
ata3: limiting SATA link speed to 1.5 Gbps
ata3.00: limiting speed to UDMA/33:PIO3
ata3: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
ata3.00: qc timeout (cmd 0xef)
ata3.00: failed to set xfermode (err_mask=0x4)
ata3.00: disabled
ata3: hard resetting link
ata3: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
ata3: EH complete
この現象はICHチップセットをAHCIモードで使用すると発生する事象でDVDのも
モデルとバージョン、及びBIOSによって発生したり発生しなかったりします。
{ "TEAC DV-W28S-R", NULL, ATA_HORKAGE_NOSETXFER },
RedHawk6.0以前のchild_runs_firstの値は、TRUEで、プロセスをfork()した場合に子プロセスを先に実行させるものでした。
しかし、RedHawk5.4(2.6.31)と6.0(2.6.36)のベースカーネルとの間で、
(外部リンク)
kernel.orgによる変更 (kernel/sched_fair.c) がありました。
この変更により、アプリケーションに、いくつかの副作用を伴うことが確認されています。