เดฑเดธเตเดฑเตเดฑเต เดญเดพเดทเดฏเตเด•เตเด•เตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃเดฏเต‹เดŸเต† เดฒเดฟเดจเด•เตเดธเต เด•เต‡เตผเดฃเดฒเดฟเดจเตเดณเตเดณ เดชเดพเดšเตเดšเตเด•เดณเตเดŸเต† เด…เดžเตเดšเดพเด‚ เดชเดคเดฟเดชเตเดชเต

Rust-for-Linux เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเดฟเตปเตเดฑเต† เดฐเดšเดฏเดฟเดคเดพเดตเดพเดฏ Miguel Ojeda, Linux เด•เต‡เตผเดฃเตฝ เดกเต†เดตเดฒเดชเตเดชเตผเดฎเดพเดฐเตเดŸเต† เดชเดฐเดฟเด—เดฃเดจเดฏเตเด•เตเด•เดพเดฏเดฟ Rust เดญเดพเดทเดฏเดฟเตฝ เดกเดฟเดตเตˆเดธเต เดกเตเดฐเตˆเดตเดฑเตเด•เตพ เดตเดฟเด•เดธเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เด˜เดŸเด•เด™เตเด™เดณเตเดŸเต† เด…เดžเตเดšเดพเดฎเดคเตเดคเต† เดชเดคเดฟเดชเตเดชเต เดจเดฟเตผเดฆเตเดฆเต‡เดถเดฟเดšเตเดšเต. เดฑเดธเตเดฑเตเดฑเต เดชเดฟเดจเตเดคเตเดฃ เดชเดฐเต€เด•เตเดทเดฃเดพเดคเตเดฎเด•เดฎเดพเดฏเดฟ เด•เดฃเด•เตเด•เดพเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเต, เดชเด•เตเดทเต‡ เด‡เดคเดฟเดจเด•เด‚ เดคเดจเตเดจเต† เดฒเดฟเดจเด•เตเดธเต-เด…เดŸเตเดคเตเดค เดฌเตเดฐเดพเดžเตเดšเดฟเตฝ เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต, เด•เต‚เดŸเดพเดคเต† เด•เต‡เตผเดฃเตฝ เดธเดฌเตเดธเดฟเดธเตเดฑเตเดฑเดฎเตเด•เดณเดฟเตฝ เด…เดฌเตโ€Œเดธเตโ€ŒเดŸเตเดฐเดพเด•เตเดทเตป เดฒเต†เดฏเดฑเตเด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เดกเตเดฐเตˆเดตเดฑเตเด•เดณเตเด‚ เดฎเตŠเดกเตเดฏเต‚เดณเตเด•เดณเตเด‚ เดฑเตˆเดฑเตเดฑเตเดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดœเต‹เดฒเดฟเด•เตพ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดตเต‡เดฃเตเดŸเดคเตเดฐ เดตเดฟเด•เดธเดฟเดชเตเดชเดฟเดšเตเดšเต†เดŸเตเดคเตเดคเดฟเดŸเตเดŸเตเดฃเตเดŸเต. เด—เต‚เด—เดฟเดณเตเด‚ เดฒเต†เดฑเตเดฑเตเดธเต เดŽเตปเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเดฟเตปเตเดฑเต† เดธเตเดฅเดพเดชเด•เดจเตเดฎเดพเดฏ เดเดŽเดธเตเด†เตผเดœเดฟ (เด‡เตปเตเดฑเตผเดจเต†เดฑเตเดฑเต เดธเต†เด•เตเดฏเต‚เดฐเดฟเดฑเตเดฑเดฟ เดฑเดฟเดธเตผเดšเตเดšเต เด—เตเดฐเต‚เดชเตเดชเต) เด†เดฃเต เดตเดฟเด•เดธเดจเดคเตเดคเดฟเดจเต เดงเดจเดธเดนเดพเดฏเด‚ เดจเตฝเด•เตเดจเตเดจเดคเต.

เดกเตเดฐเตˆเดตเดฑเตเด•เดณเตเด‚ เด•เต‡เตผเดฃเตฝ เดฎเตŠเดกเตเดฏเต‚เดณเตเด•เดณเตเด‚ เดตเดฟเด•เดธเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดฐเดฃเตเดŸเดพเดฎเดคเตเดคเต† เดญเดพเดทเดฏเดพเดฏเดฟ เดฑเดธเตเดฑเตเดฑเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเต เดธเดพเดงเตเดฏเดฎเดพเด•เตเด•เดพเตป เดจเดฟเตผเดฆเตเดฆเต‡เดถเดฟเดšเตเดš เดฎเดพเดฑเตเดฑเด™เตเด™เตพ เดธเดพเดงเตเดฏเดฎเดพเด•เตเด•เตเดจเตเดจเต เดŽเดจเตเดจเดคเต เด“เตผเด•เตเด•เตเด•. เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟเดฏเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเด•เตเด•เดพเดคเตเดค เด’เดฐเต เด“เดชเตโ€Œเดทเดจเดพเดฏเดพเดฃเต เดฑเดธเตเดฑเตเดฑเต เดธเดชเตเดชเต‹เตผเดŸเตเดŸเต เด…เดตเดคเดฐเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเต, เด•เต‚เดŸเดพเดคเต† เด•เต‡เตผเดฃเดฒเดฟเดจเต เด†เดตเดถเตเดฏเดฎเดพเดฏ เดฌเดฟเตฝเดกเต เดกเดฟเดชเตปเดกเตปเดธเดฟเดฏเดพเดฏเดฟ เดฑเดธเตเดฑเตเดฑเต เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเดฟเดฏเดฟเดŸเตเดŸเดฟเดฒเตเดฒ. เดกเตเดฐเตˆเดตเตผ เดกเต†เดตเดฒเดชเตโ€Œเดฎเต†เดจเตเดฑเดฟเดจเดพเดฏเดฟ เดฑเดธเตเดฑเตเดฑเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเต, เดซเตเดฐเต€เดฏเดฟเด‚เด—เดฟเดจเต เดถเต‡เดทเดฎเตเดณเตเดณ เดฎเต†เดฎเตเดฎเดฑเดฟ เด†เด•เตโ€Œเดธเดธเต, เดจเตพ เดชเต‹เดฏเดฟเดจเตเดฑเตผ เดกเต€เดฑเดซเดฑเตปเดธเตเด•เตพ, เดฌเดซเตผ เด“เดตเตผเดฑเตบเดธเต เดคเตเดŸเด™เตเด™เดฟเดฏ เดชเตเดฐเดถเตโ€Œเดจเด™เตเด™เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดฎเตเด•เตเดคเดฎเดพเดฏ, เด•เตเดฑเดžเตเดž เดชเตเดฐเดฏเดคเตเดจเดคเตเดคเดฟเตฝ เดธเตเดฐเด•เตเดทเดฟเดคเดตเตเด‚ เดฎเดฟเด•เดšเตเดšเดคเตเดฎเดพเดฏ เดกเตเดฐเตˆเดตเดฑเตเด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเตป เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเด‚.

เดฑเดซเดฑเตปเดธเต เดชเดฐเดฟเดถเต‹เดงเดจ, เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเต เด‰เดŸเดฎเดธเตเดฅเดค, เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเต เดฒเตˆเดซเต เดŸเตˆเด‚ (เดธเตเด•เต‹เดชเตเดชเต) เดŽเดจเตเดจเดฟเดตเดฏเตเดŸเต† เดŸเตเดฐเดพเด•เตเด•เต เดธเต‚เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดฒเต‚เดŸเต†เดฏเตเด‚ เด•เต‹เดกเต เดŽเด•เตโ€Œเดธเดฟเด•เตเดฏเต‚เดทเตป เดธเดฎเดฏเดคเตเดคเต เดฎเต†เดฎเตเดฎเดฑเดฟ เด†เด•เตโ€Œเดธเดธเดฟเดจเตเดฑเต† เด•เตƒเดคเตเดฏเดค เดตเดฟเดฒเดฏเดฟเดฐเตเดคเตเดคเตเดจเตเดจเดคเดฟเดฒเต‚เดŸเต†เดฏเตเด‚ เด•เด‚เดชเตˆเตฝ เดธเดฎเดฏเดคเตเดคเต เดฑเดธเตเดฑเตเดฑเดฟเตฝ เดฎเต†เดฎเตเดฎเดฑเดฟ-เดธเต‡เดซเต เดนเดพเตปเดกเตโ€Œเดฒเดฟเด‚เด—เต เดจเตฝเด•เตเดจเตเดจเต. เดฑเดธเตเดฑเตเดฑเต เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏ เด“เดตเตผเดซเตเดฒเต‹เดฏเตโ€Œเด•เตเด•เต†เดคเดฟเดฐเต† เดธเด‚เดฐเด•เตเดทเดฃเด‚ เดจเตฝเด•เตเดจเตเดจเต, เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเต เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ เดฎเต‚เดฒเตเดฏเด™เตเด™เตพ เดจเดฟเตผเดฌเดจเตเดงเดฎเดพเดฏเตเด‚ เด†เดฐเด‚เดญเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต, เดธเตเดฑเตเดฑเดพเตปเดกเต‡เตผเดกเต เดฒเตˆเดฌเตเดฐเดฑเดฟเดฏเดฟเตฝ เดชเดฟเดถเด•เตเด•เตพ เดจเดจเตเดจเดพเดฏเดฟ เด•เตˆเด•เดพเดฐเตเดฏเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต, เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟเดฏเดพเดฏเดฟ เดฎเดพเดฑเตเดฑเดฎเดฟเดฒเตเดฒเดพเดคเตเดค เดฑเดซเดฑเตปเดธเตเด•เดณเตเดŸเต†เดฏเตเด‚ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเตเดŸเต†เดฏเตเด‚ เด†เดถเดฏเด‚ เดชเตเดฐเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต, เดฒเต‹เดœเดฟเด•เตเด•เตฝ เดชเดฟเดถเด•เตเด•เตพ เด•เตเดฑเดฏเตเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดถเด•เตเดคเดฎเดพเดฏ เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เดŸเตˆเดชเตเดชเดฟเด‚เด—เต เดตเดพเด—เตเดฆเดพเดจเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

เดชเดพเดšเตเดšเตเด•เดณเตเดŸเต† เดชเตเดคเดฟเดฏ เดชเดคเดฟเดชเตเดชเต เดชเดพเดšเตเดšเตเด•เดณเตเดŸเต† เด†เดฆเตเดฏ, เดฐเดฃเตเดŸเดพเดฎเดคเตเดคเต†, เดฎเต‚เดจเตเดจเดพเดฎเดคเตเดคเต†เดฏเตเด‚ เดจเดพเดฒเดพเดฎเดคเตเดคเต†เดฏเตเด‚ เดŽเดกเดฟเดทเดจเตเด•เดณเตเดŸเต† เดšเตผเดšเตเดšเดฏเตเด•เตเด•เดฟเดŸเต† เด‰เดฃเตเดŸเดพเดฏ เด…เดญเดฟเดชเตเดฐเดพเดฏเด™เตเด™เตพ เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เตเดจเตเดจเดคเต เดคเตเดŸเดฐเตเดจเตเดจเต. เดชเตเดคเดฟเดฏ เดชเดคเดฟเดชเตเดชเดฟเตฝ:

  • เด‡เตปเตเดฑเตฝ เดชเดฟเดจเตเดคเตเดฃเดฏเตโ€Œเด•เตเด•เตเดจเตเดจ 0DAY/LKP เดฌเต‹เดŸเตเดŸเดฟเดจเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟเดฏเตเดณเตเดณ เดคเตเดŸเตผเดšเตเดšเดฏเดพเดฏ เดธเด‚เดฏเต‹เดœเดจ เดธเด‚เดตเดฟเดงเดพเดจเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดฑเดธเตเดฑเตเดฑเต เดชเดฟเดจเตเดคเตเดฃเดฏเตโ€Œเด•เตเด•เดพเดฏเตเดณเตเดณ เด˜เดŸเด• เดชเดฐเดฟเดถเต‹เดงเดจ เดšเต‡เตผเดคเตเดคเต, เด•เต‚เดŸเดพเดคเต† เดŸเต†เดธเตเดฑเตเดฑเดฟเด‚เด—เต เดฑเดฟเดชเตเดชเต‹เตผเดŸเตเดŸเตเด•เดณเตเดŸเต† เดชเตเดฐเดธเดฟเดฆเตเดงเต€เด•เดฐเดฃเด‚ เด†เดฐเด‚เดญเดฟเดšเตเดšเต. เด•เต‡เตผเดฃเตฝเดธเดฟเด เด“เดŸเตเดŸเต‹เดฎเต‡เดฑเตเดฑเดกเต เดŸเต†เดธเตเดฑเตเดฑเดฟเด‚เด—เต เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดฑเดธเตเดฑเตเดฑเต เดชเดฟเดจเตเดคเตเดฃ เดธเดฎเดจเตเดตเดฏเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เดžเด™เตเด™เตพ เดคเดฏเตเดฏเดพเดฑเต†เดŸเตเด•เตเด•เตเด•เดฏเดพเดฃเต. GitHub CI เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟเดฏเตเดณเตเดณ เดชเดฐเดฟเดถเต‹เดงเดจ เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเดฑเตเด•เดณเตเดŸเต† เด‰เดชเดฏเต‹เด—เดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดฎเดพเดฑเตเดฑเดฟ.
  • "#![no_std]", "#![เดซเต€เดšเตเดšเตผ(...)]" เดŽเดจเตเดจเต€ เด•เตเดฐเดพเดฑเตเดฑเต เด†เดŸเตเดฐเดฟเดฌเตเดฏเต‚เดŸเตเดŸเตเด•เตพ เดจเดฟเตผเดตเดšเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเดฟเตปเตเดฑเต† เด†เดตเดถเตเดฏเด•เดคเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดฑเดธเตเดฑเตเดฑเต เด•เต‡เตผเดฃเตฝ เดฎเตŠเดกเตเดฏเต‚เดณเตเด•เตพ เด’เดดเดฟเดตเดพเด•เตเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.
  • เดธเดฟเด‚เด—เดฟเตพ เด…เดธเด‚เดฌเตเดฒเดฟ เดŸเดพเตผเด—เต†เดฑเตเดฑเตเด•เตพเด•เตเด•เตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃ เดšเต‡เตผเดคเตเดคเต (.o, .s, .ll, .i).
  • เด•เต‹เดกเต เดฎเดพเตผเด—เตเด—เดจเดฟเตผเดฆเตเดฆเต‡เดถเด™เตเด™เตพ เด…เดญเดฟเดชเตเดฐเดพเดฏเด™เตเด™เตพ เดตเต‡เตผเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ (โ€œ//โ€) เด•เต‹เดกเต เดฐเต‡เด–เดชเตเดชเต†เดŸเตเดคเตเดคเตเดจเตเดจเดคเดฟเดจเตเด‚ (โ€œ///โ€) เดจเดฟเดฏเดฎเด™เตเด™เตพ เดจเดฟเตผเดตเตเดตเดšเดฟเด•เตเด•เตเดจเตเดจเต.
  • is_rust_module.sh เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดชเตเดจเตผเดจเดฟเตผเดฎเตเดฎเดฟเดšเตเดšเต.
  • "CONFIG_CONSTRUCTORS" เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตฝ เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟเดฏเตเดณเตเดณ เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต (เด—เตเดฒเต‹เดฌเตฝ เดทเต†เดฏเตผ เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ) เดธเดฟเตปเด•เตเดฐเตŠเดฃเตˆเดธเต‡เดทเตป เดชเตเดฐเดฟเดฎเดฟเดฑเตเดฑเต€เดตเตเด•เตพเด•เตเด•เตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃ เดšเต‡เตผเดคเตเดคเต.
  • เดฒเต‹เด•เตเด•เต เดฎเดพเดจเต‡เดœเตเดฎเต†เตปเตเดฑเต เดฒเดณเดฟเดคเดฎเดพเด•เตเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต: เด—เดพเตผเดกเตเด‚ เด—เดพเตผเดกเตเดฎเดŸเตเดŸเตเด‚ เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเดšเตเดšเต เด’เดฐเต เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเดฑเตˆเดธเตเดกเต เดคเดฐเด‚.
  • เด‰เดชเด•เดฐเดฃเด™เตเด™เตพ เดฐเดœเดฟเดธเตเดฑเตเดฑเตผ เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ เด…เดงเดฟเด• เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเดฑเตเด•เตพ เดจเดฟเตผเดตเตเดตเดšเดฟเด•เตเด•เตเดจเตเดจเดคเต เดธเดพเดงเตเดฏเดฎเดพเดฃเต.
  • rw_semaphore C เด˜เดŸเดจเดฏเดฟเตฝ เด’เดฐเต เดฑเดพเดชเตเดชเดฑเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจ "RwSemaphore" เด…เดฎเต‚เตผเดคเตเดคเต€เด•เดฐเดฃเด‚ เดšเต‡เตผเดคเตเดคเต.
  • mmap เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต, เด’เดฐเต เดชเตเดคเดฟเดฏ mm เดฎเตŠเดกเตเดฏเต‚เดณเตเด‚ VMA เด…เดฌเตโ€Œเดธเตโ€ŒเดŸเตเดฐเดพเด•เตเดทเดจเตเด‚ เดšเต‡เตผเดคเตเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต (vm_area_struct เด˜เดŸเดจเดฏเดฟเตฝ เด’เดฐเต เดฑเดพเดชเตเดชเตผ).
  • GPIO PL061 เดกเตเดฐเตˆเดตเตผ โ€œdev_*!โ€ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดฒเต‡เด•เตเด•เต เดฎเดพเดฑเตเดฑเดฟ.
  • เด•เต‹เดกเดฟเดจเตเดฑเต† เดชเตŠเดคเตเดตเดพเดฏ เดถเตเดšเต€เด•เดฐเดฃเด‚ เดจเดŸเดคเตเดคเดฟ.

เด…เดตเดฒเด‚เดฌเด‚: opennet.ru

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•