[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[xen staging] symbols: fix xensyms_read() hitting the final "end" symbol



commit d301d718a4de64b393a29604fe76a75b8441e316
Author:     Jan Beulich <jbeulich@xxxxxxxx>
AuthorDate: Mon Sep 8 13:32:00 2025 +0200
Commit:     Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Mon Sep 8 13:32:00 2025 +0200

    symbols: fix xensyms_read() hitting the final "end" symbol
    
    A new "no (more) symbol" path there was lacking a necessary unlock.
    
    Fixes: d3b637fba31b ("symbols: arrange to know where functions end")
    Coverity ID: 1665212
    Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
    Reviewed-by: Mykola Kvach <mykola_kvach@xxxxxxxx>
    Acked-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
---
 xen/common/symbols.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/xen/common/symbols.c b/xen/common/symbols.c
index 0d8cc25ab0..2260539800 100644
--- a/xen/common/symbols.c
+++ b/xen/common/symbols.c
@@ -202,7 +202,10 @@ int xensyms_read(uint32_t *symnum, char *type,
     {
         ++next_offset;
         if ( ++*symnum == symbols_num_addrs )
+        {
+            spin_unlock(&symbols_mutex);
             goto no_symbol;
+        }
     }
 
     *type = symbols_get_symbol_type(next_offset);
--
generated by git-patchbot for /home/xen/git/xen.git#staging



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.