Update to 4.2.2
This commit is contained in:
		
							parent
							
								
									2895cffc24
								
							
						
					
					
						commit
						d74195e26b
					
				
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @ -1 +1 @@ | |||||||
| SOURCES/libica-4.1.1.tar.gz | SOURCES/libica-4.2.2.tar.gz | ||||||
|  | |||||||
| @ -1 +1 @@ | |||||||
| a826ac86ded4ed96804fe19634b02838ab78ac86 SOURCES/libica-4.1.1.tar.gz | 300e2aa5c7de375a161b2390b178134a46818bdd SOURCES/libica-4.2.2.tar.gz | ||||||
|  | |||||||
							
								
								
									
										228
									
								
								SOURCES/4.2.2-icastats-summary.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										228
									
								
								SOURCES/4.2.2-icastats-summary.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,228 @@ | |||||||
|  | From f09f1d0b48f3bf541f1300716fa5bdbbbe80a4a1 Mon Sep 17 00:00:00 2001 | ||||||
|  | From: Ingo Franzki <ifranzki@linux.ibm.com> | ||||||
|  | Date: Tue, 18 Jul 2023 09:21:54 +0200 | ||||||
|  | Subject: [PATCH] icastats: Fix summary option to display correct summary | ||||||
|  |  information | ||||||
|  | 
 | ||||||
|  | The '--summary' option of icastats did not display correct statistics since | ||||||
|  | the introduction of per key keysize counters with libica version 4.0.0. | ||||||
|  | 
 | ||||||
|  | To display the correct summary counters, the all-key-size-counter values of an | ||||||
|  | algorithm that supports multiple key sizes must be calculated like it is done | ||||||
|  | in get_stats_data(). Adjust get_stats_data() function and friends so that it | ||||||
|  | now also can be called from get_stats_sum() and can optionally operate on a | ||||||
|  | specified statistics segment (i.e. the one where the summary statistics have | ||||||
|  | been calculated in), not just the global one. | ||||||
|  | 
 | ||||||
|  | Signed-off-by: Ingo Franzki <ifranzki@linux.ibm.com> | ||||||
|  | ---
 | ||||||
|  |  src/icastats.c         |   4 +- | ||||||
|  |  src/icastats_shared.c  | 102 +++++++++++++++++++++++------------------ | ||||||
|  |  src/include/icastats.h |   5 +- | ||||||
|  |  3 files changed, 62 insertions(+), 49 deletions(-) | ||||||
|  | 
 | ||||||
|  | diff --git a/src/icastats.c b/src/icastats.c
 | ||||||
|  | index e98617f..07b0d50 100644
 | ||||||
|  | --- a/src/icastats.c
 | ||||||
|  | +++ b/src/icastats.c
 | ||||||
|  | @@ -302,7 +302,7 @@ int main(int argc, char *argv[])
 | ||||||
|  |  				perror("malloc: "); | ||||||
|  |  				return EXIT_FAILURE; | ||||||
|  |  			} | ||||||
|  | -			get_stats_data(entries);
 | ||||||
|  | +			get_stats_data(NULL, entries);
 | ||||||
|  |  			if (json) { | ||||||
|  |  				print_stats_json(entries, usr); | ||||||
|  |  			} else { | ||||||
|  | @@ -358,7 +358,7 @@ int main(int argc, char *argv[])
 | ||||||
|  |  			perror("malloc: "); | ||||||
|  |  			return EXIT_FAILURE; | ||||||
|  |  		} | ||||||
|  | -		get_stats_data(stats);
 | ||||||
|  | +		get_stats_data(NULL, stats);
 | ||||||
|  |  		if (json) { | ||||||
|  |  			pswd = getpwuid(user == -1 ? geteuid() : (uid_t)user); | ||||||
|  |  			if (pswd == NULL) { | ||||||
|  | diff --git a/src/icastats_shared.c b/src/icastats_shared.c
 | ||||||
|  | index 8290239..f8e8563 100644
 | ||||||
|  | --- a/src/icastats_shared.c
 | ||||||
|  | +++ b/src/icastats_shared.c
 | ||||||
|  | @@ -124,39 +124,46 @@ void stats_munmap(int user, int unlink)
 | ||||||
|  |   * @direction - valid values are ENCRYPT and DECRYPT | ||||||
|  |   */ | ||||||
|  |   | ||||||
|  | -uint64_t stats_query(stats_fields_t field, int hardware, int direction)
 | ||||||
|  | +uint64_t stats_query(stats_entry_t *source, stats_fields_t field,
 | ||||||
|  | +		     int hardware, int direction)
 | ||||||
|  |  { | ||||||
|  | -	if (stats == NULL)
 | ||||||
|  | +	if (source == NULL)
 | ||||||
|  | +		source = stats;
 | ||||||
|  | +
 | ||||||
|  | +	if (source == NULL)
 | ||||||
|  |  		return 0; | ||||||
|  |   | ||||||
|  |  	if (direction == ENCRYPT) | ||||||
|  |  		if (hardware == ALGO_HW) | ||||||
|  | -			return stats[field].enc.hw;
 | ||||||
|  | +			return source[field].enc.hw;
 | ||||||
|  |  		else | ||||||
|  | -			return stats[field].enc.sw;
 | ||||||
|  | +			return source[field].enc.sw;
 | ||||||
|  |  	else | ||||||
|  |  		if (hardware == ALGO_HW) | ||||||
|  | -			return stats[field].dec.hw;
 | ||||||
|  | +			return source[field].dec.hw;
 | ||||||
|  |  		else | ||||||
|  | -			return stats[field].dec.sw;
 | ||||||
|  | +			return source[field].dec.sw;
 | ||||||
|  |  } | ||||||
|  |   | ||||||
|  | -static uint64_t calc_summary(stats_fields_t start, unsigned int num,
 | ||||||
|  | +static uint64_t calc_summary(stats_entry_t *source,
 | ||||||
|  | +		             stats_fields_t start, unsigned int num,
 | ||||||
|  |  		             int hardware, int direction) | ||||||
|  |  { | ||||||
|  |  	unsigned int i; | ||||||
|  |  	uint64_t sum = 0; | ||||||
|  |   | ||||||
|  |  	for (i = 0; i < num; i++) | ||||||
|  | -		sum += stats_query(start + i, hardware, direction);
 | ||||||
|  | +		sum += stats_query(source, start + i, hardware, direction);
 | ||||||
|  |   | ||||||
|  |  	return sum; | ||||||
|  |  } | ||||||
|  |   | ||||||
|  |  /* Returns the statistic data in a stats_entry_t array | ||||||
|  | + * @source - source of the statistics data. If NULL, then the global stats
 | ||||||
|  | + *           are used, which must have been mapped via stats_mmap() before.
 | ||||||
|  |   * @entries - Needs to be a array of size ICA_NUM_STATS. | ||||||
|  |   */ | ||||||
|  | -void get_stats_data(stats_entry_t *entries)
 | ||||||
|  | +void get_stats_data(stats_entry_t *source, stats_entry_t *entries)
 | ||||||
|  |  { | ||||||
|  |  	unsigned int i; | ||||||
|  |  	for (i = 0; i < ICA_NUM_STATS; i++) { | ||||||
|  | @@ -168,58 +175,62 @@ void get_stats_data(stats_entry_t *entries)
 | ||||||
|  |  		case ICA_STATS_AES_CTR: | ||||||
|  |  		case ICA_STATS_AES_CMAC: | ||||||
|  |  		case ICA_STATS_AES_GCM: | ||||||
|  | -			entries[i].enc.hw = calc_summary(i + 1, 3,
 | ||||||
|  | -					                 ALGO_HW, ENCRYPT);
 | ||||||
|  | -			entries[i].enc.sw = calc_summary(i + 1, 3,
 | ||||||
|  | -					                 ALGO_SW, ENCRYPT);
 | ||||||
|  | -			entries[i].dec.hw = calc_summary(i + 1, 3,
 | ||||||
|  | -					                 ALGO_HW, DECRYPT);
 | ||||||
|  | -			entries[i].dec.sw = calc_summary(i + 1, 3,
 | ||||||
|  | -					                 ALGO_SW, DECRYPT);
 | ||||||
|  | +			entries[i].enc.hw = calc_summary(source, i + 1, 3,
 | ||||||
|  | +							 ALGO_HW, ENCRYPT);
 | ||||||
|  | +			entries[i].enc.sw = calc_summary(source, i + 1, 3,
 | ||||||
|  | +							 ALGO_SW, ENCRYPT);
 | ||||||
|  | +			entries[i].dec.hw = calc_summary(source, i + 1, 3,
 | ||||||
|  | +							 ALGO_HW, DECRYPT);
 | ||||||
|  | +			entries[i].dec.sw = calc_summary(source, i + 1, 3,
 | ||||||
|  | +							 ALGO_SW, DECRYPT);
 | ||||||
|  |  			break; | ||||||
|  |   | ||||||
|  |  		case ICA_STATS_AES_XTS: | ||||||
|  | -			entries[i].enc.hw = calc_summary(i + 1, 2,
 | ||||||
|  | -					                 ALGO_HW, ENCRYPT);
 | ||||||
|  | -			entries[i].enc.sw = calc_summary(i + 1, 2,
 | ||||||
|  | -					                 ALGO_SW, ENCRYPT);
 | ||||||
|  | -			entries[i].dec.hw = calc_summary(i + 1, 2,
 | ||||||
|  | -					                 ALGO_HW, DECRYPT);
 | ||||||
|  | -			entries[i].dec.sw = calc_summary(i + 1, 2,
 | ||||||
|  | -					                 ALGO_SW, DECRYPT);
 | ||||||
|  | +			entries[i].enc.hw = calc_summary(source, i + 1, 2,
 | ||||||
|  | +							 ALGO_HW, ENCRYPT);
 | ||||||
|  | +			entries[i].enc.sw = calc_summary(source, i + 1, 2,
 | ||||||
|  | +							 ALGO_SW, ENCRYPT);
 | ||||||
|  | +			entries[i].dec.hw = calc_summary(source, i + 1, 2,
 | ||||||
|  | +							 ALGO_HW, DECRYPT);
 | ||||||
|  | +			entries[i].dec.sw = calc_summary(source, i + 1, 2,
 | ||||||
|  | +							 ALGO_SW, DECRYPT);
 | ||||||
|  |  			break; | ||||||
|  |   | ||||||
|  |  		case ICA_STATS_RSA_ME: | ||||||
|  |  		case ICA_STATS_RSA_CRT: | ||||||
|  | -			entries[i].enc.hw = calc_summary(i + 1, 4,
 | ||||||
|  | -					                 ALGO_HW, ENCRYPT);
 | ||||||
|  | -			entries[i].enc.sw = calc_summary(i + 1, 4,
 | ||||||
|  | -					                 ALGO_SW, ENCRYPT);
 | ||||||
|  | -			entries[i].dec.hw = calc_summary(i + 1, 4,
 | ||||||
|  | -					                 ALGO_HW, DECRYPT);
 | ||||||
|  | -			entries[i].dec.sw = calc_summary(i + 1, 4,
 | ||||||
|  | -					                 ALGO_SW, DECRYPT);
 | ||||||
|  | +			entries[i].enc.hw = calc_summary(source, i + 1, 4,
 | ||||||
|  | +							 ALGO_HW, ENCRYPT);
 | ||||||
|  | +			entries[i].enc.sw = calc_summary(source, i + 1, 4,
 | ||||||
|  | +							 ALGO_SW, ENCRYPT);
 | ||||||
|  | +			entries[i].dec.hw = calc_summary(source, i + 1, 4,
 | ||||||
|  | +							 ALGO_HW, DECRYPT);
 | ||||||
|  | +			entries[i].dec.sw = calc_summary(source, i + 1, 4,
 | ||||||
|  | +							 ALGO_SW, DECRYPT);
 | ||||||
|  |  			break; | ||||||
|  |   | ||||||
|  |  		case ICA_STATS_ECDH: | ||||||
|  |  		case ICA_STATS_ECDSA_SIGN: | ||||||
|  |  		case ICA_STATS_ECDSA_VERIFY: | ||||||
|  |  		case ICA_STATS_ECKGEN: | ||||||
|  | -			entries[i].enc.hw = calc_summary(i + 1, 8,
 | ||||||
|  | -					                 ALGO_HW, ENCRYPT);
 | ||||||
|  | -			entries[i].enc.sw = calc_summary(i + 1, 8,
 | ||||||
|  | -					                 ALGO_SW, ENCRYPT);
 | ||||||
|  | -			entries[i].dec.hw = calc_summary(i + 1, 8,
 | ||||||
|  | -					                 ALGO_HW, DECRYPT);
 | ||||||
|  | -			entries[i].dec.sw = calc_summary(i + 1, 8,
 | ||||||
|  | -					                 ALGO_SW, DECRYPT);
 | ||||||
|  | +			entries[i].enc.hw = calc_summary(source, i + 1, 8,
 | ||||||
|  | +							 ALGO_HW, ENCRYPT);
 | ||||||
|  | +			entries[i].enc.sw = calc_summary(source, i + 1, 8,
 | ||||||
|  | +							 ALGO_SW, ENCRYPT);
 | ||||||
|  | +			entries[i].dec.hw = calc_summary(source, i + 1, 8,
 | ||||||
|  | +							 ALGO_HW, DECRYPT);
 | ||||||
|  | +			entries[i].dec.sw = calc_summary(source, i + 1, 8,
 | ||||||
|  | +							 ALGO_SW, DECRYPT);
 | ||||||
|  |  			break; | ||||||
|  |   | ||||||
|  |  		default: | ||||||
|  | -			entries[i].enc.hw = stats_query(i, ALGO_HW, ENCRYPT);
 | ||||||
|  | -			entries[i].enc.sw = stats_query(i, ALGO_SW, ENCRYPT);
 | ||||||
|  | -			entries[i].dec.hw = stats_query(i, ALGO_HW, DECRYPT);
 | ||||||
|  | -			entries[i].dec.sw = stats_query(i, ALGO_SW, DECRYPT);
 | ||||||
|  | +			entries[i].enc.hw = stats_query(source, i,
 | ||||||
|  | +							ALGO_HW, ENCRYPT);
 | ||||||
|  | +			entries[i].enc.sw = stats_query(source, i,
 | ||||||
|  | +							ALGO_SW, ENCRYPT);
 | ||||||
|  | +			entries[i].dec.hw = stats_query(source, i,
 | ||||||
|  | +							ALGO_HW, DECRYPT);
 | ||||||
|  | +			entries[i].dec.sw = stats_query(source, i,
 | ||||||
|  | +							ALGO_SW, DECRYPT);
 | ||||||
|  |  			break; | ||||||
|  |  		} | ||||||
|  |  	} | ||||||
|  | @@ -280,6 +291,7 @@ int get_stats_sum(stats_entry_t *sum)
 | ||||||
|  |  		} | ||||||
|  |  	} | ||||||
|  |  	closedir(shmDir); | ||||||
|  | +	get_stats_data(sum, sum);
 | ||||||
|  |  	return 1; | ||||||
|  |  } | ||||||
|  |   | ||||||
|  | diff --git a/src/include/icastats.h b/src/include/icastats.h
 | ||||||
|  | index f1d70ba..136ac0f 100644
 | ||||||
|  | --- a/src/include/icastats.h
 | ||||||
|  | +++ b/src/include/icastats.h
 | ||||||
|  | @@ -286,8 +286,9 @@ typedef enum stats_fields {
 | ||||||
|  |   | ||||||
|  |  int stats_mmap(int user); | ||||||
|  |  void stats_munmap(int user, int unlink); | ||||||
|  | -uint64_t stats_query(stats_fields_t field, int hardware, int direction);
 | ||||||
|  | -void get_stats_data(stats_entry_t *entries);
 | ||||||
|  | +uint64_t stats_query(stats_entry_t *source, stats_fields_t field,
 | ||||||
|  | +		     int hardware, int direction);
 | ||||||
|  | +void get_stats_data(stats_entry_t *source, stats_entry_t *entries);
 | ||||||
|  |  void stats_increment(stats_fields_t field, int hardware, int direction); | ||||||
|  |  int get_stats_sum(stats_entry_t *sum); | ||||||
|  |  char *get_next_usr(); | ||||||
| @ -26,7 +26,7 @@ diff --git a/include/ica_api.h b/include/ica_api.h | |||||||
| index 0263d2f..8f7bbdb 100644
 | index 0263d2f..8f7bbdb 100644
 | ||||||
| --- a/include/ica_api.h
 | --- a/include/ica_api.h
 | ||||||
| +++ b/include/ica_api.h
 | +++ b/include/ica_api.h
 | ||||||
| @@ -1447,6 +1447,227 @@ unsigned int ica_rsa_crt(ica_adapter_handle_t adapter_handle,
 | @@ -1480,6 +1480,227 @@ unsigned int ica_rsa_crt(ica_adapter_handle_t adapter_handle,
 | ||||||
|  ICA_EXPORT |  ICA_EXPORT | ||||||
|  unsigned int ica_rsa_crt_key_check(ica_rsa_key_crt_t *rsa_key); |  unsigned int ica_rsa_crt_key_check(ica_rsa_key_crt_t *rsa_key); | ||||||
|   |   | ||||||
| @ -254,7 +254,7 @@ index 0263d2f..8f7bbdb 100644 | |||||||
|  /** |  /** | ||||||
|   * Encrypt or decrypt data with an DES key using Electronic Cook Book (ECB) |   * Encrypt or decrypt data with an DES key using Electronic Cook Book (ECB) | ||||||
|   * mode as described in NIST Special Publication 800-38A Chapter 6.1. |   * mode as described in NIST Special Publication 800-38A Chapter 6.1. | ||||||
| @@ -3485,6 +3706,15 @@ void ica_aes_gcm_kma_ctx_free(kma_ctx* ctx);
 | @@ -3599,6 +3820,15 @@ int ica_get_hw_info(libica_hw_info *hw_info);
 | ||||||
|  ICA_EXPORT |  ICA_EXPORT | ||||||
|  unsigned int ica_get_version(libica_version_info *version_info); |  unsigned int ica_get_version(libica_version_info *version_info); | ||||||
|   |   | ||||||
| @ -268,8 +268,8 @@ index 0263d2f..8f7bbdb 100644 | |||||||
| +			  unsigned int *pmech_list_len);
 | +			  unsigned int *pmech_list_len);
 | ||||||
| +
 | +
 | ||||||
|  /** |  /** | ||||||
|   * Function that returns a list of crypto mechanisms supported by libica. |   * Return libica build information. | ||||||
|   * @param pmech_list |   * | ||||||
| diff --git a/libica.map b/libica.map
 | diff --git a/libica.map b/libica.map
 | ||||||
| index 0a64d4c..0a71832 100644
 | index 0a64d4c..0a71832 100644
 | ||||||
| --- a/libica.map
 | --- a/libica.map
 | ||||||
| @ -312,7 +312,7 @@ diff --git a/src/ica_api.c b/src/ica_api.c | |||||||
| index 42d9baf..3e13a29 100644
 | index 42d9baf..3e13a29 100644
 | ||||||
| --- a/src/ica_api.c
 | --- a/src/ica_api.c
 | ||||||
| +++ b/src/ica_api.c
 | +++ b/src/ica_api.c
 | ||||||
| @@ -2436,6 +2436,264 @@ int ica_ed448_key_gen(ICA_ED448_CTX *ctx)
 | @@ -2452,6 +2452,264 @@ int ica_ed448_key_gen(ICA_ED448_CTX *ctx)
 | ||||||
|   * |   * | ||||||
|   ******************************************************************************/ |   ******************************************************************************/ | ||||||
|   |   | ||||||
| @ -581,9 +581,9 @@ diff --git a/src/include/s390_crypto.h b/src/include/s390_crypto.h | |||||||
| index 49cbb09..76f530f 100644
 | index 49cbb09..76f530f 100644
 | ||||||
| --- a/src/include/s390_crypto.h
 | --- a/src/include/s390_crypto.h
 | ||||||
| +++ b/src/include/s390_crypto.h
 | +++ b/src/include/s390_crypto.h
 | ||||||
| @@ -25,11 +25,6 @@
 | @@ -30,11 +30,6 @@ int s390_get_fips_indicator(libica_fips_indicator_element *fips_list,
 | ||||||
|   |  				unsigned int *fips_list_len); | ||||||
|  #include <openssl/opensslv.h> |  #endif | ||||||
|   |   | ||||||
| -/* major 4.0: no more exported, now internal */
 | -/* major 4.0: no more exported, now internal */
 | ||||||
| -int s390_initialize_functionlist(void);
 | -int s390_initialize_functionlist(void);
 | ||||||
| @ -619,7 +619,7 @@ index f220205..f756597 100644 | |||||||
|  aes_ecb_test \ |  aes_ecb_test \ | ||||||
|  aes_cbc_test \ |  aes_cbc_test \ | ||||||
|  aes_ctr_test \ |  aes_ctr_test \ | ||||||
| @@ -71,10 +76,10 @@ get_functionlist_cex_test_SOURCES = get_functionlist_cex_test.c
 | @@ -72,10 +77,10 @@ get_functionlist_cex_test_SOURCES = get_functionlist_cex_test.c
 | ||||||
|  get_functionlist_cex_test_LDADD = @LIBS@ ${top_builddir}/src/.libs/libica-cex.so -lcrypto -lpthread |  get_functionlist_cex_test_LDADD = @LIBS@ ${top_builddir}/src/.libs/libica-cex.so -lcrypto -lpthread | ||||||
|   |   | ||||||
|  check_PROGRAMS = fips_test icastats_test get_functionlist_test \ |  check_PROGRAMS = fips_test icastats_test get_functionlist_test \ | ||||||
| @ -1596,7 +1596,7 @@ diff --git a/src/ica_api.c b/src/ica_api.c | |||||||
| index 3e13a29..1bd81bb 100644
 | index 3e13a29..1bd81bb 100644
 | ||||||
| --- a/src/ica_api.c
 | --- a/src/ica_api.c
 | ||||||
| +++ b/src/ica_api.c
 | +++ b/src/ica_api.c
 | ||||||
| @@ -91,6 +91,16 @@ void ica_set_stats_mode(int stats_mode)
 | @@ -93,6 +93,16 @@ void ica_set_stats_mode(int stats_mode)
 | ||||||
|  } |  } | ||||||
|   |   | ||||||
|  #ifndef NO_CPACF |  #ifndef NO_CPACF | ||||||
|  | |||||||
| @ -1,35 +0,0 @@ | |||||||
| From cd5b2b75554875111bf375b555ebd3b185cff1a0 Mon Sep 17 00:00:00 2001 |  | ||||||
| From: Joerg Schmidbauer <jschmidb@de.ibm.com> |  | ||||||
| Date: Wed, 1 Feb 2023 10:54:33 +0100 |  | ||||||
| Subject: [libica PATCH] bugfix: permission denied on shared memory segments |  | ||||||
| 
 |  | ||||||
| A change to the Linux kernel in 4.19 for added security is |  | ||||||
| changing the behavior when opening shared memory segments. |  | ||||||
| The O_CREAT flag must not be used for existing segments. |  | ||||||
| 
 |  | ||||||
| Signed-off-by: Joerg Schmidbauer <jschmidb@de.ibm.com> |  | ||||||
| ---
 |  | ||||||
|  src/icastats_shared.c | 7 ++++--- |  | ||||||
|  1 file changed, 4 insertions(+), 3 deletions(-) |  | ||||||
| 
 |  | ||||||
| diff --git a/src/icastats_shared.c b/src/icastats_shared.c
 |  | ||||||
| index bbc8d0e..8290239 100644
 |  | ||||||
| --- a/src/icastats_shared.c
 |  | ||||||
| +++ b/src/icastats_shared.c
 |  | ||||||
| @@ -54,9 +54,10 @@ int stats_mmap(int user)
 |  | ||||||
|  	sprintf(shm_id, "icastats_%d", |  | ||||||
|  		user == -1 ? geteuid() : (uid_t)user); |  | ||||||
|   |  | ||||||
| -	stats_shm_handle = shm_open(shm_id,
 |  | ||||||
| -				    O_CREAT | O_RDWR,
 |  | ||||||
| -				    S_IRUSR | S_IWUSR);
 |  | ||||||
| +	stats_shm_handle = shm_open(shm_id, O_RDWR,  S_IRUSR | S_IWUSR);
 |  | ||||||
| +
 |  | ||||||
| +	if (stats_shm_handle == -1)
 |  | ||||||
| +		stats_shm_handle = shm_open(shm_id, O_CREAT | O_RDWR, S_IRUSR | S_IWUSR);
 |  | ||||||
|   |  | ||||||
|  	if (stats_shm_handle == -1) |  | ||||||
|  		return rc; |  | ||||||
| -- 
 |  | ||||||
| 2.39.1 |  | ||||||
| 
 |  | ||||||
| @ -4,8 +4,8 @@ | |||||||
| 
 | 
 | ||||||
| Summary: Library for accessing ICA hardware crypto on IBM z Systems | Summary: Library for accessing ICA hardware crypto on IBM z Systems | ||||||
| Name: libica | Name: libica | ||||||
| Version: 4.1.1 | Version: 4.2.2 | ||||||
| Release: 2%{?dist} | Release: 2%{?dist}.alma.1 | ||||||
| License: CPL | License: CPL | ||||||
| Group: System Environment/Libraries | Group: System Environment/Libraries | ||||||
| URL: https://github.com/opencryptoki/ | URL: https://github.com/opencryptoki/ | ||||||
| @ -17,9 +17,11 @@ Patch0: %{name}-4.0.1-annotate.patch | |||||||
| # - reverted commit 4a3a77232ee85cf9f4eb7ac2d366b613013b9048 | # - reverted commit 4a3a77232ee85cf9f4eb7ac2d366b613013b9048 | ||||||
| # - partial revert of commit 56b9ac0669e4d204ecb3f23e5404c2351cca96a2 | # - partial revert of commit 56b9ac0669e4d204ecb3f23e5404c2351cca96a2 | ||||||
| Patch1: %{name}-4.1.1-revert-abi.patch | Patch1: %{name}-4.1.1-revert-abi.patch | ||||||
| # fix permissions for shared memory segments | 
 | ||||||
| # https://bugzilla.redhat.com/show_bug.cgi?id=2167363 | # Patches were taken from: | ||||||
| Patch2: %{name}-4.1.1-shmem.patch | # https://github.com/opencryptoki/libica/commit/f09f1d0b48f3bf541f1300716fa | ||||||
|  | Patch2: 4.2.2-icastats-summary.patch | ||||||
|  | 
 | ||||||
| BuildRequires: gcc | BuildRequires: gcc | ||||||
| BuildRequires: openssl | BuildRequires: openssl | ||||||
| BuildRequires: openssl-devel | BuildRequires: openssl-devel | ||||||
| @ -110,6 +112,9 @@ fi | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| %changelog | %changelog | ||||||
|  | * Wed Nov 01 2023 Eduard Abdullin <eabdullin@almalinux.org> - 4.2.2-1.alma.1 | ||||||
|  | - fix permissions for shared memory segments (#2167363) | ||||||
|  | 
 | ||||||
| * Tue Feb 07 2023 Dan Horák <dhorak@redhat.com> - 4.1.1-2 | * Tue Feb 07 2023 Dan Horák <dhorak@redhat.com> - 4.1.1-2 | ||||||
| - fix permissions for shared memory segments (#2167363) | - fix permissions for shared memory segments (#2167363) | ||||||
| - Resolves: #2167363 | - Resolves: #2167363 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user