bugGNU GRUB - Bugs: bug #45794, another EFI PXE boot problem

 
 

You are not allowed to post comments on this tracker with your current authentication level.

bug #45794: another EFI PXE boot problem

Submitted by:  Mark Salter <msalter>
Submitted on:  Tue 18 Aug 2015 08:39:06 PM UTC  
 
Category: NetworkSeverity: Major
Priority: 5 - NormalItem Group: None
Status: InvalidPrivacy: Public
Assigned to: NoneOriginator Name: 
Open/Closed: ClosedRelease: 
Release: Git masterReproducibility: None
Planned Release: None

Wed 19 Aug 2015 01:49:29 PM UTC, comment #3:

Closing then.

Andrei Borzenkov <arvidjaar>
Project Member
Wed 19 Aug 2015 01:43:34 PM UTC, comment #2:

You're right. Sorry for the noise. I was debugging with a Fedora-patched version of upstream which erroneously adds the exclusive flag in grub_efi_net_config. I completely missed that and blamed the wrong party.

Mark Salter <msalter>
Wed 19 Aug 2015 03:24:52 AM UTC, comment #1:

grub_efi_net_config_real does not open protocol exclusively; where do you see it? The only place where exclusive open happens is open_card.

bor@bor-Latitude-E5450:~/src/grub$ grep -rw GRUB_EFI_OPEN_PROTOCOL_BY_EXCLUSIVE grub-core/net/
grub-core/net/drivers/efi/efinet.c: GRUB_EFI_OPEN_PROTOCOL_BY_EXCLUSIVE);

Andrei Borzenkov <arvidjaar>
Project Member
Tue 18 Aug 2015 08:39:06 PM UTC, original submission:

Bug 45204 fixed a problem where the open protocol by exclusive in efinet.c open_card() was causing firmware to clean the card's receive filters so that incoming packets were blocked. Firmware on a different system (AMI-based vs. EDK2-based on original problem system) is now having the same problem. In this case, the setting of the receive filters in open_card() doesn't happen because firmware is failing to open the protocol (returning EFI_ACCESS_DENIED). That seems to be the right behaviour from my reading of the UEFI spec since the grub already opened the protocol for exclusive use in grub_efi_net_config_real(). Attached is a patch which adds the hw filter setting to grub_efi_net_config_real() and works for both systems. Not sure if this is really the right way to fix the problem or not...

Mark Salter <msalter>

 

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by arvidjaar (Posted a comment)
  • -unavailable- added by msalter (Submitted the item)
  • -unavailable- added by msalter
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 4 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Wed 19 Aug 2015 01:49:29 PM UTCarvidjaarStatusNone=>Invalid
      Open/ClosedOpen=>Closed
    Tue 18 Aug 2015 08:39:06 PM UTCmsalterAttached File-=>Added efinet-enable-filters-in-grub_efi_net_config_real.patch, #34673
      Carbon-Copy-=>Added -unavailable-

    Back to the top


    Powered by Savane 3.1-cleanup1