Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Treat ENOSPC as EFI_OUT_OF_RESOURCES when writing a variable #3

Closed
AdamWill opened this issue Feb 3, 2014 · 1 comment
Closed

Treat ENOSPC as EFI_OUT_OF_RESOURCES when writing a variable #3

AdamWill opened this issue Feb 3, 2014 · 1 comment

Comments

@AdamWill
Copy link

AdamWill commented Feb 3, 2014

Just wanted to make sure this didn't get lost from RH bugzilla. Back when Matt Domsch was maintaining efibootmgr, he suggested a patch to treat an ENOSPC from the kernel as EFI_OUT_OF_RESOURCES rather than EFI_INVALID_PARAMETER when attempting to write a variable. Obviously the current code is rather different, but I think the idea of the patch may still be valid/useful. I think efivar (not efibootmgr) is the appropriate place for it now, right?

@vathpela
Copy link
Contributor

vathpela commented Feb 5, 2014

I think this is a non-issue with the libefivar - right now if I do https://gist.github.com/vathpela/8817660 , and thus force an error ENOSPC on every write, I get https://gist.github.com/vathpela/8817672 .

@vathpela vathpela closed this as completed Feb 5, 2014
hmtheboy154 added a commit to android-generic/external_efivar that referenced this issue Oct 8, 2023
Disable debugging will cause crash with a FORTIFY failure:

Abort message: 'FORTIFY: fprintf: null FILE*'
    rax 0000000000000000  rbx 0000000000000d14  rcx 00007c3d0749069f  rdx 0000000000000006
    r8  0000000000000000  r9  0000000000000000  r10 00007ffdefe13030  r11 0000000000000217
    r12 0000000000000000  r13 0000000000000000  r14 00007ffdefe13028  r15 0000000000000d14
    rdi 0000000000000d14  rsi 0000000000000d14
    rbp 000000000000009d  rsp 00007ffdefe13020  rip 00007c3d0749069f

backtrace:
      #00 pc 000000000005f69f  /apex/com.android.runtime/lib64/bionic/libc.so (abort+191) (BuildId: cbf2c6babf4ce509f78a7963e811ace3)
      rhboot#1 pc 00000000000612f0  /apex/com.android.runtime/lib64/bionic/libc.so (__fortify_fatal(char const*, ...)+160) (BuildId: cbf2c6babf4ce509f78a7963e811ace3)
      rhboot#2 pc 00000000000c5d9a  /apex/com.android.runtime/lib64/bionic/libc.so (fprintf+282) (BuildId: cbf2c6babf4ce509f78a7963e811ace3)
      rhboot#3 pc 000000000002bc72  /system/bin/efibootmgr (log_+178) (BuildId: 0e8d9a0cd8994623ec86c1005c9d5e8b)
      rhboot#4 pc 000000000002ab87  /system/bin/efibootmgr (_format_acpi_dn+583) (BuildId: 0e8d9a0cd8994623ec86c1005c9d5e8b)
      rhboot#5 pc 0000000000029f63  /system/bin/efibootmgr (efidp_format_device_path+515) (BuildId: 0e8d9a0cd8994623ec86c1005c9d5e8b)
      rhboot#6 pc 000000000001a1a0  /system/bin/efibootmgr (show_vars+336) (BuildId: 0e8d9a0cd8994623ec86c1005c9d5e8b)
      rhboot#7 pc 0000000000018e3a  /system/bin/efibootmgr (main+7578) (BuildId: 0e8d9a0cd8994623ec86c1005c9d5e8b)
      rhboot#8 pc 0000000000050d19  /apex/com.android.runtime/lib64/bionic/libc.so (__libc_init+89) (BuildId: cbf2c6babf4ce509f78a7963e811ace3)

So we need to bring debugging to Android. Our target to support is 11+ so we got memfd_create. Also
for fopencookie() we can use https://gitlab.com/Conan_Kudo/portable-fopencookie

This reverts commit 79c490e.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants