2008年2月21日

[plamo:28920] Re: vmsplice local exploit


こじま@ SATA カードを追加したらカーネルが読み込まれなくなってしまっ
た..です.

# PCI なスロットをずらしたら無事読み込んで起動したのだけど,IRQ でもぶ
# つかっていたのかな?

From: Mikio Tomioka <mt03605z@xxxxx>

Subject: [plamo:28919] Re: vmsplice local exploit
Date: Thu, 21 Feb 2008 17:28:07 +0900 (JST)

> kernel は gcc-4.2.2 でコンパイルされているようですが、
> kernel_headers-2.6.23.16_plamoSMP-i386-P1.tgz は
> Plamo-4.22 標準環境 (glibc2) での物でしょうか?
>
> [plamo:26401] /usr/include/{linux,asm} からのスレッド内容からして、少
> し気になりました。

これも時代とともに状況が変っていて,[plamo:26401] の話は既に obsolete
ですね.

最近では,カーネルソースの Makefile に make headers_install という機能
が用意されており,この機能を使えばカーネルのインクルードファイルのうち,
ユーザ領域から利用していいものだけが抽出されるようです.

例えば,カーネルソースの include/linux/asm-generic には

% ls /usr/src/linux/include/asm-generic/
4level-fixup.h bitops.h fcntl.h local.h percpu.h statfs.h
Kbuild bug.h futex.h memory_model.h pgtable-nopmd.h termios.h
Kbuild.asm cputime.h gpio.h mm_hooks.h pgtable-nopud.h tlb.h
atomic.h device.h ide_iops.h mman.h pgtable.h topology.h
audit_change_attr.h div64.h ioctl.h mutex-dec.h poll.h uaccess.h
audit_dir_write.h dma-mapping-broken.h iomap.h mutex-null.h resource.h unaligned.h
audit_read.h dma-mapping.h ipc.h mutex-xchg.h rtc.h vmlinux.lds.h
audit_signal.h emergency-restart.h irq_regs.h page.h sections.h xor.h
audit_write.h errno-base.h kdebug.h pci-dma-compat.h siginfo.h
bitops/ errno.h libata-portmap.h pci.h signal.h

こういうファイルがありますが,make headers_install でインストールされる
のは,このうちの

% ls headers/usr/include/asm-generic/
errno-base.h errno.h fcntl.h ioctl.h ipc.h mman.h poll.h resource.h siginfo.h signal.h statfs.h

になり,これらについては glibc2 のバージョン等の外部環境とは無関係に利
用できるはずです.kernel_headers パッケージはこの機能を使って取り出した
ファイルを固めているので(固めたのは Plamo-4.5 の開発中の環境だったと思
いますが)大丈夫なはず.

--------
こじま

投稿者 xml-rpc : 2008年2月21日 18:02
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/70137
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。