diff --git a/Makefile.rhelver b/Makefile.rhelver index e3115e9..20306ea 100644 --- a/Makefile.rhelver +++ b/Makefile.rhelver @@ -12,7 +12,7 @@ RHEL_MINOR = 2 # # Use this spot to avoid future merge conflicts. # Do not trim this comment. -RHEL_RELEASE = 194 +RHEL_RELEASE = 195 # # ZSTREAM @@ -66,4 +66,4 @@ ifneq ("$(ZSTREAM)", "yes") endif endif -RTBUILD:=.194 +RTBUILD:=.195 diff --git a/kernel.spec b/kernel.spec index 7ebcb6f..d8fbf2c 100755 --- a/kernel.spec +++ b/kernel.spec @@ -119,15 +119,15 @@ Summary: The Linux kernel # define buildid .local %define specversion 5.14.0 %define patchversion 5.14 -%define pkgrelease 194.rt21.194 +%define pkgrelease 195.rt21.195 %define kversion 5 -%define tarfile_release 5.14.0-194.rt21.194.el9 +%define tarfile_release 5.14.0-195.rt21.195.el9 # This is needed to do merge window version magic %define patchlevel 14 # This allows pkg_release to have configurable %%{?dist} tag -%define specrelease 194.rt21.194%{?buildid}%{?dist} +%define specrelease 195.rt21.195%{?buildid}%{?dist} # This defines the kabi tarball version -%define kabiversion 5.14.0-194.rt21.194.el9 +%define kabiversion 5.14.0-195.rt21.195.el9 # # End of genspec.sh variables @@ -3191,6 +3191,220 @@ fi # # %changelog +* Mon Nov 14 2022 Luis Claudio R. Goncalves [5.14.0-195.rt21.195.el9] +- [rt] build kernel-rt-5.14.0-195.rt21.195.el9 [2125474] +- mm: prep_compound_tail() clear page->private (Nico Pache) [2089498] +- mm/huge_memory: do not clobber swp_entry_t during THP split (Nico Pache) [2089498] +- mm: Clear page->private when splitting or migrating a page (Nico Pache) [2089498] +- mm,hugetlb: take hugetlb_lock before decrementing h->resv_huge_pages (Nico Pache) [2089498] +- mm/compaction: fix set skip in fast_find_migrateblock (Nico Pache) [2089498] +- mm/hugetlb: fix races when looking up a CONT-PTE/PMD size hugetlb page (Nico Pache) [2089498] +- mm, memory_hotplug: remove obsolete generic_free_nodedata() (Nico Pache) [2089498] +- mm/page_alloc: use local variable zone_idx directly (Nico Pache) [2089498] +- mm/page_alloc: add missing is_migrate_isolate() check in set_page_guard() (Nico Pache) [2089498] +- mm: remove obsolete pgdat_is_empty() (Nico Pache) [2089498] +- mm/page_alloc: fix freeing static percpu memory (Nico Pache) [2089498] +- mm/page_alloc: add __init annotations to init_mem_debugging_and_hardening() (Nico Pache) [2089498] +- mm/page_alloc: remove obsolete comment in zone_statistics() (Nico Pache) [2089498] +- mm: remove obsolete macro NR_PCP_ORDER_MASK and NR_PCP_ORDER_WIDTH (Nico Pache) [2089498] +- mm/page_alloc: make zone_pcp_update() static (Nico Pache) [2089498] +- mm/page_alloc: ensure kswapd doesn't accidentally go to sleep (Nico Pache) [2089498] +- zsmalloc: use correct types in _first_obj_offset functions (Nico Pache) [2089498] +- mm,hwpoison: check mm when killing accessing process (Nico Pache) [2089498] +- mm/huge_memory: use pfn_to_online_page() in split_huge_pages_all() (Nico Pache) [2089498] +- mm: fix madivse_pageout mishandling on non-LRU page (Nico Pache) [2089498] +- powerpc/64s/radix: don't need to broadcast IPI for radix pmd collapse flush (Nico Pache) [2089498] +- mm: gup: fix the fast GUP race against THP collapse (Nico Pache) [2089498] +- arm64: mte: move register initialization to C (Nico Pache) [2089498] +- mm/slab_common: fix possible double free of kmem_cache (Nico Pache) [2089498] +- mm/migrate_device.c: fix a misleading and outdated comment (Nico Pache) [2089498] +- mm/vmalloc.c: support HIGHMEM pages in vmap_pages_range_noflush() (Nico Pache) [2089498] +- mm: migration: fix the FOLL_GET failure on following huge page (Nico Pache) [2089498] +- mm/vmscan: make the annotations of refaults code at the right place (Nico Pache) [2089498] +- mm/hugetlb: add dedicated func to get 'allowed' nodemask for current process (Nico Pache) [2089498] +- mm/mempolicy: fix lock contention on mems_allowed (Nico Pache) [2089498] +- mm: fix dereferencing possible ERR_PTR (Nico Pache) [2089498] +- mm/migrate_device.c: copy pte dirty bit to page (Nico Pache) [2089498] +- mm/migrate_device.c: add missing flush_cache_page() (Nico Pache) [2089498] +- mm/migrate_device.c: flush TLB while holding PTL (Nico Pache) [2089498] +- mm/page_alloc: fix race condition between build_all_zonelists and page allocation (Nico Pache) [2089498] +- mm/slub: fix to return errno if kmalloc() fails (Nico Pache) [2089498] +- mm: pagewalk: Fix race between unmap and page walker (Nico Pache) [2089498] +- mm/slab_common: Deleting kobject in kmem_cache_destroy() without holding slab_mutex/cpu_hotplug_lock (Nico Pache) [2089498] +- bootmem: remove the vmemmap pages from kmemleak in put_page_bootmem (Nico Pache) [2089498] +- writeback: avoid use-after-free after removing device (Nico Pache) [2089498] +- mm/hugetlb: avoid corrupting page->mapping in hugetlb_mcopy_atomic_pte (Nico Pache) [2089498] +- mm/hugetlb: support write-faults in shared mappings (Nico Pache) [2089498] +- mm/hugetlb: fix hugetlb not supporting softdirty tracking (Nico Pache) [2089498] +- x86/mm: Use proper mask when setting PUD mapping (Nico Pache) [2089498] +- x86/PAT: Have pat_enabled() properly reflect state when running on Xen (Nico Pache) [2089498] +- x86/numa: Use cpumask_available instead of hardcoded NULL check (Nico Pache) [2089498] +- mm/mmap.c: fix missing call to vm_unacct_memory in mmap_region (Nico Pache) [2089498] +- mm/hmm: fault non-owner device private entries (Nico Pache) [2089498] +- page_alloc: fix invalid watermark check on a negative value (Nico Pache) [2089498] +- hugetlb: fix memoryleak in hugetlb_mcopy_atomic_pte (Nico Pache) [2089498] +- mm: fix missing wake-up event for FSDAX pages (Nico Pache) [2089498] +- mm: fix page leak with multiple threads mapping the same page (Nico Pache) [2089498] +- KVM: s390: pv: handle secure storage exceptions for normal guests (Nico Pache) [2089498] +- mm/mempolicy: fix get_nodes out of bound access (Nico Pache) [2089498] +- mm/migration: fix potential pte_unmap on an not mapped pte (Nico Pache) [2089498] +- mm/migration: return errno when isolate_huge_page failed (Nico Pache) [2089498] +- mm/migration: remove unneeded lock page and PageMovable check (Nico Pache) [2089498] +- mm: split huge PUD on wp_huge_pud fallback (Nico Pache) [2089498] +- mm/damon: use set_huge_pte_at() to make huge pte old (Nico Pache) [2089498] +- mm: userfaultfd: fix UFFDIO_CONTINUE on fallocated shmem pages (Nico Pache) [2089498] +- mm: Account dirty folios properly during splits (Nico Pache) [2089498] +- powerpc/ptdump: Fix display of RW pages on FSL_BOOK3E (Nico Pache) [2089498] +- filemap: Handle sibling entries in filemap_get_read_batch() (Nico Pache) [2089498] +- mm/memremap: fix memunmap_pages() race with get_dev_pagemap() (Nico Pache) [2089498] +- mm: lru_cache_disable: use synchronize_rcu_expedited (Nico Pache) [2089498] +- init: Initialize noop_backing_dev_info early (Nico Pache) [2089498] +- writeback: Fix inode->i_io_list not be protected by inode->i_lock error (Nico Pache) [2089498] +- mm/slub: add missing TID updates on slab deactivation (Nico Pache) [2089498] +- mm/memremap: fix missing call to untrack_pfn() in pagemap_range() (Nico Pache) [2089498] +- mm/z3fold: fix z3fold_page_migrate races with z3fold_map (Nico Pache) [2089498] +- mm/z3fold: fix z3fold_reclaim_page races with z3fold_free (Nico Pache) [2089498] +- mm/z3fold: always clear PAGE_CLAIMED under z3fold page lock (Nico Pache) [2089498] +- mm/z3fold: put z3fold page back into unbuddied list when reclaim or migration fails (Nico Pache) [2089498] +- revert "mm/z3fold.c: allow __GFP_HIGHMEM in z3fold_alloc" (Nico Pache) [2089498] +- mm/z3fold: throw warning on failure of trylock_page in z3fold_alloc (Nico Pache) [2089498] +- mm/z3fold: remove buggy use of stale list for allocation (Nico Pache) [2089498] +- mm/z3fold: fix possible null pointer dereferencing (Nico Pache) [2089498] +- mm/z3fold: fix sheduling while atomic (Nico Pache) [2089498] +- mm/mempolicy: clean up the code logic in queue_pages_pte_range (Nico Pache) [2089498] +- drivers/base/node.c: fix compaction sysfs file leak (Nico Pache) [2089498] +- mm: compaction: use helper isolation_suitable() (Nico Pache) [2089498] +- mm/z3fold: remove unneeded PAGE_HEADLESS check in free_handle() (Nico Pache) [2089498] +- mm/z3fold: remove redundant list_del_init of zhdr->buddy in z3fold_free (Nico Pache) [2089498] +- mm/z3fold: move decrement of pool->pages_nr into __release_z3fold_page() (Nico Pache) [2089498] +- mm/z3fold: remove confusing local variable l reassignment (Nico Pache) [2089498] +- mm/z3fold: remove unneeded page_mapcount_reset and ClearPagePrivate (Nico Pache) [2089498] +- mm/z3fold: minor clean up for z3fold_free (Nico Pache) [2089498] +- mm/z3fold: remove obsolete comment in z3fold_alloc (Nico Pache) [2089498] +- mm/z3fold: declare z3fold_mount with __init (Nico Pache) [2089498] +- hugetlb: fix huge_pmd_unshare address update (Nico Pache) [2089498] +- powerpc/ftrace: Remove ftrace init tramp once kernel init is complete (Nico Pache) [2089498] +- zsmalloc: fix races between asynchronous zspage free and page migration (Nico Pache) [2089498] +- Revert "mm/cma.c: remove redundant cma_mutex lock" (Nico Pache) [2089498] +- mm/page_owner: use strscpy() instead of strlcpy() (Nico Pache) [2089498] +- mm: hugetlb: add missing cache flushing in hugetlb_unshare_all_pmds() (Nico Pache) [2089498] +- mm: simplify follow_invalidate_pte() (Nico Pache) [2089498] +- dax: fix missing writeprotect the pte entry (Nico Pache) [2089498] +- mm: pvmw: add support for walking devmap pages (Nico Pache) [2089498] +- mm: rmap: introduce pfn_mkclean_range() to cleans PTEs (Nico Pache) [2089498] +- dax: fix cache flush on PMD-mapped pages (Nico Pache) [2089498] +- mm: rmap: fix cache flush on THP pages (Nico Pache) [2089498] +- mm/madvise: fix potential pte_unmap_unlock pte error (Nico Pache) [2089498] +- userfaultfd: mark uffd_wp regardless of VM_WRITE flag (Nico Pache) [2089498] +- mempolicy: mbind_range() set_policy() after vma_merge() (Nico Pache) [2089498] +- cifs: fix lock length calculation (Ronnie Sahlberg) [2138995] +- cifs: move from strlcpy with unused retval to strscpy (Ronnie Sahlberg) [2138995] +- cifs: remove unused server parameter from calc_smb_size() (Ronnie Sahlberg) [2138995] +- cifs: remove useless parameter 'is_fsctl' from SMB2_ioctl() (Ronnie Sahlberg) [2138995] +- cifs: remove remaining build warnings (Ronnie Sahlberg) [2138995] +- cifs: list_for_each() -> list_for_each_entry() (Ronnie Sahlberg) [2138995] +- smb2: small refactor in smb2_check_message() (Ronnie Sahlberg) [2138995] +- cifs: remove minor build warning (Ronnie Sahlberg) [2138995] +- cifs: remove some camelCase and also some static build warnings (Ronnie Sahlberg) [2138995] +- cifs: remove unnecessary (void*) conversions. (Ronnie Sahlberg) [2138995] +- cifs: remove unnecessary type castings (Ronnie Sahlberg) [2138995] +- cifs: remove redundant initialization to variable mnt_sign_enabled (Ronnie Sahlberg) [2138995] +- smb3: check xattr value length earlier (Ronnie Sahlberg) [2138995] +- cifs: when a channel is not found for server, log its connection id (Ronnie Sahlberg) [2138995] +- smb3: add trace point for SMB2_set_eof (Ronnie Sahlberg) [2138995] +- cifs: return errors during session setup during reconnects (Ronnie Sahlberg) [2138995] +- cifs: fix reconnect on smb3 mount types (Ronnie Sahlberg) [2138995] +- cifs: update internal module number (Ronnie Sahlberg) [2138995] +- cifs: version operations for smb20 unneeded when legacy support disabled (Ronnie Sahlberg) [2138995] +- cifs: do not build smb1ops if legacy support is disabled (Ronnie Sahlberg) [2138995] +- cifs: remove repeated debug message on cifs_put_smb_ses() (Ronnie Sahlberg) [2138995] +- cifs: fix ntlmssp on old servers (Ronnie Sahlberg) [2138995] +- cifs: do not use tcpStatus after negotiate completes (Ronnie Sahlberg) [2138995] +- smb3: don't set rc when used and unneeded in query_info_compound (Ronnie Sahlberg) [2138995] +- smb3: check for null tcon (Ronnie Sahlberg) [2138995] +- Add various fsctl structs (Ronnie Sahlberg) [2138995] +- smb3: add trace point for oplock not found (Ronnie Sahlberg) [2138995] +- cifs: return the more nuanced writeback error on close() (Ronnie Sahlberg) [2138995] +- smb3: add trace point for lease not found issue (Ronnie Sahlberg) [2138995] +- cifs: smbd: fix typo in comment (Ronnie Sahlberg) [2138995] +- cifs: set the CREATE_NOT_FILE when opening the directory in use_cached_dir() (Ronnie Sahlberg) [2138995] +- cifs: check for smb1 in open_cached_dir() (Ronnie Sahlberg) [2138995] +- cifs: move definition of cifs_fattr earlier in cifsglob.h (Ronnie Sahlberg) [2138995] +- cifs: print TIDs as hex (Ronnie Sahlberg) [2138995] +- cifs: fix signed integer overflow when fl_end is OFFSET_MAX (Ronnie Sahlberg) [2138995] +- cifs: Use kzalloc instead of kmalloc/memset (Ronnie Sahlberg) [2138995] +- cifs: potential buffer overflow in handling symlinks (Ronnie Sahlberg) [2138995] +- cifs: Split the smb3_add_credits tracepoint (Ronnie Sahlberg) [2138995] +- cifs: Check the IOCB_DIRECT flag, not O_DIRECT (Ronnie Sahlberg) [2138995] +- cifs: update internal module number (Ronnie Sahlberg) [2138995] +- cifs: remove check of list iterator against head past the loop body (Ronnie Sahlberg) [2138995] +- cifs: fix potential race with cifsd thread (Ronnie Sahlberg) [2138995] +- smb3: fix ksmbd bigendian bug in oplock break, and move its struct to smbfs_common (Ronnie Sahlberg) [2138995] +- smb3: move defines for query info and query fsinfo to smbfs_common (Ronnie Sahlberg) [2138995] +- smb3: move defines for ioctl protocol header and SMB2 sizes to smbfs_common (Ronnie Sahlberg) [2138995] +- move more common protocol header definitions to smbfs_common (Ronnie Sahlberg) [2138995] +- cifs: change smb2_query_info_compound to use a cached fid, if available (Ronnie Sahlberg) [2138995] +- cifs: fix incorrect use of list iterator after the loop (Ronnie Sahlberg) [2138995] +- cifs: convert the path to utf16 in smb2_query_info_compound (Ronnie Sahlberg) [2138995] +- cifs: use a different reconnect helper for non-cifsd threads (Ronnie Sahlberg) [2138995] +- Adjust cifssb maximum read size (Ronnie Sahlberg) [2138995] +- smb3: fix incorrect session setup check for multiuser mounts (Ronnie Sahlberg) [2138995] +- cifs: fix confusing unneeded warning message on smb2.1 and earlier (Ronnie Sahlberg) [2138995] +- cifs: do not use uninitialized data in the owner/group sid (Ronnie Sahlberg) [2138995] +- cifs: fix set of group SID via NTSD xattrs (Ronnie Sahlberg) [2138995] +- cifs: mark sessions for reconnection in helper function (Ronnie Sahlberg) [2138995] +- cifs: call helper functions for marking channels for reconnect (Ronnie Sahlberg) [2138995] +- cifs: call cifs_reconnect when a connection is marked (Ronnie Sahlberg) [2138995] +- [smb3] improve error message when mount options conflict with posix (Ronnie Sahlberg) [2138995] +- cifs: unlock chan_lock before calling cifs_put_tcp_session (Ronnie Sahlberg) [2138995] +- Fix a warning about a malformed kernel doc comment in cifs (Ronnie Sahlberg) [2138995] +- smb3: add new defines from protocol specification (Ronnie Sahlberg) [2138995] +- cifs: update internal module number (Ronnie Sahlberg) [2138995] +- smb3: send NTLMSSP version information (Ronnie Sahlberg) [2138995] +- cifs: cifs_ses_mark_for_reconnect should also update reconnect bits (Ronnie Sahlberg) [2138995] +- cifs: update tcpStatus during negotiate and sess setup (Ronnie Sahlberg) [2138995] +- cifs: make status checks in version independent callers (Ronnie Sahlberg) [2138995] +- cifs: remove unused variable ses_selected (Ronnie Sahlberg) [2138995] +- cifs: protect all accesses to chan_* with chan_lock (Ronnie Sahlberg) [2138995] +- cifs: fix the connection state transitions with multichannel (Ronnie Sahlberg) [2138995] +- cifs: check reconnects for channels of active tcons too (Ronnie Sahlberg) [2138995] +- cifs: clean up an inconsistent indenting (Ronnie Sahlberg) [2138995] +- cifs: fix FILE_BOTH_DIRECTORY_INFO definition (Ronnie Sahlberg) [2138995] +- cifs: move superblock magic defitions to magic.h (Ronnie Sahlberg) [2138995] +- cifs: Fix smb311_update_preauth_hash() kernel-doc comment (Ronnie Sahlberg) [2138995] +- cifs: avoid race during socket reconnect between send and recv (Ronnie Sahlberg) [2138995] +- cifs: maintain a state machine for tcp/smb/tcon sessions (Ronnie Sahlberg) [2138995] +- cifs: fix hang on cifs_get_next_mid() (Ronnie Sahlberg) [2138995] +- cifs: take cifs_tcp_ses_lock for status checks (Ronnie Sahlberg) [2138995] +- cifs: reconnect only the connection and not smb session where possible (Ronnie Sahlberg) [2138995] +- cifs: add WARN_ON for when chan_count goes below minimum (Ronnie Sahlberg) [2138995] +- cifs: adjust DebugData to use chans_need_reconnect for conn status (Ronnie Sahlberg) [2138995] +- cifs: use the chans_need_reconnect bitmap for reconnect status (Ronnie Sahlberg) [2138995] +- cifs: track individual channel status using chans_need_reconnect (Ronnie Sahlberg) [2138995] +- cifs: remove redundant assignment to pointer p (Ronnie Sahlberg) [2138995] +- dt-bindings: mmc: fsl-imx-esdhc: add NXP S32G2 support (Steve Best) [2133158] +- mmc: sdhci-esdhc-imx: Add sdhc support for i.MXRT series (Steve Best) [2133158] +- mmc: sdhci-esdhc-imx: disable CMDQ support (Steve Best) [2133158] +- mmc: sdhci-esdhc-imx: add NXP S32G2 support (Steve Best) [2133158] +- mmc: sdhci-esdhc-imx: clear the buffer_read_ready to reset standard tuning circuit (Steve Best) [2133158] +- mmc: sdhci-esdhc-imx: Select the correct mode for auto tuning (Steve Best) [2133158] +- mmc: sdhci-esdhc-imx: Remove redundant code for manual tuning (Steve Best) [2133158] +- mmc: sdhci-esdhc-imx: Remove unneeded mmc-esdhc-imx.h header (Steve Best) [2133158] +- mm/kmemleak: prevent soft lockup in kmemleak_scan()'s object iteration loops (Waiman Long) [2095633] +- mm/kmemleak: prevent soft lockup in first object iteration loop of kmemleak_scan() (Waiman Long) [2095633] +- mm/kmemleak: skip unlikely objects in kmemleak_scan() without taking lock (Waiman Long) [2095633] +- mm/kmemleak: use _irq lock/unlock variants in kmemleak_scan/_clear() (Waiman Long) [2095633] +- tcp: fix early ETIMEDOUT after spurious non-SACK RTO (Davide Caratti) [2136491] +- Revert "tcp: change pingpong threshold to 3" (Davide Caratti) [2136491] +- tcp: fix F-RTO may not work correctly when receiving DSACK (Davide Caratti) [2136491] +- tcp: fix tcp_cwnd_validate() to not forget is_cwnd_limited (Davide Caratti) [2136491] +- net: do not sense pfmemalloc status in skb_append_pagefrags() (Davide Caratti) [2136491] +- tcp: TX zerocopy should not sense pfmemalloc status (Davide Caratti) [2136491] +- net: introduce __skb_fill_page_desc_noacc (Davide Caratti) [2136491] +- tcp: make retransmitted SKB fit into the send window (Davide Caratti) [2136491] +- tcp: add a missing nf_reset_ct() in 3WHS handling (Davide Caratti) [2136491] +- tcp: tcp_rtx_synack() can be called from process context (Davide Caratti) [2136491] + * Sun Nov 13 2022 Luis Claudio R. Goncalves [5.14.0-194.rt21.194.el9] - [rt] build kernel-rt-5.14.0-194.rt21.194.el9 [2125474] - gfs2: Register fs after creating workqueues (Bob Peterson) [2130267] diff --git a/sources b/sources index 82d0036..4f50d5b 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ SHA512 (kernel-abi-whitelists-5.13.0-1.tar.bz2) = ceba454e1f590c1e4ef4115a75463ae3ac2c2aa7ec85fa14a2669d666c421483a38225ee19d7d72b4ac7032375741408b23543e43588538c80161ec0cf57051c -SHA512 (linux-5.14.0-194.rt21.194.el9.tar.xz) = f03bb9f1c4519f82ef2c4cd1ac77c92480868caa785db9e6643daeb0cd4c383b7fde0aad197fe7e41757fb37098b92a3450a127cfde71c56595324fdd51440ae -SHA512 (kernel-abi-stablelists-5.14.0-194.rt21.194.el9.tar.bz2) = bef5e079086fe89d93a9d2ec84c8e5f7894f1557bc2283790543ed8a4ddfea4b59287ed85313d6b60c33127fb27eac6c9ed926cef53f24e11ee55275d0a96589 -SHA512 (kernel-kabi-dw-5.14.0-194.rt21.194.el9.tar.bz2) = 565f812fa83a756ef7b91219031cfe80b1e853f22b4ed38ada76aed482caaf89df35e4d220f45728392765a757f8b0798e3b5a57fee0114e1d0379e887772578 +SHA512 (linux-5.14.0-195.rt21.195.el9.tar.xz) = 02e6164d8a102f0ed58036e0d6d7b1d4a59b004ad38f63113e911dea2a90a32e3986a87f06300c664d8ff90e420a60afa4685c8fb6e820de9764fee46a533683 +SHA512 (kernel-abi-stablelists-5.14.0-195.rt21.195.el9.tar.bz2) = 52366d5a383e42a809d95e63480f5869f0b0b57a82bbdc0042d90202892c56d94eab9dc30bbaf92c0f5bfe69c1e1ef9ef0d9806e5949af2ca18d3035d827f6e2 +SHA512 (kernel-kabi-dw-5.14.0-195.rt21.195.el9.tar.bz2) = 565f812fa83a756ef7b91219031cfe80b1e853f22b4ed38ada76aed482caaf89df35e4d220f45728392765a757f8b0798e3b5a57fee0114e1d0379e887772578