From 76d4d7fe1c57f0e02a37c043b23e2ac150921863 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Mon, 5 Feb 2024 16:17:37 +0100 Subject: [PATCH] kernel-4.18.0-539.el8 * Mon Feb 05 2024 Denys Vlasenko [4.18.0-539.el8] - tcp: Dump bound-only sockets in inet_diag. (Guillaume Nault) [RHEL-6113] - rh_messages.h: update driver and device lists (Scott Weaver) [RHEL-22126] - vmstat: allow_direct_reclaim should use zone_page_state_snapshot (Marcelo Tosatti) [RHEL-22138] - rbd: don't move requests to the running list on errors (Ilya Dryomov) [RHEL-21941] - drm/vmwgfx: Fix possible null pointer derefence with invalid contexts (Jocelyn Falempe) [RHEL-3179] {CVE-2022-38096} - atm: Fix Use-After-Free in do_vcc_ioctl (Guillaume Nault) [RHEL-21179] {CVE-2023-51780} - perf/x86/intel/uncore: Factor out topology_gidnid_map() (Michael Petlan) [RHEL-22189] - perf/x86/intel/uncore: Fix NULL pointer dereference issue in upi_fill_topology() (Michael Petlan) [RHEL-22189] - KVM: x86: Constrain guest-supported xfeatures only at KVM_GET_XSAVE{2} (Bandan Das) [RHEL-7558] - x86/fpu: Allow caller to constrain xfeatures when copying to uabi buffer (Bandan Das) [RHEL-7558] - Bluetooth: Fix double free in hci_conn_cleanup (David Marlin) [RHEL-2555] {CVE-2023-28464} - Bluetooth: hci_sysfs: Fix attempting to call device_add multiple times (David Marlin) [RHEL-2555] - kobject: Fix slab-out-of-bounds in fill_kobj_path() (Waiman Long) [RHEL-20926] {CVE-2023-45863} - kobject: modify kobject_get_path() to take a const * (Waiman Long) [RHEL-20926] {CVE-2023-45863} - kobject: Remove docstring reference to kset (Waiman Long) [RHEL-20926] {CVE-2023-45863} - EDAC/amd64: Add support for AMD family 1Ah models 00h-1Fh and 40h-4Fh (Aristeu Rozanski) [RHEL-10031] - amd64: allow F0 and F6 registers to be missing (Aristeu Rozanski) [RHEL-10031] - hwmon: (k10temp) Add thermal support for AMD Family 1Ah-based models (Aristeu Rozanski) [RHEL-10031] - x86/amd_nb: Add PCI IDs for AMD Family 1Ah-based models (Aristeu Rozanski) [RHEL-10031] - nvmet-tcp: Fix the H2C expected PDU len calculation (Maurizio Lombardi) [RHEL-19155 RHEL-19161 RHEL-19167] {CVE-2023-6536 CVE-2023-6535 CVE-2023-6356} - nvmet-tcp: remove boilerplate code (Maurizio Lombardi) [RHEL-19155 RHEL-19161 RHEL-19167] {CVE-2023-6536 CVE-2023-6535 CVE-2023-6356} - nvmet-tcp: fix a crash in nvmet_req_complete() (Maurizio Lombardi) [RHEL-19155 RHEL-19161 RHEL-19167] {CVE-2023-6536 CVE-2023-6535 CVE-2023-6356} - nvmet-tcp: Fix a kernel panic when host sends an invalid H2C PDU length (Maurizio Lombardi) [RHEL-19155 RHEL-19161 RHEL-19167] {CVE-2023-6536 CVE-2023-6535 CVE-2023-6356} - ipv6: Remove extra counter pull before gc (Davide Caratti) [RHEL-21457] {CVE-2023-52340} - ipv6: remove max_size check inline with ipv4 (Davide Caratti) [RHEL-21457] {CVE-2023-52340} - net/dst: use a smaller percpu_counter batch for dst entries accounting (Davide Caratti) [RHEL-21457] {CVE-2023-52340} - net: add a route cache full diagnostic message (Davide Caratti) [RHEL-21457] {CVE-2023-52340} - x86/sev: Use the GHCB protocol when available for SNP CPUID requests (Bandan Das) [RHEL-16382] - x86/sev: Do not handle #VC for DR7 read/write (Bandan Das) [RHEL-16382] - Revert "x86/sev: Expose sev_es_ghcb_hv_call() for use by HyperV" (Bandan Das) [RHEL-16382] - x86/alternatives: Add cond_resched() to text_poke_bp_batch() (Waiman Long) [RHEL-15221] - x86/alternative: Fix race in try_get_desc() (Waiman Long) [RHEL-15221] - x86/alternatives: Mark text_poke_loc_init() static (Waiman Long) [RHEL-15221] - x86/int3: Ensure that poke_int3_handler() is not traced (Waiman Long) [RHEL-15221] - tools/mm: filter out timestamps for correct collation (Audra Mitchell) [RHEL-3821] - tools/vm/page_owner_sort.c: support sorting pid and time (Audra Mitchell) [RHEL-3821] - tools/vm/page_owner_sort.c: filter out unneeded line (Audra Mitchell) [RHEL-3821] - tools/vm/page_owner: use page_owner_sort in the use example (Audra Mitchell) [RHEL-3821] - mm/page_owner: remove free_ts from page_owner output (Audra Mitchell) [RHEL-3821] - xfs: up(ic_sema) if flushing data device fails (Andrey Albershteyn) [RHEL-8464] - xfs: reserve less log space when recovering log intent items (Andrey Albershteyn) [RHEL-8464] - xfs: fix an agbno overflow in __xfs_getfsmap_datadev (Andrey Albershteyn) [RHEL-8464] - xfs: fix agf_fllast when repairing an empty AGFL (Andrey Albershteyn) [RHEL-8464] - xfs: fix dqiterate thinko (Andrey Albershteyn) [RHEL-8464] - xfs: fix uninit warning in xfs_growfs_data (Andrey Albershteyn) [RHEL-8464] - xfs: fix xfs_btree_query_range callers to initialize btree rec fully (Andrey Albershteyn) [RHEL-8464] - xfs: validate fsmap offsets specified in the query keys (Andrey Albershteyn) [RHEL-8464] - xfs: fix logdev fsmap query result filtering (Andrey Albershteyn) [RHEL-8464] - xfs: clean up the rtbitmap fsmap backend (Andrey Albershteyn) [RHEL-8464] - xfs: fix integer overflows in the fsmap rtbitmap and logdev backends (Andrey Albershteyn) [RHEL-8464] - xfs: fix interval filtering in multi-step fsmap queries (Andrey Albershteyn) [RHEL-8464] - xfs: don't reverse order of items in bulk AIL insertion (Andrey Albershteyn) [RHEL-8464] - xfs: fix ag count overflow during growfs (Andrey Albershteyn) [RHEL-8464] - xfs: don't deplete the reserve pool when trying to shrink the fs (Andrey Albershteyn) [RHEL-8464] - xfs: fix agf/agfl verification on v4 filesystems (Andrey Albershteyn) [RHEL-8464] - xfs: set bnobt/cntbt numrecs correctly when formatting new AGs (Andrey Albershteyn) [RHEL-8464] - xfs: fix rm_offset flag handling in rmap keys (Andrey Albershteyn) [RHEL-8464] - xfs: make kobj_type structures constant (Andrey Albershteyn) [RHEL-8464] - xfs: allow setting full range of panic tags (Andrey Albershteyn) [RHEL-8464] - xfs: shut up -Wuninitialized in xfsaild_push (Andrey Albershteyn) [RHEL-8464] - xfs: use memcpy, not strncpy, to format the attr prefix during listxattr (Andrey Albershteyn) [RHEL-8464] - xfs: initialize the check_owner object fully (Andrey Albershteyn) [RHEL-8464] - xfs: fix uninitialized list head in struct xfs_refcount_recovery (Andrey Albershteyn) [RHEL-8464] - xfs: increase rename inode reservation (Andrey Albershteyn) [RHEL-8464] - xfs: remove xfs_setattr_time() declaration (Andrey Albershteyn) [RHEL-8464] - xfs: Fix false ENOSPC when performing direct write on a delalloc extent in cow fork (Andrey Albershteyn) [RHEL-8464] - xfs: check return codes when flushing block devices (Andrey Albershteyn) [RHEL-8464] - xfs: reduce the number of atomic when locking a buffer after lookup (Andrey Albershteyn) [RHEL-8464] - xfs: convert btree buffer log flags to unsigned. (Andrey Albershteyn) [RHEL-8464] - xfs: shutdown in intent recovery has non-intent items in the AIL (Andrey Albershteyn) [RHEL-8464] - xfs: aborting inodes on shutdown may need buffer lock (Andrey Albershteyn) [RHEL-8464] - xfs: only bother with sync_filesystem during readonly remount (Andrey Albershteyn) [RHEL-8464] - xfs: kill the XFS_IOC_{ALLOC,FREE}SP* ioctls (Andrey Albershteyn) [RHEL-8464] {CVE-2021-4155} - xfs: prevent a WARN_ONCE() in xfs_ioc_attr_list() (Andrey Albershteyn) [RHEL-8464] - xfs: only run COW extent recovery when there are no live extents (Andrey Albershteyn) [RHEL-8464] - xfs: move recovery needed state updates to xfs_log_mount_finish (Andrey Albershteyn) [RHEL-8464] - xfs: clear log incompat feature bits when the log is idle (Andrey Albershteyn) [RHEL-8464] - xfs: allow setting and clearing of log incompat feature flags (Andrey Albershteyn) [RHEL-8464] - xfs: remove all COW fork extents when remounting readonly (Andrey Albershteyn) [RHEL-8464] - xfs: replace snprintf in show functions with sysfs_emit (Andrey Albershteyn) [RHEL-8464] - xfs: reduce the size of nr_ops for refcount btree cursors (Andrey Albershteyn) [RHEL-8464] - xfs: rework attr2 feature and mount options (Andrey Albershteyn) [RHEL-8464] - xfs: sb verifier doesn't handle uncached sb buffer (Andrey Albershteyn) [RHEL-8464] - xfs: standardize inode number formatting in ftrace output (Andrey Albershteyn) [RHEL-8464] - xfs: make fsmap backend function key parameters const (Andrey Albershteyn) [RHEL-8464] - xfs: remove kmem_alloc_io() (Andrey Albershteyn) [RHEL-8464] - mm: Add kvrealloc() (Andrey Albershteyn) [RHEL-8464] - xfs: remove kmem_realloc() (Andrey Albershteyn) [RHEL-8464] - xfs: fix silly whitespace problems with kernel libxfs (Andrey Albershteyn) [RHEL-8464] - xfs: deprecate BMV_IF_NO_DMAPI_READ flag (Andrey Albershteyn) [RHEL-8464] Resolves: RHEL-10031, RHEL-15221, RHEL-16382, RHEL-19155, RHEL-19161, RHEL-19167, RHEL-20926, RHEL-21179, RHEL-21457, RHEL-21941, RHEL-22126, RHEL-22138, RHEL-22189, RHEL-2555, RHEL-3179, RHEL-3821, RHEL-6113, RHEL-7558, RHEL-8464 Signed-off-by: Denys Vlasenko --- kernel.spec | 98 +++++++++++++++++++++++++++++++++++++++++++++++++++-- sources | 6 ++-- 2 files changed, 98 insertions(+), 6 deletions(-) diff --git a/kernel.spec b/kernel.spec index c8b1df8aa..5fdb72466 100644 --- a/kernel.spec +++ b/kernel.spec @@ -12,7 +12,7 @@ # change below to w4T.xzdio): %define _binary_payload w3T.xzdio -%global distro_build 538 +%global distro_build 539 # Sign the x86_64 kernel for secure boot authentication %ifarch x86_64 aarch64 s390x ppc64le @@ -38,10 +38,10 @@ # define buildid .local %define specversion 4.18.0 -%define pkgrelease 538.el8 +%define pkgrelease 539.el8 # allow pkg_release to have configurable %%{?dist} tag -%define specrelease 538%{?dist} +%define specrelease 539%{?dist} %define pkg_release %{specrelease}%{?buildid} @@ -2695,6 +2695,98 @@ fi # # %changelog +* Mon Feb 05 2024 Denys Vlasenko [4.18.0-539.el8] +- tcp: Dump bound-only sockets in inet_diag. (Guillaume Nault) [RHEL-6113] +- rh_messages.h: update driver and device lists (Scott Weaver) [RHEL-22126] +- vmstat: allow_direct_reclaim should use zone_page_state_snapshot (Marcelo Tosatti) [RHEL-22138] +- rbd: don't move requests to the running list on errors (Ilya Dryomov) [RHEL-21941] +- drm/vmwgfx: Fix possible null pointer derefence with invalid contexts (Jocelyn Falempe) [RHEL-3179] {CVE-2022-38096} +- atm: Fix Use-After-Free in do_vcc_ioctl (Guillaume Nault) [RHEL-21179] {CVE-2023-51780} +- perf/x86/intel/uncore: Factor out topology_gidnid_map() (Michael Petlan) [RHEL-22189] +- perf/x86/intel/uncore: Fix NULL pointer dereference issue in upi_fill_topology() (Michael Petlan) [RHEL-22189] +- KVM: x86: Constrain guest-supported xfeatures only at KVM_GET_XSAVE{2} (Bandan Das) [RHEL-7558] +- x86/fpu: Allow caller to constrain xfeatures when copying to uabi buffer (Bandan Das) [RHEL-7558] +- Bluetooth: Fix double free in hci_conn_cleanup (David Marlin) [RHEL-2555] {CVE-2023-28464} +- Bluetooth: hci_sysfs: Fix attempting to call device_add multiple times (David Marlin) [RHEL-2555] +- kobject: Fix slab-out-of-bounds in fill_kobj_path() (Waiman Long) [RHEL-20926] {CVE-2023-45863} +- kobject: modify kobject_get_path() to take a const * (Waiman Long) [RHEL-20926] {CVE-2023-45863} +- kobject: Remove docstring reference to kset (Waiman Long) [RHEL-20926] {CVE-2023-45863} +- EDAC/amd64: Add support for AMD family 1Ah models 00h-1Fh and 40h-4Fh (Aristeu Rozanski) [RHEL-10031] +- amd64: allow F0 and F6 registers to be missing (Aristeu Rozanski) [RHEL-10031] +- hwmon: (k10temp) Add thermal support for AMD Family 1Ah-based models (Aristeu Rozanski) [RHEL-10031] +- x86/amd_nb: Add PCI IDs for AMD Family 1Ah-based models (Aristeu Rozanski) [RHEL-10031] +- nvmet-tcp: Fix the H2C expected PDU len calculation (Maurizio Lombardi) [RHEL-19155 RHEL-19161 RHEL-19167] {CVE-2023-6536 CVE-2023-6535 CVE-2023-6356} +- nvmet-tcp: remove boilerplate code (Maurizio Lombardi) [RHEL-19155 RHEL-19161 RHEL-19167] {CVE-2023-6536 CVE-2023-6535 CVE-2023-6356} +- nvmet-tcp: fix a crash in nvmet_req_complete() (Maurizio Lombardi) [RHEL-19155 RHEL-19161 RHEL-19167] {CVE-2023-6536 CVE-2023-6535 CVE-2023-6356} +- nvmet-tcp: Fix a kernel panic when host sends an invalid H2C PDU length (Maurizio Lombardi) [RHEL-19155 RHEL-19161 RHEL-19167] {CVE-2023-6536 CVE-2023-6535 CVE-2023-6356} +- ipv6: Remove extra counter pull before gc (Davide Caratti) [RHEL-21457] {CVE-2023-52340} +- ipv6: remove max_size check inline with ipv4 (Davide Caratti) [RHEL-21457] {CVE-2023-52340} +- net/dst: use a smaller percpu_counter batch for dst entries accounting (Davide Caratti) [RHEL-21457] {CVE-2023-52340} +- net: add a route cache full diagnostic message (Davide Caratti) [RHEL-21457] {CVE-2023-52340} +- x86/sev: Use the GHCB protocol when available for SNP CPUID requests (Bandan Das) [RHEL-16382] +- x86/sev: Do not handle #VC for DR7 read/write (Bandan Das) [RHEL-16382] +- Revert "x86/sev: Expose sev_es_ghcb_hv_call() for use by HyperV" (Bandan Das) [RHEL-16382] +- x86/alternatives: Add cond_resched() to text_poke_bp_batch() (Waiman Long) [RHEL-15221] +- x86/alternative: Fix race in try_get_desc() (Waiman Long) [RHEL-15221] +- x86/alternatives: Mark text_poke_loc_init() static (Waiman Long) [RHEL-15221] +- x86/int3: Ensure that poke_int3_handler() is not traced (Waiman Long) [RHEL-15221] +- tools/mm: filter out timestamps for correct collation (Audra Mitchell) [RHEL-3821] +- tools/vm/page_owner_sort.c: support sorting pid and time (Audra Mitchell) [RHEL-3821] +- tools/vm/page_owner_sort.c: filter out unneeded line (Audra Mitchell) [RHEL-3821] +- tools/vm/page_owner: use page_owner_sort in the use example (Audra Mitchell) [RHEL-3821] +- mm/page_owner: remove free_ts from page_owner output (Audra Mitchell) [RHEL-3821] +- xfs: up(ic_sema) if flushing data device fails (Andrey Albershteyn) [RHEL-8464] +- xfs: reserve less log space when recovering log intent items (Andrey Albershteyn) [RHEL-8464] +- xfs: fix an agbno overflow in __xfs_getfsmap_datadev (Andrey Albershteyn) [RHEL-8464] +- xfs: fix agf_fllast when repairing an empty AGFL (Andrey Albershteyn) [RHEL-8464] +- xfs: fix dqiterate thinko (Andrey Albershteyn) [RHEL-8464] +- xfs: fix uninit warning in xfs_growfs_data (Andrey Albershteyn) [RHEL-8464] +- xfs: fix xfs_btree_query_range callers to initialize btree rec fully (Andrey Albershteyn) [RHEL-8464] +- xfs: validate fsmap offsets specified in the query keys (Andrey Albershteyn) [RHEL-8464] +- xfs: fix logdev fsmap query result filtering (Andrey Albershteyn) [RHEL-8464] +- xfs: clean up the rtbitmap fsmap backend (Andrey Albershteyn) [RHEL-8464] +- xfs: fix integer overflows in the fsmap rtbitmap and logdev backends (Andrey Albershteyn) [RHEL-8464] +- xfs: fix interval filtering in multi-step fsmap queries (Andrey Albershteyn) [RHEL-8464] +- xfs: don't reverse order of items in bulk AIL insertion (Andrey Albershteyn) [RHEL-8464] +- xfs: fix ag count overflow during growfs (Andrey Albershteyn) [RHEL-8464] +- xfs: don't deplete the reserve pool when trying to shrink the fs (Andrey Albershteyn) [RHEL-8464] +- xfs: fix agf/agfl verification on v4 filesystems (Andrey Albershteyn) [RHEL-8464] +- xfs: set bnobt/cntbt numrecs correctly when formatting new AGs (Andrey Albershteyn) [RHEL-8464] +- xfs: fix rm_offset flag handling in rmap keys (Andrey Albershteyn) [RHEL-8464] +- xfs: make kobj_type structures constant (Andrey Albershteyn) [RHEL-8464] +- xfs: allow setting full range of panic tags (Andrey Albershteyn) [RHEL-8464] +- xfs: shut up -Wuninitialized in xfsaild_push (Andrey Albershteyn) [RHEL-8464] +- xfs: use memcpy, not strncpy, to format the attr prefix during listxattr (Andrey Albershteyn) [RHEL-8464] +- xfs: initialize the check_owner object fully (Andrey Albershteyn) [RHEL-8464] +- xfs: fix uninitialized list head in struct xfs_refcount_recovery (Andrey Albershteyn) [RHEL-8464] +- xfs: increase rename inode reservation (Andrey Albershteyn) [RHEL-8464] +- xfs: remove xfs_setattr_time() declaration (Andrey Albershteyn) [RHEL-8464] +- xfs: Fix false ENOSPC when performing direct write on a delalloc extent in cow fork (Andrey Albershteyn) [RHEL-8464] +- xfs: check return codes when flushing block devices (Andrey Albershteyn) [RHEL-8464] +- xfs: reduce the number of atomic when locking a buffer after lookup (Andrey Albershteyn) [RHEL-8464] +- xfs: convert btree buffer log flags to unsigned. (Andrey Albershteyn) [RHEL-8464] +- xfs: shutdown in intent recovery has non-intent items in the AIL (Andrey Albershteyn) [RHEL-8464] +- xfs: aborting inodes on shutdown may need buffer lock (Andrey Albershteyn) [RHEL-8464] +- xfs: only bother with sync_filesystem during readonly remount (Andrey Albershteyn) [RHEL-8464] +- xfs: kill the XFS_IOC_{ALLOC,FREE}SP* ioctls (Andrey Albershteyn) [RHEL-8464] {CVE-2021-4155} +- xfs: prevent a WARN_ONCE() in xfs_ioc_attr_list() (Andrey Albershteyn) [RHEL-8464] +- xfs: only run COW extent recovery when there are no live extents (Andrey Albershteyn) [RHEL-8464] +- xfs: move recovery needed state updates to xfs_log_mount_finish (Andrey Albershteyn) [RHEL-8464] +- xfs: clear log incompat feature bits when the log is idle (Andrey Albershteyn) [RHEL-8464] +- xfs: allow setting and clearing of log incompat feature flags (Andrey Albershteyn) [RHEL-8464] +- xfs: remove all COW fork extents when remounting readonly (Andrey Albershteyn) [RHEL-8464] +- xfs: replace snprintf in show functions with sysfs_emit (Andrey Albershteyn) [RHEL-8464] +- xfs: reduce the size of nr_ops for refcount btree cursors (Andrey Albershteyn) [RHEL-8464] +- xfs: rework attr2 feature and mount options (Andrey Albershteyn) [RHEL-8464] +- xfs: sb verifier doesn't handle uncached sb buffer (Andrey Albershteyn) [RHEL-8464] +- xfs: standardize inode number formatting in ftrace output (Andrey Albershteyn) [RHEL-8464] +- xfs: make fsmap backend function key parameters const (Andrey Albershteyn) [RHEL-8464] +- xfs: remove kmem_alloc_io() (Andrey Albershteyn) [RHEL-8464] +- mm: Add kvrealloc() (Andrey Albershteyn) [RHEL-8464] +- xfs: remove kmem_realloc() (Andrey Albershteyn) [RHEL-8464] +- xfs: fix silly whitespace problems with kernel libxfs (Andrey Albershteyn) [RHEL-8464] +- xfs: deprecate BMV_IF_NO_DMAPI_READ flag (Andrey Albershteyn) [RHEL-8464] + * Wed Jan 31 2024 Denys Vlasenko [4.18.0-538.el8] - ida: Fix crash in ida_free when the bitmap is empty (Wander Lairson Costa) [RHEL-19681] {CVE-2023-6915} - mm: create a new system state and fix core_kernel_text() (Joel Savitz) [RHEL-5227] diff --git a/sources b/sources index a79594f91..19bf7bd8a 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (linux-4.18.0-538.el8.tar.xz) = 8c6841d54fbb3722ebc4a3afe7a769508fc6f3d6dd967d0ac3423846ee2f32caf72aad709d50ec16728013b996bfbceab4ebff24b66dcdee14d664cd0ce1b6d3 -SHA512 (kernel-abi-stablelists-4.18.0-538.tar.bz2) = dcbafec6a22e9c5491dfa4dc3b6411cedbe975ea74f0e8923b6debad6cadb6b0b9a1f3fd7fb992c4fdcf9d3e5a64cb433ffc69a3e49701452922352e4d817572 -SHA512 (kernel-kabi-dw-4.18.0-538.tar.bz2) = 8a671ed3c9b7f4b25fd4e594b62bc4a26474cb705d3ed22ca376618b3c7962fc72ace1ffd02c9c3a192d9d2c449d38228809542d7f16ebad16f8127020eb2faf +SHA512 (linux-4.18.0-539.el8.tar.xz) = 629bc1e8ad43c221aad0281240a309c5a06e8f19cd1d07975ffacd3d8a969ec1b6df232552375a56bcb94d59a8de6c9a4f41d0c731b4bf52d2c81d848d6229fb +SHA512 (kernel-abi-stablelists-4.18.0-539.tar.bz2) = 9d875e4c9340b5b1a85dd6a3c2a4e1db12a247547e728128880cf8a6fbda7225e266b69a9771691d111337721b18d63622fdb5d0b4c4820cc9cd936f711e5414 +SHA512 (kernel-kabi-dw-4.18.0-539.tar.bz2) = 8a671ed3c9b7f4b25fd4e594b62bc4a26474cb705d3ed22ca376618b3c7962fc72ace1ffd02c9c3a192d9d2c449d38228809542d7f16ebad16f8127020eb2faf