[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"repo-stars":3,"vuln-DEBIAN-CVE-2024-56547":6},{"stargazers_count":4,"fetched_at":5},7,"2026-06-04T20:55:29.923Z",{"id":7,"descriptions":8,"cisa":9,"weaknesses":10,"exploits":11,"aliases":12,"duplicate_of":9,"upstream":13,"downstream":16,"duplicates":17,"related":18,"reserved_at":9,"published_at":19,"modified_at":20,"state":9,"summary":21,"references_raw":23,"kevs":30,"epss":9,"epss_history":31,"metrics":32,"affected":39},"DEBIAN-CVE-2024-56547","In the Linux kernel, the following vulnerability has been resolved:  rcu/nocb: Fix missed RCU barrier on deoffloading  Currently, running rcutorture test with torture_type=rcu fwd_progress=8 n_barrier_cbs=8 nocbs_nthreads=8 nocbs_toggle=100 onoff_interval=60 test_boost=2, will trigger the following warning:  \tWARNING: CPU: 19 PID: 100 at kernel/rcu/tree_nocb.h:1061 rcu_nocb_rdp_deoffload+0x292/0x2a0 \tRIP: 0010:rcu_nocb_rdp_deoffload+0x292/0x2a0 \t Call Trace: \t  \u003CTASK> \t  ? __warn+0x7e/0x120 \t  ? rcu_nocb_rdp_deoffload+0x292/0x2a0 \t  ? report_bug+0x18e/0x1a0 \t  ? handle_bug+0x3d/0x70 \t  ? exc_invalid_op+0x18/0x70 \t  ? asm_exc_invalid_op+0x1a/0x20 \t  ? rcu_nocb_rdp_deoffload+0x292/0x2a0 \t  rcu_nocb_cpu_deoffload+0x70/0xa0 \t  rcu_nocb_toggle+0x136/0x1c0 \t  ? __pfx_rcu_nocb_toggle+0x10/0x10 \t  kthread+0xd1/0x100 \t  ? __pfx_kthread+0x10/0x10 \t  ret_from_fork+0x2f/0x50 \t  ? __pfx_kthread+0x10/0x10 \t  ret_from_fork_asm+0x1a/0x30 \t  \u003C/TASK>  CPU0                               CPU2                          CPU3 //rcu_nocb_toggle             //nocb_cb_wait                   //rcutorture  // deoffload CPU1             // process CPU1's rdp rcu_barrier()     rcu_segcblist_entrain()         rcu_segcblist_add_len(1);         // len == 2         // enqueue barrier         // callback to CPU1's         // rdp->cblist                              rcu_do_batch()                                  // invoke CPU1's rdp->cblist                                  // callback                                  rcu_barrier_callback()                                                              rcu_barrier()                                                                mutex_lock(&rcu_state.barrier_mutex);                                                                // still see len == 2                                                                // enqueue barrier callback                                                                // to CPU1's rdp->cblist                                                                rcu_segcblist_entrain()                                                                    rcu_segcblist_add_len(1);                                                                    // len == 3                                  // decrement len                                  rcu_segcblist_add_len(-2);                              kthread_parkme()  // CPU1's rdp->cblist len == 1 // Warn because there is // still a pending barrier // trigger warning WARN_ON_ONCE(rcu_segcblist_n_cbs(&rdp->cblist)); cpus_read_unlock();                                                                  // wait CPU1 to comes online and                                                                 // invoke barrier callback on                                                                 // CPU1 rdp's->cblist                                                                 wait_for_completion(&rcu_state.barrier_completion); // deoffload CPU4 cpus_read_lock()   rcu_barrier()     mutex_lock(&rcu_state.barrier_mutex);     // block on barrier_mutex     // wait rcu_barrier() on     // CPU3 to unlock barrier_mutex     // but CPU3 unlock barrier_mutex     // need to wait CPU1 comes online     // when CPU1 going online will block on cpus_write_lock  The above scenario will not only trigger a WARN_ON_ONCE(), but also trigger a deadlock.  Thanks to nocb locking, a second racing rcu_barrier() on an offline CPU will either observe the decremented callback counter down to 0 and spare the callback enqueue, or rcuo will observe the new callback and keep rdp->nocb_cb_sleep to false.  Therefore check rdp->nocb_cb_sleep before parking to make sure no further rcu_barrier() is waiting on the rdp.",null,[],[],[],[14],{"_key":15},"CVE-2024-56547",[],[],[],"2024-12-27T14:15:34.497Z","2026-04-28T20:29:05.716727Z",{"cisa_kev":22,"cisa_ransomware":22,"cisa_vendor":9,"epss_severity":9,"epss_score":9,"severity":9,"severity_score":9,"severity_version":9,"severity_source":9,"severity_vector":9,"severity_status":9},false,[24],{"url":25,"sources":26,"tags":28},"https://security-tracker.debian.org/tracker/CVE-2024-56547",[27],"osv_debian",[29],"Advisory",[],[],[33],{"source":27,"cvss_v2_0":9,"cvss_v3_0":9,"cvss_v3_1":34,"cvss_v4_0":9},{"baseScore":35,"baseSeverity":9,"vectorString":36,"impactScore":37,"exploitabilityScore":38},4.7,"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H",6,2.6,[40],{"ecosystem":41,"name":42,"vendor":43,"product":42,"cpe_part":9,"purl_type":44,"purl_namespace":43,"purl_name":42,"source":9,"versions":45},"Debian","linux","debian","deb",[46,52],{"version":47,"is_range":48,"range_type":49,"version_start":9,"version_start_type":9,"version_end":50,"version_end_type":51,"fixed_in":9},"lt6_12_3_1",true,"ecosystem","6.12.3-1","excluding",{"version":47,"is_range":48,"range_type":49,"version_start":9,"version_start_type":9,"version_end":50,"version_end_type":51,"fixed_in":9}]