Toshiharu Harada
harad****@gmail*****
2007年 11月 6日 (火) 07:17:51 JST
LKMLのsmack v10のスレッドで、「カーネル内の文字列パーサーは 良くない」というどこかで聞いたようなコメントに対して Linusがこんなレスをつけています。 筋の通った良い、そして影響力のあるコメントです。 ---------- Forwarded message ---------- From: Linus Torvalds <torvalds> Date: 2007/11/06 1:21 Subject: Re: [PATCH] Smackv10: Smack rules grammar + their stateful parser On Mon, 5 Nov 2007, Ahmed S. Darwish wrote: > On Sun, Nov 04, 2007 at 12:28:48PM +0000, Pavel Machek wrote: > > > > Can we avoid string parsers in the kernel? > > > > Ok, Could someone suggest a better idea please ?. I personally think string parsers are *much* better than the alternatives (which basically boil down to nasty binary interfaces) > I thought about packing the rules in a structure and sending > it over an ioctl() command. Is this applicable ? That's *MUCH* worse. Strings are nice. They aren't that complex, and as long as it's not a performance-critical area, there are basically no downsides. Binary structures and ioctl's are *much* worse. They are totally undebuggable with generic tools (think "echo" or "strace"), and they are a total nightmare to parse across architectures and pointer sizes. So the rule should be: always use strings if at all possible and relevant. If the data is fundamentally binary, it shouldn't be re-coded to ascii (no real advantage), but if the data is "stringish", and there aren't big performance issues, then keep it as strings. Linus - To unsubscribe from this list: send the line "unsubscribe linux-security-module" in the body of a message to major****@vger***** More majordomo info at http://vger.kernel.org/majordomo-info.html