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

Submitter:  Mark Salter <msalter>
Submitted:  Tue 18 Aug 2015 08:39:06 PM UTC
   
 
Category:  Network Severity:  Major
Priority:  5 - Normal Item Group:  None
Status:  Invalid Privacy:  Public
Assigned to:  None Originator Name: 
Open/Closed:  Closed Release:  Git master
Release:  Reproducibility:  None
Planned Release:  None

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

Closing then.

Andrei Borzenkov <arvidjaar>
Group 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>
Group 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>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

 

Depends on the following items: None found

Items that depend on this one: None found

 

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

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

     

    Follow 4 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2015-08-19 arvidjaar StatusNone Invalid
        Open/ClosedOpen Closed
    2015-08-18 msalter Attached File- Added efinet-enable-filters-in-grub_efi_net_config_real.patch, #34673
        Carbon-Copy- Added -email is unavailable-

    Back to the top

    Powered by Savane 3.13-9c15.
    Corresponding source code