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) {

Reply via email to