パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

mremap()にローカルセキュリティホール: 2.4.24と2.6.1-rc2緊急リリース」記事へのコメント

  • Windowsがどうとか
    Linuxはどうだとかいう話で白熱してるようですけど
    どういった変更が加えられたか追ってみようと人はいないのかな

    2.6の場合はmremap.cにこれを加えただけです

                  /* Don't allow the degenerate cases */
                  if (!(old_len | new_len))
                                  goto out;


    2.4の場合はこちら

      /*
      * Allow new_len == 0 only
    • ひっどいコードだね、それ。

      if (old_len == 0 && new_len == 0)
      goto out;

      と書いて欲しいぞ。

      • 釣りでしょうか。素でしょうか。

        まー最適化されれば同じなのかもしれませんね。
        • こいつを最適化するコードはまだgccだとかなり先頭のほうの奴だけだったかと。

          # ごくごく普通の書き方だと思ったりする自分は終わってるんだろうな、などと釣られてみる

          --
          -- Takehiro TOMINAGA // may the source be with you!
          • if (!(old_len | new_len))を
            if (old_len == 0 && new_len == 0)に
            した所で体感出来るほどは遅くはならないだろうし
            意味が分かりやすいように書いた方が後で読みやすいと思う。
            #近い将来にコンパイラが解決出来る問題なら尚更。
            • by tt (2867) on 2004年01月08日 1時30分 (#467731) 日記
              まあ、i386しか使わないとかカーネルのシステムコールの処理部分だったりしたらそうでしょうね。ただ私がメインに関係しているようなソフト(信号処理とかデータ圧縮・展開とか)だと一個こういうif文に変更を加えると0.1%ぐらいはかわるんだよね。でもってこういうif文が数十オーダーで存在するので、十分体感できたりする。

              あと結構古いgccしか使えないという人も意外と多かったりする。gccのサポートが切れてしまったアーキテクチャとかいった本質的なのとかどうでもいいような理由とかで。

              今回みたいな場面でこういう書き方がアレだというのはまったくもってその通りなんですが。ええ。

              --
              -- Takehiro TOMINAGA // may the source be with you!
              親コメント

身近な人の偉大さは半減する -- あるアレゲ人

処理中...