お前ら*BSDのカーネルをハックしますか?

このエントリーをはてなブックマークに追加
>>309
なるほど。。。参考になりました。
しかし、送信バッファがあふれても ip_outputの返値が0になるというのは問題なのでは??
ソケットバッファの場合はちゃんと制御できるのに。。。
>>310
ぜんぜん問題じゃない。君の考え方のほうが問題。
ソケットは到達保証するが、IPは到達保証しない。
まだわからない?
>>311
ソケットが送信保証をするためには、ip_outputの返値が0である必要があるし、
ip_outputの返値で0を返すためには、ether_outputの返値が0である必要がある。

ちなみに、ネットワークに出力されたあとは、ソケットも到達保証しないよ。
仮にできるのなら、何も苦労しない。。。
PF_ROUTEソケットについて調べてるんですがどうもいまいち…
(いまいちなのはもちろん自分)
4.4BSDの本見てから、ソース見たけど????です

PF_ROUTEソケットを調べだしたのは。rtadvdで受けている
メッセージを見ていたところ、ioctl()などのリクエストでkernelから生成してるはずの
メッセージ数と合わない、こんなところからです。

http://orange.kame.net/dev/cvsweb.cgi/kame/kame/kame/rtadvd/rtadvd.c?rev=1.88
socket(PF_ROUTE, SOCK_RAW, 0))

やはりRAWだから一気に生成したメッセージはどこかで落されてしまうんですかね…。
落される場所がわからない…
できれば落さないように改造してみたいんですが…
314名無しさん@お腹いっぱい。:04/05/24 19:37
二年半前のスレか・・・
見習いデーモンは一人前になったのだろうか。
現在、まだ半人前とみた。
>>1 の参考
...半分ぐらい読むには読んだけど、むつかし。
ので、いったん撤退して、こっち↓に着手。

Commentary on the Sixth Edition UNIX Operating System
tp://www.lemis.com/grog/Documentation/Lions/

そのうちリベンジの予定。
>>317
よし!俺が今から
「The Design and Implementation of the 4.4BSD Operating System」
を読んで>>317を追い抜いてやるぜ!!
しかし、"こっち"も...

-- m40.s --
/ initialize systems segments

mov $KISA0,r0
mov $KISD0,r1
mov $200,r4
clr r2
mov $6,r3
1:
mov r2,(r0)+
mov $77406,(r1)+ / 4k rw
add r4,r2
sob r3,1b
~~
0619:
KISA0 and KISD0 are the high core addresses
of the rst pair of kernel mode segmentation
registers. The first six kernel descriptor
registers are initialised to 077406,
which is the description of a full size, 4K word,
read/write segment.
The first six kernel address registers are initialised
to 0, 0200, 0400, 0600, 01000 and
01200 respectively.

~~
sob
Subtract one from the designated register. If
the result is not zero, branch back "offset"
words;

...
...
スタック
--interrupted routine--
ps : old PS
pc : old PC
--vector--
r0 : old r0
--trap(assembler version)--
nps: new PS after trap
r1 : old r1
sp : old SP for previous mode
dev: masked new PS
tpc return address in "call"
--csv---
old r5 <- r5
old r4
old r3
old r2
cret <- sp


r5r5r5r5r5
r5<-r5<-r5<-r5<-r5<-r5

うーん...
service routine(dev, sp, r1, nps, r0, pc, ps)
{

u.u_ar0 = &r0
なんとも...
323名無しさん@お腹いっぱい。:2005/07/29(金) 01:02:14
お前らXenのdom0に*BSDタンを担ぎ上げてください。
324名無しさん@お腹いっぱい。:2005/07/29(金) 01:03:08
お前らdomUはなんでもいいとおもいませんか。
325名無しさん@お腹いっぱい。:2005/10/24(月) 01:11:31
「BSDカーネルの設計と実装 --FreeBSD詳解--」
http://www.ascii.co.jp/books/detail/4-7561/4-7561-4679-1.html
326名無しさん@お腹いっぱい。:2005/11/13(日) 16:17:31
>>325
よーし、俺のコレクションに加えちゃうぞー。
積読用に。
327見習デーモン:2006/07/19(水) 15:21:55
ひさしぶりに来ました。

>>316
半人前どころか四半人前ぐらいです。

スレたてたの約5年前なんですね…全く成長してないのに
自分でもショック。
仕事終わったら『BSDカーネルの設計と実装』買って帰ります…
328見習デーモン:2006/07/24(月) 15:25:26
こんにちは。

上の本、順調に読み進めてます。
Netgraphハッカーになりてーなんて思ってたら
Netgraphがカーネルの中で一番ボリュームが多いって知って
さっそく挫けそうです。

OSMでバリバリ記事書く佐藤広生さんSUGEEEEEEE
329名無しさん@お腹いっぱい。:2006/07/26(水) 02:45:29
ん?多分ソースツリーの構成上だけの問題だと思うけど?
今netgraph関係は一部のモジュールを除いて、
ほとんどフラットに展開されてるから。それなりに数もあるし。
見る必要があるのはng_sample.cぐらいじゃない?

330見習いデーモン:2006/12/28(木) 17:49:40
緊急浮上。

2007年はこれ
http://www.packetmischief.ca/openbsd/snmp/
と、OpenBSDのtcpdumpのpfに関連した拡張をFreeBSDに移植します。
331見習いデーモン:2007/05/09(水) 14:28:39
着手しました。
まだOpenBSD上で本家パッチの内容を調査してる段階。
すんなり移植できるといいな・・・
332見習いデーモン:2007/05/10(木) 12:09:26
すまん、よく見たらカーネルと関係なかった。
回線切って首吊ってきます。
333名無しさん@お腹いっぱい。:2008/06/04(水) 08:45:13
カーネルの最新情報なら
http://www.kernel.org/
334名無しさん@お腹いっぱい。:2008/06/04(水) 09:24:35
板違いだ

ケンタッキーでも食ってろ
335見習いデーモン:2008/09/26(金) 10:31:54
仕事がつらくてモチベーションが下がったとき、このスレを開くと
元気が出る。

今の俺は、7年前の俺が目指した俺になっているだろうか。
336名無しさん@お腹いっぱい。:2008/12/03(水) 01:45:52
おいらも頑張ってみようかな
337名無しさん@お腹いっぱい。:2009/01/30(金) 07:39:45
積読してた4.3BSDの設計と実装でも読むか
338名無しさん@お腹いっぱい。:2009/07/08(水) 20:56:07
ARM系, evbarmやarmとかいろいろあって最初に読むべきlocore.S相当がどれかわからん…トホホ
339名無しさん@お腹いっぱい。:2009/07/09(木) 11:08:29
>>338
arch/evbarm/hoge/*_start.S
arch/arm/arm32/locore.S:start
arch/evbarm/hoge/*_machdep.c:initarm()
sys/kern/init_main.c:main()
arch/arm/arm32/arm32_machdep.c:cpu_startup()

の順かね。
340名無しさん@お腹いっぱい。:2009/07/09(木) 14:57:51
>>339
ありがとう!頑張って勉強してみる!!
341名無しさん@お腹いっぱい。:2009/07/28(火) 12:39:00
int 0x80から始まるカーネル内でのシステムコール処理中に、外部割込み(キーボードとかEtherカード)を
タイミングよく発生させる方法ってある?
342名無しさん@お腹いっぱい。:2009/07/29(水) 14:20:20
>>341
remote gdb で break する -> 割り込みいれる -> continue する
じゃ、だめなのか?
343名無しさん@お腹いっぱい。:2010/03/27(土) 12:47:14
ブルブルマシーンについて
今日、仕事終わりにすぅぱぁ銭湯に行って岩盤浴してきました
超ー気持ちよかったX
その時、200円でブルブルマシーンにも乗ったの前回は何も思わんかったけど…たぶん前の乗り方が悪かったんでしょうか今回はかなり足にきてます
脂肪しかないからきかないのかと思ったけど違ったよあよかった
344名無しさん@お腹いっぱい。:2010/12/10(金) 21:05:06
/* XXX should go away */
このコメントってどういう意味?
345名無しさん@お腹いっぱい。:2010/12/11(土) 08:58:56
XXXをプロジェクトから追放しろ
346名無しさん@お腹いっぱい。:2010/12/11(土) 18:19:39
>>345
ありがと。
347名無しさん@お腹いっぱい。:2011/01/10(月) 16:20:36
ちげーよ。
XXX commentすなわちTODO comment
348名無しさん@お腹いっぱい。:2011/01/10(月) 18:55:43
TODO と XXX は違う。
TODO はまだやる(べき)ことが残ってる状態を示す。

それに対して XXX はその部分が、残しておかないと動かないとかそういう理由で存在するけど、
ひどいコードだと書いた奴自身わかっているよ、とかそういう印。
349名無しさん@お腹いっぱい。:2011/01/11(火) 11:30:25
350名無しさん@お腹いっぱい。:2011/01/11(火) 11:32:28
351 【東電 69.8 %】 :2011/04/21(木) 01:37:44.29
あい
352名無しさん@お腹いっぱい。:2011/04/24(日) 16:33:08.37
適当にソース開いて1,2,3行ブバッと消してコンパイピして使ってみたらすげえ不安定になっちゃったべ
353名無しさん@お腹いっぱい。:2012/02/27(月) 13:27:27.98
>>348
まあ中二病的発想だろうね
三年生ともなれば経済ってもんが大まかにでも分かって来て個々人が自分自身の為に精一杯頑張る事が
最も社会(彼らは地球・世界・市民といった表現が好きなようだが)の為になるって事に気付くもんだけど
354名無しさん@お腹いっぱい。:2012/02/28(火) 12:05:05.23
死ねよゴミみたいねレスをコピペして喜んでるバカは死ねよ
355名無しさん@お腹いっぱい。:2012/02/28(火) 14:07:11.79
ゴミみたいね
356名無しさん@お腹いっぱい。:2013/09/22(日) 02:41:08.68
ゴミ
357名無しさん@お腹いっぱい。:2014/07/05(土) 13:49:41.54
linker_set.h にある
↓の"void const * const"の部分が何を修飾してどういう意味になるのか分からんです。教えて下さい。

#define __MAKE_SET(set, sym) static void const * const __set_##set##_sym_##sym __attribute((section("set_" #set))) __used = &sym

(改行は取り外しました)
358名無しさん@お腹いっぱい。:2014/07/10(木) 10:56:51.71
>>357
__set_##set##_sym_##sym is a static constant pointer variable that points to constant void(area).
*(__set_##set##_sym_##sym)を変更する気はないし、
__set_##set##_sym_##symに何か代入するつもりもないって宣言してる

void const * const fooはconst void * const fooと同じ
359357
>>358
初等的な質問にお答えthanksです