On Sun, Nov 24, 2013 at 6:29 AM, Gene Cumm <gene.cumm at gmail.com> wrote:> On Wed, Nov 13, 2013 at 4:26 PM, Jason Matthews > <jason.david.matthews at gmail.com> wrote: >>>I played around with the udp4_cb function and it looked like it was coming >> back with token->Status == 512, which (if I read the spec right) isn't a >> valid value. I'm not sure what is coming through on that. I changed the if >> to if (token->Event) { cb_status = 0; } >> >> Looks like the same thing with tcp.c. After I changed that callback, >> everything went through and I go into the OS install. >> >> But, if I go back to 1 subnet after those changes, it errors out with >> Invalid Parameter when attempting to send the first packet. >> >> (Sorry for the top posting.) > > I just started examining this and find it odd that the core_udp_recv() > doesn't zalloc() its token while core_udp_send()/core_udp_sendto() do. > All three are a part of commit fe283b78 by Matt Fleming. Should this > be made into a zalloc() rather than pushing it into the stack? It'd > seem like it could run some stack issues plus there's no guarantee > what's in it (unless there's some stack trickery just before the calls > to core_udp_recv() )Aside from the core_udp_recv() question, I've got another patch but just need to clean it a little. -- -Gene
On Mon, Nov 25, 2013 at 10:52 PM, Gene Cumm <gene.cumm at gmail.com> wrote:> On Sun, Nov 24, 2013 at 6:29 AM, Gene Cumm <gene.cumm at gmail.com> wrote: >> On Wed, Nov 13, 2013 at 4:26 PM, Jason Matthews >> <jason.david.matthews at gmail.com> wrote: >>>>I played around with the udp4_cb function and it looked like it was coming >>> back with token->Status == 512, which (if I read the spec right) isn't a >>> valid value. I'm not sure what is coming through on that. I changed the if >>> to if (token->Event) { cb_status = 0; } >>> >>> Looks like the same thing with tcp.c. After I changed that callback, >>> everything went through and I go into the OS install. >>> >>> But, if I go back to 1 subnet after those changes, it errors out with >>> Invalid Parameter when attempting to send the first packet. >>> >>> (Sorry for the top posting.) >> >> I just started examining this and find it odd that the core_udp_recv() >> doesn't zalloc() its token while core_udp_send()/core_udp_sendto() do. >> All three are a part of commit fe283b78 by Matt Fleming. Should this >> be made into a zalloc() rather than pushing it into the stack? It'd >> seem like it could run some stack issues plus there's no guarantee >> what's in it (unless there's some stack trickery just before the calls >> to core_udp_recv() ) > > Aside from the core_udp_recv() question, I've got another patch but > just need to clean it a little. > > -- > -GeneJason, any chance you could try branch efi-fixes ? I don't like having to loop on configure without some sort of idle-wait in the loop but I don't believe there's any idle-wait in the bare core. git://github.com/geneC/syslinux.git efi-fixes If udp4_cb() still causes issues, I'd probably say do the following as the if: if ((token->Status == EFI_SUCCESS) || (token->Event)) although I'm still rereading the UEFI spec to understand how this is supposed to work. -- -Gene
Reviving the old UseDefaultAddress thread On Wed, Nov 27, 2013 at 11:16 PM, Gene Cumm <gene.cumm at gmail.com> wrote:> Jason, any chance you could try branch efi-fixes ? I don't like > having to loop on configure without some sort of idle-wait in the loop > but I don't believe there's any idle-wait in the bare core. > > git://github.com/geneC/syslinux.git efi-fixes > > If udp4_cb() still causes issues, I'd probably say do the following as the if: > > if ((token->Status == EFI_SUCCESS) || (token->Event)) > > although I'm still rereading the UEFI spec to understand how this is > supposed to work.Jason, I'm not sure if you're on the list but have you been tracking the related posts lately? -- -Gene