Best Pinterest Company Profile Design Ideas to Elevate Your Brand
by tinathomas27475050@gmail.com
Best Pinterest Company Profile Design Ideas to Elevate Your Brand focus on creativity, clarity, and visual storytelling. A strong pinterest company profile design uses clean layouts, consistent colors, and engaging visuals to instantly capture attention. Pinterest users are inspired by aesthetics, so your profile should reflect your brand personality while staying professional. Thoughtful typography, branded graphics, and well-organized sections can make a big difference. At Logo Experts, we help brands turn inspiration into strategy through designs that truly connect. Working with businesses across the UAE, we understand how to balance modern trends with corporate identity, ensuring your company profile not only looks great but also builds trust and recognition.
Please Visit: https://logoexperts.ae/company-profile-design/
2 weeks, 2 days
[PATCH RFC] sys: Display livepatch transition status in KERNEL line
by Motomasa Suzuki
This commit enhances the 'sys' command to show if a kernel livepatch is
currently in a transition phase, directly within the KERNEL output line.
Currently, diagnosing system state during or immediately after livepatch
operations can be ambiguous. While 'livepatch' is indicated by
'[LIVEPATCH]', there's no direct indicator within 'crash' itself to show
if a livepatch is actively applying, reverting, or in some other
transient state. This lack of immediate visibility can complicate crash
analysis, as the system might be in an inconsistent state due to an
ongoing patch application/reversion.
This change introduces a new '[TRANSITION]' flag which appears next to
'[LIVEPATCH]' and '[TAINTED]' in the 'sys' command output. This flag is
set if the livepatch subsystem indicates an in-progress transition
(e.g., as exposed via '/sys/kernel/livepatch/<patch_name>/transition').
Example 'sys' output with this change:
KERNEL: /usr/lib/debug/lib/modules/<version_name>/vmlinux [LIVEPATCH]
[TRANSITION] [TAINTED]
This enhancement provides critical, at-a-glance information for
developers and administrators, allowing them to quickly ascertain if
ongoing livepatch activity might be influencing a system's behavior
during crash investigations. It directly leverages existing kernel
livepatch status infrastructure to enrich the crash utility's diagnostic
capabilities.
Signed-off-by: Motomasa Suzuki <suzuki.motomasa(a)fujitsu.com>
---
defs.h | 1 +
kernel.c | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++---
2 files changed, 51 insertions(+), 3 deletions(-)
diff --git a/defs.h b/defs.h
index ab4aee8..b459d4d 100644
--- a/defs.h
+++ b/defs.h
@@ -2280,6 +2280,7 @@ struct offset_table { /* stash of commonly-used offsets */
long bpf_ringbuf_map_rb;
long bpf_ringbuf_consumer_pos;
long bpf_ringbuf_nr_pages;
+ long klp_patch_list;
};
struct size_table { /* stash of commonly-used sizes */
diff --git a/kernel.c b/kernel.c
index 13f3374..1ca18e4 100644
--- a/kernel.c
+++ b/kernel.c
@@ -461,7 +461,10 @@ kernel_init()
error(WARNING,
"list_head.next offset: %ld: list command may fail\n",
OFFSET(list_head_next));
-
+ if (STRUCT_EXISTS("klp_patch")) {
+ if (MEMBER_EXISTS("klp_patch", "list"))
+ MEMBER_OFFSET_INIT(klp_patch_list, "klp_patch", "list");
+ }
MEMBER_OFFSET_INIT(hlist_node_next, "hlist_node", "next");
MEMBER_OFFSET_INIT(hlist_node_pprev, "hlist_node", "pprev");
STRUCT_SIZE_INIT(hlist_head, "hlist_head");
@@ -5681,6 +5684,48 @@ is_livepatch(void)
return FALSE;
}
+#define KLP_PATCH_ITER_LIMIT 1024
+
+static int
+is_livepatch_transition(void)
+{
+ struct kernel_list_head head;
+ struct kernel_list_head node;
+ ulong transition_patch;
+ ulong list_addr;
+ ulong current;
+ ulong patch_addr;
+ int loops;
+
+ if (!try_get_symbol_data("klp_transition_patch", sizeof(ulong),
+ &transition_patch) || !transition_patch)
+ return FALSE;
+
+ if (!kernel_symbol_exists("klp_patches") || !VALID_MEMBER(klp_patch_list))
+ return FALSE;
+
+ list_addr = symbol_value("klp_patches");
+ if (!readmem(list_addr, KVADDR, &head, sizeof(head), "klp_patches",
+ RETURN_ON_ERROR | QUIET))
+ return FALSE;
+
+ for (current = (ulong)head.next, loops = 0;
+ current && current != list_addr && loops < KLP_PATCH_ITER_LIMIT;
+ current = (ulong)node.next, loops++) {
+
+ if (!readmem(list_addr, KVADDR, &head, sizeof(head),
+ "klp_patch list entry", RETURN_ON_ERROR | QUIET))
+ return FALSE;
+
+ patch_addr = current - (ulong)OFFSET(klp_patch_list);
+
+ if (patch_addr == transition_patch)
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
/*
* Display system stats at init-time or for the sys command.
*/
@@ -5724,17 +5769,19 @@ display_sys_stats(void)
}
} else {
if (pc->system_map) {
- fprintf(fp, " SYSTEM MAP: %s%s%s\n", pc->system_map,
+ fprintf(fp, " SYSTEM MAP: %s%s%s%s\n", pc->system_map,
is_livepatch() ? " [LIVEPATCH]" : "",
+ is_livepatch_transition() ? " [TRANSITION]" : "",
is_kernel_tainted() ? " [TAINTED]" : "");
fprintf(fp, "DEBUG KERNEL: %s %s\n",
pc->namelist_orig ?
pc->namelist_orig : pc->namelist,
debug_kernel_version(pc->namelist));
} else
- fprintf(fp, " KERNEL: %s%s%s\n", pc->namelist_orig ?
+ fprintf(fp, " KERNEL: %s%s%s%s\n", pc->namelist_orig ?
pc->namelist_orig : pc->namelist,
is_livepatch() ? " [LIVEPATCH]" : "",
+ is_livepatch_transition() ? " [TRANSITION]" : "",
is_kernel_tainted() ? " [TAINTED]" : "");
}
--
2.47.3
2 weeks, 2 days
Re: [PATCH RFC] sys: Display livepatch transition status in KERNEL line
by Tao Liu
Hi Motomasa,
On Sun, Dec 21, 2025 at 5:09 AM 鈴木幹理 <moto0123moto(a)gmail.com> wrote:
>
> Hi Tao,
>
> Thank you for the review and comments.
>
> > The TRANSITION mark indicating a live patch is activating or
> > deactivating or either? I mean, when people see the TRANSITION flag,
> > do they know the exact operation that is on the system, like it is
> > patching, or unpatching, or it doesn't distinguish the operation at
> > all?
>
> [TRANSITION] now explicitly means “a livepatch transition is in
> progress,” without distinguishing enable vs. disable. The intent is to
> surface that the system is in a transient state.
OK, I see.
>
> > Your above code is 1) check if transition_patch is null. 2) check if
> > transition_patch is within the klp_patches list.
> >
> > But I see in the kernel source, there are only lists to be added into
> > the klp_patches list, no one is to be deleted [1]. So my assumption
> > is, transition_patch will always be found within klp_patches. Because
> > for all livepatches, they must go through klp_enable_patch() ->
> > klp_init_patch() -> list_add_tail(&patch->list, &klp_patches), and no
> > one to be deleted from klp_patches afterwards, so transition_patch
> > must be one of those. If my assumption is correct, is step 2)
> > necessary?
>
> Step 2 is still necessary.
> A patch can be removed from the klp_patches list by
> klp_free_patch_async(), which can be reached via the path:
> enabled_store() -> __klp_disable_patch().
> Although it is unlikely that klp_transition_patch is not in klp_patches,
> this is not guaranteed, so it is safer to keep the additional
> list membership check.
Right, klp_free_patch_async() will free the patch from the klp_patches
list, I didn't notice that, thanks for your explanation!
Thanks,
Tao Liu
>
>
> > And also for the list iteration in step 2), I suggest using the
> > do_list() function of crash utility, you can refer to
> > memory.c:dump_vmap_area() to get an example of do_list() usage.
>
> That's a good idea! I agree with you.
> I wasn’t aware of this helper in the crash utility, so I will update the code
> accordingly and send a v2 patch.
>
>
> Best regards,
> Motomasa Suzuki
>
2 weeks, 2 days
Re: [PATCH v2] Resolve BLK_MQ_F_TAG_HCTX_SHARED at runtime
by Lianbo Jiang
Hi, Tao
Thank you for the update. For v2: Ack
Lianbo
On 12/15/25 5:59 AM, devel-request(a)lists.crash-utility.osci.io wrote:
> Date: Mon, 15 Dec 2025 10:49:30 +1300
> From: Tao Liu<ltao(a)redhat.com>
> Subject: [Crash-utility] [PATCH v2] Resolve BLK_MQ_F_TAG_HCTX_SHARED
> at runtime
> To:devel@lists.crash-utility.osci.io
> Cc: Tao Liu<ltao(a)redhat.com>
> Message-ID:<20251214214929.10250-2-ltao(a)redhat.com>
> Content-Type: text/plain; charset="US-ASCII"; x-default=true
>
> Though upstream kernel have defined BLK_MQ_F_TAG_HCTX_SHARED
> as (1 << 3), the value might be set different, e.g. [1]. In
> this patch, we will use enumerator_value() to get its value
> at runtime, to make the code more adaptable.
>
> [1]:https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-8/-/b...
>
> Signed-off-by: Tao Liu<ltao(a)redhat.com>
> ---
> dev.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/dev.c b/dev.c
> index 27318e8..1332b0e 100644
> --- a/dev.c
> +++ b/dev.c
> @@ -4326,11 +4326,11 @@ struct bt_iter_data {
> #define MQ_RQ_IN_FLIGHT 1
> #define REQ_OP_BITS 8
> #define REQ_OP_MASK ((1 << REQ_OP_BITS) - 1)
> -#define BLK_MQ_F_TAG_HCTX_SHARED (1 << 3)
> +static long blk_hctx_shared = 0;
>
> static bool blk_mq_is_shared_tags(unsigned int flags)
> {
> - return flags & BLK_MQ_F_TAG_HCTX_SHARED;
> + return flags & blk_hctx_shared;
> }
>
> static uint op_is_write(uint op)
> @@ -4952,6 +4952,7 @@ void diskio_init(void)
> MEMBER_OFFSET_INIT(request_queue_tag_set, "request_queue", "tag_set");
> MEMBER_OFFSET_INIT(blk_mq_tag_set_flags, "blk_mq_tag_set", "flags");
> MEMBER_OFFSET_INIT(blk_mq_tag_set_shared_tags, "blk_mq_tag_set", "shared_tags");
> + enumerator_value("BLK_MQ_F_TAG_HCTX_SHARED", &blk_hctx_shared);
>
> dt->flags |= DISKIO_INIT;
> }
> -- 2.47.0
2 weeks, 2 days
Re: [PATCH] bpf: improve for-loop when searching for used_maps
by Lianbo Jiang
Hi, Luis
Thank you for the patch. Ack.
Lianbo
On 12/23/25 9:45 AM, devel-request(a)lists.crash-utility.osci.io wrote:
> Date: Wed, 17 Dec 2025 08:13:50 -0000
> From: "Luis Galdos"<luis.galdos(a)suse.com>
> Subject: [Crash-utility] [PATCH] bpf: improve for-loop when searching
> for used_maps
> To:devel@lists.crash-utility.osci.io
> Message-ID:<20251217081350.9702.15487(a)lists.crash-utility.osci.io>
> Content-Type: text/plain; charset="utf-8"
>
> As the list bpf->maplist contains unique pointers, break when a
> map is found.
>
> Signed-off-by: Luis Galdos<luis.galdos(a)suse.com>
> ---
> bpf.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/bpf.c b/bpf.c
> index 9b99e23..2840c7d 100644
> --- a/bpf.c
> +++ b/bpf.c
> @@ -880,6 +880,7 @@ bpf_prog_used_maps(int idx, char *retbuf)
> sprintf(&retbuf[strlen(retbuf)], "%s%ld",
> strlen(retbuf) ? "," : "",
> bpf->maplist[m].index);
> + break;
> }
> }
> }
> -- 2.52.0
2 weeks, 2 days
[Extension] Request to add new extension to Crash Extension Modules page: crash-plugins
by baifaqingsi@gmail.com
Dear Crash Utility Maintainers,
I hope this email finds you well. I am writing to submit a new extension module for inclusion on the Crash Extension Modules page. Below, I have provided the necessary details for your consideration.
Extension Name: crash-plugins
Commands: This module includes over 40 commands, covering a diverse range of functionalities such as:
- Memory Management: slub, buddy, cma, memblock, vmalloc, reserved, zram, swap, dmabuf, pageowner, pagecache, meminfo
- Process & Scheduling: procrank, sched, binder
- Device & Drivers: dd, dts, regulator, icc, ccf, thermal, cpu, watchdog
- Debugging & Logging: rtb, pstore, qlog, ipc, dbi(uwind stack), ftrace, systemd
- Utilities: workqueue, coredump, env, t32, lockdep, iommu
- Android Userspace: property, logcat, surfaceflinger
Functionality: This extension provides a comprehensive collection of crash-utility plugins for analyzing Linux kernel crash dumps, covering both kernel space and user space debugging. These plugins significantly enhance debugging efficiency.
Build: The build system supports two modes:
- Single-module mode (recommended): All plugins compiled into one `plugins.so`
- Multi-module mode: Each plugin compiled as a separate `.so` file
Build steps:
# Install dependencies
sudo apt-get install cmake gcc-multilib g++-multilib \
libzstd-dev libzstd-dev:i386 \
libelf-dev libelf-dev:i386 \
libsystemd-dev libsystemd-dev:i386 \
pkg-config
# Quick Build
./build.sh
Loading Method:
crash> extend <path-to>/output/arm64/plugins.so
GitHub: https://github.com/quic/crash-plugins
Requirements:
- crash-utility version >= 8.0.6
- CMake >= 3.21.1
- Supported architectures: ARM64, ARM32
- Tested kernel versions: 5.4 to 6.6
- Android versions: 11 (API 30) to 14 (API 34)
Author: wya(a)qti.qualcomm.com, chahuan(a)qti.qualcomm.com
As specified in the extension guidelines, please add this module to the Crash Extension Modules page. This extension will be actively maintained with regular updates to ensure compatibility with new kernel versions and additional feature enhancements.
Please let me know if any additional information is needed. Thank you very much for your consideration!
2 weeks, 2 days
Thinking About Paying Someone to Do Your Dissertation? Read This First
by Richard Earl
There were nights I stayed up at the kitchen table, my laptop open, surrounded by stacks of books, while my parents quietly left snacks for me and whispered words of encouragement. I felt their sacrifices weighing on my shoulders, and the thought of falling behind made me anxious. At one point, I searched “Pay for Dissertation” in desperation, but I knew I didn’t want to compromise my integrity. Turning to Dissertation Help Services instead gave me guidance and feedback, helping me structure my research and write confidently. Knowing my family’s support and my own effort mattered kept me going.
please visit: https://dissertationhelpservices.uk/write-my-dissertation-uk/
3 weeks, 2 days
unilever supply chain issues
by stivejoy373@gmail.com
I've always struggled with managing multiple deadlines, so I eventually turned to Native Assignment Help just to survive the workload. I didn t expect it to make such a huge difference, but it honestly did. They helped me get my workload under control and, for the first time, actually understand what each assignment was asking for. Later, when my coursework started getting tougher, I needed support understanding unilever supply chain issues, including sustainability challenges, supplier coordination, global sourcing risks, and how disruptions impact production and distribution, and it honestly became a complete lifesaver.
visit: https://www.nativeassignmenthelp.co.uk/contemporary-business-environment-...
3 weeks, 5 days
[PATCH] bpf: improve for-loop when searching for used_maps
by Luis Galdos
As the list bpf->maplist contains unique pointers, break when a
map is found.
Signed-off-by: Luis Galdos <luis.galdos(a)suse.com>
---
bpf.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/bpf.c b/bpf.c
index 9b99e23..2840c7d 100644
--- a/bpf.c
+++ b/bpf.c
@@ -880,6 +880,7 @@ bpf_prog_used_maps(int idx, char *retbuf)
sprintf(&retbuf[strlen(retbuf)], "%s%ld",
strlen(retbuf) ? "," : "",
bpf->maplist[m].index);
+ break;
}
}
}
--
2.52.0
4 weeks, 1 day
Re: [PATCH] Loongarch: update the NR_CPUS to 2048
by Lianbo Jiang
On 12/11/25 11:57 AM, devel-request(a)lists.crash-utility.osci.io wrote:
> Date: Thu, 11 Dec 2025 09:41:18 +0800
> From: Chenghao Duan<duanchenghao(a)kylinos.cn>
> Subject: [Crash-utility] [PATCH] Loongarch: update the NR_CPUS to 2048
> To:devel@lists.crash-utility.osci.io
> Cc: Chenghao Duan<duanchenghao(a)kylinos.cn>
> Message-ID:<20251211014118.124373-1-duanchenghao(a)kylinos.cn>
>
> Since the kernel commit 9559d5806319 ("LoongArch: Increase max
> supported CPUs up to 2048")the NR_CPUS on Linux kernel ranges
> from 2-2048. So let's match NR_CPUS with the max NR_CPUS count
> on the Linux kernel.
Thank you for the patch. Ack.
Lianbo
>
> Signed-off-by: Chenghao Duan<duanchenghao(a)kylinos.cn>
> ---
> defs.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/defs.h b/defs.h
> index 156ac02..c407ac4 100644
> --- a/defs.h
> +++ b/defs.h
> @@ -169,7 +169,7 @@
> #define NR_CPUS (256)
> #endif
> #ifdef LOONGARCH64
> -#define NR_CPUS (256)
> +#define NR_CPUS (2048)
> #endif
>
> #define NR_DEVICE_DUMPS (64)
> -- 2.25.1
1 month