рд░рд╕реНрдЯ рднрд╛рд╖реЗрд╕рд╛рдареА рд╕рдорд░реНрдердирд╛рд╕рд╣ рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдирд▓рд╕рд╛рдареА рдкреЕрдЪрдЪреА рдкрд╛рдЪрд╡реА рдЖрд╡реГрддреНрддреА

рд░рд╕реНрдЯ-рдлреЙрд░-рд▓рд┐рдирдХреНрд╕ рдкреНрд░рдХрд▓реНрдкрд╛рдЪреЗ рд▓реЗрдЦрдХ рдорд┐рдЧреБрдПрд▓ рдУрдЬреЗрдбрд╛ рдпрд╛рдВрдиреА рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдирд▓ рдбреЗрд╡реНрд╣рд▓рдкрд░реНрд╕рдЪреНрдпрд╛ рд╡рд┐рдЪрд╛рд░рд╛рд░реНрде рд░рд╕реНрдЯ рднрд╛рд╖реЗрдд рдбрд┐рд╡реНрд╣рд╛рдЗрд╕ рдбреНрд░рд╛рдпрд╡реНрд╣рд░реНрд╕ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдШрдЯрдХрд╛рдВрдЪреА рдкрд╛рдЪрд╡реА рдЖрд╡реГрддреНрддреА рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХреЗрд▓реА. рд░рд╕реНрдЯ рд╕рдкреЛрд░реНрдЯ рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рдорд╛рдирд▓рд╛ рдЬрд╛рддреЛ, рдкрд░рдВрддреБ linux-рдкреБрдвреАрд▓ рд╢рд╛рдЦреЗрдд рдЖрдзреАрдкрд╛рд╕реВрдирдЪ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХреЗрд▓реЗрд▓рд╛ рдЖрд╣реЗ рдЖрдгрд┐ рдХрд░реНрдирд▓ рдЙрдкрдкреНрд░рдгрд╛рд▓реАрдВрд╡рд░ рдЕтАНреЕрдмреНрд╕реНрдЯреНрд░реЕрдХреНрд╢рди рд▓реЗрдпрд░ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддрд╕реЗрдЪ рдбреНрд░рд╛рдпрд╡реНрд╣рд░реНрд╕ рдЖрдгрд┐ рдореЙрдбреНрдпреВрд▓реНрд╕ рд▓рд┐рд╣рд┐рдгреНрдпрд╛рд╕рд╛рдареА рдкреБрд░реЗрд╕рд╛ рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓рд╛ рдЖрд╣реЗ. рд╡рд┐рдХрд╛рд╕рд╛рд╕рд╛рдареА Google рдЖрдгрд┐ ISRG (рдЗрдВрдЯрд░рдиреЗрдЯ рд╕рд┐рдХреНрдпреБрд░рд┐рдЯреА рд░рд┐рд╕рд░реНрдЪ рдЧреНрд░реБрдк) рджреНрд╡рд╛рд░реЗ рдирд┐рдзреА рджрд┐рд▓рд╛ рдЬрд╛рддреЛ, рдЬреЛ Let's Encrypt рдкреНрд░рдХрд▓реНрдкрд╛рдЪрд╛ рд╕рдВрд╕реНрдерд╛рдкрдХ рдЖрд╣реЗ рдЖрдгрд┐ HTTPS рдЖрдгрд┐ рдЗрдВрдЯрд░рдиреЗрдЯ рд╕реБрд░рдХреНрд╖рд╛ рд╕реБрдзрд╛рд░рдгреНрдпрд╛рд╕рд╛рдареА рддрдВрддреНрд░рдЬреНрдЮрд╛рдирд╛рдЪреНрдпрд╛ рд╡рд┐рдХрд╛рд╕рд╛рд▓рд╛ рдкреНрд░реЛрддреНрд╕рд╛рд╣рди рджреЗрддреЛ.

рд╕реНрдорд░рдг рдХрд░рд╛ рдХреА рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдмрджрд▓рд╛рдВрдореБрд│реЗ рдбреНрд░рд╛рдпрд╡реНрд╣рд░реНрд╕ рдЖрдгрд┐ рдХрд░реНрдирд▓ рдореЙрдбреНрдпреБрд▓реНрд╕ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд░рд╕реНрдЯ рд╣реА рджреБрд╕рд░реА рднрд╛рд╖рд╛ рдореНрд╣рдгреВрди рд╡рд╛рдкрд░рдгреЗ рд╢рдХреНрдп рд╣реЛрддреЗ. рд░рд╕реНрдЯ рд╕рдкреЛрд░реНрдЯ рд╣рд╛ рдкрд░реНрдпрд╛рдп рдореНрд╣рдгреВрди рд╕рд╛рджрд░ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ рдЬреЛ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рддрдкрдгреЗ рд╕рдХреНрд╖рдо рдХреЗрд▓реЗрд▓рд╛ рдирд╛рд╣реА рдЖрдгрд┐ рдХрд░реНрдирд▓рд╕рд╛рдареА рдЖрд╡рд╢реНрдпрдХ рдмрд┐рд▓реНрдб рдЕрд╡рд▓рдВрдмрди рдореНрд╣рдгреВрди рд░рд╕реНрдЯ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рд╣реЛрдд рдирд╛рд╣реА. рдбреНрд░рд╛рдпрд╡реНрд╣рд░ рдбреЗрд╡реНрд╣рд▓рдкрдореЗрдВрдЯрд╕рд╛рдареА рд░рд╕реНрдЯ рд╡рд╛рдкрд░рдгреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдХрдореАрдд рдХрдореА рдкреНрд░рдпрддреНрдирд╛рдд рд╕реБрд░рдХреНрд╖рд┐рдд рдЖрдгрд┐ рдЪрд╛рдВрдЧрд▓реЗ рдбреНрд░рд╛рдпрд╡реНрд╣рд░реНрд╕ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрдИрд▓, рдлреНрд░реАрд┐рдВрдЧрдирдВрддрд░ рдореЗрдорд░реА рдНрдХреНрд╕реЗрд╕, рдирд▓ рдкреЙрдЗрдВрдЯрд░ рдбреАрд░реЗрдлрд░реЗрдиреНрд╕ рдЖрдгрд┐ рдмрдлрд░ рдУрд╡реНрд╣рд░рд░рдиреНрд╕ рдпрд╛рд╕рд╛рд░рдЦреНрдпрд╛ рд╕рдорд╕реНрдпрд╛рдВрдкрд╛рд╕реВрди рдореБрдХреНрдд.

рдореЗрдорд░реА-рд╕реБрд░рдХреНрд╖рд┐рдд рд╣рд╛рддрд╛рд│рдгреА рд░рд╕реНрдЯрдордзреНрдпреЗ рдХрдВрдкрд╛рдЗрд▓ рдЯрд╛рдЗрдордордзреНрдпреЗ рд╕рдВрджрд░реНрдн рддрдкрд╛рд╕рдгреАрджреНрд╡рд╛рд░реЗ, рдСрдмреНрдЬреЗрдХреНрдЯрдЪреА рдорд╛рд▓рдХреА рдЖрдгрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рд▓рд╛рдЗрдлрдЯрд╛рдЗрдордЪрд╛ рдорд╛рдЧреЛрд╡рд╛ рдареЗрд╡рдгреЗ (рд╕реНрдХреЛрдк) рддрд╕реЗрдЪ рдХреЛрдб рдПрдХреНрдЭрд┐рдХреНрдпреВрд╢рди рджрд░рдореНрдпрд╛рди рдореЗрдорд░реА рдНрдХреНрд╕реЗрд╕рдЪреНрдпрд╛ рдЕрдЪреВрдХрддреЗрдЪреЗ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░реВрди рдкреНрд░рджрд╛рди рдХреЗрд▓реЗ рдЬрд╛рддреЗ. рд░рд╕реНрдЯ рдкреВрд░реНрдгрд╛рдВрдХ рдУрд╡реНрд╣рд░рдлреНрд▓реЛрдкрд╛рд╕реВрди рд╕рдВрд░рдХреНрд╖рдг рджреЗрдЦреАрд▓ рдкреНрд░рджрд╛рди рдХрд░рддреЗ, рд╡рд╛рдкрд░рдгреНрдпрд╛рдкреВрд░реНрд╡реА рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓ рд╡реНрд╣реЕрд▓реНрдпреВрдЬрдЪреА рдЕрдирд┐рд╡рд╛рд░реНрдп рд╕реБрд░реБрд╡рд╛рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ, рдорд╛рдирдХ рд▓рд╛рдпрдмреНрд░рд░реАрдордзреНрдпреЗ рддреНрд░реБрдЯреА рдЪрд╛рдВрдЧрд▓реНрдпрд╛ рдкреНрд░рдХрд╛рд░реЗ рд╣рд╛рддрд╛рд│рддреЗ, рдбрд┐рдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд╕рдВрджрд░реНрдн рдЖрдгрд┐ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕рдЪреА рд╕рдВрдХрд▓реНрдкрдирд╛ рд▓рд╛рдЧреВ рдХрд░рддреЗ, рддрд╛рд░реНрдХрд┐рдХ рддреНрд░реБрдЯреА рдХрдореА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдордЬрдмреВрдд рд╕реНрдерд┐рд░ рдЯрд╛рдпрдкрд┐рдВрдЧ рдСрдлрд░ рдХрд░рддреЗ.

рдкреЕрдЪреЗрд╕рдЪреНрдпрд╛ рдкрд╣рд┐рд▓реНрдпрд╛, рджреБрд╕рд▒реНрдпрд╛, рддрд┐рд╕рд▒реНрдпрд╛ рдЖрдгрд┐ рдЪреМрдереНрдпрд╛ рдЖрд╡реГрддреНрддреАрдЪреНрдпрд╛ рдЪрд░реНрдЪреЗрджрд░рдореНрдпрд╛рди рдХреЗрд▓реЗрд▓реНрдпрд╛ рдЯрд┐рдкреНрдкрдгреНрдпрд╛ рджреВрд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреЕрдЪрдЪреА рдирд╡реАрди рдЖрд╡реГрддреНрддреА рд╕реБрд░реВ рдЖрд╣реЗ. рдирд╡реАрди рдЖрд╡реГрддреНрддреАрдордзреНрдпреЗ:

  • Intel-рд╕рдорд░реНрдерд┐рдд 0DAY/LKP рдмреЙрдЯрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рд╕рддрдд рдПрдХреАрдХрд░рдг рдкреНрд░рдгрд╛рд▓реАрдордзреНрдпреЗ рд░рд╕реНрдЯ рд╕рдкреЛрд░реНрдЯрд╕рд╛рдареА рдШрдЯрдХ рдЪрд╛рдЪрдгреА рдЬреЛрдбрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ рдЖрдгрд┐ рдЪрд╛рдЪрдгреА рдЕрд╣рд╡рд╛рд▓рд╛рдВрдЪреЗ рдкреНрд░рдХрд╛рд╢рди рд╕реБрд░реВ рдЭрд╛рд▓реЗ рдЖрд╣реЗ. рдЖрдореНрд╣реА KernelCI рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдЪрд╛рдЪрдгреА рдкреНрд░рдгрд╛рд▓реАрдордзреНрдпреЗ рд░рд╕реНрдЯ рд╕рдкреЛрд░реНрдЯ рд╕рдорд╛рдХрд▓рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рддрдпрд╛рд░реА рдХрд░рдд рдЖрд╣реЛрдд. GitHub CI рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЪрд╛рдЪрдгреА рдХрдВрдЯреЗрдирд░рдЪреНрдпрд╛ рд╡рд╛рдкрд░рд╛рд╡рд░ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХреЗрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ.
  • рд░рд╕реНрдЯ рдХрд░реНрдирд▓ рдореЙрдбреНрдпреВрд▓реНрд╕ рдХреНрд░реЗрдЯ рд╡рд┐рд╢реЗрд╖рддрд╛ тАЬ#![no_std]тАЭ рдЖрдгрд┐ тАЬ#![рд╡рд┐рд╢реЗрд╖(тАж)]тАЭ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдЧрд░рдЬреЗрдкрд╛рд╕реВрди рдореБрдХреНрдд рдЖрд╣реЗрдд.
  • рдПрдХрд▓ рдЕрд╕реЗрдВрдмреНрд▓реА рд▓рдХреНрд╖реНрдпрд╛рдВрд╕рд╛рдареА (.o, .s, .ll рдЖрдгрд┐ .i) рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ.
  • рдХреЛрдб рдорд╛рд░реНрдЧрджрд░реНрд╢рдХ рддрддреНрддреНрд╡реЗ рдЯрд┐рдкреНрдкрдгреНрдпрд╛ (тАЬ//тАЭ) рдЖрдгрд┐ рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдг рдХреЛрдб (тАЬ///тАЭ) рд╡рд┐рднрдХреНрдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдирд┐рдпрдо рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛рдд.
  • is_rust_module.sh рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреБрдиреНрд╣рд╛ рддрдпрд╛рд░ рдХреЗрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ.
  • "CONFIG_CONSTRUCTORS" рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рд╕реНрдерд┐рд░ (рдЧреНрд▓реЛрдмрд▓ рд╢реЗрдЕрд░реНрдб рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓) рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЭреЗрд╢рди рдкреНрд░рд┐рдорд┐рдЯрд┐рд╡реНрд╣рд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ.
  • рд▓реЙрдХ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рд╕реЛрдкреЗ рдХреЗрд▓реЗ рдЖрд╣реЗ: рдЧрд╛рд░реНрдб рдЖрдгрд┐ рдЧрд╛рд░реНрдбрдордЯ рдПрдХрддреНрд░ рдХреЗрд▓реЗ рдЖрд╣реЗрдд рдЖрдгрд┐ рдПрдХ рдкреЕрд░рд╛рдореАрдЯрд░рд╛рдЗрдЬреНрдб рдкреНрд░рдХрд╛рд░ рдЖрд╣реЗрдд.
  • рдбрд┐рд╡реНрд╣рд╛рдЗрд╕реЗрд╕рдЪреА рдиреЛрдВрджрдгреА рдХрд░рддрд╛рдирд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдгреЗ рд╢рдХреНрдп рдЖрд╣реЗ.
  • "RwSemaphore" рдЕреЕрдмреНрд╕реНрдЯреНрд░реЕрдХреНрд╢рди рдЬреЛрдбрд▓реЗ, рдЬреЗ rw_semaphore C рд╕рдВрд░рдЪрдиреЗрд╡рд░ рдЖрд╡рд░рдг рдореНрд╣рдгреВрди рдХрд╛рд░реНрдп рдХрд░рддреЗ.
  • mmap рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдирд╡реАрди mm рдореЙрдбреНрдпреВрд▓ рдЖрдгрд┐ VMA рдЕреЕрдмреНрд╕реНрдЯреНрд░реЕрдХреНрд╢рди рдЬреЛрдбрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ (vm_area_struct рд╕реНрдЯреНрд░рдХреНрдЪрд░рд╡рд░ рдПрдХ рдЖрд╡рд░рдг).
  • GPIO PL061 рдбреНрд░рд╛рдЗрд╡реНрд╣рд░рд▓рд╛ тАЬdev_*!тАЭ рдореЕрдХреНрд░реЛ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕реНрд╡рд┐рдЪ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ.
  • рдХреЛрдбрдЪреА рд╕рд╛рдорд╛рдиреНрдп рд╕рд╛рдлрд╕рдлрд╛рдИ рдХреЗрд▓реА рдЧреЗрд▓реА.

рд╕реНрддреНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛