コグノスケ


link 未来から過去へ表示(*)  link 過去から未来へ表示

link もっと前
2025年3月7日 >>> 2025年2月22日
link もっと後

2025年3月7日

wchanとptrace_may_access()

目次: Linux

以前、LinuxのI/O統計情報が読めないプロセス(systemd --user)がある話をしました。/proc/[pid]/ioファイルのreadアクセス権があっても、ptrace_may_access()の判定で拒否されるためにread()時にEPERMエラーになります。読めるかどうかの判別がopen()時にできず、試し読みでread()するしかない面倒な作りです。

今回はさらに判別が面倒な例/proc/[pid]/wchanについてのメモです。wchanはCONFIG_KALLSYMS=yになっていれば機能するはずです。

wchanの挙動

I/O統計情報と同様にwchanも特権の有無で挙動が変わります。動作例を見た方が早いでしょう。

/proc/[pid]/wchanの挙動変化
$ LANG=C ps aux | grep 'systemd --user$'
katsuhi+    1535  0.0  0.0  22004 12048 ?        Ss   Mar08   0:00 /usr/lib/systemd/systemd --user

$ cat /proc/1535/wchan ; echo
0

$ sudo cat /proc/1535/wchan ; echo
do_epoll_wait

特権があればdo_epoll_waitが読めますが、特権がないと0が読めます。不思議な動きですね。

コードを確かめる

なぜこんなことが起きるのか?Linuxカーネルのコードも見ておきます。

/proc/[pid]/wchanの実装

// fs/proc/base.c

#ifdef CONFIG_KALLSYMS
/*
 * Provides a wchan file via kallsyms in a proper one-value-per-file format.
 * Returns the resolved symbol.  If that fails, simply return the address.
 */
static int proc_pid_wchan(struct seq_file *m, struct pid_namespace *ns,
			  struct pid *pid, struct task_struct *task)
{
	unsigned long wchan;
	char symname[KSYM_NAME_LEN];

	if (!ptrace_may_access(task, PTRACE_MODE_READ_FSCREDS))    //★★これ★★
		goto print0;

	wchan = get_wchan(task);
	if (wchan && !lookup_symbol_name(wchan, symname)) {
		seq_puts(m, symname);
		return 0;
	}

print0:
	seq_putc(m, '0');
	return 0;
}
#endif /* CONFIG_KALLSYMS */

以前見た/proc/[pid]/ioと同様で、先頭にptrace_may_access()のチェックが存在していて、チェックに引っかかると常に'0'を返す実装になっています。読めるかどうかの判別がopen()でもread()でもできない、内容で判断するしかない新手のパターンです。

何かの事情でwchanを読めるかどうかチェックするとしたら、試しにread()して内容が'0'かどうかを見るwchan専用の処理を書くしかないですね。なかなか面倒な存在です……。

編集者:すずき(2025/03/15 18:16)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2025年3月3日

健康保険料率

給与明細を見ていて、なんか健康保険料がやたら高くないか……?と気になりました。要因の一つは見た目の問題です。今の会社はこれまで勤めてきた会社と給与制度が違ってボーナスがありません(年俸の12分の1 = 月給)から、同じ年収でもボーナスがある場合に比べて月給が高く見えます。でもこれは見た目だけの問題で気にしなくて良いです。

他の可能性があるとすると、所属する健康保険組合が全国健康保険協会(協会けんぽ)に変わったことです。協会けんぽ(令和6年3月〜、東京)の料率を調べると、

  • 40歳未満: 9.98%
  • 40歳以降: 11.58%

でした。ちなみに大手企業の健保は料率8〜9%くらいが多いらしいので、それと比べたら高いです。私のような40歳以降のおじさんだと、介護保険料1.6%が上乗せされるのでさらに高くなります。辛い。

VC健保は救いの神か?

会社の方針で協会けんぽから「VCスタートアップ健康保険組合」に切り替えるそうで、保険料率が下がるかもと案内がありました。うお〜良いじゃないかと思って調べてみると、

  • 40歳未満: 8.98%
  • 40歳以降: 11.16%(8.98% + 2.18%)

でした。若い人は確かに安くなります。ただ残念ながら40歳以降のおじさんの場合はあまり変わりません。介護保険が協会けんぽの1.6%より割高の2.18%に設定されているためです。スタートアップは若者が圧倒的に多いと思うので、若者が得する設計にするのは当然ですね。仕方ないね……。

編集者:すずき(2025/03/15 00:32)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2025年3月1日

レガシィの半年点検(2025)

目次:

先週、ディーラーに半年点検に持っていったら毎度おなじみのバッテリーがイカレていて、日帰りの予定が1週間の入院と相成りました。バッテリー液の比重が1.2くらいになっていたみたいです(本来の比重は1.28)。今度こそバッテリー交換を提案されるかな?と思いきや「充電してみます!」とのことでした。

今回も何とかバッテリー君は復活してくれたようで良かったです。次はもうダメそうな雰囲気を感じましたけど……これまでのバッテリーに比べたら割と長期間耐えているのでまあ良いでしょう。

バッテリーが早々にイカレてしまう原因は、社外セキュリティの待機電力がでかいことと、あまりにも乗らなさすぎなことで、大阪に住んでいた10年以上前から原因は明確なんですが、ライフスタイルはそんな劇的に変えられないのです。

編集者:すずき(2025/03/12 00:21)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link もっと前
2025年3月7日 >>> 2025年2月22日
link もっと後

管理用メニュー

link 記事を新規作成

<2025>
<<<03>>>
------1
2345678
9101112131415
16171819202122
23242526272829
3031-----

最近のコメント5件

  • link 24年6月17日
    すずきさん (06/05 23:32)
    「Thnaks for your info...」
  • link 24年6月17日
    Bobさん (06/04 09:25)
    「BindIPv6Only=no does...」
  • link 18年8月12日
    すずきさん (05/29 16:57)
    「コメントありがとうございます。\n\nこ...」
  • link 18年8月12日
    ARM926EJ-Sさん (05/29 14:27)
    「この記事が書かれたのは2018年ですが、...」
  • link 17年9月3日
    すずきさん (05/26 23:59)
    「>ちょさんさん\nご参考になれば幸いです...」

最近の記事20件

  • link 21年12月28日
    すずき (06/22 23:33)
    「[ゲーム - まとめリンク] 目次: ゲーム一覧が欲しくなったので作りました。Wizardry(囚われし亡霊の街)敵が強すぎる...」
  • link 25年6月19日
    すずき (06/22 23:33)
    「[歴代据え置きハードのCPUとGPU] 目次: ゲーム最近、据え置きハードのCPUとGPUがNVIDIAとAMDに収束していま...」
  • link 25年6月18日
    すずき (06/22 23:33)
    「[Nintendo Switch 2当選] 目次: ゲームSwitch 2の抽選4回目で当選してました。わーい。今回も落選だっ...」
  • link 10年4月17日
    すずき (06/13 21:41)
    「[何もしていないのに負荷が高いWindows 7] 目次: WindowsWindows 7は何もしていなくても常時CPU負荷...」
  • link 23年9月11日
    すずき (06/12 02:52)
    「[Windows - まとめリンク] 目次: Windows使いづらいWindows 7のエクスプローラ何もしていないのに負荷...」
  • link 10年4月10日
    すずき (06/12 02:52)
    「[使いづらいWindows 7のエクスプローラ] 目次: Windows週末を利用して旧マシンを葬って、新マシンを立ち上げまし...」
  • link 10年4月23日
    すずき (06/12 02:49)
    「[Windows 7のオーディオ処理負荷] 目次: Windows先日の日記(2010年4月17日の日記を参照)で書いたWin...」
  • link 10年4月25日
    すずき (06/12 02:48)
    「[Windows 7のサウンド機能は辛いよ] 目次: WindowsWindows Vista/7はサウンド周りがXPの頃と比...」
  • link 10年5月11日
    すずき (06/12 02:46)
    「[Sound Blaster X-Fiの話の訂正] 目次: Windows以前(2010年5月4日の日記を参照)書いた内容の訂...」
  • link 10年5月4日
    すずき (06/12 02:45)
    「[Sound Blaster X-Fiのサウンド設定いじってばっかり] 目次: Windows今使っているPCで激しく失敗した...」
  • link 10年5月12日
    すずき (06/12 02:43)
    「[Sound Blaster X-Fiのドライバが劣化] 目次: WindowsWindows UpdateにてCreativ...」
  • link 25年6月7日
    すずき (06/12 00:28)
    「[THPを一時的に無効にする方法] 目次: Linux何か訳があってLinuxのTHP(Transparent HugePag...」
  • link 25年6月6日
    すずき (06/11 00:49)
    「[新しめのRaspberry Pi OS LiteをQEMUで使う] 目次: Linux以前(2022年2月2日の日記参照)、...」
  • link 23年4月10日
    すずき (06/11 00:48)
    「[Linux - まとめリンク] 目次: Linux関係の深いまとめリンク。目次: RISC-V目次: ROCK64/ROCK...」
  • link 23年5月15日
    すずき (06/10 15:39)
    「[車 - まとめリンク] 目次: 車三菱FTOの話。群馬県へのドライブ1群馬県へのドライブ2将来車を買い替えるとしたら?FTO...」
  • link 22年1月22日
    すずき (06/10 15:38)
    「[バッテリーなんですぐ死んでしまうん?] 目次: 車正月、北海道から帰ってきて車の様子を見たら、完全にバッテリーが上がっていま...」
  • link 13年3月20日
    すずき (06/10 15:35)
    「[車が故障した(Er HC)] 目次: 車今朝、同期の人たちと梅見に行くため車で出発しようとしたのですが、キーをSTARTまで...」
  • link 16年5月1日
    すずき (06/09 03:10)
    「[自作ARMエミュレータでLinux 4.4が動かなかった] 目次: LinuxLinux 4.4系がLongtermの仲間入...」
  • link 16年4月30日
    すずき (06/09 03:08)
    「5月1日と全く同じ内容を書いていたので削除。...」
  • link 17年1月5日
    すずき (06/09 02:56)
    「[ノートPCのメモリが足りない] 目次: PC我が家のノートPC(Lenovo ThinkPad Edge E420, Win...」
link もっとみる

こんてんつ

open/close wiki
open/close Linux JM
open/close Java API

過去の日記

open/close 2002年
open/close 2003年
open/close 2004年
open/close 2005年
open/close 2006年
open/close 2007年
open/close 2008年
open/close 2009年
open/close 2010年
open/close 2011年
open/close 2012年
open/close 2013年
open/close 2014年
open/close 2015年
open/close 2016年
open/close 2017年
open/close 2018年
open/close 2019年
open/close 2020年
open/close 2021年
open/close 2022年
open/close 2023年
open/close 2024年
open/close 2025年
open/close 過去日記について

その他の情報

open/close アクセス統計
open/close サーバ一覧
open/close サイトの情報

合計:  counter total
本日:  counter today

link About www2.katsuster.net
RDFファイル RSS 1.0

最終更新: 06/22 23:33