diff --git a/bundles.tar.xz b/bundles.tar.xz index cf101261..2ef4b38a 100644 --- a/bundles.tar.xz +++ b/bundles.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dd2a3b0dd5a7afd9f7bf34d986fa29521b25e75ef3f83312f7332668abeae2e9 -size 40104 +oid sha256:16313b28799b38f8a397b8c3886445780eaff2dc86234f366d8ee5fdfcdb5046 +size 44932 diff --git a/linux-user-add-more-compat-ioctl-definit.patch b/linux-user-add-more-compat-ioctl-definit.patch new file mode 100644 index 00000000..e67368e2 --- /dev/null +++ b/linux-user-add-more-compat-ioctl-definit.patch @@ -0,0 +1,66 @@ +From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= +Date: Tue, 4 Oct 2022 10:32:03 +0100 +Subject: linux-user: add more compat ioctl definitions +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Git-commit: 0000000000000000000000000000000000000000 +Refereces: bsc#1204001 + +GLibc changes prevent us from including linux/fs.h anymore, +and we previously adjusted to this in + + commit 3cd3df2a9584e6f753bb62a0028bd67124ab5532 + Author: Daniel P. Berrangé + Date: Tue Aug 2 12:41:34 2022 -0400 + + linux-user: fix compat with glibc >= 2.36 sys/mount.h + +That change required adding compat ioctl definitions on the +QEMU side for any ioctls that we would otherwise obtain +from linux/fs.h. This commit adds more that were initially +missed, due to their usage being conditionalized in QEMU. + +Signed-off-by: Daniel P. Berrangé +Signed-off-by: Dario Faggioli +--- + linux-user/syscall.c | 25 +++++++++++++++++++++++++ + 1 file changed, 25 insertions(+) + +diff --git a/linux-user/syscall.c b/linux-user/syscall.c +index 9d92e56e3996dc2174a4af9d0491..5acb463d5e11311b2108358c7c01 100644 +--- a/linux-user/syscall.c ++++ b/linux-user/syscall.c +@@ -111,6 +111,31 @@ + #define FS_IOC32_SETFLAGS _IOW('f', 2, int) + #define FS_IOC32_GETVERSION _IOR('v', 1, int) + #define FS_IOC32_SETVERSION _IOW('v', 2, int) ++ ++#define BLKGETSIZE64 _IOR(0x12,114,size_t) ++#define BLKDISCARD _IO(0x12,119) ++#define BLKIOMIN _IO(0x12,120) ++#define BLKIOOPT _IO(0x12,121) ++#define BLKALIGNOFF _IO(0x12,122) ++#define BLKPBSZGET _IO(0x12,123) ++#define BLKDISCARDZEROES _IO(0x12,124) ++#define BLKSECDISCARD _IO(0x12,125) ++#define BLKROTATIONAL _IO(0x12,126) ++#define BLKZEROOUT _IO(0x12,127) ++ ++#define FIBMAP _IO(0x00,1) ++#define FIGETBSZ _IO(0x00,2) ++ ++struct file_clone_range { ++ __s64 src_fd; ++ __u64 src_offset; ++ __u64 src_length; ++ __u64 dest_offset; ++}; ++ ++#define FICLONE _IOW(0x94, 9, int) ++#define FICLONERANGE _IOW(0x94, 13, struct file_clone_range) ++ + #else + #include + #endif diff --git a/linux-user-drop-conditionals-for-obsolet.patch b/linux-user-drop-conditionals-for-obsolet.patch new file mode 100644 index 00000000..51429963 --- /dev/null +++ b/linux-user-drop-conditionals-for-obsolet.patch @@ -0,0 +1,134 @@ +From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= +Date: Tue, 4 Oct 2022 10:32:06 +0100 +Subject: linux-user: drop conditionals for obsolete kernel header versions +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Git-commit: 0000000000000000000000000000000000000000 +Refereces: bsc#1204001 + +Given our newly enforced 4.18 baseline for the kernel headers version, +we can drop any conditional checks for older versions. + +Signed-off-by: Daniel P. Berrangé +Signed-off-by: Dario Faggioli +--- + linux-user/linux_loop.h | 4 ---- + linux-user/syscall.c | 14 ++------------ + tests/tcg/i386/test-i386.c | 10 +++------- + 3 files changed, 5 insertions(+), 23 deletions(-) + +diff --git a/linux-user/linux_loop.h b/linux-user/linux_loop.h +index f80b96f1ff92c71bc1232b733d37..5a9e0edef2729642bfca8f146e6d 100644 +--- a/linux-user/linux_loop.h ++++ b/linux-user/linux_loop.h +@@ -31,10 +31,6 @@ enum { + #include /* for __kernel_old_dev_t */ + #include /* for __u64 */ + +-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0) /* This is a guess. */ +-#define __kernel_old_dev_t __kernel_dev_t +-#endif +- + /* Backwards compatibility version */ + struct loop_info { + int lo_number; /* ioctl r/o */ +diff --git a/linux-user/syscall.c b/linux-user/syscall.c +index 5acb463d5e11311b2108358c7c01..d7c0d4a45d3907f1ef28fe93f9b6 100644 +--- a/linux-user/syscall.c ++++ b/linux-user/syscall.c +@@ -2525,16 +2525,12 @@ set_timeout: + case NETLINK_DROP_MEMBERSHIP: + case NETLINK_BROADCAST_ERROR: + case NETLINK_NO_ENOBUFS: +-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) + case NETLINK_LISTEN_ALL_NSID: + case NETLINK_CAP_ACK: +-#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) */ +-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) + case NETLINK_EXT_ACK: +-#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) */ + #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 20, 0) + case NETLINK_GET_STRICT_CHK: +-#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) */ ++#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4, 20, 0) */ + break; + default: + goto unimplemented; +@@ -2903,16 +2899,12 @@ get_timeout: + case NETLINK_PKTINFO: + case NETLINK_BROADCAST_ERROR: + case NETLINK_NO_ENOBUFS: +-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) + case NETLINK_LISTEN_ALL_NSID: + case NETLINK_CAP_ACK: +-#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) */ +-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) + case NETLINK_EXT_ACK: +-#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) */ + #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 20, 0) + case NETLINK_GET_STRICT_CHK: +-#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) */ ++#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4, 20, 0) */ + if (get_user_u32(len, optlen)) { + return -TARGET_EFAULT; + } +@@ -2929,7 +2921,6 @@ get_timeout: + return -TARGET_EFAULT; + } + break; +-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) + case NETLINK_LIST_MEMBERSHIPS: + { + uint32_t *results; +@@ -2960,7 +2951,6 @@ get_timeout: + unlock_user(results, optval_addr, 0); + break; + } +-#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) */ + default: + goto unimplemented; + } +diff --git a/tests/tcg/i386/test-i386.c b/tests/tcg/i386/test-i386.c +index ac8d5a3c1f8b6eacf32649155c98..bd7ebb9d68b9e90673ed16a6f4cd 100644 +--- a/tests/tcg/i386/test-i386.c ++++ b/tests/tcg/i386/test-i386.c +@@ -1231,10 +1231,6 @@ static inline int modify_ldt(int func, void * ptr, unsigned long bytecount) + return syscall(__NR_modify_ldt, func, ptr, bytecount); + } + +-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 5, 66) +-#define modify_ldt_ldt_s user_desc +-#endif +- + #define MK_SEL(n) (((n) << 3) | 7) + + uint8_t seg_data1[4096]; +@@ -1272,7 +1268,7 @@ uint8_t seg_data2[4096]; + /* NOTE: we use Linux modify_ldt syscall */ + void test_segs(void) + { +- struct modify_ldt_ldt_s ldt; ++ struct user_desc ldt; + long long ldt_table[3]; + int res, res2; + char tmp; +@@ -1374,7 +1370,7 @@ extern char code16_func3; + + void test_code16(void) + { +- struct modify_ldt_ldt_s ldt; ++ struct user_desc ldt; + int res, res2; + + /* build a code segment */ +@@ -1781,7 +1777,7 @@ void test_exceptions(void) + } + + { +- struct modify_ldt_ldt_s ldt; ++ struct user_desc ldt; + ldt.entry_number = 1; + ldt.base_addr = (unsigned long)&seg_data1; + ldt.limit = (sizeof(seg_data1) + 0xfff) >> 12; diff --git a/linux-user-remove-conditionals-for-many-.patch b/linux-user-remove-conditionals-for-many-.patch new file mode 100644 index 00000000..e794eee8 --- /dev/null +++ b/linux-user-remove-conditionals-for-many-.patch @@ -0,0 +1,101 @@ +From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= +Date: Tue, 4 Oct 2022 10:32:04 +0100 +Subject: linux-user: remove conditionals for many fs.h ioctls +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Git-commit: 0000000000000000000000000000000000000000 +Refereces: bsc#1204001 + +These ioctls have been defined in linux/fs.h for a long time + + * BLKGETSIZE64 - <2.6.12 (linux.git epoch) + * BLKDISCARD - 2.6.28 (d30a2605be9d5132d95944916e8f578fcfe4f976) + * BLKIOMIN - 2.6.32 (ac481c20ef8f6c6f2be75d581863f40c43874ef7) + * BLKIOOPT - 2.6.32 (ac481c20ef8f6c6f2be75d581863f40c43874ef7) + * BLKALIGNOFF - 2.6.32 (ac481c20ef8f6c6f2be75d581863f40c43874ef7) + * BLKPBSZGET - 2.6.32 (ac481c20ef8f6c6f2be75d581863f40c43874ef7) + * BLKDISCARDZEROES - 2.6.32 (98262f2762f0067375f83824d81ea929e37e6bfe) + * BLKSECDISCARD - 2.6.36 (8d57a98ccd0b4489003473979da8f5a1363ba7a3) + * BLKROTATIONAL - 3.2 (ef00f59c95fe6e002e7c6e3663cdea65e253f4cc) + * BLKZEROOUT - 3.6 (66ba32dc167202c3cf8c86806581a9393ec7f488) + * FIBMAP - <2.6.12 (linux.git epoch) + * FIGETBSZ - <2.6.12 (linux.git epoch) + +and when building with latest glibc, we'll see compat definitions +in syscall.c anyway thanks to the previous patch. Thus we can +assume they always exist and remove the conditional checks. + +Signed-off-by: Daniel P. Berrangé +Signed-off-by: Dario Faggioli +--- + linux-user/ioctls.h | 24 ------------------------ + 1 file changed, 24 deletions(-) + +diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h +index f182d40190ed43ffa1bbc4fd09cb..071f7ca2537560e3c923c9a18abb 100644 +--- a/linux-user/ioctls.h ++++ b/linux-user/ioctls.h +@@ -96,9 +96,7 @@ + IOCTL(BLKROGET, IOC_R, MK_PTR(TYPE_INT)) + IOCTL(BLKRRPART, 0, TYPE_NULL) + IOCTL(BLKGETSIZE, IOC_R, MK_PTR(TYPE_ULONG)) +-#ifdef BLKGETSIZE64 + IOCTL(BLKGETSIZE64, IOC_R, MK_PTR(TYPE_ULONGLONG)) +-#endif + IOCTL(BLKFLSBUF, 0, TYPE_NULL) + IOCTL(BLKRASET, 0, TYPE_INT) + IOCTL(BLKRAGET, IOC_R, MK_PTR(TYPE_LONG)) +@@ -107,33 +105,15 @@ + IOCTL_SPECIAL(BLKPG, IOC_W, do_ioctl_blkpg, + MK_PTR(MK_STRUCT(STRUCT_blkpg_ioctl_arg))) + +-#ifdef BLKDISCARD + IOCTL(BLKDISCARD, IOC_W, MK_PTR(MK_ARRAY(TYPE_ULONGLONG, 2))) +-#endif +-#ifdef BLKIOMIN + IOCTL(BLKIOMIN, IOC_R, MK_PTR(TYPE_INT)) +-#endif +-#ifdef BLKIOOPT + IOCTL(BLKIOOPT, IOC_R, MK_PTR(TYPE_INT)) +-#endif +-#ifdef BLKALIGNOFF + IOCTL(BLKALIGNOFF, IOC_R, MK_PTR(TYPE_INT)) +-#endif +-#ifdef BLKPBSZGET + IOCTL(BLKPBSZGET, IOC_R, MK_PTR(TYPE_INT)) +-#endif +-#ifdef BLKDISCARDZEROES + IOCTL(BLKDISCARDZEROES, IOC_R, MK_PTR(TYPE_INT)) +-#endif +-#ifdef BLKSECDISCARD + IOCTL(BLKSECDISCARD, IOC_W, MK_PTR(MK_ARRAY(TYPE_ULONGLONG, 2))) +-#endif +-#ifdef BLKROTATIONAL + IOCTL(BLKROTATIONAL, IOC_R, MK_PTR(TYPE_SHORT)) +-#endif +-#ifdef BLKZEROOUT + IOCTL(BLKZEROOUT, IOC_W, MK_PTR(MK_ARRAY(TYPE_ULONGLONG, 2))) +-#endif + + IOCTL(FDMSGON, 0, TYPE_NULL) + IOCTL(FDMSGOFF, 0, TYPE_NULL) +@@ -149,17 +129,13 @@ + IOCTL(FDTWADDLE, 0, TYPE_NULL) + IOCTL(FDEJECT, 0, TYPE_NULL) + +-#ifdef FIBMAP + IOCTL(FIBMAP, IOC_W | IOC_R, MK_PTR(TYPE_LONG)) +-#endif + #ifdef FICLONE + IOCTL(FICLONE, IOC_W, TYPE_INT) + IOCTL(FICLONERANGE, IOC_W, MK_PTR(MK_STRUCT(STRUCT_file_clone_range))) + #endif + +-#ifdef FIGETBSZ + IOCTL(FIGETBSZ, IOC_R, MK_PTR(TYPE_LONG)) +-#endif + #ifdef CONFIG_FIEMAP + IOCTL_SPECIAL(FS_IOC_FIEMAP, IOC_W | IOC_R, do_ioctl_fs_ioc_fiemap, + MK_PTR(MK_STRUCT(STRUCT_fiemap))) diff --git a/meson-enforce-a-minimum-Linux-kernel-hea.patch b/meson-enforce-a-minimum-Linux-kernel-hea.patch new file mode 100644 index 00000000..244127db --- /dev/null +++ b/meson-enforce-a-minimum-Linux-kernel-hea.patch @@ -0,0 +1,62 @@ +From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= +Date: Tue, 4 Oct 2022 10:32:05 +0100 +Subject: meson: enforce a minimum Linux kernel headers version >= 4.18 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Git-commit: 0000000000000000000000000000000000000000 +Refereces: bsc#1204001 + +Various areas of QEMU have a dependency on Linux kernel header +definitions. This falls under the scope of our supported platforms +matrix, but historically we've not checked for a minimum kernel +headers version. This has made it unclear when we can drop support +for older kernel headers. + + * Alpine 3.14: 5.10 + * CentOS 8: 4.18 + * CentOS 9: 5.14 + * Debian 10: 4.19 + * Debian 11: 5.10 + * Fedora 35: 5.19 + * Fedora 36: 5.19 + * OpenSUSE 15.3: 5.3.0 + * Ubuntu 20.04: 5.4 + * Ubuntu 22.04: 5.15 + +The above ignores the 3rd version digit since distros update their +packages periodically and such updates don't generally affect public +APIs to the extent that it matters for our build time check. + +Overall, we can set the baseline to 4.18 currently. + +Signed-off-by: Daniel P. Berrangé +Signed-off-by: Dario Faggioli +--- + meson.build | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/meson.build b/meson.build +index 09145d35aa3e684e92da7895ac67..a923eedefd56bc1401a111d6d8f7 100644 +--- a/meson.build ++++ b/meson.build +@@ -248,6 +248,18 @@ if targetos == 'linux' + add_project_arguments('-isystem', meson.current_source_dir() / 'linux-headers', + '-isystem', 'linux-headers', + language: ['c', 'cpp']) ++ ++ if not cc.compiles(''' ++ #include ++ int main(void) { ++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 18, 0) ++#error "QEMU requires Linux kernel headers version >= 4.18.0" ++#endif ++ return 0; ++ }''') ++ error('QEMU requires Linux kernel headers version >= 4.18.0') ++endif ++ + endif + + add_project_arguments('-iquote', '.', diff --git a/net-tulip-Restrict-DMA-engine-to-memorie.patch b/net-tulip-Restrict-DMA-engine-to-memorie.patch new file mode 100644 index 00000000..f521bad6 --- /dev/null +++ b/net-tulip-Restrict-DMA-engine-to-memorie.patch @@ -0,0 +1,60 @@ +From: Zheyu Ma +Date: Sun, 21 Aug 2022 20:43:43 +0800 +Subject: net: tulip: Restrict DMA engine to memories + +Git-commit: 36a894aeb64a2e02871016da1c37d4a4ca109182 +References: bsc#1202665, CVE-2022-2962 + +The DMA engine is started by I/O access and then itself accesses the +I/O registers, triggering a reentrancy bug. + +The following log can reveal it: +==5637==ERROR: AddressSanitizer: stack-overflow + #0 0x5595435f6078 in tulip_xmit_list_update qemu/hw/net/tulip.c:673 + #1 0x5595435f204a in tulip_write qemu/hw/net/tulip.c:805:13 + #2 0x559544637f86 in memory_region_write_accessor qemu/softmmu/memory.c:492:5 + #3 0x5595446379fa in access_with_adjusted_size qemu/softmmu/memory.c:554:18 + #4 0x5595446372fa in memory_region_dispatch_write qemu/softmmu/memory.c + #5 0x55954468b74c in flatview_write_continue qemu/softmmu/physmem.c:2825:23 + #6 0x559544683662 in flatview_write qemu/softmmu/physmem.c:2867:12 + #7 0x5595446833f3 in address_space_write qemu/softmmu/physmem.c:2963:18 + #8 0x5595435fb082 in dma_memory_rw_relaxed qemu/include/sysemu/dma.h:87:12 + #9 0x5595435fb082 in dma_memory_rw qemu/include/sysemu/dma.h:130:12 + #10 0x5595435fb082 in dma_memory_write qemu/include/sysemu/dma.h:171:12 + #11 0x5595435fb082 in stl_le_dma qemu/include/sysemu/dma.h:272:1 + #12 0x5595435fb082 in stl_le_pci_dma qemu/include/hw/pci/pci.h:910:1 + #13 0x5595435fb082 in tulip_desc_write qemu/hw/net/tulip.c:101:9 + #14 0x5595435f7e3d in tulip_xmit_list_update qemu/hw/net/tulip.c:706:9 + #15 0x5595435f204a in tulip_write qemu/hw/net/tulip.c:805:13 + +Fix this bug by restricting the DMA engine to memories regions. + +Signed-off-by: Zheyu Ma +Signed-off-by: Jason Wang +Signed-off-by: Dario Faggioli +--- + hw/net/tulip.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/hw/net/tulip.c b/hw/net/tulip.c +index 097e905bec296dd1c5e96771ef63..b9e42c322ab1fb92416adfc5fda9 100644 +--- a/hw/net/tulip.c ++++ b/hw/net/tulip.c +@@ -70,7 +70,7 @@ static const VMStateDescription vmstate_pci_tulip = { + static void tulip_desc_read(TULIPState *s, hwaddr p, + struct tulip_descriptor *desc) + { +- const MemTxAttrs attrs = MEMTXATTRS_UNSPECIFIED; ++ const MemTxAttrs attrs = { .memory = true }; + + if (s->csr[0] & CSR0_DBO) { + ldl_be_pci_dma(&s->dev, p, &desc->status, attrs); +@@ -88,7 +88,7 @@ static void tulip_desc_read(TULIPState *s, hwaddr p, + static void tulip_desc_write(TULIPState *s, hwaddr p, + struct tulip_descriptor *desc) + { +- const MemTxAttrs attrs = MEMTXATTRS_UNSPECIFIED; ++ const MemTxAttrs attrs = { .memory = true }; + + if (s->csr[0] & CSR0_DBO) { + stl_be_pci_dma(&s->dev, p, desc->status, attrs); diff --git a/qemu.changes b/qemu.changes index bb3f55c1..3a8060fa 100644 --- a/qemu.changes +++ b/qemu.changes @@ -1,3 +1,31 @@ +------------------------------------------------------------------- +Tue Oct 4 11:49:53 UTC 2022 - Dario Faggioli + +- Fix bsc#1204001. Patches are not upstream, and have been picked up + and backported from the ML. This is something we usually prefer to + avoid, but this is urgent, and the patches looks fine, with high + chances for them to be included as they are (and if they're not, we + will revisit this, i.e., drop them and re-include the ones that are + actually committed) +* Patches added: + linux-user-add-more-compat-ioctl-definit.patch + linux-user-drop-conditionals-for-obsolet.patch + linux-user-remove-conditionals-for-many-.patch + meson-enforce-a-minimum-Linux-kernel-hea.patch + +------------------------------------------------------------------- +Tue Oct 4 11:07:14 UTC 2022 - Dario Faggioli + +- Improve the output of update_git.sh, by including the list of + repos to which we have downstream patches. + +------------------------------------------------------------------- +Fri Sep 30 14:16:50 UTC 2022 - Dario Faggioli + +- Fix: bsc#1202665, CVE-2022-2962 +* Patches added: + net-tulip-Restrict-DMA-engine-to-memorie.patch + ------------------------------------------------------------------- Fri Sep 30 12:48:20 UTC 2022 - Dirk Müller diff --git a/qemu.spec b/qemu.spec index 6129fc2a..08915fa2 100644 --- a/qemu.spec +++ b/qemu.spec @@ -189,6 +189,11 @@ Patch00026: Make-installed-scripts-explicitly-python.patch Patch00027: meson-install-ivshmem-client-and-ivshmem.patch Patch00028: meson-remove-pkgversion-from-CONFIG_STAM.patch Patch00029: linux-user-use-max-as-default-CPU-model-.patch +Patch00030: net-tulip-Restrict-DMA-engine-to-memorie.patch +Patch00031: linux-user-add-more-compat-ioctl-definit.patch +Patch00032: linux-user-remove-conditionals-for-many-.patch +Patch00033: meson-enforce-a-minimum-Linux-kernel-hea.patch +Patch00034: linux-user-drop-conditionals-for-obsolet.patch # Patches applied in roms/seabios/: Patch01000: seabios-switch-to-python3-as-needed.patch Patch01001: enable-cross-compilation-on-ARM.patch diff --git a/update_git.sh b/update_git.sh index 99bdde4f..6b09959a 100644 --- a/update_git.sh +++ b/update_git.sh @@ -1069,6 +1069,19 @@ else # not LATEST echo "To modify package patches, use the frombundle branch as the basis for updating" echo "the $GIT_BRANCH branch with the new patch queue, e.g., like this:" echo " git checkout -f --recurse-submodules -B $GIT_BRANCH frombundle" + echo "in the following repositories:" + for R in $(grep "Patches applied" $PKG.spec | awk '{print $(NF)}'|sed 's/:$//'); do + for (( i=0; i <$REPO_COUNT; i++ )); do + if [ "${R}" = "project" ]; then + echo " * ${LOCAL_REPO_MAP[0]}" + continue 2 + fi + if [ "${R}" = "${PATCH_PATH_MAP[$i]}" ]; then + echo " * ${LOCAL_REPO_MAP[$i]}" + continue 2 + fi + done + done echo "Then make your changes and, when done, export them back to the package with:" echo " bash ./update_git.sh git2pkg" ;;