(2) sys_openを使ってみました。
fd = func_sys_open("/tmp/hook_uname.txt",O_APPEND | O_CREAT );

 コンパイルは成功しましたが、モジュールを組み込むにエラーにになってしまいました。
#insmod -f hook_uname.o
hook_uname.o: unresolved symbol sys_open

(3) sys_call_tableのアドレスを呼び出してみました
int (*func_sys_open)(const char *pathname, int flags);
func_sys_open = sys_call_table[SYS_open];
fd = func_sys_open("/tmp/hook_uname.txt",O_APPEND | O_CREAT );

 コンパイル、insmodとも成功しましたが、実行すると
func_sys_openの呼び出し中に失敗し -9 が返ってきました。

 やっぱりカーネル内からの呼び出しはだめですか。

 とりあえずファイル操作をやってみているのは、分かりやすい結果が得られた方が
面白いかなというのが主な理由でした。
 また linux-users MLの話題で、unlink をフックしてその中で、ファイルのバック
アップをとりたいという話題([linux-users:101834])があり、面白そうなテーマだと
思って手を出してみました。
 sys_acct(の実装?)等参考に調べてみます。