{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":5442598,"defaultBranch":"main","name":"efivar","ownerLogin":"rhboot","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2012-08-16T18:10:10.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/29258823?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1706731974.0","currentOid":""},"activityList":{"items":[{"before":"31d4c3d7c1ce44564ba6787775e8bb1d98d44a59","after":"c71c4342e6442b760d4363af83f13333c2d9135e","ref":"refs/heads/main","pushedAt":"2024-03-06T19:41:38.000Z","pushType":"pr_merge","commitsCount":9,"pusher":{"login":"vathpela","name":"Peter Jones","path":"/vathpela","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1063106?s=80&v=4"},"commit":{"message":"dp-hw.c: fix incorrect error handling of efidp_node_size() invocations\n\nOne of our analysis tools noticed the following error:\n\n Error: OVERRUN (CWE-119):\n efivar-38/src/dp-hw.c:64: return_constant: Function call \"efidp_node_size(dp)\" may return -1.\n efivar-38/src/dp-hw.c:64: overrun-buffer-arg: Calling \"format_hex_helper\" with \"(uint8_t *)dp + 4\" and \"efidp_node_size(dp) - 4L\" is suspicious because of the very large index, 18446744073709551611. The index may be due to a negative parameter being interpreted as unsigned.\n # 62| format(buf, size, off, \"Hardware\",\n # 63| \"HardwarePath(%d,\", dp->subtype);\n # 64|-> format_hex(buf, size, off, \"Hardware\", (uint8_t *)dp+4,\n # 65| efidp_node_size(dp)-4);\n # 66| format(buf, size, off, \"Hardware\", \")\");\n\nThis patch adds error checking to that use of efidp_node_size().\n\nResolves: RHEL-27676\nSigned-off-by: Peter Jones ","shortMessageHtmlLink":"dp-hw.c: fix incorrect error handling of efidp_node_size() invocations"}},{"before":"952bf5e32f10a03fb24957ed34e1a8f87300bf86","after":"31d4c3d7c1ce44564ba6787775e8bb1d98d44a59","ref":"refs/heads/main","pushedAt":"2024-03-06T16:53:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vathpela","name":"Peter Jones","path":"/vathpela","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1063106?s=80&v=4"},"commit":{"message":"CI: update to checkout@v3\n\nSigned-off-by: Peter Jones ","shortMessageHtmlLink":"CI: update to checkout@v3"}},{"before":"c47820c37ac26286559ec004de07d48d05f3308c","after":"952bf5e32f10a03fb24957ed34e1a8f87300bf86","ref":"refs/heads/main","pushedAt":"2024-03-06T16:37:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vathpela","name":"Peter Jones","path":"/vathpela","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1063106?s=80&v=4"},"commit":{"message":"Update fedora CI runners\n\nSigned-off-by: Peter Jones ","shortMessageHtmlLink":"Update fedora CI runners"}},{"before":"af8bc6d54ec6732605ad54be9f89ab60703db2af","after":"c47820c37ac26286559ec004de07d48d05f3308c","ref":"refs/heads/main","pushedAt":"2024-01-31T20:08:47.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"vathpela","name":"Peter Jones","path":"/vathpela","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1063106?s=80&v=4"},"commit":{"message":"Update version to efivar 39\n\nThis updates the version number in the makefile and also updates the\nabixml files with the current exposed ABI.\n\nSigned-off-by: Peter Jones ","shortMessageHtmlLink":"Update version to efivar 39"}},{"before":"390452705b621b58652f51c406a99a16b99c98e3","after":"af8bc6d54ec6732605ad54be9f89ab60703db2af","ref":"refs/heads/main","pushedAt":"2024-01-29T23:25:21.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vathpela","name":"Peter Jones","path":"/vathpela","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1063106?s=80&v=4"},"commit":{"message":"Remove needless access() in efivarfs_probe()\n\nThe access() is always seemingly-validated by a statfs():\nthere's no need for this, but this incurs an additional syscall\n\nSigned-off-by: Ahelenia Ziemiańska ","shortMessageHtmlLink":"Remove needless access() in efivarfs_probe()"}},{"before":"8ff781ede952f3474b5a433aade2b8d856961f11","after":"390452705b621b58652f51c406a99a16b99c98e3","ref":"refs/heads/main","pushedAt":"2024-01-29T23:23:36.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vathpela","name":"Peter Jones","path":"/vathpela","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1063106?s=80&v=4"},"commit":{"message":"Make README statement match license\n\nAll of the source files are tagged LGPL-2.1-or-later.\n\nSigned-off-by: FeRD (Frank Dana) ","shortMessageHtmlLink":"Make README statement match license"}},{"before":"573be47177a629c6ca1d806506d477e8727dd923","after":"8ff781ede952f3474b5a433aade2b8d856961f11","ref":"refs/heads/main","pushedAt":"2024-01-29T23:20:56.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vathpela","name":"Peter Jones","path":"/vathpela","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1063106?s=80&v=4"},"commit":{"message":"Fix wrong if condition in efi_variable_get_data\n\nThe wrong if condition in efi_variable_get_data result in empty value of printing variable from --import.\nFix #254\n\nSigned-off-by: sherlock-zhouyh <15151851377@163.com>","shortMessageHtmlLink":"Fix wrong if condition in efi_variable_get_data"}},{"before":"ab3cf61e36efd501d38a35c7e192e77978de6208","after":"573be47177a629c6ca1d806506d477e8727dd923","ref":"refs/heads/main","pushedAt":"2024-01-29T23:20:22.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vathpela","name":"Peter Jones","path":"/vathpela","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1063106?s=80&v=4"},"commit":{"message":"dp.h: check _ucs2size in format_ucs2()\n\nWhen memcpy() is called in format_ucs2(), the value of ucs2size - sizeof(uint16_t) is not checked. It may result in out-of-bounds writing due to integer underflow.\n\nSigned-off-by: century6 ","shortMessageHtmlLink":"dp.h: check _ucs2size in format_ucs2()"}},{"before":"6380534eb04181be808d18d44f71db9846471552","after":"ab3cf61e36efd501d38a35c7e192e77978de6208","ref":"refs/heads/main","pushedAt":"2024-01-29T23:19:45.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vathpela","name":"Peter Jones","path":"/vathpela","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1063106?s=80&v=4"},"commit":{"message":"Change set&append data to be const.\n\nAll implementations of set_variable and append_variable never modify\nthe data pointed to. Callers don't know by the function signitures that\ntheir data will not be modified nor can they pass const buffers without\nwarnings. This commit adds const to all function signatures and fixes\nthe one assignment where the pointer is copied to a non-const pointer.\n\nSigned-off-by: Ed Schaller ","shortMessageHtmlLink":"Change set&append data to be const."}},{"before":"931e97b57b645edfc18d352fcc0c4c08337551a5","after":"6380534eb04181be808d18d44f71db9846471552","ref":"refs/heads/main","pushedAt":"2024-01-29T23:18:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"vathpela","name":"Peter Jones","path":"/vathpela","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1063106?s=80&v=4"},"commit":{"message":"Ignore and clean built src util-makeguids.c\n\nutil-makeguids.c is copied from util.c at build time.\n\nThis patch adds it to .gitignore and to the files cleaned by make clean.\n\nSigned-off-by: Ed Schaller ","shortMessageHtmlLink":"Ignore and clean built src util-makeguids.c"}},{"before":"8116fb1f2f6ae768811229f9c38074e884c8e5bb","after":"931e97b57b645edfc18d352fcc0c4c08337551a5","ref":"refs/heads/main","pushedAt":"2024-01-29T23:15:36.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vathpela","name":"Peter Jones","path":"/vathpela","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1063106?s=80&v=4"},"commit":{"message":"linux: handle non-ACPI systems in device_get()\n\n/sys/devices/pci0000:00/firmware_node/hid does not exist on all systems.\nKernel parameter acpi=off has been reported as one possible reason in\nhttps://github.com/rhboot/efivar/issues/120\nBut this is not the only case. On systems using device trees you may also\nnot find this file.\n\nWe have multiple parsers in dev_probes[]. It is sufficient that one of\nthese parsers succeeds to provide the device information.\n\nIf for instance pci_root_parser and pci_parser fails, we may still get\ninformation from nvme_parser.\n\nIf a parser fails, only write a debug information and continue.\n\nSigned-off-by: Heinrich Schuchardt ","shortMessageHtmlLink":"linux: handle non-ACPI systems in device_get()"}},{"before":"4f3da3dc351d7743d91327e74fcaaa13299eeb39","after":"8116fb1f2f6ae768811229f9c38074e884c8e5bb","ref":"refs/heads/main","pushedAt":"2024-01-29T23:14:39.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vathpela","name":"Peter Jones","path":"/vathpela","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1063106?s=80&v=4"},"commit":{"message":"src/Makefile: do not override LIBS and CFLAGS for prerequisites\n\nWithout the change `make --shuffle` build occasionally fails as:\n\n $ gcc -Og -g3 -Wall -Wextra -Werror -std=gnu11 -funsigned-char -fvisibility=hidden -specs=/build/source/src/include/gcc.specs -fno-merge-constants -L. -Wl,--build-id -Wl,--no-allow-shlib-undefined -Wl,--no-undefined-version -Wl,-z,now -Wl,-z,muldefs -Wl,-z,relro -Wl,--fatal-warnings -DLIBEFIVAR_VERSION=38 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -I/build/source/src/include/ -shared -Wl,-soname,libefisec.so.1 -Wl,--version-script=libefisec.map -o libefisec.so sec.o secdb.o esl-iter.o util.o -lefivar -lefisec -ldl\n/nix/store/zwqkxpi1iz66mix0kirdaq2ps6a9g9cg-binutils-2.41/bin/ld: cannot find -lefivar: No such file or directory\ncollect2: error: ld returned 1 exit status\nmake[1]: *** [/build/source/src/include/rules.mk:38: libefisec.so] Error 1 shuffle=721268944\n\nBefore the change 2-3 rebuild attemts were enough to trigger build\nfailure.\n\nAfter the change `evivar` survived 100 rebuilds.\n\nArtem Klimov noticed that it happens because LIBS gets overridden\n(or not overridden) based on the traversal order `make` takes to build\nthe prerequisites.\n\nIf the order is:\n\n all -> libefivar.so\n\nthen LIBS is taken from libefivar.so target, which is\n\n libefivar.so : LIBS=dl\n\nThere are no prerequisites and all is fine.\n\nBut if the build order starts from `efisecdb`, then:\n\n efisecdb -> libefisec.so\n\nthen LIBS is taken from `efisecdb`, this is:\n\n efisecdb : $(EFISECDB_OBJECTS) | libefisec.so\n efisecdb : private LIBS=efivar efisec dl\n\nWhen these `LIBS` are propagated to `libefisec.so` we get a linking\nfailure.\n\nThus the fix is to mark all `LIBS` instances as `private` to make sure\n`LIBS` never gets leaked into prerequisites' `LIBS` use. And while at it\ndo the same for local `MAP` and local `CFLAGS` for consistency.\n\nSigned-off-by: Sergei Trofimovich ","shortMessageHtmlLink":"src/Makefile: do not override LIBS and CFLAGS for prerequisites"}},{"before":"04caa26a6517e7f3adfa3ebe5d79e028d7c45221","after":"4f3da3dc351d7743d91327e74fcaaa13299eeb39","ref":"refs/heads/main","pushedAt":"2024-01-29T23:11:06.000Z","pushType":"pr_merge","commitsCount":6,"pusher":{"login":"vathpela","name":"Peter Jones","path":"/vathpela","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1063106?s=80&v=4"},"commit":{"message":"export.c: don't use char16_t\n\n is glibc-specific and it's not even guaranteed to be 2 bytes\nlong!\n\n typedef __uint_least16_t char16_t;\n\nuint16_t seems much more appropriate here.\n\nSigned-off-by: Sergii Dmytruk ","shortMessageHtmlLink":"export.c: don't use char16_t"}},{"before":"57920a6ac4bd583455bb74a527a14110d92c36cd","after":"04caa26a6517e7f3adfa3ebe5d79e028d7c45221","ref":"refs/heads/main","pushedAt":"2024-01-29T23:08:21.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vathpela","name":"Peter Jones","path":"/vathpela","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1063106?s=80&v=4"},"commit":{"message":"esl-iter.h: fix type declaration of return value for gcc-13\n\nUpcoming `gcc-13` detected return type mismatch as:\n\n esl-iter.c:84:1: error: conflicting types for 'esl_iter_next_with_size_correction' due to enum/integer mismatch; have 'esl_iter_status_t(esl_iter *, efi_guid_t *, efi_guid_t *, uint8_t **, size_t *, _Bool)' {aka 'enum esl_iter_status(esl_iter *, efi_guid_t *, efi_guid_t *, unsigned char **, long unsigned int *, _Bool)'} [-Werror=enum-int-mismatch]\n 84 | esl_iter_next_with_size_correction(esl_iter *iter, efi_guid_t *type,\n | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n In file included from efisec.h:25,\n from esl-iter.c:7:\n esl-iter.h:61:12: note: previous declaration of 'esl_iter_next_with_size_correction' with type 'int(esl_iter *, efi\n *, efi_guid_t *, uint8_t **, size_t *, _Bool)' {aka 'int(esl_iter *, efi_guid_t *, efi_guid_t *, unsigned char **, long unsigned int *, _Bool)'}\n 61 | extern int esl_iter_next_with_size_correction(esl_iter *iter, efi_guid_t *type,\n | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nThe change brings declaration and definition in sync.\n\nSigned-off-by: Sergei Trofimovich ","shortMessageHtmlLink":"esl-iter.h: fix type declaration of return value for gcc-13"}},{"before":"90e88b221e8bc60dc50f3246051369b8f580c0d0","after":"57920a6ac4bd583455bb74a527a14110d92c36cd","ref":"refs/heads/main","pushedAt":"2024-01-29T23:07:24.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vathpela","name":"Peter Jones","path":"/vathpela","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1063106?s=80&v=4"},"commit":{"message":"make: add option to disable building/installing the docs\n\n`ENABLE_DOCS=0 make` will remove the docs subdirectory from the list of\ntargets. This is useful if the target OS does not ship manpages.\n\nSigned-off-by: Nicholas Bishop ","shortMessageHtmlLink":"make: add option to disable building/installing the docs"}},{"before":"9306e0b947d92f27b72a323896e5b6cd5325f250","after":"90e88b221e8bc60dc50f3246051369b8f580c0d0","ref":"refs/heads/main","pushedAt":"2023-03-07T15:56:04.324Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vathpela","name":"Peter Jones","path":"/vathpela","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1063106?s=80&v=4"},"commit":{"message":"Allow -a to create a non-existent variable\n\nThere is no much point in failing when trying to append, we may\nas well create the variable. This way it can be used for dbx\nupdate payloads that must be applied in append mode even if there\nisn't a dbx yet.\n\nThis is nicer than using -w with EFI_VARIABLE_APPEND_WRITE added\nto the attributes passed with -A\n\nSigned-off-by: Benjamin Herrenschmidt ","shortMessageHtmlLink":"Allow -a to create a non-existent variable"}},{"before":"328f5845d5145184258d5155226b2647c1291e25","after":"9306e0b947d92f27b72a323896e5b6cd5325f250","ref":"refs/heads/main","pushedAt":"2023-03-07T15:52:30.833Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"vathpela","name":"Peter Jones","path":"/vathpela","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1063106?s=80&v=4"},"commit":{"message":"Allow passing of hex values to -A\n\nIt's a bitmask of flags, it's much nicer to reason about it using hex\n\nSigned-off-by: Benjamin Herrenschmidt ","shortMessageHtmlLink":"Allow passing of hex values to -A"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEDlLTlgA","startCursor":null,"endCursor":null}},"title":"Activity · rhboot/efivar"}