Package: efivar / 37-6

Metadata

Package Version Patches format
efivar 37-6 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
remove arrows.patch | (download)

src/linux-acpi-root.c | 7 0 + 7 - 0 !
src/linux-emmc.c | 9 0 + 9 - 0 !
src/linux-md.c | 8 0 + 8 - 0 !
src/linux-nvme.c | 9 0 + 9 - 0 !
src/linux-pci-root.c | 7 0 + 7 - 0 !
src/linux-pci.c | 8 0 + 8 - 0 !
src/linux-sata.c | 11 0 + 11 - 0 !
src/linux-scsi.c | 24 0 + 24 - 0 !
src/linux-soc-root.c | 7 0 + 7 - 0 !
src/linux-virtblk.c | 8 0 + 8 - 0 !
src/util.h | 1 0 + 1 - 0 !
11 files changed, 99 deletions(-)

---
fix gcc9 werror format guid.patch | (download)

src/dp.h | 11 9 + 2 - 0 !
1 file changed, 9 insertions(+), 2 deletions(-)

 dp.h: make format_guid() handle misaligned guid pointers safely.
fix gcc9 werrors.patch | (download)

src/dp-message.c | 6 4 + 2 - 0 !
src/dp.h | 12 4 + 8 - 0 !
src/guid.c | 2 1 + 1 - 0 !
src/include/efivar/efivar.h | 2 1 + 1 - 0 !
src/ucs2.h | 27 19 + 8 - 0 !
5 files changed, 29 insertions(+), 20 deletions(-)

 fix all the places -werror=address-of-packed-member catches.
ucs2.h remove unused variable.patch | (download)

src/ucs2.h | 3 1 + 2 - 0 !
1 file changed, 1 insertion(+), 2 deletions(-)

 [patch] ucs2.h: remove unused variable

The const uint16_t pointer is not used since now the two bytes of the
UCS-2 chars are checked to know if is the termination of the string.

Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>

ucs2.h fix logic that checks for UCS 2 string termin.patch | (download)

src/ucs2.h | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 [patch] ucs2.h: fix logic that checks for ucs-2 string termination

Currently the loop to count the lenght of the UCS-2 string ends if either
of the two bytes are 0, but 0 is a valid value for UCS-2 character codes.

So only break the loop when 0 is the value for both UCS-2 char bytes.

Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>

guids.S Include cet.h when CET is enabled.patch | (download)

src/guids.S | 3 3 + 0 - 0 !
1 file changed, 3 insertions(+)

 [patch] guids.s: include <cet.h> when cet is enabled

Intel Control-flow Enforcement Technology (CET):

https://software.intel.com/en-us/articles/intel-sdm

contains shadow stack (SHSTK) and indirect branch tracking (IBT). When
CET is enabled, ELF object files must be marked with .note.gnu.property
section. CET enabled GCC provides a header file, <cet.h>, which can be
included in assembly files to generate the CET marker automatically.

Signed-off-by: H.J. Lu <hjl.tools@gmail.com>

Always initialize any variable we use with sscanf s .patch | (download)

src/linux-acpi-root.c | 2 1 + 1 - 0 !
src/linux-pci-root.c | 2 1 + 1 - 0 !
src/linux-pci.c | 2 1 + 1 - 0 !
src/linux-soc-root.c | 2 1 + 1 - 0 !
src/linux-virtblk.c | 2 1 + 1 - 0 !
5 files changed, 5 insertions(+), 5 deletions(-)

 [patch] always initialize any variable we use with sscanf's %n

Signed-off-by: Peter Jones <pjones@redhat.com>

Bug-Ubuntu: https://bugs.launchpad.net/bugs/1892792
0001 Fix the error path in set_disk_and_part_name.patch | (download)

src/linux.c | 12 10 + 2 - 0 !
1 file changed, 10 insertions(+), 2 deletions(-)

 [patch] fix the error path in set_disk_and_part_name()

Signed-off-by: Peter Jones <pjones@redhat.com>

[ dannf: Context adjustments due to upstream whitespace cleanup;
  Included to simplify the application of
  0003-Try-even-harder-to-find-disk-device-symlinks-in-sysf.patch ]

Bug-Ubuntu: https://bugs.launchpad.net/bugs/1891718
Bug: https://github.com/rhboot/efivar/issues/157
0002 sysfs parsers make all the sys block link parsers wo.patch | (download)

src/linux-nvme.c | 22 14 + 8 - 0 !
1 file changed, 14 insertions(+), 8 deletions(-)

 [patch] sysfs parsers: make all the /sys/block link parsers work the
 same way

Apparently I wrote some of these one way and some the other, and the one
special case where everything was "current+sz" instead of some form of
"current += pos; sz += pos; ...; return sz;" or the subtraction version.

Make them all the same, where possible.

Signed-off-by: Peter Jones <pjones@redhat.com>

[ dannf: Restrict to just linux-nvme.c;
  Context adjustments due to upstream whitespace cleanup;
  drop call to dbgmk() call - it didn't exist in v37;
  included to simplify application of later patches in series ]

Bug-Ubuntu: https://bugs.launchpad.net/bugs/1891718
Bug: https://github.com/rhboot/efivar/issues/157
0003 Try even harder to find disk device symlinks in sysf.patch | (download)

src/linux-nvme.c | 13 6 + 7 - 0 !
src/linux.c | 44 26 + 18 - 0 !
src/linux.h | 69 68 + 1 - 0 !
3 files changed, 100 insertions(+), 26 deletions(-)

 [patch] try even harder to find disk device symlinks in sysfs.

Today's realization is that the thing encoded into the structure of
sysfs is, in the best case, the dependency graph of the makefile targets
to build a device driver.

In the case of nvme-fabric, or really wherever the kernel has
class_create() and device_create() in the same function, there's an
extra level of indirection.

Anyway, in this patch we stop pretending sysfs isn't completely absurd,
and just try adding "/device" in the middle of the driver symlink path,
until we actually either get ENOENT on the device symlink or find a
device symlink that actually has a driver symlink under it.

Signed-off-by: Peter Jones <pjones@redhat.com>

[ dannf: Context adjustments due to upstream whitespace cleanup;
  Adjust to omit efi_error_pop() call that didn't exist in v37;
  included to simplify application of later patches in series ]

Bug-Ubuntu: https://bugs.launchpad.net/bugs/1891718
Bug: https://github.com/rhboot/efivar/issues/157
0004 Handle sys devices virtual nvme fabrics nvme subsyst.patch | (download)

src/linux-nvme.c | 51 44 + 7 - 0 !
src/linux-virtual-root.c | 87 87 + 0 - 0 !
src/linux.c | 43 37 + 6 - 0 !
src/linux.h | 4 3 + 1 - 0 !
4 files changed, 171 insertions(+), 14 deletions(-)

 [patch] handle /sys/devices/virtual/{nvme-fabrics,nvme-subsystem}
 devices

Signed-off-by: Peter Jones <pjones@redhat.com>

[ dannf: Context adjustments due to upstream whitespace cleanup and
  dbgmk() calls;
  drop new calls to dbgmk() - it didn't exist in v37 ]

Bug-Ubuntu: https://bugs.launchpad.net/bugs/1891718
Bug: https://github.com/rhboot/efivar/issues/157
0005 Fix variable sz uninitialized error.patch | (download)

src/linux-virtual-root.c | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 [patch 2/2] fix variable 'sz' uninitialized error

To fix the error:

external/efivar/src/linux-virtual-root.c:66:4: error: variable 'sz' is uninitialized when used here [-Werror,-Wuninitialized]
                        sz += pos1;
                        ^~
external/efivar/src/linux-virtual-root.c:45:12: note: initialize the variable 'sz' to silence this warning
        ssize_t sz;
                  ^
                   = 0
1 error generated.

Fixes: c41da0bd ("Handle /sys/devices/virtual/{nvme-fabrics,nvme-subsystem} devices")

Signed-off-by: Chih-Wei Huang <cwhuang@linux.org.tw>

Bug-Ubuntu: https://bugs.launchpad.net/bugs/1891718
Bug: https://github.com/rhboot/efivar/issues/157
0006 Fix parsing for nvme subsystem devices.patch | (download)

src/linux-nvme.c | 41 27 + 14 - 0 !
1 file changed, 27 insertions(+), 14 deletions(-)

 [patch] fix parsing for nvme-subsystem devices

nvme-subsystem devices have a link that looks like:
  ../../devices/virtual/nvme-subsystem/nvme-subsys0/nvme0n1

However, the current code expects an additional /nvme0/ component, i.e.:
  ../../devices/virtual/nvme-subsystem/nvme-subsys0/nvme0/nvme0n1

Fix this by adding a separate branch for parsing nvme-subsystem devices.

Resolves github issue #157.

Signed-off-by: dann frazier <dann.frazier@canonical.com>

[ dannf: Context adjustments due to upstream whitespace cleanup and
  dbgmk() calls ]

Bug-Ubuntu: https://bugs.launchpad.net/bugs/1891718
Bug: https://github.com/rhboot/efivar/issues/157