From 745b8a9324f7e8ce5d4194c743586e4ccf0ac138 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 20 Jan 2022 13:25:05 +0000 Subject: [PATCH 01/14] - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- iprutils.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/iprutils.spec b/iprutils.spec index c406c18..67a43df 100644 --- a/iprutils.spec +++ b/iprutils.spec @@ -3,7 +3,7 @@ Summary: Utilities for the IBM Power Linux RAID adapters Name: iprutils Version: 2.4.19 -Release: 4%{?dist} +Release: 5%{?dist} License: CPL URL: https://github.com/bjking1/iprutils Source0: https://github.com/bjking1/iprutils/archive/%{gitver}/%{name}-%{version}.tar.gz @@ -75,6 +75,9 @@ rm %{buildroot}/%{_sysconfdir}/ha.d/resource.d/iprha %changelog +* Thu Jan 20 2022 Fedora Release Engineering - 2.4.19-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + * Thu Jul 22 2021 Fedora Release Engineering - 2.4.19-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild From cb03a5fee6d314ba42ff19c11ac7c25430ab28d9 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 21 Jul 2022 14:48:48 +0000 Subject: [PATCH 02/14] Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- iprutils.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/iprutils.spec b/iprutils.spec index 67a43df..c286e2e 100644 --- a/iprutils.spec +++ b/iprutils.spec @@ -3,7 +3,7 @@ Summary: Utilities for the IBM Power Linux RAID adapters Name: iprutils Version: 2.4.19 -Release: 5%{?dist} +Release: 6%{?dist} License: CPL URL: https://github.com/bjking1/iprutils Source0: https://github.com/bjking1/iprutils/archive/%{gitver}/%{name}-%{version}.tar.gz @@ -75,6 +75,9 @@ rm %{buildroot}/%{_sysconfdir}/ha.d/resource.d/iprha %changelog +* Thu Jul 21 2022 Fedora Release Engineering - 2.4.19-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + * Thu Jan 20 2022 Fedora Release Engineering - 2.4.19-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild From 79b29b5f3cf7d24ecfefc74e789e33878b0f019a Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 19 Jan 2023 13:18:48 +0000 Subject: [PATCH 03/14] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- iprutils.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/iprutils.spec b/iprutils.spec index c286e2e..a52133c 100644 --- a/iprutils.spec +++ b/iprutils.spec @@ -3,7 +3,7 @@ Summary: Utilities for the IBM Power Linux RAID adapters Name: iprutils Version: 2.4.19 -Release: 6%{?dist} +Release: 7%{?dist} License: CPL URL: https://github.com/bjking1/iprutils Source0: https://github.com/bjking1/iprutils/archive/%{gitver}/%{name}-%{version}.tar.gz @@ -75,6 +75,9 @@ rm %{buildroot}/%{_sysconfdir}/ha.d/resource.d/iprha %changelog +* Thu Jan 19 2023 Fedora Release Engineering - 2.4.19-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + * Thu Jul 21 2022 Fedora Release Engineering - 2.4.19-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild From cad6a4ba5d6a309dd45b281239c82fa7e64e21bb Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 20 Jul 2023 07:34:59 +0000 Subject: [PATCH 04/14] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- iprutils.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/iprutils.spec b/iprutils.spec index a52133c..e250df6 100644 --- a/iprutils.spec +++ b/iprutils.spec @@ -3,7 +3,7 @@ Summary: Utilities for the IBM Power Linux RAID adapters Name: iprutils Version: 2.4.19 -Release: 7%{?dist} +Release: 8%{?dist} License: CPL URL: https://github.com/bjking1/iprutils Source0: https://github.com/bjking1/iprutils/archive/%{gitver}/%{name}-%{version}.tar.gz @@ -75,6 +75,9 @@ rm %{buildroot}/%{_sysconfdir}/ha.d/resource.d/iprha %changelog +* Thu Jul 20 2023 Fedora Release Engineering - 2.4.19-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + * Thu Jan 19 2023 Fedora Release Engineering - 2.4.19-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild From ef134128fe4b05c040c606a837bc46bdf788a8f7 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 20 Jan 2024 23:14:49 +0000 Subject: [PATCH 05/14] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- iprutils.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/iprutils.spec b/iprutils.spec index e250df6..70909e8 100644 --- a/iprutils.spec +++ b/iprutils.spec @@ -3,7 +3,7 @@ Summary: Utilities for the IBM Power Linux RAID adapters Name: iprutils Version: 2.4.19 -Release: 8%{?dist} +Release: 9%{?dist} License: CPL URL: https://github.com/bjking1/iprutils Source0: https://github.com/bjking1/iprutils/archive/%{gitver}/%{name}-%{version}.tar.gz @@ -75,6 +75,9 @@ rm %{buildroot}/%{_sysconfdir}/ha.d/resource.d/iprha %changelog +* Sat Jan 20 2024 Fedora Release Engineering - 2.4.19-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Thu Jul 20 2023 Fedora Release Engineering - 2.4.19-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild From d9d1adf690f17444eaf7e8892a61f79eb5099795 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 24 Jan 2024 22:53:36 +0000 Subject: [PATCH 06/14] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- iprutils.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/iprutils.spec b/iprutils.spec index 70909e8..60ef0de 100644 --- a/iprutils.spec +++ b/iprutils.spec @@ -3,7 +3,7 @@ Summary: Utilities for the IBM Power Linux RAID adapters Name: iprutils Version: 2.4.19 -Release: 9%{?dist} +Release: 10%{?dist} License: CPL URL: https://github.com/bjking1/iprutils Source0: https://github.com/bjking1/iprutils/archive/%{gitver}/%{name}-%{version}.tar.gz @@ -75,6 +75,9 @@ rm %{buildroot}/%{_sysconfdir}/ha.d/resource.d/iprha %changelog +* Wed Jan 24 2024 Fedora Release Engineering - 2.4.19-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Sat Jan 20 2024 Fedora Release Engineering - 2.4.19-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 258bf6598e9e50a1f1902d310307550edec72fab Mon Sep 17 00:00:00 2001 From: Than Ngo Date: Mon, 8 Jul 2024 14:53:46 +0200 Subject: [PATCH 07/14] - fixed covscan issues and test - limit to ppc64le --- iprutils-2.4.19-covscan.patch | 449 ++++++++++++++++++++++ iprutils.spec | 10 +- tests/basic-functionality-test/runtest.sh | 4 +- 3 files changed, 460 insertions(+), 3 deletions(-) create mode 100644 iprutils-2.4.19-covscan.patch diff --git a/iprutils-2.4.19-covscan.patch b/iprutils-2.4.19-covscan.patch new file mode 100644 index 0000000..87b4e66 --- /dev/null +++ b/iprutils-2.4.19-covscan.patch @@ -0,0 +1,449 @@ +diff -up iprutils-rel-2-4-19/iprconfig.c.me iprutils-rel-2-4-19/iprconfig.c +--- iprutils-rel-2-4-19/iprconfig.c.me 2024-06-17 12:10:54.493119641 +0200 ++++ iprutils-rel-2-4-19/iprconfig.c 2024-06-18 11:20:17.885495296 +0200 +@@ -2483,7 +2483,7 @@ static char *disk_details(char *body, st + char vendor_id[IPR_VENDOR_ID_LEN+1]; + char serial_num[IPR_SERIAL_NUM_LEN+1]; + char buffer[100]; +- int len, scsi_channel, scsi_id, scsi_lun; ++ int len = 0, scsi_channel = 0, scsi_id = 0, scsi_lun = 0; + + device_record = (struct ipr_dev_record *)dev->dev_rcd; + +@@ -2633,7 +2633,7 @@ int get_ses_phy_loc(struct ipr_dev *dev) + int rc, i, ret = 1; + struct ses_inquiry_page0 ses_page0_inq; + struct ses_serial_num_vpd ses_vpd_inq; +- struct esm_serial_num_vpd esm_vpd_inq; ++ struct esm_serial_num_vpd esm_vpd_inq = {0}; + char buffer[100]; + + memset(&ses_vpd_inq, 0, sizeof(ses_vpd_inq)); +@@ -2649,18 +2649,18 @@ int get_ses_phy_loc(struct ipr_dev *dev) + + if (ret == 0 ) { + dev->physical_location[0] = '\0'; +- strncat(dev->physical_location, "U", strlen("U")); ++ strcat(dev->physical_location, "U"); + ipr_strncpy_0(buffer, (char *)ses_vpd_inq.feature_code, + sizeof(ses_vpd_inq.feature_code)); +- strncat(dev->physical_location, buffer, strlen(buffer)); ++ strncat(dev->physical_location, buffer, sizeof(dev->physical_location) - strlen(dev->physical_location) -1); + ipr_strncpy_0(buffer, (char *)ses_vpd_inq.count, + sizeof(ses_vpd_inq.count)); +- strncat(dev->physical_location, ".", strlen(".")); +- strncat(dev->physical_location, buffer, strlen(buffer)); ++ strcat(dev->physical_location, "."); ++ strncat(dev->physical_location, buffer, sizeof(dev->physical_location) - strlen(dev->physical_location) -1); + ipr_strncpy_0(buffer, (char *)ses_vpd_inq.ses_serial_num, + sizeof(ses_vpd_inq.ses_serial_num)); +- strncat(dev->physical_location, ".", strlen(".")); +- strncat(dev->physical_location, buffer, strlen(buffer)); ++ strcat(dev->physical_location, "."); ++ strncat(dev->physical_location, buffer, sizeof(dev->physical_location) - strlen(dev->physical_location) -1); + + } + +@@ -2676,8 +2676,8 @@ int get_ses_phy_loc(struct ipr_dev *dev) + ipr_strncpy_0((char *)&dev->serial_number, (char *)&esm_vpd_inq.esm_serial_num[0], sizeof(esm_vpd_inq.esm_serial_num)); + ipr_strncpy_0(buffer, (char *)esm_vpd_inq.frb_label, + sizeof(esm_vpd_inq.frb_label)); +- strncat(dev->physical_location, "-", strlen("-")); +- strncat(dev->physical_location, buffer, strlen(buffer)); ++ strcat(dev->physical_location, "-"); ++ strncat(dev->physical_location, buffer, sizeof(dev->physical_location) - strlen(dev->physical_location) -1); + return 0; + } + } +@@ -3313,7 +3313,7 @@ static int raid_stop_complete() + **/ + int do_confirm_raid_stop(i_container *i_con) + { +- struct ipr_dev *vset; ++ struct ipr_dev *vset = NULL; + struct array_cmd_data *cur_raid_cmd; + struct ipr_ioa *ioa; + int rc; +@@ -3715,7 +3715,7 @@ int configure_raid_parameters(i_containe + int ch, start_row; + int cur_field_index; + int selected_count = 0, ssd_num = 0, hdd_num = 0; +- int stripe_sz, stripe_sz_mask, stripe_sz_list[16]; ++ int stripe_sz, stripe_sz_mask, stripe_sz_list[16] = {0}; + struct prot_level *prot_level_list; + int *userptr = NULL; + int *retptr; +@@ -3979,7 +3979,7 @@ int configure_raid_parameters(i_containe + sprintf(stripe_menu_str[index].line,"%d k",stripe_sz_mask); + + if (stripe_sz_mask == ntohs(cap_entry->recommended_stripe_size)) { +- sprintf(buffer,_("%s - recommend"),stripe_menu_str[index].line); ++ snprintf(buffer, sizeof(buffer), _("%s - recommend"),stripe_menu_str[index].line); + raid_item[index] = new_item(buffer, ""); + } else { + raid_item[index] = new_item(stripe_menu_str[index].line, ""); +@@ -7486,7 +7486,7 @@ int remove_or_add_back_device_64bit(stru + int res_path_len, dev_slot; + struct ipr_dev *sec_dev, *tmp_dev; + char new_sysfs_res_path[IPR_MAX_RES_PATH_LEN]; +- int rc; ++ int rc = 0; + + res_path_len = strlen(dev->res_path_name); + dev_slot = strtoul(dev->res_path_name + (res_path_len - 2), NULL, 16); +@@ -7558,7 +7558,7 @@ int process_conc_maint(i_container *i_co + int toggle=0; + s_node *n_screen; + struct screen_output *s_out; +- struct ipr_res_addr res_addr; ++ struct ipr_res_addr res_addr = {0}; + struct ipr_res_path res_path[2]; + int max_y, max_x; + +@@ -7905,7 +7905,7 @@ static struct ipr_dev *alloc_empty_slot( + dev->ses[0] = ses; + dev->ioa = ioa; + dev->physical_location[0] = '\0'; +- strncat(dev->physical_location, phy_loc, strlen(phy_loc)); ++ strncat(dev->physical_location, phy_loc, sizeof(dev->physical_location) - strlen(dev->physical_location) -1); + get_res_addrs(dev); + return dev; + } +@@ -7948,7 +7948,7 @@ static struct ipr_dev *alloc_empty_slot_ + dev->ses[0] = ses; + dev->ioa = ioa; + dev->physical_location[0] = '\0'; +- strncat(dev->physical_location, phy_loc, strlen(phy_loc)); ++ strncat(dev->physical_location, phy_loc, sizeof(dev->physical_location) - strlen(dev->physical_location) -1); + get_res_path(dev); + return dev; + } +@@ -8020,7 +8020,7 @@ static struct ipr_dev *get_dev_for_slot( + } + dev->physical_location[0] = '\0'; + if (strlen(phy_loc)) +- strncat(dev->physical_location, phy_loc, strlen(phy_loc)); ++ strncat(dev->physical_location, phy_loc, sizeof(dev->physical_location) - strlen(dev->physical_location) -1); + return dev; + } + } +@@ -8068,7 +8068,7 @@ static struct ipr_dev *get_dev_for_slot_ + } + dev->physical_location[0] = '\0'; + if (strlen(phy_loc)) +- strncat(dev->physical_location, phy_loc, strlen(phy_loc)); ++ strncat(dev->physical_location, phy_loc, sizeof(dev->physical_location) - strlen(dev->physical_location) -1); + return dev; + + } +@@ -8282,7 +8282,7 @@ static int get_conc_devs(struct ipr_dev + int ses_bus, scsi_id_found, is_spi, is_vses; + struct ipr_ses_config_pg ses_cfg; + struct drive_elem_desc_pg drive_data; +- char phy_loc[PHYSICAL_LOCATION_LENGTH + 1]; ++ char phy_loc[PHYSICAL_LOCATION_LENGTH + 1] = {0}; + int times, index; + + for_each_primary_ioa(ioa) { +@@ -11447,7 +11447,7 @@ int change_ioa_config(i_container * i_co + * number of options showed at screen. It should be more generic... + */ + struct ioa_config_attr *config_attr = NULL; +- struct ipr_ioa_attr ioa_attr; ++ struct ipr_ioa_attr ioa_attr = {0}; + int header_lines = 0, index = 0; + char *body = NULL; + struct screen_output *s_out; +@@ -12418,8 +12418,7 @@ int ibm_storage_log(i_container *i_con) + (*dirent)->d_name); + logsource_fp = gzopen(logfile, "r"); + if (logsource_fp == NULL) { +- syslog(LOG_ERR, "Could not open %s: %m\n", line); +- close(log_fd); ++ syslog(LOG_ERR, "Could not open %s: %m\n", logfile); + continue; /* proceed to next log file */ + } + +@@ -12524,8 +12523,7 @@ int kernel_log(i_container *i_con) + (*dirent)->d_name); + logsource_fp = gzopen(logfile, "r"); + if (logsource_fp == NULL) { +- syslog(LOG_ERR, "Could not open %s: %m\n", line); +- close(log_fd); ++ syslog(LOG_ERR, "Could not open %s: %m\n", logfile); + continue; /* proceed to next log file */ + } + +@@ -12602,8 +12600,7 @@ int iprconfig_log(i_container *i_con) + (*dirent)->d_name); + logsource_fp = gzopen(logfile, "r"); + if (logsource_fp == NULL) { +- syslog(LOG_ERR, "Could not open %s: %m\n", line); +- close(log_fd); ++ syslog(LOG_ERR, "Could not open %s: %m\n", logfile); + continue; /* proceed to next log file */ + } + +@@ -12855,7 +12852,7 @@ int ibm_boot_log(i_container *i_con) + snprintf(logfile, sizeof(logfile), "%s/boot.msg", log_root_dir); + logsource_fp = fopen(logfile, "r"); + if (!logsource_fp) { +- syslog(LOG_ERR, "Could not open %s: %m\n", line); ++ syslog(LOG_ERR, "Could not open %s: %m\n", logfile); + free(tmp_log); + close(log_fd); + return RC_75_Failed_Read_Err_Log; +@@ -12917,7 +12914,7 @@ static void get_status(struct ipr_dev *d + int blk_size = 0; + struct ipr_mode_pages mode_pages; + struct ipr_block_desc *block_desc; +- struct sense_data_t sense_data; ++ struct sense_data_t sense_data = {0}; + struct ipr_cmd_status cmd_status; + struct ipr_cmd_status_record *status_record; + int percent_cmplt = 0; +@@ -13261,7 +13258,7 @@ static char *print_phy64(struct ipr_fabr + ipr_format_res_path_wo_hyphen(cfg->res_path, buffer, IPR_MAX_RES_PATH_LEN); + ff_len = res_path_len - strlen(buffer); + for ( i = 0; i < ff_len; i++) +- strncat(buffer, "F", strlen("F")); ++ strcat(buffer, "F"); + + len += sprintf(body + len, "%s", buffer); + +@@ -13419,8 +13416,8 @@ char *__print_device(struct ipr_dev *dev + char res_path_name[IPR_MAX_RES_PATH_LEN]; + int tab_stop = 0; + int loc_len = 0; +- char vendor_id[IPR_VENDOR_ID_LEN + 1]; +- char product_id[IPR_PROD_ID_LEN + 1]; ++ char vendor_id[IPR_VENDOR_ID_LEN + 1] = {0}; ++ char product_id[IPR_PROD_ID_LEN + 1] = {0}; + struct ipr_ioa *ioa = dev->ioa, *ioa_phy_loc; + bool is4k = false, isri = false; + +@@ -14009,7 +14006,7 @@ static void curses_init() + **/ + static int format_devices(char **args, int num_args, int fmt_flag) + { +- int i, rc, blksz; ++ int i, rc, blksz = 0; + struct ipr_dev *dev; + + for (i = 0; i < num_args; i++) { +@@ -17779,7 +17776,7 @@ static int get_drive_phy_loc(struct ipr_ + struct ipr_ses_config_pg ses_cfg; + int ses_bus, scsi_id_found, is_spi, is_vses; + struct drive_elem_desc_pg drive_data; +- char phy_loc[PHYSICAL_LOCATION_LENGTH + 1]; ++ char phy_loc[PHYSICAL_LOCATION_LENGTH + 1] = {0}; + int times, index; + + is_spi = ioa_is_spi(ioa); +@@ -18222,7 +18219,7 @@ static int set_ioa_caching(char **args, + static int set_array_rebuild_verify(char **args, int num_args) + { + int rc; +- struct ipr_ioa_attr attr; ++ struct ipr_ioa_attr attr = {0}; + struct ipr_ioa *ioa; + struct ipr_dev *dev; + int disable_rebuild_verify; +@@ -18318,7 +18315,7 @@ static int set_array_rebuild_rate(char** + int err_rebuild_rate = 0; + int rebuild_rate = 0; + int rc; +- struct ipr_ioa_attr attr; ++ struct ipr_ioa_attr attr = {0}; + struct ipr_ioa *ioa; + struct ipr_dev *dev; + +@@ -18382,7 +18379,7 @@ static int set_array_rebuild_rate(char** + **/ + static int query_array_rebuild_rate(char**args, int num_args) + { +- struct ipr_ioa_attr attr; ++ struct ipr_ioa_attr attr = {0}; + struct ipr_ioa *ioa; + struct ipr_dev *dev; + int rebuild_rate = 0; +diff -up iprutils-rel-2-4-19/iprconfig.h.me iprutils-rel-2-4-19/iprconfig.h +diff -up iprutils-rel-2-4-19/iprdump.c.me iprutils-rel-2-4-19/iprdump.c +--- iprutils-rel-2-4-19/iprdump.c.me 2024-06-17 17:12:49.846400485 +0200 ++++ iprutils-rel-2-4-19/iprdump.c 2024-06-18 00:41:47.907738323 +0200 +@@ -23,6 +23,7 @@ + #define MAX_DUMP_FILES 4 + #define TOOL_NAME "iprdump" + #define DUMP_PREFIX TOOL_NAME"." ++#define MAX_PATH_LENGTH 1024 + + char *tool_name = TOOL_NAME; + +@@ -156,7 +157,7 @@ static int dump_sort(const struct dirent + static void cleanup_old_dumps() + { + struct dirent **dirent; +- char fname[100]; ++ char fname[MAX_PATH_LENGTH]; + int rc, i; + + rc = scandir(usr_dir, &dirent, select_dump_file, dump_sort); +@@ -226,7 +227,7 @@ static void write_dump(struct ipr_ioa *i + if (get_dump_fname(dump_file)) + return; + +- sprintf(dump_path, "%s%s", usr_dir, dump_file); ++ snprintf(dump_path, sizeof(dump_path), "%s%s", usr_dir, dump_file); + f_dump = creat(dump_path, S_IRUSR); + if (f_dump < 0) { + syslog(LOG_ERR, "Cannot open %s. %m\n", dump_path); +@@ -347,7 +348,7 @@ int main(int argc, char *argv[]) + if (strcmp(argv[i], "-d") == 0) { + strcpy(usr_dir,argv[++i]); + len = strlen(usr_dir); +- if (len < sizeof(usr_dir) && usr_dir[len] != '/') { ++ if (len < sizeof(usr_dir) - 2 && usr_dir[len] != '/') { + usr_dir[len + 1] = '/'; + usr_dir[len + 2] = '\0'; + } +diff -up iprutils-rel-2-4-19/iprlib.c.me iprutils-rel-2-4-19/iprlib.c +--- iprutils-rel-2-4-19/iprlib.c.me 2024-06-17 12:22:56.983740856 +0200 ++++ iprutils-rel-2-4-19/iprlib.c 2024-06-18 10:09:20.716132953 +0200 +@@ -2063,8 +2063,9 @@ static void ipr_get_pci_slots() + if (strcmp(pci_slot[i].pci_device, ioa->pci_address) && + strcmp(pci_slot[i].slot_name, ioa->pci_address)) + continue; +- strcpy(ioa->physical_location, +- pci_slot[i].physical_name); ++ strncpy(ioa->physical_location, ++ pci_slot[i].physical_name, sizeof(ioa->physical_location) - 1); ++ ioa->physical_location[sizeof(ioa->physical_location) - 1] = '\0'; + break; + } + } +@@ -2101,7 +2102,7 @@ void load_system_p_oper_mode() + **/ + static int __tool_init(int save_state) + { +- int temp, fw_type; ++ int temp, fw_type = 0; + struct ipr_ioa *ipr_ioa; + DIR *dirfd, *host_dirfd; + struct dirent *dent, *host_dent; +@@ -2132,13 +2133,15 @@ static int __tool_init(int save_state) + memset(ipr_ioa,0,sizeof(struct ipr_ioa)); + + /* PCI address */ +- strcpy(ipr_ioa->pci_address, dent->d_name); ++ strncpy(ipr_ioa->pci_address, dent->d_name, sizeof(ipr_ioa->pci_address) - 1); ++ ipr_ioa->pci_address[sizeof(ipr_ioa->pci_address) -1] = '\0'; + ipr_ioa->host_num = -1; + sprintf(devpath, "/sys/bus/pci/drivers/ipr/%s", + dent->d_name); + host_dirfd = opendir(devpath); + if (!host_dirfd) { + syslog_dbg("Failed to open scsi_host class.\n"); ++ closedir(dirfd); + return -EAGAIN; + } + while ((host_dent = readdir(host_dirfd)) != NULL) { +@@ -2152,7 +2155,8 @@ static int __tool_init(int save_state) + &ipr_ioa->host_num) != 1) + continue; + +- strcpy(ipr_ioa->host_name, host_dent->d_name); ++ strncpy(ipr_ioa->host_name, host_dent->d_name, sizeof(ipr_ioa->host_name) - 1); ++ ipr_ioa->host_name[sizeof(ipr_ioa->host_name) - 1] = '\0'; + get_pci_attrs(ipr_ioa, devpath); + + sprintf(scsipath, "%s/%s/scsi_host/%s", devpath, +@@ -2188,6 +2192,7 @@ static int __tool_init(int save_state) + len = sysfs_read_attr(devpath, "model", buff, 16); + if (len < 0 || (sscanf(buff, "%4X", &temp) != 1)) { + syslog_dbg("Cannot read SCSI device model.\n"); ++ closedir(dirfd); + return -EAGAIN; + } + ipr_ioa->ccin = temp; +@@ -5747,7 +5752,7 @@ int ipr_set_active_active_mode(struct ip + **/ + int set_active_active_mode(struct ipr_ioa *ioa, int mode) + { +- struct ipr_ioa_attr attr; ++ struct ipr_ioa_attr attr = {0}; + int rc; + + /* Get the current ioa attributes. */ +@@ -5860,7 +5865,7 @@ int get_scsi_dev_data(struct scsi_dev_da + len = sysfs_read_attr(devpath, "resource_path", buff, 256); + if (len > 0) + ipr_strncpy_0n(scsi_dev_data->res_path, +- buff, IPR_MAX_RES_PATH_LEN); ++ buff, IPR_MAX_RES_PATH_LEN-1); + + len = sysfs_read_attr(devpath, "device_id", buff, 256); + if (len > 0) +@@ -6255,15 +6260,19 @@ static void get_prot_levels(struct ipr_i + for_each_array(ioa, array) { + prot_level_str = get_prot_level_str(ioa->supported_arrays, + array->raid_level); +- strncpy(array->prot_level_str, prot_level_str, 8); ++ strncpy(array->prot_level_str, prot_level_str, sizeof(array->prot_level_str) - 1); ++ array->prot_level_str[sizeof(array->prot_level_str) - 1] = '\0'; + } + + for_each_vset(ioa, vset) { + prot_level_str = get_prot_level_str(ioa->supported_arrays, + vset->raid_level); +- strncpy(vset->prot_level_str, prot_level_str, 8); +- for_each_dev_in_vset(vset, dev) +- strncpy(dev->prot_level_str, prot_level_str, 8); ++ strncpy(vset->prot_level_str, prot_level_str, sizeof(vset->prot_level_str) - 1); ++ vset->prot_level_str[sizeof(vset->prot_level_str) - 1] = '\0'; ++ for_each_dev_in_vset(vset, dev) { ++ strncpy(dev->prot_level_str, prot_level_str, sizeof(dev->prot_level_str) - 1); ++ dev->prot_level_str[sizeof(dev->prot_level_str) - 1] = '\0'; ++ } + } + } + +@@ -7038,6 +7047,7 @@ static void ipr_save_attr(struct ipr_ioa + temp_fd = fopen(temp_fname, "w"); + if (temp_fd == NULL) { + syslog(LOG_ERR, "Could not open %s. %m\n", temp_fname); ++ fclose(fd); + return; + } + +@@ -9175,6 +9185,8 @@ int ipr_update_ioa_fw(struct ipr_ioa *io + dir = opendir(hotplug_dir); + if (!dir) + mkdir(hotplug_dir, S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH); ++ else ++ closedir(dir); + + dir = opendir(hotplug_dir); + if (!dir) { +@@ -9356,7 +9368,12 @@ int ipr_ses_get_time(struct ipr_dev *dev + return -EIO; + + *origin = !!get_time.timestamp_origin; +- *timestamp = be64toh(*((u64*) get_time.timestamp)) >> 16; ++ *timestamp = ((u64)get_time.timestamp[0] << 40) | ++ ((u64)get_time.timestamp[1] << 32) | ++ ((u64)get_time.timestamp[2] << 24) | ++ ((u64)get_time.timestamp[3] << 16) | ++ ((u64)get_time.timestamp[4] << 8) | ++ (u64)get_time.timestamp[5]; + return 0; + } + +@@ -9776,7 +9793,7 @@ static void init_gpdd_dev(struct ipr_dev + */ + static void init_af_dev(struct ipr_dev *dev) + { +- struct ipr_disk_attr attr; ++ struct ipr_disk_attr attr = {0}; + int rc; + + if (ipr_set_dasd_timeouts(dev, 0)) diff --git a/iprutils.spec b/iprutils.spec index 60ef0de..6e78121 100644 --- a/iprutils.spec +++ b/iprutils.spec @@ -3,7 +3,7 @@ Summary: Utilities for the IBM Power Linux RAID adapters Name: iprutils Version: 2.4.19 -Release: 10%{?dist} +Release: 11%{?dist} License: CPL URL: https://github.com/bjking1/iprutils Source0: https://github.com/bjking1/iprutils/archive/%{gitver}/%{name}-%{version}.tar.gz @@ -11,6 +11,10 @@ Source0: https://github.com/bjking1/iprutils/archive/%{gitver}/%{name}-%{version # missing man page Source1: iprdbg.8.gz +Patch10: iprutils-2.4.19-covscan.patch + +ExclusiveArch: ppc64le + BuildRequires: libtool BuildRequires: ncurses-devel BuildRequires: libcap-devel @@ -75,6 +79,10 @@ rm %{buildroot}/%{_sysconfdir}/ha.d/resource.d/iprha %changelog +* Mon Jul 08 2024 Than Ngo - 2.4.19-11 +- fixed covscan issues and test +- limit to ppc64le + * Wed Jan 24 2024 Fedora Release Engineering - 2.4.19-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild diff --git a/tests/basic-functionality-test/runtest.sh b/tests/basic-functionality-test/runtest.sh index 93d9ea0..b16a304 100755 --- a/tests/basic-functionality-test/runtest.sh +++ b/tests/basic-functionality-test/runtest.sh @@ -174,8 +174,8 @@ rlJournalStart done # check for sane license and readme file - rlRun "head /usr/share/licenses/iputils/LICENSE" 0 "Check for license file" - rlRun "head /usr/share/doc/iputils/README" 0 "Check for README file" + rlRun "head /usr/share/licenses/iprutils/LICENSE" 0 "Check for license file" + rlRun "head /usr/share/doc/iprutils/README" 0 "Check for README file" rlPhaseEnd rlPhaseStartCleanup rlRun "popd" From 2999637c6532240fb549e66418c834ae141de54d Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 18 Jul 2024 10:33:03 +0000 Subject: [PATCH 08/14] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild --- iprutils.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/iprutils.spec b/iprutils.spec index 6e78121..92c9ddc 100644 --- a/iprutils.spec +++ b/iprutils.spec @@ -3,7 +3,7 @@ Summary: Utilities for the IBM Power Linux RAID adapters Name: iprutils Version: 2.4.19 -Release: 11%{?dist} +Release: 12%{?dist} License: CPL URL: https://github.com/bjking1/iprutils Source0: https://github.com/bjking1/iprutils/archive/%{gitver}/%{name}-%{version}.tar.gz @@ -79,6 +79,9 @@ rm %{buildroot}/%{_sysconfdir}/ha.d/resource.d/iprha %changelog +* Thu Jul 18 2024 Fedora Release Engineering - 2.4.19-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + * Mon Jul 08 2024 Than Ngo - 2.4.19-11 - fixed covscan issues and test - limit to ppc64le From 3cfb3dc7c0601d04c4bb8ae33bdf6de1dcbed6f5 Mon Sep 17 00:00:00 2001 From: Than Ngo Date: Mon, 5 Aug 2024 08:20:22 +0200 Subject: [PATCH 09/14] fix license tag --- iprutils.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/iprutils.spec b/iprutils.spec index 92c9ddc..a917806 100644 --- a/iprutils.spec +++ b/iprutils.spec @@ -3,8 +3,8 @@ Summary: Utilities for the IBM Power Linux RAID adapters Name: iprutils Version: 2.4.19 -Release: 12%{?dist} -License: CPL +Release: 13%{?dist} +License: CPL-1.0 URL: https://github.com/bjking1/iprutils Source0: https://github.com/bjking1/iprutils/archive/%{gitver}/%{name}-%{version}.tar.gz @@ -79,6 +79,9 @@ rm %{buildroot}/%{_sysconfdir}/ha.d/resource.d/iprha %changelog +* Mon Aug 05 2024 Than Ngo - 2.4.19-13 +- fix license tag + * Thu Jul 18 2024 Fedora Release Engineering - 2.4.19-12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From 7ea06f1d5eeca0aedec3ee2e30f5478a861860a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20Such=C3=BD?= Date: Wed, 7 Aug 2024 09:39:22 +0200 Subject: [PATCH 10/14] convert license to SPDX This is part of https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_4 --- iprutils.spec | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/iprutils.spec b/iprutils.spec index a917806..ae13436 100644 --- a/iprutils.spec +++ b/iprutils.spec @@ -3,8 +3,9 @@ Summary: Utilities for the IBM Power Linux RAID adapters Name: iprutils Version: 2.4.19 -Release: 13%{?dist} -License: CPL-1.0 +Release: 14%{?dist} +# Automatically converted from old format: CPL-1.0 - review is highly recommended. +License: Not a valid license string in legacy syntax. Pass '--verbose' to get full parser error. URL: https://github.com/bjking1/iprutils Source0: https://github.com/bjking1/iprutils/archive/%{gitver}/%{name}-%{version}.tar.gz @@ -79,6 +80,9 @@ rm %{buildroot}/%{_sysconfdir}/ha.d/resource.d/iprha %changelog +* Wed Aug 07 2024 Miroslav Suchý - 2.4.19-14 +- convert license to SPDX + * Mon Aug 05 2024 Than Ngo - 2.4.19-13 - fix license tag From 52debdb86dcc1814c094bed69afed240802817b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20Such=C3=BD?= Date: Fri, 13 Sep 2024 06:41:40 +0000 Subject: [PATCH 11/14] Correct SPDX license formula Previously, the script for automatic conversion made an incorrect change. Reverting back as CPL-1.0 is a valid license id. --- iprutils.spec | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/iprutils.spec b/iprutils.spec index ae13436..d992cb6 100644 --- a/iprutils.spec +++ b/iprutils.spec @@ -4,8 +4,7 @@ Summary: Utilities for the IBM Power Linux RAID adapters Name: iprutils Version: 2.4.19 Release: 14%{?dist} -# Automatically converted from old format: CPL-1.0 - review is highly recommended. -License: Not a valid license string in legacy syntax. Pass '--verbose' to get full parser error. +License: CPL-1.0 URL: https://github.com/bjking1/iprutils Source0: https://github.com/bjking1/iprutils/archive/%{gitver}/%{name}-%{version}.tar.gz From c88aa208ebcf8a665a09fb9d6c413e939eede0e1 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 17 Jan 2025 07:21:31 +0000 Subject: [PATCH 12/14] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild --- iprutils.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/iprutils.spec b/iprutils.spec index d992cb6..95b3c8b 100644 --- a/iprutils.spec +++ b/iprutils.spec @@ -3,7 +3,7 @@ Summary: Utilities for the IBM Power Linux RAID adapters Name: iprutils Version: 2.4.19 -Release: 14%{?dist} +Release: 15%{?dist} License: CPL-1.0 URL: https://github.com/bjking1/iprutils Source0: https://github.com/bjking1/iprutils/archive/%{gitver}/%{name}-%{version}.tar.gz @@ -79,6 +79,9 @@ rm %{buildroot}/%{_sysconfdir}/ha.d/resource.d/iprha %changelog +* Fri Jan 17 2025 Fedora Release Engineering - 2.4.19-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + * Wed Aug 07 2024 Miroslav Suchý - 2.4.19-14 - convert license to SPDX From 81c60cdbb36957071f1fd415cfb70a2f6b8b9838 Mon Sep 17 00:00:00 2001 From: Jakub Haruda Date: Tue, 15 Jul 2025 14:56:45 +0200 Subject: [PATCH 13/14] Convert STI to TMT --- .fmf/version | 1 + plans/basic.fmf | 11 ++++ tests/basic-functionality-test/Makefile | 65 ------------------- tests/basic-functionality-test/PURPOSE | 11 ---- tests/sanity/main.fmf | 24 +++++++ .../runtest.sh | 1 - tests/tests.yml | 13 ---- 7 files changed, 36 insertions(+), 90 deletions(-) create mode 100644 .fmf/version create mode 100644 plans/basic.fmf delete mode 100644 tests/basic-functionality-test/Makefile delete mode 100644 tests/basic-functionality-test/PURPOSE create mode 100644 tests/sanity/main.fmf rename tests/{basic-functionality-test => sanity}/runtest.sh (99%) delete mode 100644 tests/tests.yml diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/plans/basic.fmf b/plans/basic.fmf new file mode 100644 index 0000000..b5711c6 --- /dev/null +++ b/plans/basic.fmf @@ -0,0 +1,11 @@ +--- +/: + inherit: false + +summary: Plan for running all tests + +discover: + how: fmf +execute: + how: tmt + diff --git a/tests/basic-functionality-test/Makefile b/tests/basic-functionality-test/Makefile deleted file mode 100644 index 5530481..0000000 --- a/tests/basic-functionality-test/Makefile +++ /dev/null @@ -1,65 +0,0 @@ -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Makefile of /CoreOS/patch/Regression/Cannot-handle-file-names-with-integrated-spaces -# Description: Test for bz431887 (Cannot handle file names with integrated spaces) -# Author: Ondrej Moris -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2010 Red Hat, Inc. All rights reserved. -# -# This copyrighted material is made available to anyone wishing -# to use, modify, copy, or redistribute it subject to the terms -# and conditions of the GNU General Public License version 2. -# -# This program is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public -# License along with this program; if not, write to the Free -# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -# Boston, MA 02110-1301, USA. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -export TEST=/CoreOS/patch/Regression/Cannot-handle-file-names-with-integrated-spaces -export TESTVERSION=1.0 - -BUILT_FILES= - -FILES=$(METADATA) runtest.sh Makefile PURPOSE - -.PHONY: all install download clean - -run: $(FILES) build - ./runtest.sh - -build: $(BUILT_FILES) - chmod a+x runtest.sh - -clean: - rm -f *~ $(BUILT_FILES) - - -include /usr/share/rhts/lib/rhts-make.include - -$(METADATA): Makefile - @echo "Owner: Ondrej Moris " > $(METADATA) - @echo "Name: $(TEST)" >> $(METADATA) - @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) - @echo "Path: $(TEST_DIR)" >> $(METADATA) - @echo "Description: Test for bz431887 (Cannot handle file names with integrated spaces)" >> $(METADATA) - @echo "Type: Regression" >> $(METADATA) - @echo "TestTime: 5m" >> $(METADATA) - @echo "RunFor: patch" >> $(METADATA) - @echo "Requires: patch" >> $(METADATA) - @echo "Requires: expect" >> $(METADATA) - @echo "Priority: Normal" >> $(METADATA) - @echo "License: GPLv2" >> $(METADATA) - @echo "Confidential: no" >> $(METADATA) - @echo "Destructive: no" >> $(METADATA) - @echo "Bug: 431887" >> $(METADATA) - - rhts-lint $(METADATA) diff --git a/tests/basic-functionality-test/PURPOSE b/tests/basic-functionality-test/PURPOSE deleted file mode 100644 index 4d05a09..0000000 --- a/tests/basic-functionality-test/PURPOSE +++ /dev/null @@ -1,11 +0,0 @@ -PURPOSE of /CoreOS/iprutils/basic-functionality-test -Description: Tier1 tests -Author: Than Ngo - -tests following scenarios: - * test iprdump --version - * test iprinit --version - * test iprupdate --version - * test Services: iprdump, iprinit, iprupdate - * test existence of man pages - * test existence of license and readme file diff --git a/tests/sanity/main.fmf b/tests/sanity/main.fmf new file mode 100644 index 0000000..b0aef71 --- /dev/null +++ b/tests/sanity/main.fmf @@ -0,0 +1,24 @@ +summary: Test for bz431887 (Cannot handle file names with integrated spaces) +description: "tests following scenarios:\n * test iprdump --version\n * test iprinit + --version\n * test iprupdate --version\n * test Services: iprdump, iprinit, iprupdate\n\ + \ * test existence of man pages\n * test existence of license and readme file\ + \ \n" +contact: Ondrej Moris +link: + - relates: https://bugzilla.redhat.com/show_bug.cgi?id=431887 +component: + - patch +test: ./runtest.sh +framework: beakerlib +recommend: + - iprutils + - patch + - expect + - man-db + - coreutils + - rpm +duration: 5m +extra-summary: + /CoreOS/patch/Regression/Cannot-handle-file-names-with-integrated-spaces +extra-task: + /CoreOS/patch/Regression/Cannot-handle-file-names-with-integrated-spaces diff --git a/tests/basic-functionality-test/runtest.sh b/tests/sanity/runtest.sh similarity index 99% rename from tests/basic-functionality-test/runtest.sh rename to tests/sanity/runtest.sh index b16a304..2cc274e 100755 --- a/tests/basic-functionality-test/runtest.sh +++ b/tests/sanity/runtest.sh @@ -30,7 +30,6 @@ PACKAGES="iprutils man-db coreutils rpm" SERVICES="iprdump iprinit iprupdate" # Include Beaker environment -. /usr/bin/rhts-environment.sh || exit 1 . /usr/share/beakerlib/beakerlib.sh || exit 1 rlJournalStart diff --git a/tests/tests.yml b/tests/tests.yml deleted file mode 100644 index 7619f5f..0000000 --- a/tests/tests.yml +++ /dev/null @@ -1,13 +0,0 @@ ---- -# Run tests in all contexts -- hosts: localhost - tags: - - classic - roles: - - role: standard-test-beakerlib - tests: - - basic-functionality-test - required_packages: - - man-db - - coreutils - - rpm From f40acc53aa4c16da13c8bd167848a9b90ac5a677 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 24 Jul 2025 17:45:44 +0000 Subject: [PATCH 14/14] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild --- iprutils.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/iprutils.spec b/iprutils.spec index 95b3c8b..fb01523 100644 --- a/iprutils.spec +++ b/iprutils.spec @@ -3,7 +3,7 @@ Summary: Utilities for the IBM Power Linux RAID adapters Name: iprutils Version: 2.4.19 -Release: 15%{?dist} +Release: 16%{?dist} License: CPL-1.0 URL: https://github.com/bjking1/iprutils Source0: https://github.com/bjking1/iprutils/archive/%{gitver}/%{name}-%{version}.tar.gz @@ -79,6 +79,9 @@ rm %{buildroot}/%{_sysconfdir}/ha.d/resource.d/iprha %changelog +* Thu Jul 24 2025 Fedora Release Engineering - 2.4.19-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + * Fri Jan 17 2025 Fedora Release Engineering - 2.4.19-15 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild