āĻŽā§‡āĻŽāĻ°āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ¸āĻ¨āĻžāĻ•ā§āĻ¤ āĻ•āĻ°āĻ¤ā§‡ Linux 5.12 āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ KFence āĻ¸āĻžāĻŦāĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°ā§‡āĻ›ā§‡

āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ 5.12, āĻ¯āĻž āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻŽā§‡āĻ¨ā§āĻŸā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻāĻ¤ā§‡ KFence (āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻ‡āĻ˛ā§‡āĻ•āĻŸā§āĻ°āĻŋāĻ• āĻĢā§‡āĻ¨ā§āĻ¸) āĻŽā§‡āĻ•āĻžāĻ¨āĻŋāĻœāĻŽā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯āĻž āĻŽā§‡āĻŽāĻ°āĻŋ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻŋāĻ‚, āĻ•ā§āĻ¯āĻžāĻšāĻŋāĻ‚ āĻŦāĻžāĻĢāĻžāĻ° āĻ“āĻ­āĻžāĻ°āĻ°āĻžāĻ¨, āĻĢā§āĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡ āĻŽā§‡āĻŽāĻ°āĻŋ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻāĻŦāĻ‚ āĻāĻ•āĻ‡ āĻļā§āĻ°ā§‡āĻŖā§€āĻ° āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ¤ā§āĻ°ā§āĻŸāĻŋāĻ—ā§āĻ˛āĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡āĨ¤

āĻāĻ•āĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡āĻ‡ KASAN āĻŦāĻŋāĻ˛ā§āĻĄ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻ†āĻ•āĻžāĻ°ā§‡ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ā§‡ āĻ‰āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻ›āĻŋāĻ˛ (āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻ…ā§āĻ¯āĻžāĻĄā§āĻ°ā§‡āĻ¸ āĻ¸ā§āĻ¯āĻžāĻ¨āĻŋāĻŸāĻžāĻ‡āĻœāĻžāĻ°, āĻ†āĻ§ā§āĻ¨āĻŋāĻ• āĻœāĻŋāĻ¸āĻŋāĻ¸āĻŋ āĻāĻŦāĻ‚ āĻ•ā§āĻ˛ā§āĻ¯āĻžāĻ‚-āĻ āĻ…ā§āĻ¯āĻžāĻĄā§āĻ°ā§‡āĻ¸ āĻ¸ā§āĻ¯āĻžāĻ¨āĻŋāĻŸāĻžāĻ‡āĻœāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡) - āĻ¤āĻŦā§‡, āĻāĻŸāĻŋ āĻŽā§‚āĻ˛āĻ¤ āĻĄāĻŋāĻŦāĻžāĻ—āĻŋāĻ‚ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤ KFence āĻ¸āĻžāĻŦāĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻŸāĻŋ āĻ¤āĻžāĻ° āĻ‰āĻšā§āĻš āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻŋāĻ‚ āĻ—āĻ¤āĻŋāĻ¤ā§‡ KASAN āĻĨā§‡āĻ•ā§‡ āĻĒā§ƒāĻĨāĻ•, āĻ¯āĻž āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°ā§€ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ•ā§‹āĻ°ā§‡āĻ“ āĻāĻ‡ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¸āĻŽā§āĻ­āĻŦ āĻ•āĻ°ā§‡ āĻ¤ā§‹āĻ˛ā§‡āĨ¤

āĻĒā§āĻ°ā§‹āĻĄāĻžāĻ•āĻļāĻ¨ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ—ā§‡āĻ° āĻĢāĻ˛ā§‡ āĻŽā§‡āĻŽāĻ°āĻŋāĻ° āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ§āĻ°āĻž āĻ¸āĻŽā§āĻ­āĻŦ āĻšāĻŦā§‡ āĻ¯āĻž āĻŸā§‡āĻ¸ā§āĻŸ āĻ°āĻžāĻ¨ā§‡ āĻĻā§‡āĻ–āĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¨āĻž āĻāĻŦāĻ‚ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ•āĻžāĻœā§‡āĻ° āĻšāĻžāĻĒā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻŦāĻž āĻĻā§€āĻ°ā§āĻ˜āĻŽā§‡āĻ¯āĻŧāĻžāĻĻā§€ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ (āĻŦāĻĄāĻŧ āĻ†āĻĒāĻŸāĻžāĻ‡āĻŽ āĻ¸āĻš) āĻ‰āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻ‰āĻĒāĻ°āĻ¨ā§āĻ¤ā§, āĻ‰āĻ¤ā§āĻĒāĻžāĻĻāĻ¨ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ KFence āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻŽā§‡āĻŽāĻ°āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ā§‡āĻ° āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•āĻ˛āĻžāĻĒ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻœāĻĄāĻŧāĻŋāĻ¤ āĻŽā§‡āĻļāĻŋāĻ¨ā§‡āĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–āĻ¯ā§‹āĻ—ā§āĻ¯āĻ­āĻžāĻŦā§‡ āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻ•āĻ°āĻž āĻ¸āĻŽā§āĻ­āĻŦ āĻ•āĻ°āĻŦā§‡āĨ¤

KFence āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻŦāĻŋāĻ°āĻ¤āĻŋāĻ¤ā§‡ āĻ—āĻžāĻ°ā§āĻĄ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻĸā§‹āĻ•āĻžāĻ¨ā§‹āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¨ā§āĻ¯ā§‚āĻ¨āĻ¤āĻŽ āĻ˛ā§‹āĻĄ-āĻ¸ā§āĻŦāĻžāĻ§ā§€āĻ¨ āĻ“āĻ­āĻžāĻ°āĻšā§‡āĻĄ āĻ…āĻ°ā§āĻœāĻ¨ āĻ•āĻ°ā§‡āĨ¤ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ¸ā§āĻ°āĻ•ā§āĻˇāĻž āĻŦā§āĻ¯āĻŦāĻ§āĻžāĻ¨ā§‡āĻ° āĻŽā§‡āĻ¯āĻŧāĻžāĻĻ āĻļā§‡āĻˇ āĻšāĻ“āĻ¯āĻŧāĻžāĻ° āĻĒāĻ°ā§‡, āĻ•ā§‡āĻĢā§‡āĻ¨ā§āĻ¸, āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻŽā§‡āĻŽāĻ°āĻŋ āĻŦāĻ°āĻžāĻĻā§āĻĻāĻ•āĻ°āĻŖ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° (SLAB āĻŦāĻž SLUB āĻŦāĻ°āĻžāĻĻā§āĻĻāĻ•āĻžāĻ°ā§€) āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡, KFence āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻĒā§āĻ˛ āĻĨā§‡āĻ•ā§‡ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ¸ā§āĻ°āĻ•ā§āĻˇāĻž āĻĒā§ƒāĻˇā§āĻ āĻž āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ¸āĻŽāĻ¯āĻŧ āĻ•āĻžāĻ‰āĻ¨ā§āĻŸāĻžāĻ° āĻ°āĻŋāĻĒā§‹āĻ°ā§āĻŸ āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡āĨ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ KFence āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻāĻ•āĻŸāĻŋ āĻĒā§ƒāĻĨāĻ• āĻŽā§‡āĻŽāĻ°āĻŋ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ¯āĻŧ āĻ…āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤, āĻāĻŦāĻ‚ āĻŦāĻžāĻŽ āĻāĻŦāĻ‚ āĻĄāĻžāĻ¨ āĻ¸ā§€āĻŽāĻžāĻ¨āĻž āĻŦāĻ°āĻžāĻŦāĻ° āĻŽā§‡āĻŽāĻ°āĻŋ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋ āĻ—āĻžāĻ°ā§āĻĄ āĻĒā§‡āĻœ āĻ—āĻ āĻ¨ āĻ•āĻ°ā§‡, āĻ¯āĻžāĻ° āĻ†āĻ•āĻžāĻ° āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹āĻ­āĻžāĻŦā§‡ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤

āĻāĻ‡āĻ­āĻžāĻŦā§‡, āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¸āĻš āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋ āĻāĻ•ā§‡ āĻ…āĻĒāĻ°ā§‡āĻ° āĻĨā§‡āĻ•ā§‡ āĻ¸ā§āĻ°āĻ•ā§āĻˇāĻž āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ†āĻ˛āĻžāĻĻāĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¯āĻž āĻ•ā§‹āĻ¨āĻ“ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ā§‡āĻ° āĻ‰āĻĒāĻ° āĻāĻ•āĻŸāĻŋ "āĻĒā§ƒāĻˇā§āĻ āĻžāĻ° āĻ¤ā§āĻ°ā§āĻŸāĻŋ" āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡āĻ° āĻ¸ā§€āĻŽāĻžāĻ° āĻŦāĻžāĻ‡āĻ°ā§‡āĻ° āĻ˛ā§‡āĻ–āĻžāĻ—ā§āĻ˛āĻŋ āĻ¸āĻ¨āĻžāĻ•ā§āĻ¤ āĻ•āĻ°āĻ¤ā§‡, āĻĒā§āĻ¯āĻžāĻŸāĻžāĻ°ā§āĻ¨-āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋāĻ• "āĻ°ā§‡āĻĄ āĻœā§‹āĻ¨" āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¯āĻž āĻŦāĻ¸ā§āĻ¤ā§ āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧ āĻ¨āĻž āĻāĻŽāĻ¨ āĻŽā§‡āĻŽāĻ°āĻŋ āĻĻāĻ–āĻ˛ āĻ•āĻ°ā§‡, āĻ¯āĻ–āĻ¨ āĻŽā§‡āĻŽāĻ°āĻŋ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻ†āĻ•āĻžāĻ° āĻ¸āĻžāĻ°āĻŋāĻŦāĻĻā§āĻ§ āĻĨāĻžāĻ•ā§‡ āĻ¤āĻ–āĻ¨ āĻ…āĻŦāĻļāĻŋāĻˇā§āĻŸ āĻĨāĻžāĻ•ā§‡āĨ¤ —+————+————+————+————+———+— | xxxxxxxxx | āĻ“: | xxxxxxxxx | :āĻ“ | xxxxxxxxx | | xxxxxxxxx | āĻŦāĻŋ: | xxxxxxxxx | :āĻŦāĻŋ | xxxxxxxxx | | x āĻ—āĻžāĻ°ā§āĻĄ x | āĻœā§‡: āĻ˛āĻžāĻ˛- | x āĻ—āĻžāĻ°ā§āĻĄ x | āĻ˛āĻžāĻ˛- : āĻœā§‡ | x āĻ—āĻžāĻ°ā§āĻĄ x | | xxxxxxxxx | āĻ‡: āĻœā§‹āĻ¨ | xxxxxxxxx | āĻœā§‹āĻ¨: āĻ‡ | xxxxxxxxx | | xxxxxxxxx | āĻ—: | xxxxxxxxx | : āĻ— | xxxxxxxxx | | xxxxxxxxx | āĻŸāĻŋ: | xxxxxxxxx | : āĻŸāĻŋ | xxxxxxxxx | —+————+————+————+————+———+

āĻ¯āĻĻāĻŋ āĻŦāĻžāĻĢāĻžāĻ° āĻ¸ā§€āĻŽāĻžāĻ¨āĻžāĻ° āĻŦāĻžāĻ‡āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻāĻ˛āĻžāĻ•āĻž āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨āĻŸāĻŋ āĻ¸ā§āĻ°āĻ•ā§āĻˇāĻž āĻĒā§ƒāĻˇā§āĻ āĻžāĻ•ā§‡ āĻĒā§āĻ°āĻ­āĻžāĻŦāĻŋāĻ¤ āĻ•āĻ°ā§‡, āĻ¯āĻž āĻāĻ•āĻŸāĻŋ "āĻĒā§ƒāĻˇā§āĻ āĻžāĻ° āĻ¤ā§āĻ°ā§āĻŸāĻŋ" āĻ¤ā§ˆāĻ°āĻŋāĻ° āĻĻāĻŋāĻ•ā§‡ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻŋāĻ¤ āĻ•āĻ°ā§‡, āĻ¯āĻž KFence āĻ•ā§‡ āĻŦāĻžāĻ§āĻž āĻĻā§‡āĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ¸āĻ¨āĻžāĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ¤āĻĨā§āĻ¯ āĻ˛āĻ— āĻ•āĻ°ā§‡āĨ¤ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡, KFence āĻ•ā§‹āĻ¨ā§‹ āĻ¤ā§āĻ°ā§āĻŸāĻŋāĻ•ā§‡ āĻ…āĻŦāĻ°ā§āĻĻā§āĻ§ āĻ•āĻ°ā§‡ āĻ¨āĻž āĻāĻŦāĻ‚ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ˛āĻ—ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻ•āĻ°ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ•āĻŸāĻŋ "panic_on_warn" āĻ¸ā§‡āĻŸāĻŋāĻ‚ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛āĻŸāĻŋāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ¯āĻžāĻ¨āĻŋāĻ• āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ¯āĻŧ āĻ°āĻžāĻ–āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧ āĻ¯āĻĻāĻŋ āĻ•ā§‹āĻ¨ā§‹ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻļāĻ¨āĻžāĻ•ā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤

āĻ‰āĻ¤ā§āĻ¸: opennet.ru

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨