¡¾·ì϶¹«¸æ¡¿Linux Kernel RDSÁ㿽±´Ë«³Á¿ªÊͱ¾µØÈ¨ÏÞÌáÉý·ì϶
°ä²¼¹¦·ò 2026-05-20Ò»¡¢·ì϶¸ÅÊö

Linux KernelÊÇLinux²Ù×÷ϵͳÖ÷Ìâ×é¼þ£¬£¬£¬£¬£¬£¬£¬£¬Õƹܹý³Ìµ÷¶È¡¢ÄÚ´æÖÎÀí¡¢ÍøÂçͨѶ¼°Ó²¼þ×ÊÔ´½ÚÔì¡£¡£¡£¡£¡£¡£RDS(Remote Direct Memory Access Socket)ÊÇLinuxÄÚºËÖеĸ߻úÄÜÍøÂçͨѶºÍ̸×é¼þ£¬£¬£¬£¬£¬£¬£¬£¬Ö§³ÖµÍÑÓ³¤Êý¾Ý´«Ê䣬£¬£¬£¬£¬£¬£¬£¬¿í·ºÀûÓÃÓڸ߻úÄÜÍÆËã¡¢Êý¾Ý¿â¼°ÆóÒµ·þÎñÆ÷»·¾³¡£¡£¡£¡£¡£¡£io_uringÔòÊÇLinuxÌṩµÄ¸ß»úÄÜÒì²½I/O¿ò¼Ü£¬£¬£¬£¬£¬£¬£¬£¬ÓÃÓÚÌáÉýÎļþÓëÍøÂçI/O´¦ÖÃЧÄÜ¡£¡£¡£¡£¡£¡£
2026Äê5ÔÂ20ÈÕ£¬£¬£¬£¬£¬£¬£¬£¬8827Ì«Ñô¼¯ÍŰ²È«Ó¦¼±ÏìÓ¦ÖÐÐÄ£¨VSRC£©¼à²âµ½Linux Kernel RDSÁ㿽±´Ë«³Á¿ªÊͱ¾µØÈ¨ÏÞÌáÉý·ì϶¡£¡£¡£¡£¡£¡£¸Ã·ì϶ԴÓÚrds_message_zcopy_from_user()º¯ÊýÔÚzerocopy·¢ËÍʧ°Üõè¾¶ÖУ¬£¬£¬£¬£¬£¬£¬£¬Î´ÕýÈ·ËãÕÊop_nents×ֶΣ¬£¬£¬£¬£¬£¬£¬£¬µ¼ÖÂÒ³ÃæÒýÓüÆÊý´¦ÖÃÒì³££¬£¬£¬£¬£¬£¬£¬£¬Òý·¢Ë«³Á¿ªÊÍÎÊÌâ¡£¡£¡£¡£¡£¡£¹¥»÷Õ߿ɽáºÏio_uring¹Ì¶¨»º³åÇø»úÔ죬£¬£¬£¬£¬£¬£¬£¬Í¨¹ý»ú¹ØÊ§°ÜµÄRDS zerocopy·¢ËÍÒªÇ󣬣¬£¬£¬£¬£¬£¬£¬Öð²½ÇÔÈ¡Ò³ÃæÒýÓüÆÊý²¢´¥·¢page cache¸²¸Ç£¬£¬£¬£¬£¬£¬£¬£¬×îÖÕ¸²¸ÇSUID-root¶þ½øÔìÎļþÄÚÈÝ£¬£¬£¬£¬£¬£¬£¬£¬ÊµÏÖ±¾µØÌáȨ²¢»ñÈ¡rootȨÏÞ¡£¡£¡£¡£¡£¡£¸Ã·ì϶ÀûÓÃÁ´ÎÞÐè¶î±íCapabilities£¬£¬£¬£¬£¬£¬£¬£¬ÔÚÆôÓÃCONFIG_RDS¡¢CONFIG_RDS_TCP¼°CONFIG_IO_URINGµÄϵͳÖзçÏսϸߣ¬£¬£¬£¬£¬£¬£¬£¬¿ÉÄܵ¼ÖÂÖ÷»úÆëȫʧÏÝ¡£¡£¡£¡£¡£¡£
¶þ¡¢Ó°ÏìÁìÓò
¸Ã·ì϶ӰÏìÔ̺¬RDS zerocopy Tx supportÖ°ÄÜ£¬£¬£¬£¬£¬£¬£¬£¬ÇÒÆôÓÃCONFIG_RDS¡¢CONFIG_RDS_TCP¼°CONFIG_IO_URINGÅäÖõÄLinux Kernel°æ±¾¡£¡£¡£¡£¡£¡£¹«¿ªÐÅÏ¢ÏÔʾ£¬£¬£¬£¬£¬£¬£¬£¬·ì϶ÓÉÌá½»0cebaccef3ac ("rds: zerocopy Tx support.")ÒýÈ룬£¬£¬£¬£¬£¬£¬£¬¾ßÌåÊÜÓ°Ïì°æ¼¼ÇÉÓòÔÝδÔÚ¹Ù·½²¼¸æÖÐÃ÷È·×¢Ã÷¡£¡£¡£¡£¡£¡£ÒÑÖªArch LinuxĬÈÏÆôÓÃÁËÓйØRDSÄ£¿£¿£¿£¿£¿£¿£¿£¿é£¬£¬£¬£¬£¬£¬£¬£¬Fedora²¿ÃÅ»·¾³Òà¿ÉÄÜÊÜÓ°Ï죻£»£»£»£»DebianÓëUbuntuÔòĬÈÏͨ¹ýblacklist»úÔìÏÞ¶ÈRDSÄ£¿£¿£¿£¿£¿£¿£¿£¿é×Ô¶¯¼ÓÔØ£¬£¬£¬£¬£¬£¬£¬£¬¿ÉÔڿ϶¨Ë®Æ½ÉϽµµÍ·ì϶ÀûÓ÷çÏÕ¡£¡£¡£¡£¡£¡£´Ë±í£¬£¬£¬£¬£¬£¬£¬£¬ÏµÍ³ÐèÂú×ãio_uring_disabled=0ÇÒ´æÔڿɶÁSUID-root¶þ½øÔìÎļþµÈǰÌᣬ£¬£¬£¬£¬£¬£¬£¬¹¥»÷Õß·½¿ÉʵÏÖÆëÈ«±¾µØÌáÈ¨ÊÆÓÃÁ´¡£¡£¡£¡£¡£¡£
Èý¡¢°²È«´ëÊ©
3.1 Éý¼¶°æ±¾
¹Ù·½ÒѰ䲼½¨¸´²¹¶¡£¡£¡£¡£¡£¡£¬£¬£¬£¬£¬£¬£¬£¬ÒÔ½¨¸´¸Ã·ì϶¡£¡£¡£¡£¡£¡£
ÏÂÔØÁ´½Ó£º
https://lore.kernel.org/netdev/20260505234336.2132721-1-achender@kernel.org/¡£¡£¡£¡£¡£¡£
3.2 һʱ´ëÊ©
ÔÝÎÞ¡£¡£¡£¡£¡£¡£
3.3 ͨÓý¨Òé
¶¨ÆÚ¸üÐÂϵͳ²¹¶¡£¡£¡£¡£¡£¡£¬£¬£¬£¬£¬£¬£¬£¬Ï÷¼õϵͳ·ì϶£¬£¬£¬£¬£¬£¬£¬£¬ÌáÉý·þÎñÆ÷µÄ°²È«ÐÔ¡£¡£¡£¡£¡£¡£
¼ÓǿϵͳºÍÍøÂçµÄ½Ó¼û½ÚÔ죬£¬£¬£¬£¬£¬£¬£¬Åú¸Ä·À»ðǽսÊõ£¬£¬£¬£¬£¬£¬£¬£¬¹Ø¹Ø·Ç±ØÒªµÄÀûÓö˿ڻò·þÎñ£¬£¬£¬£¬£¬£¬£¬£¬Ï÷¼õ½«Î£ÏÕ·þÎñ£¨ÈçSSH¡¢RDPµÈ£©Â¶³öµ½¹«Íø£¬£¬£¬£¬£¬£¬£¬£¬Ï÷¼õ¹¥»÷Ãæ¡£¡£¡£¡£¡£¡£
ʹÓÃÆóÒµ¼¶°²È«²úÆ·£¬£¬£¬£¬£¬£¬£¬£¬ÌáÉýÆóÒµµÄÍøÂ簲ȫ»úÄÜ¡£¡£¡£¡£¡£¡£
¼ÓǿϵͳÓû§ºÍȨÏÞÖÎÀí£¬£¬£¬£¬£¬£¬£¬£¬ÆôÓöà³É·ÖÈÏÖ¤»úÔìºÍ×îÓ×ȨÏÞ×¼Ôò£¬£¬£¬£¬£¬£¬£¬£¬Óû§ºÍÈí¼þȨÏÞӦά³ÖÔÚ×îµÍÏÞ¶È¡£¡£¡£¡£¡£¡£
ÆôÓÃÇ¿ÃÜÂëÕ½Êõ²¢ÉèÖÃΪ¶¨ÆÚÅú¸Ä¡£¡£¡£¡£¡£¡£
3.4 ²Î¿¼Á´½Ó
https://raw.githubusercontent.com/v12-security/pocs/09e835b587bf71249775654061ae4c79e92cf430/pintheft/poc.c/
https://lore.kernel.org/netdev/20260505234336.2132721-1-achender@kernel.org/
https://seclists.org/oss-sec/2026/q2/605


¾©¹«Íø°²±¸11010802024551ºÅ