[PATCH] Display "irqaction mask" only if available

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

 



Display "irqaction mask" only if available

The member "mask" has been removed from "struct irqaction" in the kernel per

    commit ef79f8e191722dbc1fc33bdfc448f572266c37e9
    Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
    Date:   Thu Sep 24 09:34:37 2009 -0600

    cpumask: remove unused mask field from struct irqaction.

    Up until 1.1.83, the primitive human tribes used struct sigaction for
    interrupts.  The sa_mask field was overloaded to hold a pointer to the
    name.

    When someone created the new "struct irqaction" they carried across
    the "mask" field as a kind of ancestor worship: the fact that it was
    unused makes clear its spiritual significance.

    Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>

This patch only displays the "irqaction mask" in the "irq" command if the
member is present.  It fixes the following error (kernel was 2.6.33):

    crash> irq

    irq: invalid structure member offset: irqaction_mask
	 FILE: kernel.c  LINE: 5001  FUNCTION: generic_dump_irq()

    [./crash.orig] error trace: 8097e44 => 8109541 => 810c0ec => 8156299


Signed-off-by: Bernhard Walle <bernhard@xxxxxxxxx>

Display "irqaction mask" only if available

The member "mask" has been removed from "struct irqaction" in the kernel per

    commit ef79f8e191722dbc1fc33bdfc448f572266c37e9
    Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
    Date:   Thu Sep 24 09:34:37 2009 -0600

    cpumask: remove unused mask field from struct irqaction.

    Up until 1.1.83, the primitive human tribes used struct sigaction for
    interrupts.  The sa_mask field was overloaded to hold a pointer to the
    name.

    When someone created the new "struct irqaction" they carried across
    the "mask" field as a kind of ancestor worship: the fact that it was
    unused makes clear its spiritual significance.

    Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>

This patch only displays the "irqaction mask" in the "irq" command if the
member is present.  It fixes the following error (kernel was 2.6.33):

    crash> irq

    irq: invalid structure member offset: irqaction_mask
	 FILE: kernel.c  LINE: 5001  FUNCTION: generic_dump_irq()

    [./crash.orig] error trace: 8097e44 => 8109541 => 810c0ec => 8156299


Signed-off-by: Bernhard Walle <bernhard@xxxxxxxxx>
---
 kernel.c |   10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

Index: crash-5.0.0/kernel.c
===================================================================
--- crash-5.0.0.orig/kernel.c
+++ crash-5.0.0/kernel.c
@@ -4998,10 +4998,12 @@ do_linked_action:
                         "irqaction flags", FAULT_ON_ERROR);
                 fprintf(fp, "            flags: %lx\n", value);
 
-                readmem(action+OFFSET(irqaction_mask), KVADDR,
-                        &tmp1, sizeof(void *),
-                        "irqaction mask", FAULT_ON_ERROR);
-                fprintf(fp, "             mask: %lx\n", tmp1);
+                if (VALID_MEMBER(irqaction_mask)) {
+                        readmem(action+OFFSET(irqaction_mask), KVADDR,
+                                        &tmp1, sizeof(void *),
+                                        "irqaction mask", FAULT_ON_ERROR);
+                        fprintf(fp, "             mask: %lx\n", tmp1);
+                }
 
                 readmem(action+OFFSET(irqaction_name), KVADDR,
                         &tmp1, sizeof(void *),
--
Crash-utility mailing list
Crash-utility@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/crash-utility

[Index of Archives]     [Fedora Development]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]     [Fedora Tools]

 

Powered by Linux