Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package linuxrc for openSUSE:Factory checked in at 2021-06-15 16:37:07 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/linuxrc (Old) and /work/SRC/openSUSE:Factory/.linuxrc.new.32437 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "linuxrc" Tue Jun 15 16:37:07 2021 rev:299 rq:899666 version:8.0.1 Changes: -------- --- /work/SRC/openSUSE:Factory/linuxrc/linuxrc.changes 2021-04-27 21:34:23.831957620 +0200 +++ /work/SRC/openSUSE:Factory/.linuxrc.new.32437/linuxrc.changes 2021-06-15 16:37:25.157702037 +0200 @@ -1,0 +2,8 @@ +Thu Jun 10 06:56:01 UTC 2021 - [email protected] + +- merge gh#openSUSE/linuxrc#264 +- prevent memory corruption while iterating through network device + list (bsc#1187014) +- 8.0.1 + +-------------------------------------------------------------------- Old: ---- linuxrc-8.0.0.tar.xz New: ---- linuxrc-8.0.1.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ linuxrc.spec ++++++ --- /var/tmp/diff_new_pack.SjltOI/_old 2021-06-15 16:37:25.685702951 +0200 +++ /var/tmp/diff_new_pack.SjltOI/_new 2021-06-15 16:37:25.689702959 +0200 @@ -17,7 +17,7 @@ Name: linuxrc -Version: 8.0.0 +Version: 8.0.1 Release: 0 Summary: SUSE Installation Program License: GPL-3.0+ ++++++ linuxrc-8.0.0.tar.xz -> linuxrc-8.0.1.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/linuxrc-8.0.0/VERSION new/linuxrc-8.0.1/VERSION --- old/linuxrc-8.0.0/VERSION 2021-04-27 12:59:37.000000000 +0200 +++ new/linuxrc-8.0.1/VERSION 2021-06-10 08:56:01.000000000 +0200 @@ -1 +1 @@ -8.0.0 +8.0.1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/linuxrc-8.0.0/changelog new/linuxrc-8.0.1/changelog --- old/linuxrc-8.0.0/changelog 2021-04-27 12:59:37.000000000 +0200 +++ new/linuxrc-8.0.1/changelog 2021-06-10 08:56:01.000000000 +0200 @@ -1,3 +1,8 @@ +2021-06-10: 8.0.1 + - merge gh#openSUSE/linuxrc#264 + - prevent memory corruption while iterating through network device + list (bsc#1187014) + 2021-04-27: 8.0.0 - merge gh#openSUSE/linuxrc#257 - rescue: leave linking modules to prep script diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/linuxrc-8.0.0/global.h new/linuxrc-8.0.1/global.h --- old/linuxrc-8.0.0/global.h 2021-04-27 12:59:37.000000000 +0200 +++ new/linuxrc-8.0.1/global.h 2021-06-10 08:56:01.000000000 +0200 @@ -460,6 +460,7 @@ unsigned autoyast_passurl:1; /**< pass autoyast url unmodified on to yast */ unsigned device_auto_config:2; /**< run s390 device auto-config (cf. bsc#1168036) */ unsigned device_auto_config_done:1; /**< set after s390 device auto-config has been run */ + unsigned lock_device_list; /**< prevent device list updates if != 0 */ struct { char *root_size; /**< zram root fs size (e.g. "1G" or "512M") */ char *swap_size; /**< zram swap size (e.g. "1G" or "512M") */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/linuxrc-8.0.0/url.c new/linuxrc-8.0.1/url.c --- old/linuxrc-8.0.0/url.c 2021-04-27 12:59:37.000000000 +0200 +++ new/linuxrc-8.0.1/url.c 2021-06-10 08:56:01.000000000 +0200 @@ -1879,6 +1879,8 @@ str_copy(&url_device, url->device); if(!url_device) str_copy(&url_device, url->is.network ? config.ifcfg.manual->device : config.device); + config.lock_device_list++; + for(found = 0, hd = sort_a_bit(fix_device_names(hd_list2(config.hd_data, hw_items, 0))); hd; hd = hd->next) { for(hwaddr = NULL, res = hd->res; res; res = res->next) { if(res->any.type == res_hwaddr) { @@ -1930,6 +1932,8 @@ } } + config.lock_device_list--; + if(!found) { log_info("device not found (err = %d): %s\n", err, url_device ?: ""); } @@ -2503,6 +2507,8 @@ if(config.hd_data) { str_copy(&url_device, url->device ?: config.ifcfg.manual->device); + config.lock_device_list++; + for(found = 0, hd = sort_a_bit(hd_list2(config.hd_data, hw_items, 0)); hd; hd = hd->next) { for(hwaddr = NULL, res = hd->res; res; res = res->next) { if(res->any.type == res_hwaddr) { @@ -2537,6 +2543,8 @@ if(config.sig_failed || config.digests.failed) break; } + config.lock_device_list--; + if(!found) { str_copy(&url->used.device, NULL); str_copy(&url->used.model, NULL); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/linuxrc-8.0.0/util.c new/linuxrc-8.0.1/util.c --- old/linuxrc-8.0.0/util.c 2021-04-27 12:59:37.000000000 +0200 +++ new/linuxrc-8.0.1/util.c 2021-06-10 08:56:01.000000000 +0200 @@ -4001,6 +4001,8 @@ /* * Update device list in config.hd_data (if udev got new events). + * + * Do nothing if config.lock_device_list is != 0. */ void update_device_list(int force) { @@ -4026,6 +4028,11 @@ if(!force) return; + if(config.lock_device_list) { + log_info("device list locked - no update\n"); + return; + } + log_info("%sscanning devices\n", config.hd_data ? "re" : ""); if(config.hd_data) {
