Andrew Cooper
2013-Nov-25 10:06 UTC
[PATCH] xen/panic: Fix string inconsistencies in callers of panic()
panic() (as well as early_panic() in arm) is inconsistently called with or without a trailing newline. This results in cases where the lower line of *****s is not on its own line. Change panic() to always print a newline itself, and update callers not to. In addition, panic() was occasionally called with a leading newline, and occaionally with trailing punctuation which seems rather redundant given the surrounding context. Fix up these sitiuations as well. Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> CC: Keir Fraser <keir@xen.org> CC: Jan Beulich <JBeulich@suse.com> CC: Ian Campbell <ian.campbell@citrix.com> CC: Stefano Stabellini <stefano.stabellini@citrix.com> CC: Tim Deegan <tim@xen.org> CC: George Dunlap <george.dunlap@eu.citrix.com> --- This has been compile tested on arm32 and arm64. George: I request that this is included for 4.4 - It is just formatting changes rather than functional ones --- xen/arch/arm/arm32/vfp.c | 2 +- xen/arch/arm/arm64/traps.c | 2 +- xen/arch/arm/domain_build.c | 18 +++++++++--------- xen/arch/arm/early_printk.c | 2 +- xen/arch/arm/gic.c | 16 ++++++++-------- xen/arch/arm/kernel.c | 8 ++++---- xen/arch/arm/mm.c | 2 +- xen/arch/arm/platform.c | 2 +- xen/arch/arm/setup.c | 10 +++++----- xen/arch/arm/smpboot.c | 2 +- xen/arch/arm/time.c | 8 ++++---- xen/arch/arm/traps.c | 10 +++++----- xen/arch/x86/apic.c | 4 ++-- xen/arch/x86/bzimage.c | 2 +- xen/arch/x86/cpu/amd.c | 2 +- xen/arch/x86/cpu/mcheck/mce.c | 4 ++-- xen/arch/x86/domain_build.c | 20 ++++++++++---------- xen/arch/x86/hvm/svm/intr.c | 2 +- xen/arch/x86/io_apic.c | 4 ++-- xen/arch/x86/mm/mm-locks.h | 2 +- xen/arch/x86/mpparse.c | 10 +++++----- xen/arch/x86/setup.c | 6 +++--- xen/arch/x86/smpboot.c | 2 +- xen/arch/x86/tboot.c | 2 +- xen/arch/x86/time.c | 2 +- xen/arch/x86/traps.c | 14 +++++++------- xen/arch/x86/x86_64/mm.c | 2 +- xen/arch/x86/x86_64/traps.c | 2 +- xen/common/page_alloc.c | 2 +- xen/common/schedule.c | 2 +- xen/drivers/char/console.c | 4 ++-- xen/drivers/passthrough/iommu.c | 2 +- xen/drivers/passthrough/pci.c | 2 +- xen/drivers/passthrough/vtd/dmar.h | 2 +- xen/drivers/passthrough/vtd/iommu.c | 4 ++-- xen/drivers/passthrough/vtd/qinval.c | 2 +- xen/xsm/flask/hooks.c | 2 +- 37 files changed, 92 insertions(+), 92 deletions(-) diff --git a/xen/arch/arm/arm32/vfp.c b/xen/arch/arm/arm32/vfp.c index 0069acd..5b80053 100644 --- a/xen/arch/arm/arm32/vfp.c +++ b/xen/arch/arm/arm32/vfp.c @@ -80,7 +80,7 @@ static __init int vfp_init(void) vfparch = (vfpsid & FPSID_ARCH_MASK) >> FPSID_ARCH_BIT; if ( vfparch < 2 ) - panic("Xen only support VFP 3\n"); + panic("Xen only support VFP 3"); return 0; } diff --git a/xen/arch/arm/arm64/traps.c b/xen/arch/arm/arm64/traps.c index d778f89..1693b5d 100644 --- a/xen/arch/arm/arm64/traps.c +++ b/xen/arch/arm/arm64/traps.c @@ -26,7 +26,7 @@ asmlinkage void do_trap_serror(struct cpu_user_regs *regs) { - panic("Unhandled serror trap\n"); + panic("Unhandled serror trap"); } static const char *handler[]= { diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c index e9bb01f..0cce676 100644 --- a/xen/arch/arm/domain_build.c +++ b/xen/arch/arm/domain_build.c @@ -81,7 +81,7 @@ static void allocate_memory_11(struct domain *d, struct kernel_info *kinfo) } if ( !pg ) - panic("Failed to allocate contiguous memory for dom0\n"); + panic("Failed to allocate contiguous memory for dom0"); spfn = page_to_mfn(pg); start = spfn << PAGE_SHIFT; @@ -93,7 +93,7 @@ static void allocate_memory_11(struct domain *d, struct kernel_info *kinfo) res = guest_physmap_add_page(d, spfn, spfn, order); if ( res ) - panic("Unable to add pages in DOM0: %d\n", res); + panic("Unable to add pages in DOM0: %d", res); kinfo->mem.bank[0].start = start; kinfo->mem.bank[0].size = size; @@ -123,7 +123,7 @@ static void allocate_memory(struct domain *d, struct kernel_info *kinfo) reg = dt_get_property(memory, "reg", ®_len); if ( reg == NULL ) - panic("Memory node has no reg property!\n"); + panic("Memory node has no reg property"); for ( l = 0; kinfo->unassigned_mem > 0 && l + reg_size <= reg_len @@ -133,7 +133,7 @@ static void allocate_memory(struct domain *d, struct kernel_info *kinfo) paddr_t start, size; if ( dt_device_get_address(memory, bank, &start, &size) ) - panic("Unable to retrieve the bank %u for %s\n", + panic("Unable to retrieve the bank %u for %s", bank, dt_node_full_name(memory)); if ( size > kinfo->unassigned_mem ) @@ -142,7 +142,7 @@ static void allocate_memory(struct domain *d, struct kernel_info *kinfo) printk("Populate P2M %#"PRIx64"->%#"PRIx64"\n", start, start + size); if ( p2m_populate_ram(d, start, start + size) < 0 ) - panic("Failed to populate P2M\n"); + panic("Failed to populate P2M"); kinfo->mem.bank[kinfo->mem.nr_banks].start = start; kinfo->mem.bank[kinfo->mem.nr_banks].size = size; kinfo->mem.nr_banks++; @@ -908,7 +908,7 @@ static void dtb_load(struct kernel_info *kinfo) rc = raw_copy_to_guest(dtb_virt, kinfo->fdt, fdt_totalsize(kinfo->fdt)); if ( rc != 0 ) - panic("Unable to copy the DTB to dom0 memory (rc = %lu)\n", rc); + panic("Unable to copy the DTB to dom0 memory (rc = %lu)", rc); xfree(kinfo->fdt); } @@ -935,12 +935,12 @@ static void initrd_load(struct kernel_info *kinfo) res = fdt_setprop_inplace_cell(kinfo->fdt, node, "linux,initrd-start", load_addr); if ( res ) - panic("Cannot fix up \"linux,initrd-start\" property\n"); + panic("Cannot fix up \"linux,initrd-start\" property"); res = fdt_setprop_inplace_cell(kinfo->fdt, node, "linux,initrd-end", load_addr + len); if ( res ) - panic("Cannot fix up \"linux,initrd-end\" property\n"); + panic("Cannot fix up \"linux,initrd-end\" property"); for ( offs = 0; offs < len; ) { @@ -954,7 +954,7 @@ static void initrd_load(struct kernel_info *kinfo) rc = gvirt_to_maddr(load_addr + offs, &ma); if ( rc ) { - panic("\nUnable to translate guest address\n"); + panic("Unable to translate guest address"); return; } diff --git a/xen/arch/arm/early_printk.c b/xen/arch/arm/early_printk.c index 058d044..41938bb 100644 --- a/xen/arch/arm/early_printk.c +++ b/xen/arch/arm/early_printk.c @@ -61,7 +61,7 @@ early_panic(const char *fmt, ...) early_vprintk(fmt, args); va_end(args); - early_printk("\nEarly Panic: Stopping\n"); + early_printk("\n\nEarly Panic: Stopping\n"); while(1); } diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c index ab49106..485c793 100644 --- a/xen/arch/arm/gic.c +++ b/xen/arch/arm/gic.c @@ -398,29 +398,29 @@ void __init gic_init(void) node = dt_find_interrupt_controller(gic_ids); if ( !node ) - panic("Unable to find compatible GIC in the device tree\n"); + panic("Unable to find compatible GIC in the device tree"); dt_device_set_used_by(node, DOMID_XEN); res = dt_device_get_address(node, 0, &gic.dbase, NULL); if ( res || !gic.dbase || (gic.dbase & ~PAGE_MASK) ) - panic("GIC: Cannot find a valid address for the distributor\n"); + panic("GIC: Cannot find a valid address for the distributor"); res = dt_device_get_address(node, 1, &gic.cbase, NULL); if ( res || !gic.cbase || (gic.cbase & ~PAGE_MASK) ) - panic("GIC: Cannot find a valid address for the CPU\n"); + panic("GIC: Cannot find a valid address for the CPU"); res = dt_device_get_address(node, 2, &gic.hbase, NULL); if ( res || !gic.hbase || (gic.hbase & ~PAGE_MASK) ) - panic("GIC: Cannot find a valid address for the hypervisor\n"); + panic("GIC: Cannot find a valid address for the hypervisor"); res = dt_device_get_address(node, 3, &gic.vbase, NULL); if ( res || !gic.vbase || (gic.vbase & ~PAGE_MASK) ) - panic("GIC: Cannot find a valid address for the virtual CPU\n"); + panic("GIC: Cannot find a valid address for the virtual CPU"); res = dt_device_get_irq(node, 0, &gic.maintenance); if ( res ) - panic("GIC: Cannot find the maintenance IRQ\n"); + panic("GIC: Cannot find the maintenance IRQ"); /* Set the GIC as the primary interrupt controller */ dt_interrupt_controller = node; @@ -438,7 +438,7 @@ void __init gic_init(void) if ( (gic.dbase & ~PAGE_MASK) || (gic.cbase & ~PAGE_MASK) || (gic.hbase & ~PAGE_MASK) || (gic.vbase & ~PAGE_MASK) ) - panic("GIC interfaces not page aligned.\n"); + panic("GIC interfaces not page aligned"); set_fixmap(FIXMAP_GICD, gic.dbase >> PAGE_SHIFT, DEV_SHARED); BUILD_BUG_ON(FIXMAP_ADDR(FIXMAP_GICC1) !@@ -783,7 +783,7 @@ static void do_sgi(struct cpu_user_regs *regs, int othercpu, enum gic_sgi sgi) smp_call_function_interrupt(); break; default: - panic("Unhandled SGI %d on CPU%d\n", sgi, smp_processor_id()); + panic("Unhandled SGI %d on CPU%d", sgi, smp_processor_id()); break; } diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c index 9c1c1ad..6a5772b 100644 --- a/xen/arch/arm/kernel.c +++ b/xen/arch/arm/kernel.c @@ -87,7 +87,7 @@ static void place_modules(struct kernel_info *info, paddr_t addr; if ( total + kernel_size > mem_size ) - panic("Not enough memory in the first bank for the dtb+initrd."); + panic("Not enough memory in the first bank for the dtb+initrd"); /* * DTB must be loaded such that it does not conflict with the @@ -112,7 +112,7 @@ static void place_modules(struct kernel_info *info, addr = kernel_start - total; else { - panic("Unable to find suitable location for dtb+initrd."); + panic("Unable to find suitable location for dtb+initrd"); return; } @@ -144,7 +144,7 @@ static void kernel_zimage_load(struct kernel_info *info) rc = gvirt_to_maddr(load_addr + offs, &ma); if ( rc ) { - panic("\nUnable to map translate guest address\n"); + panic("Unable to map translate guest address"); return; } @@ -314,7 +314,7 @@ static int kernel_try_elf_prepare(struct kernel_info *info, info->kernel_order = get_order_from_bytes(size); info->kernel_img = alloc_xenheap_pages(info->kernel_order, 0); if ( info->kernel_img == NULL ) - panic("Cannot allocate temporary buffer for kernel.\n"); + panic("Cannot allocate temporary buffer for kernel"); copy_from_paddr(info->kernel_img, addr, size, info->load_attr); diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c index 2de7dc7..acf037b 100644 --- a/xen/arch/arm/mm.c +++ b/xen/arch/arm/mm.c @@ -633,7 +633,7 @@ void __init setup_xenheap_mappings(unsigned long base_mfn, xenheap_mfn_start = base_mfn; if ( base_mfn < xenheap_mfn_start ) - early_panic("cannot add xenheap mapping at %lx below heap start %lx\n", + early_panic("cannot add xenheap mapping at %lx below heap start %lx", base_mfn, xenheap_mfn_start); end_mfn = base_mfn + nr_mfns; diff --git a/xen/arch/arm/platform.c b/xen/arch/arm/platform.c index 0fbbdc7..58b8bd2 100644 --- a/xen/arch/arm/platform.c +++ b/xen/arch/arm/platform.c @@ -83,7 +83,7 @@ void __init platform_init(void) res = platform->init(); if ( res ) - panic("Unable to initialize the platform\n"); + panic("Unable to initialize the platform"); } int __init platform_init_time(void) diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c index b032030..325f148 100644 --- a/xen/arch/arm/setup.c +++ b/xen/arch/arm/setup.c @@ -345,7 +345,7 @@ static paddr_t __init get_xen_paddr(void) } if ( !paddr ) - early_panic("Not enough memory to relocate Xen\n"); + early_panic("Not enough memory to relocate Xen"); early_printk("Placing Xen at 0x%"PRIpaddr"-0x%"PRIpaddr"\n", paddr, paddr + min_size); @@ -372,7 +372,7 @@ static void __init setup_mm(unsigned long dtb_paddr, size_t dtb_size) /* TODO: Handle non-contiguous memory bank */ if ( !early_info.mem.nr_banks ) - early_panic("No memory bank\n"); + early_panic("No memory bank"); ram_start = early_info.mem.bank[0].start; ram_size = early_info.mem.bank[0].size; ram_end = ram_start + ram_size; @@ -417,7 +417,7 @@ static void __init setup_mm(unsigned long dtb_paddr, size_t dtb_size) } while ( xenheap_pages > 128<<(20-PAGE_SHIFT) ); if ( ! e ) - early_panic("Not not enough space for xenheap\n"); + early_panic("Not not enough space for xenheap"); domheap_pages = heap_pages - xenheap_pages; @@ -695,13 +695,13 @@ void __init start_xen(unsigned long boot_phys_offset, /* Create initial domain 0. */ dom0 = domain_create(0, 0, 0); if ( IS_ERR(dom0) || (alloc_dom0_vcpu0() == NULL) ) - panic("Error creating domain 0\n"); + panic("Error creating domain 0"); dom0->is_privileged = 1; dom0->target = NULL; if ( construct_dom0(dom0) != 0) - panic("Could not set up DOM0 guest OS\n"); + panic("Could not set up DOM0 guest OS"); /* Scrub RAM that is still free and so may go to an unprivileged domain. XXX too slow in simulator diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c index 6c90fa6..6c271b7 100644 --- a/xen/arch/arm/smpboot.c +++ b/xen/arch/arm/smpboot.c @@ -72,7 +72,7 @@ static void setup_cpu_sibling_map(int cpu) { if ( !zalloc_cpumask_var(&per_cpu(cpu_sibling_mask, cpu)) || !zalloc_cpumask_var(&per_cpu(cpu_core_mask, cpu)) ) - panic("No memory for CPU sibling/core maps\n"); + panic("No memory for CPU sibling/core maps"); /* A CPU is a sibling with itself and is always on its own core. */ cpumask_set_cpu(cpu, per_cpu(cpu_sibling_mask, cpu)); diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c index 938995d..81e3e28 100644 --- a/xen/arch/arm/time.c +++ b/xen/arch/arm/time.c @@ -113,7 +113,7 @@ int __init init_xen_time(void) dev = dt_find_matching_node(NULL, timer_ids); if ( !dev ) - panic("Unable to find a compatible timer in the device tree\n"); + panic("Unable to find a compatible timer in the device tree"); dt_device_set_used_by(dev, DOMID_XEN); @@ -122,7 +122,7 @@ int __init init_xen_time(void) { res = dt_device_get_irq(dev, i, &timer_irq[i]); if ( res ) - panic("Timer: Unable to retrieve IRQ %u from the device tree\n", i); + panic("Timer: Unable to retrieve IRQ %u from the device tree", i); } printk("Generic Timer IRQ: phys=%u hyp=%u virt=%u\n", @@ -132,11 +132,11 @@ int __init init_xen_time(void) res = platform_init_time(); if ( res ) - panic("Timer: Cannot initialize platform timer\n"); + panic("Timer: Cannot initialize platform timer"); /* Check that this CPU supports the Generic Timer interface */ if ( !cpu_has_gentimer ) - panic("CPU does not support the Generic Timer v1 interface.\n"); + panic("CPU does not support the Generic Timer v1 interface"); res = dt_property_read_u32(dev, "clock-frequency", &rate); if ( res ) diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c index d39e2d4..8144b2b 100644 --- a/xen/arch/arm/traps.c +++ b/xen/arch/arm/traps.c @@ -253,7 +253,7 @@ void panic_PAR(uint64_t par) second_in_first ? " during second stage lookup" : "", fsc_level_str(level)); - panic("Error during Hypervisor-to-physical address translation\n"); + panic("Error during Hypervisor-to-physical address translation"); } static void cpsr_switch_mode(struct cpu_user_regs *regs, int mode) @@ -902,7 +902,7 @@ static void do_debug_trap(struct cpu_user_regs *regs, unsigned int code) show_execution_state(regs); break; default: - panic("DOM%d: Unhandled debug trap %#x\n", domid, code); + panic("DOM%d: Unhandled debug trap %#x", domid, code); break; } } @@ -1187,7 +1187,7 @@ static void do_cp15_32(struct cpu_user_regs *regs, printk("%s p15, %d, r%d, cr%d, cr%d, %d @ 0x%"PRIregister"\n", cp32.read ? "mrc" : "mcr", cp32.op1, cp32.reg, cp32.crn, cp32.crm, cp32.op2, regs->pc); - panic("unhandled 32-bit CP15 access %#x\n", hsr.bits & HSR_CP32_REGS_MASK); + panic("unhandled 32-bit CP15 access %#x", hsr.bits & HSR_CP32_REGS_MASK); } advance_pc(regs, hsr); } @@ -1217,7 +1217,7 @@ static void do_cp15_64(struct cpu_user_regs *regs, printk("%s p15, %d, r%d, r%d, cr%d @ 0x%"PRIregister"\n", cp64.read ? "mrrc" : "mcrr", cp64.op1, cp64.reg1, cp64.reg2, cp64.crm, regs->pc); - panic("unhandled 64-bit CP15 access %#x\n", hsr.bits & HSR_CP64_REGS_MASK); + panic("unhandled 64-bit CP15 access %#x", hsr.bits & HSR_CP64_REGS_MASK); } advance_pc(regs, hsr); } @@ -1247,7 +1247,7 @@ static void do_sysreg(struct cpu_user_regs *regs, sysreg.op2, sysreg.read ? "=>" : "<=", sysreg.reg, regs->pc); - panic("unhandled 64-bit sysreg access %#x\n", + panic("unhandled 64-bit sysreg access %#x", hsr.bits & HSR_SYSREG_REGS_MASK); } diff --git a/xen/arch/x86/apic.c b/xen/arch/x86/apic.c index a52a0e8..0e5e302 100644 --- a/xen/arch/x86/apic.c +++ b/xen/arch/x86/apic.c @@ -946,7 +946,7 @@ void __init x2apic_bsp_setup(void) return; } panic("x2APIC: already enabled by BIOS, but " - "iommu_supports_eim failed!\n"); + "iommu_supports_eim failed"); } if ( (ioapic_entries = alloc_ioapic_entries()) == NULL ) @@ -968,7 +968,7 @@ void __init x2apic_bsp_setup(void) { if ( x2apic_enabled ) panic("Interrupt remapping could not be enabled while " - "x2APIC is already enabled by BIOS!\n"); + "x2APIC is already enabled by BIOS"); printk(XENLOG_ERR "Failed to enable Interrupt Remapping: Will not enable x2APIC.\n"); diff --git a/xen/arch/x86/bzimage.c b/xen/arch/x86/bzimage.c index 58fda16..d72b832 100644 --- a/xen/arch/x86/bzimage.c +++ b/xen/arch/x86/bzimage.c @@ -62,7 +62,7 @@ static void flush_window(void); static __init void error(char *x) { - panic("%s\n", x); + panic("%s", x); } static __init int fill_inbuf(void) diff --git a/xen/arch/x86/cpu/amd.c b/xen/arch/x86/cpu/amd.c index 472df68..64531d9 100644 --- a/xen/arch/x86/cpu/amd.c +++ b/xen/arch/x86/cpu/amd.c @@ -465,7 +465,7 @@ static void __devinit init_amd(struct cpuinfo_x86 *c) if (!cpu_has_amd_erratum(c, AMD_ERRATUM_121)) opt_allow_unsafe = 1; else if (opt_allow_unsafe < 0) - panic("Xen will not boot on this CPU for security reasons.\n" + panic("Xen will not boot on this CPU for security reasons" "Pass \"allow_unsafe\" if you''re trusting all your" " (PV) guest kernels.\n"); else if (!opt_allow_unsafe && c == &boot_cpu_data) diff --git a/xen/arch/x86/cpu/mcheck/mce.c b/xen/arch/x86/cpu/mcheck/mce.c index 93d7ae1..b375ef7 100644 --- a/xen/arch/x86/cpu/mcheck/mce.c +++ b/xen/arch/x86/cpu/mcheck/mce.c @@ -523,7 +523,7 @@ void mcheck_cmn_handler(struct cpu_user_regs *regs, long error_code, * recovery job but to reset the system. */ if (atomic_read(&found_error) == 0) - mc_panic("MCE: No CPU found valid MCE, need reset\n"); + mc_panic("MCE: No CPU found valid MCE, need reset"); if (!cpumask_empty(&mce_fatal_cpus)) { char *ebufp, ebuf[96] = "MCE: Fatal error happened on CPUs "; @@ -1642,7 +1642,7 @@ static int mce_delayed_action(mctelem_cookie_t mctc) dprintk(XENLOG_ERR, "MCE delayed action failed\n"); is_mc_panic = 1; x86_mcinfo_dump(mctelem_dataptr(mctc)); - panic("MCE: Software recovery failed for the UCR\n"); + panic("MCE: Software recovery failed for the UCR"); break; case MCER_RECOVERED: dprintk(XENLOG_INFO, "MCE: Error is successfully recovered\n"); diff --git a/xen/arch/x86/domain_build.c b/xen/arch/x86/domain_build.c index 232adf8..84ce392 100644 --- a/xen/arch/x86/domain_build.c +++ b/xen/arch/x86/domain_build.c @@ -439,7 +439,7 @@ int __init construct_dom0( value = (parms.virt_hv_start_low + mask) & ~mask; BUG_ON(!is_pv_32bit_domain(d)); if ( value > __HYPERVISOR_COMPAT_VIRT_START ) - panic("Domain 0 expects too high a hypervisor start address.\n"); + panic("Domain 0 expects too high a hypervisor start address"); HYPERVISOR_COMPAT_VIRT_START(d) max_t(unsigned int, m2p_compat_vstart, value); } @@ -509,7 +509,7 @@ int __init construct_dom0( count -= PAGE_ALIGN(initrd_len); order = get_order_from_bytes(count); if ( (1UL << order) + PFN_UP(initrd_len) > nr_pages ) - panic("Domain 0 allocation is too small for kernel image.\n"); + panic("Domain 0 allocation is too small for kernel image"); if ( parms.p2m_base != UNSET_ADDR ) { @@ -518,7 +518,7 @@ int __init construct_dom0( } page = alloc_domheap_pages(d, order, 0); if ( page == NULL ) - panic("Not enough RAM for domain 0 allocation.\n"); + panic("Not enough RAM for domain 0 allocation"); alloc_spfn = page_to_mfn(page); alloc_epfn = alloc_spfn + d->tot_pages; @@ -535,7 +535,7 @@ int __init construct_dom0( order = get_order_from_pages(count); page = alloc_domheap_pages(d, order, 0); if ( !page ) - panic("Not enough RAM for domain 0 initrd.\n"); + panic("Not enough RAM for domain 0 initrd"); for ( count = -count; order--; ) if ( count & (1UL << order) ) { @@ -618,7 +618,7 @@ int __init construct_dom0( { page = alloc_domheap_page(NULL, 0); if ( !page ) - panic("Not enough RAM for domain 0 PML4.\n"); + panic("Not enough RAM for domain 0 PML4"); page->u.inuse.type_info = PGT_l4_page_table|PGT_validated|1; l4start = l4tab = page_to_virt(page); maddr_to_page(mpt_alloc)->u.inuse.type_info = PGT_l3_page_table; @@ -830,7 +830,7 @@ int __init construct_dom0( { if ( d->tot_pages + ((round_pgup(vphysmap_end) - va) >> PAGE_SHIFT) + 3 > nr_pages ) - panic("Dom0 allocation too small for initial P->M table.\n"); + panic("Dom0 allocation too small for initial P->M table"); if ( l1tab ) { @@ -929,7 +929,7 @@ int __init construct_dom0( va &= PAGE_MASK; } if ( !page ) - panic("Not enough RAM for DOM0 P->M table.\n"); + panic("Not enough RAM for DOM0 P->M table"); } if ( l1tab ) @@ -990,7 +990,7 @@ int __init construct_dom0( while ( pfn < nr_pages ) { if ( (page = alloc_chunk(d, nr_pages - d->tot_pages)) == NULL ) - panic("Not enough RAM for DOM0 reservation.\n"); + panic("Not enough RAM for DOM0 reservation"); while ( pfn < d->tot_pages ) { mfn = page_to_mfn(page); @@ -1072,12 +1072,12 @@ int __init construct_dom0( printk("Dom0 runs in ring 0 (supervisor mode)\n"); if ( !test_bit(XENFEAT_supervisor_mode_kernel, parms.f_supported) ) - panic("Dom0 does not support supervisor-mode execution\n"); + panic("Dom0 does not support supervisor-mode execution"); } else { if ( test_bit(XENFEAT_supervisor_mode_kernel, parms.f_required) ) - panic("Dom0 requires supervisor-mode execution\n"); + panic("Dom0 requires supervisor-mode execution"); } rc = 0; diff --git a/xen/arch/x86/hvm/svm/intr.c b/xen/arch/x86/hvm/svm/intr.c index da2bcca..023151a 100644 --- a/xen/arch/x86/hvm/svm/intr.c +++ b/xen/arch/x86/hvm/svm/intr.c @@ -175,7 +175,7 @@ void svm_intr_assist(void) /* Guest already enabled an interrupt window. */ return; default: - panic("%s: nestedsvm_vcpu_interrupt can''t handle value %#x\n", + panic("%s: nestedsvm_vcpu_interrupt can''t handle value %#x", __func__, rc); } } diff --git a/xen/arch/x86/io_apic.c b/xen/arch/x86/io_apic.c index 5512cd5..bddc588 100644 --- a/xen/arch/x86/io_apic.c +++ b/xen/arch/x86/io_apic.c @@ -1421,7 +1421,7 @@ static void __init setup_ioapic_ids_from_mpc(void) if (!physid_isset(i, phys_id_present_map)) break; if (i >= get_physical_broadcast()) - panic("Max APIC ID exceeded!\n"); + panic("Max APIC ID exceeded"); printk(KERN_ERR "... fixing up to %d. (tell your hw vendor)\n", i); mp_ioapics[apic].mpc_apicid = i; @@ -2135,7 +2135,7 @@ int __init io_apic_get_unique_id (int ioapic, int apic_id) } if (i == get_physical_broadcast()) - panic("Max apic_id exceeded!\n"); + panic("Max apic_id exceeded"); printk(KERN_WARNING "IOAPIC[%d]: apic_id %d already used, " "trying %d\n", ioapic, apic_id, i); diff --git a/xen/arch/x86/mm/mm-locks.h b/xen/arch/x86/mm/mm-locks.h index 3ce3489..769f7bc 100644 --- a/xen/arch/x86/mm/mm-locks.h +++ b/xen/arch/x86/mm/mm-locks.h @@ -73,7 +73,7 @@ static inline void _mm_lock(mm_lock_t *l, const char *func, int level, int rec) l->unlock_level = __get_lock_level(); } else if ( (unlikely(!rec)) ) - panic("mm lock already held by %s\n", l->locker_function); + panic("mm lock already held by %s", l->locker_function); __set_lock_level(level); } diff --git a/xen/arch/x86/mpparse.c b/xen/arch/x86/mpparse.c index 3753704..a38e016 100644 --- a/xen/arch/x86/mpparse.c +++ b/xen/arch/x86/mpparse.c @@ -221,7 +221,7 @@ static void __init MP_ioapic_info (struct mpc_config_ioapic *m) if (nr_ioapics >= MAX_IO_APICS) { printk(KERN_CRIT "Max # of I/O APICs (%d) exceeded (found %d).\n", MAX_IO_APICS, nr_ioapics); - panic("Recompile kernel with bigger MAX_IO_APICS!.\n"); + panic("Recompile kernel with bigger MAX_IO_APICS"); } if (!m->mpc_apicaddr) { printk(KERN_ERR "WARNING: bogus zero I/O APIC address" @@ -241,7 +241,7 @@ static void __init MP_intsrc_info (struct mpc_config_intsrc *m) (m->mpc_irqflag >> 2) & 3, m->mpc_srcbus, m->mpc_srcbusirq, m->mpc_dstapic, m->mpc_dstirq); if (++mp_irq_entries == MAX_IRQ_SOURCES) - panic("Max # of irq sources exceeded!!\n"); + panic("Max # of irq sources exceeded"); } static void __init MP_lintsrc_info (struct mpc_config_lintsrc *m) @@ -844,7 +844,7 @@ void __init mp_register_ioapic ( if (nr_ioapics >= MAX_IO_APICS) { printk(KERN_ERR "ERROR: Max # of I/O APICs (%d) exceeded " "(found %d)\n", MAX_IO_APICS, nr_ioapics); - panic("Recompile kernel with bigger MAX_IO_APICS!\n"); + panic("Recompile kernel with bigger MAX_IO_APICS"); } if (!address) { printk(KERN_ERR "WARNING: Bogus (zero) I/O APIC address" @@ -943,7 +943,7 @@ void __init mp_override_legacy_irq ( mp_irqs[mp_irq_entries] = intsrc; if (++mp_irq_entries == MAX_IRQ_SOURCES) - panic("Max # of irq sources exceeded!\n"); + panic("Max # of irq sources exceeded"); return; } @@ -1009,7 +1009,7 @@ void __init mp_config_acpi_legacy_irqs (void) mp_irqs[mp_irq_entries] = intsrc; if (++mp_irq_entries == MAX_IRQ_SOURCES) - panic("Max # of irq sources exceeded!\n"); + panic("Max # of irq sources exceeded"); } } diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c index e33c34b..f07ee2b 100644 --- a/xen/arch/x86/setup.c +++ b/xen/arch/x86/setup.c @@ -1330,12 +1330,12 @@ void __init __start_xen(unsigned long mbi_p) watchdog_setup(); if ( !tboot_protect_mem_regions() ) - panic("Could not protect TXT memory regions\n"); + panic("Could not protect TXT memory regions"); /* Create initial domain 0. */ dom0 = domain_create(0, DOMCRF_s3_integrity, 0); if ( IS_ERR(dom0) || (alloc_dom0_vcpu0() == NULL) ) - panic("Error creating domain 0\n"); + panic("Error creating domain 0"); dom0->is_privileged = 1; dom0->target = NULL; @@ -1390,7 +1390,7 @@ void __init __start_xen(unsigned long mbi_p) (initrdidx > 0) && (initrdidx < mbi->mods_count) ? mod + initrdidx : NULL, bootstrap_map, cmdline) != 0) - panic("Could not set up DOM0 guest OS\n"); + panic("Could not set up DOM0 guest OS"); /* Scrub RAM that is still free and so may go to an unprivileged domain. */ scrub_heap_pages(); diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c index 9f81c7b..42b8a59 100644 --- a/xen/arch/x86/smpboot.c +++ b/xen/arch/x86/smpboot.c @@ -735,7 +735,7 @@ void __init smp_prepare_cpus(unsigned int max_cpus) if ( !zalloc_cpumask_var(&per_cpu(cpu_sibling_mask, 0)) || !zalloc_cpumask_var(&per_cpu(cpu_core_mask, 0)) ) - panic("No memory for boot CPU sibling/core maps\n"); + panic("No memory for boot CPU sibling/core maps"); set_cpu_sibling_map(0); diff --git a/xen/arch/x86/tboot.c b/xen/arch/x86/tboot.c index 1eed2e3..ccde4a0 100644 --- a/xen/arch/x86/tboot.c +++ b/xen/arch/x86/tboot.c @@ -528,7 +528,7 @@ void tboot_s3_error(int error) printk("MAC for %s before S3 is: 0x%08"PRIx64"\n", what, orig_mac); printk("MAC for %s after S3 is: 0x%08"PRIx64"\n", what, resume_mac); - panic("Memory integrity was lost on resume (%d)\n", error); + panic("Memory integrity was lost on resume (%d)", error); } int tboot_wake_ap(int apicid, unsigned long sipi_vec) diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c index 62c3443..e463600 100644 --- a/xen/arch/x86/time.c +++ b/xen/arch/x86/time.c @@ -690,7 +690,7 @@ static unsigned long get_cmos_time(void) } if ( unlikely(acpi_gbl_FADT.boot_flags & ACPI_FADT_NO_CMOS_RTC) ) - panic("System without CMOS RTC must be booted from EFI\n"); + panic("System without CMOS RTC must be booted from EFI"); spin_lock_irqsave(&rtc_lock, flags); diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c index d8b3eac..3b4f28b 100644 --- a/xen/arch/x86/traps.c +++ b/xen/arch/x86/traps.c @@ -422,7 +422,7 @@ void fatal_trap(int trapnr, struct cpu_user_regs *regs) } panic("FATAL TRAP: vector = %d (%s)\n" - "[error_code=%04x] %s\n", + "[error_code=%04x] %s", trapnr, trapstr(trapnr), regs->error_code, (regs->eflags & X86_EFLAGS_IF) ? "" : ", IN INTERRUPT CONTEXT"); } @@ -569,7 +569,7 @@ static inline void do_trap( show_execution_state(regs); panic("FATAL TRAP: vector = %d (%s)\n" - "[error_code=%04x]\n", + "[error_code=%04x]", trapnr, trapstr(trapnr), regs->error_code); } @@ -1017,7 +1017,7 @@ void do_invalid_op(struct cpu_user_regs *regs) printk("Xen BUG at %s%s:%d\n", prefix, filename, lineno); DEBUGGER_trap_fatal(TRAP_invalid_op, regs); show_execution_state(regs); - panic("Xen BUG at %s%s:%d\n", prefix, filename, lineno); + panic("Xen BUG at %s%s:%d", prefix, filename, lineno); case BUGFRAME_assert: /* ASSERT: decode the predicate string pointer. */ @@ -1029,7 +1029,7 @@ void do_invalid_op(struct cpu_user_regs *regs) predicate, prefix, filename, lineno); DEBUGGER_trap_fatal(TRAP_invalid_op, regs); show_execution_state(regs); - panic("Assertion ''%s'' failed at %s%s:%d\n", + panic("Assertion ''%s'' failed at %s%s:%d", predicate, prefix, filename, lineno); } @@ -1042,7 +1042,7 @@ void do_invalid_op(struct cpu_user_regs *regs) } DEBUGGER_trap_fatal(TRAP_invalid_op, regs); show_execution_state(regs); - panic("FATAL TRAP: vector = %d (invalid opcode)\n", TRAP_invalid_op); + panic("FATAL TRAP: vector = %d (invalid opcode)", TRAP_invalid_op); } void do_int3(struct cpu_user_regs *regs) @@ -1397,7 +1397,7 @@ void do_page_fault(struct cpu_user_regs *regs) show_page_walk(addr); panic("FATAL PAGE FAULT\n" "[error_code=%04x]\n" - "Faulting linear address: %p\n", + "Faulting linear address: %p", error_code, _p(addr)); } @@ -3078,7 +3078,7 @@ void do_general_protection(struct cpu_user_regs *regs) hardware_gp: show_execution_state(regs); - panic("GENERAL PROTECTION FAULT\n[error_code=%04x]\n", regs->error_code); + panic("GENERAL PROTECTION FAULT\n[error_code=%04x]", regs->error_code); } static DEFINE_PER_CPU(struct softirq_trap, softirq_trap); diff --git a/xen/arch/x86/x86_64/mm.c b/xen/arch/x86/x86_64/mm.c index 4a3b3f1..f6ea012 100644 --- a/xen/arch/x86/x86_64/mm.c +++ b/xen/arch/x86/x86_64/mm.c @@ -740,7 +740,7 @@ void __init paging_init(void) return; nomem: - panic("Not enough memory for m2p table\n"); + panic("Not enough memory for m2p table"); } void __init zap_low_mappings(void) diff --git a/xen/arch/x86/x86_64/traps.c b/xen/arch/x86/x86_64/traps.c index bcf72b6..ad09415 100644 --- a/xen/arch/x86/x86_64/traps.c +++ b/xen/arch/x86/x86_64/traps.c @@ -250,7 +250,7 @@ void do_double_fault(struct cpu_user_regs *regs) _show_registers(regs, crs, CTXT_hypervisor, NULL); show_stack_overflow(cpu, regs); - panic("DOUBLE FAULT -- system shutdown\n"); + panic("DOUBLE FAULT -- system shutdown"); } void toggle_guest_mode(struct vcpu *v) diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c index 0701333..c82aba6 100644 --- a/xen/common/page_alloc.c +++ b/xen/common/page_alloc.c @@ -92,7 +92,7 @@ static unsigned int __initdata nr_bootmem_regions; static void __init boot_bug(int line) { - panic("Boot BUG at %s:%d\n", __FILE__, line); + panic("Boot BUG at %s:%d", __FILE__, line); } #define BOOT_BUG_ON(p) if ( p ) boot_bug(__LINE__); diff --git a/xen/common/schedule.c b/xen/common/schedule.c index 0f45f07..1192fe2 100644 --- a/xen/common/schedule.c +++ b/xen/common/schedule.c @@ -1389,7 +1389,7 @@ void __init scheduler_init(void) printk("Using scheduler: %s (%s)\n", ops.name, ops.opt_name); if ( SCHED_OP(&ops, init) ) - panic("scheduler returned error on init\n"); + panic("scheduler returned error on init"); if ( sched_ratelimit_us && (sched_ratelimit_us > XEN_SYSCTL_SCHED_RATELIMIT_MAX diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c index 508f845..532c426 100644 --- a/xen/drivers/char/console.c +++ b/xen/drivers/char/console.c @@ -1057,7 +1057,7 @@ void panic(const char *fmt, ...) console_start_sync(); printk("\n****************************************\n"); printk("Panic on CPU %d:\n", smp_processor_id()); - printk("%s", buf); + printk("%s\n", buf); printk("****************************************\n\n"); if ( opt_noreboot ) printk("Manual reset required (''noreboot'' specified)\n"); @@ -1088,7 +1088,7 @@ void __bug(char *file, int line) console_start_sync(); printk("Xen BUG at %s:%d\n", file, line); dump_execution_state(); - panic("Xen BUG at %s:%d\n", file, line); + panic("Xen BUG at %s:%d", file, line); for ( ; ; ) ; } diff --git a/xen/drivers/passthrough/iommu.c b/xen/drivers/passthrough/iommu.c index 93ad122..7d5463c 100644 --- a/xen/drivers/passthrough/iommu.c +++ b/xen/drivers/passthrough/iommu.c @@ -475,7 +475,7 @@ int __init iommu_setup(void) if ( (force_iommu && !iommu_enabled) || (force_intremap && !iommu_intremap) ) - panic("Couldn''t enable %s and iommu=required/force\n", + panic("Couldn''t enable %s and iommu=required/force", !iommu_enabled ? "IOMMU" : "Interrupt Remapping"); if ( !iommu_enabled ) diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c index 4aa8f64..c5c8344 100644 --- a/xen/drivers/passthrough/pci.c +++ b/xen/drivers/passthrough/pci.c @@ -104,7 +104,7 @@ void __init pt_pci_init(void) { radix_tree_init(&pci_segments); if ( !alloc_pseg(0) ) - panic("Could not initialize PCI segment 0\n"); + panic("Could not initialize PCI segment 0"); } int __init pci_add_segment(u16 seg) diff --git a/xen/drivers/passthrough/vtd/dmar.h b/xen/drivers/passthrough/vtd/dmar.h index a2b97d6..af1feef 100644 --- a/xen/drivers/passthrough/vtd/dmar.h +++ b/xen/drivers/passthrough/vtd/dmar.h @@ -118,7 +118,7 @@ do { \ break; \ if ( NOW() > start_time + DMAR_OPERATION_TIMEOUT ) { \ if ( !kexecing ) \ - panic("%s:%d:%s: DMAR hardware is malfunctional\n",\ + panic("%s:%d:%s: DMAR hardware is malfunctional",\ __FILE__, __LINE__, __func__); \ else \ break; \ diff --git a/xen/drivers/passthrough/vtd/iommu.c b/xen/drivers/passthrough/vtd/iommu.c index 76d0bfd..b6b48e2 100644 --- a/xen/drivers/passthrough/vtd/iommu.c +++ b/xen/drivers/passthrough/vtd/iommu.c @@ -722,7 +722,7 @@ static void iommu_enable_translation(struct acpi_drhd_unit *drhd) if ( is_igd_drhd(drhd) && !is_igd_vt_enabled_quirk() ) { if ( force_iommu ) - panic("BIOS did not enable IGD for VT properly, crash Xen for security purpose!\n"); + panic("BIOS did not enable IGD for VT properly, crash Xen for security purpose"); else { dprintk(XENLOG_WARNING VTDPREFIX, @@ -2344,7 +2344,7 @@ static void vtd_resume(void) return; if ( init_vtd_hw() != 0 && force_iommu ) - panic("IOMMU setup failed, crash Xen for security purpose!\n"); + panic("IOMMU setup failed, crash Xen for security purpose"); for_each_drhd_unit ( drhd ) { diff --git a/xen/drivers/passthrough/vtd/qinval.c b/xen/drivers/passthrough/vtd/qinval.c index 6a410d8..ef5de99 100644 --- a/xen/drivers/passthrough/vtd/qinval.c +++ b/xen/drivers/passthrough/vtd/qinval.c @@ -220,7 +220,7 @@ static int queue_invalidate_wait(struct iommu *iommu, if ( NOW() > (start_time + DMAR_OPERATION_TIMEOUT) ) { print_qi_regs(iommu); - panic("queue invalidate wait descriptor was not executed\n"); + panic("queue invalidate wait descriptor was not executed"); } cpu_relax(); } diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c index b1e2593..7cdef04 100644 --- a/xen/xsm/flask/hooks.c +++ b/xen/xsm/flask/hooks.c @@ -1586,7 +1586,7 @@ static __init int flask_init(void) original_ops = xsm_ops; if ( register_xsm(&flask_ops) ) - panic("Flask: Unable to register with XSM.\n"); + panic("Flask: Unable to register with XSM"); ret = security_load_policy(policy_buffer, policy_size); -- 1.7.10.4
Ian Campbell
2013-Nov-25 10:24 UTC
Re: [PATCH] xen/panic: Fix string inconsistencies in callers of panic()
On Mon, 2013-11-25 at 10:06 +0000, Andrew Cooper wrote:> panic() (as well as early_panic() in arm) is inconsistently called with or > without a trailing newline. This results in cases where the lower line of > *****s is not on its own line. > > Change panic() to always print a newline itself, and update callers not to. > > In addition, panic() was occasionally called with a leading newline, and > occaionally with trailing punctuation which seems rather redundant given the > surrounding context. Fix up these sitiuations as well. > > Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> > CC: Keir Fraser <keir@xen.org> > CC: Jan Beulich <JBeulich@suse.com> > CC: Ian Campbell <ian.campbell@citrix.com> > CC: Stefano Stabellini <stefano.stabellini@citrix.com> > CC: Tim Deegan <tim@xen.org> > CC: George Dunlap <george.dunlap@eu.citrix.com>I''m not entirely sure I agree with nuking the trailing full stop from all of the sentences, especially those which are a complete sentence. But unless others feel the same I''m not inclined to argue: Acked-by: Ian Campbell <ian.campbell@citrix.com>
Andrew Cooper
2013-Nov-25 10:42 UTC
Re: [PATCH] xen/panic: Fix string inconsistencies in callers of panic()
On 25/11/13 10:24, Ian Campbell wrote:> On Mon, 2013-11-25 at 10:06 +0000, Andrew Cooper wrote: >> panic() (as well as early_panic() in arm) is inconsistently called with or >> without a trailing newline. This results in cases where the lower line of >> *****s is not on its own line. >> >> Change panic() to always print a newline itself, and update callers not to. >> >> In addition, panic() was occasionally called with a leading newline, and >> occaionally with trailing punctuation which seems rather redundant given the >> surrounding context. Fix up these sitiuations as well. >> >> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> >> CC: Keir Fraser <keir@xen.org> >> CC: Jan Beulich <JBeulich@suse.com> >> CC: Ian Campbell <ian.campbell@citrix.com> >> CC: Stefano Stabellini <stefano.stabellini@citrix.com> >> CC: Tim Deegan <tim@xen.org> >> CC: George Dunlap <george.dunlap@eu.citrix.com> > I''m not entirely sure I agree with nuking the trailing full stop from > all of the sentences, especially those which are a complete sentence. > > But unless others feel the same I''m not inclined to argue: > Acked-by: Ian Campbell <ian.campbell@citrix.com> > > >This was at the request of Keir, based on my previous patch from ages ago which fixed up the callers without a newline at the end. ~Andrew
Tim Deegan
2013-Nov-25 10:44 UTC
Re: [PATCH] xen/panic: Fix string inconsistencies in callers of panic()
At 10:06 +0000 on 25 Nov (1385370373), Andrew Cooper wrote:> panic() (as well as early_panic() in arm) is inconsistently called with or > without a trailing newline. This results in cases where the lower line of > *****s is not on its own line. > > Change panic() to always print a newline itself, and update callers not to. > > In addition, panic() was occasionally called with a leading newline, and > occaionally with trailing punctuation which seems rather redundant given the > surrounding context. Fix up these sitiuations as well. > > Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>Acked-by: Tim Deegan <tim@xen.org>
George Dunlap
2013-Nov-25 10:54 UTC
Re: [PATCH] xen/panic: Fix string inconsistencies in callers of panic()
On 11/25/2013 10:06 AM, Andrew Cooper wrote:> panic() (as well as early_panic() in arm) is inconsistently called with or > without a trailing newline. This results in cases where the lower line of > *****s is not on its own line. > > Change panic() to always print a newline itself, and update callers not to. > > In addition, panic() was occasionally called with a leading newline, and > occaionally with trailing punctuation which seems rather redundant given the > surrounding context. Fix up these sitiuations as well. > > Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>Assuming that it does what it says on the tin (only changes strings): Release-acked-by: George Dunlap <george.dunlap@eu.citrix.com>> CC: Keir Fraser <keir@xen.org> > CC: Jan Beulich <JBeulich@suse.com> > CC: Ian Campbell <ian.campbell@citrix.com> > CC: Stefano Stabellini <stefano.stabellini@citrix.com> > CC: Tim Deegan <tim@xen.org> > CC: George Dunlap <george.dunlap@eu.citrix.com> > > --- > > This has been compile tested on arm32 and arm64. > > George: > I request that this is included for 4.4 - It is just formatting changes rather > than functional ones > --- > xen/arch/arm/arm32/vfp.c | 2 +- > xen/arch/arm/arm64/traps.c | 2 +- > xen/arch/arm/domain_build.c | 18 +++++++++--------- > xen/arch/arm/early_printk.c | 2 +- > xen/arch/arm/gic.c | 16 ++++++++-------- > xen/arch/arm/kernel.c | 8 ++++---- > xen/arch/arm/mm.c | 2 +- > xen/arch/arm/platform.c | 2 +- > xen/arch/arm/setup.c | 10 +++++----- > xen/arch/arm/smpboot.c | 2 +- > xen/arch/arm/time.c | 8 ++++---- > xen/arch/arm/traps.c | 10 +++++----- > xen/arch/x86/apic.c | 4 ++-- > xen/arch/x86/bzimage.c | 2 +- > xen/arch/x86/cpu/amd.c | 2 +- > xen/arch/x86/cpu/mcheck/mce.c | 4 ++-- > xen/arch/x86/domain_build.c | 20 ++++++++++---------- > xen/arch/x86/hvm/svm/intr.c | 2 +- > xen/arch/x86/io_apic.c | 4 ++-- > xen/arch/x86/mm/mm-locks.h | 2 +- > xen/arch/x86/mpparse.c | 10 +++++----- > xen/arch/x86/setup.c | 6 +++--- > xen/arch/x86/smpboot.c | 2 +- > xen/arch/x86/tboot.c | 2 +- > xen/arch/x86/time.c | 2 +- > xen/arch/x86/traps.c | 14 +++++++------- > xen/arch/x86/x86_64/mm.c | 2 +- > xen/arch/x86/x86_64/traps.c | 2 +- > xen/common/page_alloc.c | 2 +- > xen/common/schedule.c | 2 +- > xen/drivers/char/console.c | 4 ++-- > xen/drivers/passthrough/iommu.c | 2 +- > xen/drivers/passthrough/pci.c | 2 +- > xen/drivers/passthrough/vtd/dmar.h | 2 +- > xen/drivers/passthrough/vtd/iommu.c | 4 ++-- > xen/drivers/passthrough/vtd/qinval.c | 2 +- > xen/xsm/flask/hooks.c | 2 +- > 37 files changed, 92 insertions(+), 92 deletions(-) > > diff --git a/xen/arch/arm/arm32/vfp.c b/xen/arch/arm/arm32/vfp.c > index 0069acd..5b80053 100644 > --- a/xen/arch/arm/arm32/vfp.c > +++ b/xen/arch/arm/arm32/vfp.c > @@ -80,7 +80,7 @@ static __init int vfp_init(void) > > vfparch = (vfpsid & FPSID_ARCH_MASK) >> FPSID_ARCH_BIT; > if ( vfparch < 2 ) > - panic("Xen only support VFP 3\n"); > + panic("Xen only support VFP 3"); > > return 0; > } > diff --git a/xen/arch/arm/arm64/traps.c b/xen/arch/arm/arm64/traps.c > index d778f89..1693b5d 100644 > --- a/xen/arch/arm/arm64/traps.c > +++ b/xen/arch/arm/arm64/traps.c > @@ -26,7 +26,7 @@ > > asmlinkage void do_trap_serror(struct cpu_user_regs *regs) > { > - panic("Unhandled serror trap\n"); > + panic("Unhandled serror trap"); > } > > static const char *handler[]= { > diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c > index e9bb01f..0cce676 100644 > --- a/xen/arch/arm/domain_build.c > +++ b/xen/arch/arm/domain_build.c > @@ -81,7 +81,7 @@ static void allocate_memory_11(struct domain *d, struct kernel_info *kinfo) > } > > if ( !pg ) > - panic("Failed to allocate contiguous memory for dom0\n"); > + panic("Failed to allocate contiguous memory for dom0"); > > spfn = page_to_mfn(pg); > start = spfn << PAGE_SHIFT; > @@ -93,7 +93,7 @@ static void allocate_memory_11(struct domain *d, struct kernel_info *kinfo) > res = guest_physmap_add_page(d, spfn, spfn, order); > > if ( res ) > - panic("Unable to add pages in DOM0: %d\n", res); > + panic("Unable to add pages in DOM0: %d", res); > > kinfo->mem.bank[0].start = start; > kinfo->mem.bank[0].size = size; > @@ -123,7 +123,7 @@ static void allocate_memory(struct domain *d, struct kernel_info *kinfo) > > reg = dt_get_property(memory, "reg", ®_len); > if ( reg == NULL ) > - panic("Memory node has no reg property!\n"); > + panic("Memory node has no reg property"); > > for ( l = 0; > kinfo->unassigned_mem > 0 && l + reg_size <= reg_len > @@ -133,7 +133,7 @@ static void allocate_memory(struct domain *d, struct kernel_info *kinfo) > paddr_t start, size; > > if ( dt_device_get_address(memory, bank, &start, &size) ) > - panic("Unable to retrieve the bank %u for %s\n", > + panic("Unable to retrieve the bank %u for %s", > bank, dt_node_full_name(memory)); > > if ( size > kinfo->unassigned_mem ) > @@ -142,7 +142,7 @@ static void allocate_memory(struct domain *d, struct kernel_info *kinfo) > printk("Populate P2M %#"PRIx64"->%#"PRIx64"\n", > start, start + size); > if ( p2m_populate_ram(d, start, start + size) < 0 ) > - panic("Failed to populate P2M\n"); > + panic("Failed to populate P2M"); > kinfo->mem.bank[kinfo->mem.nr_banks].start = start; > kinfo->mem.bank[kinfo->mem.nr_banks].size = size; > kinfo->mem.nr_banks++; > @@ -908,7 +908,7 @@ static void dtb_load(struct kernel_info *kinfo) > > rc = raw_copy_to_guest(dtb_virt, kinfo->fdt, fdt_totalsize(kinfo->fdt)); > if ( rc != 0 ) > - panic("Unable to copy the DTB to dom0 memory (rc = %lu)\n", rc); > + panic("Unable to copy the DTB to dom0 memory (rc = %lu)", rc); > xfree(kinfo->fdt); > } > > @@ -935,12 +935,12 @@ static void initrd_load(struct kernel_info *kinfo) > res = fdt_setprop_inplace_cell(kinfo->fdt, node, "linux,initrd-start", > load_addr); > if ( res ) > - panic("Cannot fix up \"linux,initrd-start\" property\n"); > + panic("Cannot fix up \"linux,initrd-start\" property"); > > res = fdt_setprop_inplace_cell(kinfo->fdt, node, "linux,initrd-end", > load_addr + len); > if ( res ) > - panic("Cannot fix up \"linux,initrd-end\" property\n"); > + panic("Cannot fix up \"linux,initrd-end\" property"); > > for ( offs = 0; offs < len; ) > { > @@ -954,7 +954,7 @@ static void initrd_load(struct kernel_info *kinfo) > rc = gvirt_to_maddr(load_addr + offs, &ma); > if ( rc ) > { > - panic("\nUnable to translate guest address\n"); > + panic("Unable to translate guest address"); > return; > } > > diff --git a/xen/arch/arm/early_printk.c b/xen/arch/arm/early_printk.c > index 058d044..41938bb 100644 > --- a/xen/arch/arm/early_printk.c > +++ b/xen/arch/arm/early_printk.c > @@ -61,7 +61,7 @@ early_panic(const char *fmt, ...) > early_vprintk(fmt, args); > va_end(args); > > - early_printk("\nEarly Panic: Stopping\n"); > + early_printk("\n\nEarly Panic: Stopping\n"); > > while(1); > } > diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c > index ab49106..485c793 100644 > --- a/xen/arch/arm/gic.c > +++ b/xen/arch/arm/gic.c > @@ -398,29 +398,29 @@ void __init gic_init(void) > > node = dt_find_interrupt_controller(gic_ids); > if ( !node ) > - panic("Unable to find compatible GIC in the device tree\n"); > + panic("Unable to find compatible GIC in the device tree"); > > dt_device_set_used_by(node, DOMID_XEN); > > res = dt_device_get_address(node, 0, &gic.dbase, NULL); > if ( res || !gic.dbase || (gic.dbase & ~PAGE_MASK) ) > - panic("GIC: Cannot find a valid address for the distributor\n"); > + panic("GIC: Cannot find a valid address for the distributor"); > > res = dt_device_get_address(node, 1, &gic.cbase, NULL); > if ( res || !gic.cbase || (gic.cbase & ~PAGE_MASK) ) > - panic("GIC: Cannot find a valid address for the CPU\n"); > + panic("GIC: Cannot find a valid address for the CPU"); > > res = dt_device_get_address(node, 2, &gic.hbase, NULL); > if ( res || !gic.hbase || (gic.hbase & ~PAGE_MASK) ) > - panic("GIC: Cannot find a valid address for the hypervisor\n"); > + panic("GIC: Cannot find a valid address for the hypervisor"); > > res = dt_device_get_address(node, 3, &gic.vbase, NULL); > if ( res || !gic.vbase || (gic.vbase & ~PAGE_MASK) ) > - panic("GIC: Cannot find a valid address for the virtual CPU\n"); > + panic("GIC: Cannot find a valid address for the virtual CPU"); > > res = dt_device_get_irq(node, 0, &gic.maintenance); > if ( res ) > - panic("GIC: Cannot find the maintenance IRQ\n"); > + panic("GIC: Cannot find the maintenance IRQ"); > > /* Set the GIC as the primary interrupt controller */ > dt_interrupt_controller = node; > @@ -438,7 +438,7 @@ void __init gic_init(void) > > if ( (gic.dbase & ~PAGE_MASK) || (gic.cbase & ~PAGE_MASK) || > (gic.hbase & ~PAGE_MASK) || (gic.vbase & ~PAGE_MASK) ) > - panic("GIC interfaces not page aligned.\n"); > + panic("GIC interfaces not page aligned"); > > set_fixmap(FIXMAP_GICD, gic.dbase >> PAGE_SHIFT, DEV_SHARED); > BUILD_BUG_ON(FIXMAP_ADDR(FIXMAP_GICC1) !> @@ -783,7 +783,7 @@ static void do_sgi(struct cpu_user_regs *regs, int othercpu, enum gic_sgi sgi) > smp_call_function_interrupt(); > break; > default: > - panic("Unhandled SGI %d on CPU%d\n", sgi, smp_processor_id()); > + panic("Unhandled SGI %d on CPU%d", sgi, smp_processor_id()); > break; > } > > diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c > index 9c1c1ad..6a5772b 100644 > --- a/xen/arch/arm/kernel.c > +++ b/xen/arch/arm/kernel.c > @@ -87,7 +87,7 @@ static void place_modules(struct kernel_info *info, > paddr_t addr; > > if ( total + kernel_size > mem_size ) > - panic("Not enough memory in the first bank for the dtb+initrd."); > + panic("Not enough memory in the first bank for the dtb+initrd"); > > /* > * DTB must be loaded such that it does not conflict with the > @@ -112,7 +112,7 @@ static void place_modules(struct kernel_info *info, > addr = kernel_start - total; > else > { > - panic("Unable to find suitable location for dtb+initrd."); > + panic("Unable to find suitable location for dtb+initrd"); > return; > } > > @@ -144,7 +144,7 @@ static void kernel_zimage_load(struct kernel_info *info) > rc = gvirt_to_maddr(load_addr + offs, &ma); > if ( rc ) > { > - panic("\nUnable to map translate guest address\n"); > + panic("Unable to map translate guest address"); > return; > } > > @@ -314,7 +314,7 @@ static int kernel_try_elf_prepare(struct kernel_info *info, > info->kernel_order = get_order_from_bytes(size); > info->kernel_img = alloc_xenheap_pages(info->kernel_order, 0); > if ( info->kernel_img == NULL ) > - panic("Cannot allocate temporary buffer for kernel.\n"); > + panic("Cannot allocate temporary buffer for kernel"); > > copy_from_paddr(info->kernel_img, addr, size, info->load_attr); > > diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c > index 2de7dc7..acf037b 100644 > --- a/xen/arch/arm/mm.c > +++ b/xen/arch/arm/mm.c > @@ -633,7 +633,7 @@ void __init setup_xenheap_mappings(unsigned long base_mfn, > xenheap_mfn_start = base_mfn; > > if ( base_mfn < xenheap_mfn_start ) > - early_panic("cannot add xenheap mapping at %lx below heap start %lx\n", > + early_panic("cannot add xenheap mapping at %lx below heap start %lx", > base_mfn, xenheap_mfn_start); > > end_mfn = base_mfn + nr_mfns; > diff --git a/xen/arch/arm/platform.c b/xen/arch/arm/platform.c > index 0fbbdc7..58b8bd2 100644 > --- a/xen/arch/arm/platform.c > +++ b/xen/arch/arm/platform.c > @@ -83,7 +83,7 @@ void __init platform_init(void) > res = platform->init(); > > if ( res ) > - panic("Unable to initialize the platform\n"); > + panic("Unable to initialize the platform"); > } > > int __init platform_init_time(void) > diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c > index b032030..325f148 100644 > --- a/xen/arch/arm/setup.c > +++ b/xen/arch/arm/setup.c > @@ -345,7 +345,7 @@ static paddr_t __init get_xen_paddr(void) > } > > if ( !paddr ) > - early_panic("Not enough memory to relocate Xen\n"); > + early_panic("Not enough memory to relocate Xen"); > > early_printk("Placing Xen at 0x%"PRIpaddr"-0x%"PRIpaddr"\n", > paddr, paddr + min_size); > @@ -372,7 +372,7 @@ static void __init setup_mm(unsigned long dtb_paddr, size_t dtb_size) > > /* TODO: Handle non-contiguous memory bank */ > if ( !early_info.mem.nr_banks ) > - early_panic("No memory bank\n"); > + early_panic("No memory bank"); > ram_start = early_info.mem.bank[0].start; > ram_size = early_info.mem.bank[0].size; > ram_end = ram_start + ram_size; > @@ -417,7 +417,7 @@ static void __init setup_mm(unsigned long dtb_paddr, size_t dtb_size) > } while ( xenheap_pages > 128<<(20-PAGE_SHIFT) ); > > if ( ! e ) > - early_panic("Not not enough space for xenheap\n"); > + early_panic("Not not enough space for xenheap"); > > domheap_pages = heap_pages - xenheap_pages; > > @@ -695,13 +695,13 @@ void __init start_xen(unsigned long boot_phys_offset, > /* Create initial domain 0. */ > dom0 = domain_create(0, 0, 0); > if ( IS_ERR(dom0) || (alloc_dom0_vcpu0() == NULL) ) > - panic("Error creating domain 0\n"); > + panic("Error creating domain 0"); > > dom0->is_privileged = 1; > dom0->target = NULL; > > if ( construct_dom0(dom0) != 0) > - panic("Could not set up DOM0 guest OS\n"); > + panic("Could not set up DOM0 guest OS"); > > /* Scrub RAM that is still free and so may go to an unprivileged domain. > XXX too slow in simulator > diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c > index 6c90fa6..6c271b7 100644 > --- a/xen/arch/arm/smpboot.c > +++ b/xen/arch/arm/smpboot.c > @@ -72,7 +72,7 @@ static void setup_cpu_sibling_map(int cpu) > { > if ( !zalloc_cpumask_var(&per_cpu(cpu_sibling_mask, cpu)) || > !zalloc_cpumask_var(&per_cpu(cpu_core_mask, cpu)) ) > - panic("No memory for CPU sibling/core maps\n"); > + panic("No memory for CPU sibling/core maps"); > > /* A CPU is a sibling with itself and is always on its own core. */ > cpumask_set_cpu(cpu, per_cpu(cpu_sibling_mask, cpu)); > diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c > index 938995d..81e3e28 100644 > --- a/xen/arch/arm/time.c > +++ b/xen/arch/arm/time.c > @@ -113,7 +113,7 @@ int __init init_xen_time(void) > > dev = dt_find_matching_node(NULL, timer_ids); > if ( !dev ) > - panic("Unable to find a compatible timer in the device tree\n"); > + panic("Unable to find a compatible timer in the device tree"); > > dt_device_set_used_by(dev, DOMID_XEN); > > @@ -122,7 +122,7 @@ int __init init_xen_time(void) > { > res = dt_device_get_irq(dev, i, &timer_irq[i]); > if ( res ) > - panic("Timer: Unable to retrieve IRQ %u from the device tree\n", i); > + panic("Timer: Unable to retrieve IRQ %u from the device tree", i); > } > > printk("Generic Timer IRQ: phys=%u hyp=%u virt=%u\n", > @@ -132,11 +132,11 @@ int __init init_xen_time(void) > > res = platform_init_time(); > if ( res ) > - panic("Timer: Cannot initialize platform timer\n"); > + panic("Timer: Cannot initialize platform timer"); > > /* Check that this CPU supports the Generic Timer interface */ > if ( !cpu_has_gentimer ) > - panic("CPU does not support the Generic Timer v1 interface.\n"); > + panic("CPU does not support the Generic Timer v1 interface"); > > res = dt_property_read_u32(dev, "clock-frequency", &rate); > if ( res ) > diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c > index d39e2d4..8144b2b 100644 > --- a/xen/arch/arm/traps.c > +++ b/xen/arch/arm/traps.c > @@ -253,7 +253,7 @@ void panic_PAR(uint64_t par) > second_in_first ? " during second stage lookup" : "", > fsc_level_str(level)); > > - panic("Error during Hypervisor-to-physical address translation\n"); > + panic("Error during Hypervisor-to-physical address translation"); > } > > static void cpsr_switch_mode(struct cpu_user_regs *regs, int mode) > @@ -902,7 +902,7 @@ static void do_debug_trap(struct cpu_user_regs *regs, unsigned int code) > show_execution_state(regs); > break; > default: > - panic("DOM%d: Unhandled debug trap %#x\n", domid, code); > + panic("DOM%d: Unhandled debug trap %#x", domid, code); > break; > } > } > @@ -1187,7 +1187,7 @@ static void do_cp15_32(struct cpu_user_regs *regs, > printk("%s p15, %d, r%d, cr%d, cr%d, %d @ 0x%"PRIregister"\n", > cp32.read ? "mrc" : "mcr", > cp32.op1, cp32.reg, cp32.crn, cp32.crm, cp32.op2, regs->pc); > - panic("unhandled 32-bit CP15 access %#x\n", hsr.bits & HSR_CP32_REGS_MASK); > + panic("unhandled 32-bit CP15 access %#x", hsr.bits & HSR_CP32_REGS_MASK); > } > advance_pc(regs, hsr); > } > @@ -1217,7 +1217,7 @@ static void do_cp15_64(struct cpu_user_regs *regs, > printk("%s p15, %d, r%d, r%d, cr%d @ 0x%"PRIregister"\n", > cp64.read ? "mrrc" : "mcrr", > cp64.op1, cp64.reg1, cp64.reg2, cp64.crm, regs->pc); > - panic("unhandled 64-bit CP15 access %#x\n", hsr.bits & HSR_CP64_REGS_MASK); > + panic("unhandled 64-bit CP15 access %#x", hsr.bits & HSR_CP64_REGS_MASK); > } > advance_pc(regs, hsr); > } > @@ -1247,7 +1247,7 @@ static void do_sysreg(struct cpu_user_regs *regs, > sysreg.op2, > sysreg.read ? "=>" : "<=", > sysreg.reg, regs->pc); > - panic("unhandled 64-bit sysreg access %#x\n", > + panic("unhandled 64-bit sysreg access %#x", > hsr.bits & HSR_SYSREG_REGS_MASK); > } > > diff --git a/xen/arch/x86/apic.c b/xen/arch/x86/apic.c > index a52a0e8..0e5e302 100644 > --- a/xen/arch/x86/apic.c > +++ b/xen/arch/x86/apic.c > @@ -946,7 +946,7 @@ void __init x2apic_bsp_setup(void) > return; > } > panic("x2APIC: already enabled by BIOS, but " > - "iommu_supports_eim failed!\n"); > + "iommu_supports_eim failed"); > } > > if ( (ioapic_entries = alloc_ioapic_entries()) == NULL ) > @@ -968,7 +968,7 @@ void __init x2apic_bsp_setup(void) > { > if ( x2apic_enabled ) > panic("Interrupt remapping could not be enabled while " > - "x2APIC is already enabled by BIOS!\n"); > + "x2APIC is already enabled by BIOS"); > > printk(XENLOG_ERR > "Failed to enable Interrupt Remapping: Will not enable x2APIC.\n"); > diff --git a/xen/arch/x86/bzimage.c b/xen/arch/x86/bzimage.c > index 58fda16..d72b832 100644 > --- a/xen/arch/x86/bzimage.c > +++ b/xen/arch/x86/bzimage.c > @@ -62,7 +62,7 @@ static void flush_window(void); > > static __init void error(char *x) > { > - panic("%s\n", x); > + panic("%s", x); > } > > static __init int fill_inbuf(void) > diff --git a/xen/arch/x86/cpu/amd.c b/xen/arch/x86/cpu/amd.c > index 472df68..64531d9 100644 > --- a/xen/arch/x86/cpu/amd.c > +++ b/xen/arch/x86/cpu/amd.c > @@ -465,7 +465,7 @@ static void __devinit init_amd(struct cpuinfo_x86 *c) > if (!cpu_has_amd_erratum(c, AMD_ERRATUM_121)) > opt_allow_unsafe = 1; > else if (opt_allow_unsafe < 0) > - panic("Xen will not boot on this CPU for security reasons.\n" > + panic("Xen will not boot on this CPU for security reasons" > "Pass \"allow_unsafe\" if you''re trusting all your" > " (PV) guest kernels.\n"); > else if (!opt_allow_unsafe && c == &boot_cpu_data) > diff --git a/xen/arch/x86/cpu/mcheck/mce.c b/xen/arch/x86/cpu/mcheck/mce.c > index 93d7ae1..b375ef7 100644 > --- a/xen/arch/x86/cpu/mcheck/mce.c > +++ b/xen/arch/x86/cpu/mcheck/mce.c > @@ -523,7 +523,7 @@ void mcheck_cmn_handler(struct cpu_user_regs *regs, long error_code, > * recovery job but to reset the system. > */ > if (atomic_read(&found_error) == 0) > - mc_panic("MCE: No CPU found valid MCE, need reset\n"); > + mc_panic("MCE: No CPU found valid MCE, need reset"); > if (!cpumask_empty(&mce_fatal_cpus)) > { > char *ebufp, ebuf[96] = "MCE: Fatal error happened on CPUs "; > @@ -1642,7 +1642,7 @@ static int mce_delayed_action(mctelem_cookie_t mctc) > dprintk(XENLOG_ERR, "MCE delayed action failed\n"); > is_mc_panic = 1; > x86_mcinfo_dump(mctelem_dataptr(mctc)); > - panic("MCE: Software recovery failed for the UCR\n"); > + panic("MCE: Software recovery failed for the UCR"); > break; > case MCER_RECOVERED: > dprintk(XENLOG_INFO, "MCE: Error is successfully recovered\n"); > diff --git a/xen/arch/x86/domain_build.c b/xen/arch/x86/domain_build.c > index 232adf8..84ce392 100644 > --- a/xen/arch/x86/domain_build.c > +++ b/xen/arch/x86/domain_build.c > @@ -439,7 +439,7 @@ int __init construct_dom0( > value = (parms.virt_hv_start_low + mask) & ~mask; > BUG_ON(!is_pv_32bit_domain(d)); > if ( value > __HYPERVISOR_COMPAT_VIRT_START ) > - panic("Domain 0 expects too high a hypervisor start address.\n"); > + panic("Domain 0 expects too high a hypervisor start address"); > HYPERVISOR_COMPAT_VIRT_START(d) > max_t(unsigned int, m2p_compat_vstart, value); > } > @@ -509,7 +509,7 @@ int __init construct_dom0( > count -= PAGE_ALIGN(initrd_len); > order = get_order_from_bytes(count); > if ( (1UL << order) + PFN_UP(initrd_len) > nr_pages ) > - panic("Domain 0 allocation is too small for kernel image.\n"); > + panic("Domain 0 allocation is too small for kernel image"); > > if ( parms.p2m_base != UNSET_ADDR ) > { > @@ -518,7 +518,7 @@ int __init construct_dom0( > } > page = alloc_domheap_pages(d, order, 0); > if ( page == NULL ) > - panic("Not enough RAM for domain 0 allocation.\n"); > + panic("Not enough RAM for domain 0 allocation"); > alloc_spfn = page_to_mfn(page); > alloc_epfn = alloc_spfn + d->tot_pages; > > @@ -535,7 +535,7 @@ int __init construct_dom0( > order = get_order_from_pages(count); > page = alloc_domheap_pages(d, order, 0); > if ( !page ) > - panic("Not enough RAM for domain 0 initrd.\n"); > + panic("Not enough RAM for domain 0 initrd"); > for ( count = -count; order--; ) > if ( count & (1UL << order) ) > { > @@ -618,7 +618,7 @@ int __init construct_dom0( > { > page = alloc_domheap_page(NULL, 0); > if ( !page ) > - panic("Not enough RAM for domain 0 PML4.\n"); > + panic("Not enough RAM for domain 0 PML4"); > page->u.inuse.type_info = PGT_l4_page_table|PGT_validated|1; > l4start = l4tab = page_to_virt(page); > maddr_to_page(mpt_alloc)->u.inuse.type_info = PGT_l3_page_table; > @@ -830,7 +830,7 @@ int __init construct_dom0( > { > if ( d->tot_pages + ((round_pgup(vphysmap_end) - va) > >> PAGE_SHIFT) + 3 > nr_pages ) > - panic("Dom0 allocation too small for initial P->M table.\n"); > + panic("Dom0 allocation too small for initial P->M table"); > > if ( l1tab ) > { > @@ -929,7 +929,7 @@ int __init construct_dom0( > va &= PAGE_MASK; > } > if ( !page ) > - panic("Not enough RAM for DOM0 P->M table.\n"); > + panic("Not enough RAM for DOM0 P->M table"); > } > > if ( l1tab ) > @@ -990,7 +990,7 @@ int __init construct_dom0( > while ( pfn < nr_pages ) > { > if ( (page = alloc_chunk(d, nr_pages - d->tot_pages)) == NULL ) > - panic("Not enough RAM for DOM0 reservation.\n"); > + panic("Not enough RAM for DOM0 reservation"); > while ( pfn < d->tot_pages ) > { > mfn = page_to_mfn(page); > @@ -1072,12 +1072,12 @@ int __init construct_dom0( > printk("Dom0 runs in ring 0 (supervisor mode)\n"); > if ( !test_bit(XENFEAT_supervisor_mode_kernel, > parms.f_supported) ) > - panic("Dom0 does not support supervisor-mode execution\n"); > + panic("Dom0 does not support supervisor-mode execution"); > } > else > { > if ( test_bit(XENFEAT_supervisor_mode_kernel, parms.f_required) ) > - panic("Dom0 requires supervisor-mode execution\n"); > + panic("Dom0 requires supervisor-mode execution"); > } > > rc = 0; > diff --git a/xen/arch/x86/hvm/svm/intr.c b/xen/arch/x86/hvm/svm/intr.c > index da2bcca..023151a 100644 > --- a/xen/arch/x86/hvm/svm/intr.c > +++ b/xen/arch/x86/hvm/svm/intr.c > @@ -175,7 +175,7 @@ void svm_intr_assist(void) > /* Guest already enabled an interrupt window. */ > return; > default: > - panic("%s: nestedsvm_vcpu_interrupt can''t handle value %#x\n", > + panic("%s: nestedsvm_vcpu_interrupt can''t handle value %#x", > __func__, rc); > } > } > diff --git a/xen/arch/x86/io_apic.c b/xen/arch/x86/io_apic.c > index 5512cd5..bddc588 100644 > --- a/xen/arch/x86/io_apic.c > +++ b/xen/arch/x86/io_apic.c > @@ -1421,7 +1421,7 @@ static void __init setup_ioapic_ids_from_mpc(void) > if (!physid_isset(i, phys_id_present_map)) > break; > if (i >= get_physical_broadcast()) > - panic("Max APIC ID exceeded!\n"); > + panic("Max APIC ID exceeded"); > printk(KERN_ERR "... fixing up to %d. (tell your hw vendor)\n", > i); > mp_ioapics[apic].mpc_apicid = i; > @@ -2135,7 +2135,7 @@ int __init io_apic_get_unique_id (int ioapic, int apic_id) > } > > if (i == get_physical_broadcast()) > - panic("Max apic_id exceeded!\n"); > + panic("Max apic_id exceeded"); > > printk(KERN_WARNING "IOAPIC[%d]: apic_id %d already used, " > "trying %d\n", ioapic, apic_id, i); > diff --git a/xen/arch/x86/mm/mm-locks.h b/xen/arch/x86/mm/mm-locks.h > index 3ce3489..769f7bc 100644 > --- a/xen/arch/x86/mm/mm-locks.h > +++ b/xen/arch/x86/mm/mm-locks.h > @@ -73,7 +73,7 @@ static inline void _mm_lock(mm_lock_t *l, const char *func, int level, int rec) > l->unlock_level = __get_lock_level(); > } > else if ( (unlikely(!rec)) ) > - panic("mm lock already held by %s\n", l->locker_function); > + panic("mm lock already held by %s", l->locker_function); > __set_lock_level(level); > } > > diff --git a/xen/arch/x86/mpparse.c b/xen/arch/x86/mpparse.c > index 3753704..a38e016 100644 > --- a/xen/arch/x86/mpparse.c > +++ b/xen/arch/x86/mpparse.c > @@ -221,7 +221,7 @@ static void __init MP_ioapic_info (struct mpc_config_ioapic *m) > if (nr_ioapics >= MAX_IO_APICS) { > printk(KERN_CRIT "Max # of I/O APICs (%d) exceeded (found %d).\n", > MAX_IO_APICS, nr_ioapics); > - panic("Recompile kernel with bigger MAX_IO_APICS!.\n"); > + panic("Recompile kernel with bigger MAX_IO_APICS"); > } > if (!m->mpc_apicaddr) { > printk(KERN_ERR "WARNING: bogus zero I/O APIC address" > @@ -241,7 +241,7 @@ static void __init MP_intsrc_info (struct mpc_config_intsrc *m) > (m->mpc_irqflag >> 2) & 3, m->mpc_srcbus, > m->mpc_srcbusirq, m->mpc_dstapic, m->mpc_dstirq); > if (++mp_irq_entries == MAX_IRQ_SOURCES) > - panic("Max # of irq sources exceeded!!\n"); > + panic("Max # of irq sources exceeded"); > } > > static void __init MP_lintsrc_info (struct mpc_config_lintsrc *m) > @@ -844,7 +844,7 @@ void __init mp_register_ioapic ( > if (nr_ioapics >= MAX_IO_APICS) { > printk(KERN_ERR "ERROR: Max # of I/O APICs (%d) exceeded " > "(found %d)\n", MAX_IO_APICS, nr_ioapics); > - panic("Recompile kernel with bigger MAX_IO_APICS!\n"); > + panic("Recompile kernel with bigger MAX_IO_APICS"); > } > if (!address) { > printk(KERN_ERR "WARNING: Bogus (zero) I/O APIC address" > @@ -943,7 +943,7 @@ void __init mp_override_legacy_irq ( > > mp_irqs[mp_irq_entries] = intsrc; > if (++mp_irq_entries == MAX_IRQ_SOURCES) > - panic("Max # of irq sources exceeded!\n"); > + panic("Max # of irq sources exceeded"); > > return; > } > @@ -1009,7 +1009,7 @@ void __init mp_config_acpi_legacy_irqs (void) > > mp_irqs[mp_irq_entries] = intsrc; > if (++mp_irq_entries == MAX_IRQ_SOURCES) > - panic("Max # of irq sources exceeded!\n"); > + panic("Max # of irq sources exceeded"); > } > } > > diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c > index e33c34b..f07ee2b 100644 > --- a/xen/arch/x86/setup.c > +++ b/xen/arch/x86/setup.c > @@ -1330,12 +1330,12 @@ void __init __start_xen(unsigned long mbi_p) > watchdog_setup(); > > if ( !tboot_protect_mem_regions() ) > - panic("Could not protect TXT memory regions\n"); > + panic("Could not protect TXT memory regions"); > > /* Create initial domain 0. */ > dom0 = domain_create(0, DOMCRF_s3_integrity, 0); > if ( IS_ERR(dom0) || (alloc_dom0_vcpu0() == NULL) ) > - panic("Error creating domain 0\n"); > + panic("Error creating domain 0"); > > dom0->is_privileged = 1; > dom0->target = NULL; > @@ -1390,7 +1390,7 @@ void __init __start_xen(unsigned long mbi_p) > (initrdidx > 0) && (initrdidx < mbi->mods_count) > ? mod + initrdidx : NULL, > bootstrap_map, cmdline) != 0) > - panic("Could not set up DOM0 guest OS\n"); > + panic("Could not set up DOM0 guest OS"); > > /* Scrub RAM that is still free and so may go to an unprivileged domain. */ > scrub_heap_pages(); > diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c > index 9f81c7b..42b8a59 100644 > --- a/xen/arch/x86/smpboot.c > +++ b/xen/arch/x86/smpboot.c > @@ -735,7 +735,7 @@ void __init smp_prepare_cpus(unsigned int max_cpus) > > if ( !zalloc_cpumask_var(&per_cpu(cpu_sibling_mask, 0)) || > !zalloc_cpumask_var(&per_cpu(cpu_core_mask, 0)) ) > - panic("No memory for boot CPU sibling/core maps\n"); > + panic("No memory for boot CPU sibling/core maps"); > > set_cpu_sibling_map(0); > > diff --git a/xen/arch/x86/tboot.c b/xen/arch/x86/tboot.c > index 1eed2e3..ccde4a0 100644 > --- a/xen/arch/x86/tboot.c > +++ b/xen/arch/x86/tboot.c > @@ -528,7 +528,7 @@ void tboot_s3_error(int error) > > printk("MAC for %s before S3 is: 0x%08"PRIx64"\n", what, orig_mac); > printk("MAC for %s after S3 is: 0x%08"PRIx64"\n", what, resume_mac); > - panic("Memory integrity was lost on resume (%d)\n", error); > + panic("Memory integrity was lost on resume (%d)", error); > } > > int tboot_wake_ap(int apicid, unsigned long sipi_vec) > diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c > index 62c3443..e463600 100644 > --- a/xen/arch/x86/time.c > +++ b/xen/arch/x86/time.c > @@ -690,7 +690,7 @@ static unsigned long get_cmos_time(void) > } > > if ( unlikely(acpi_gbl_FADT.boot_flags & ACPI_FADT_NO_CMOS_RTC) ) > - panic("System without CMOS RTC must be booted from EFI\n"); > + panic("System without CMOS RTC must be booted from EFI"); > > spin_lock_irqsave(&rtc_lock, flags); > > diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c > index d8b3eac..3b4f28b 100644 > --- a/xen/arch/x86/traps.c > +++ b/xen/arch/x86/traps.c > @@ -422,7 +422,7 @@ void fatal_trap(int trapnr, struct cpu_user_regs *regs) > } > > panic("FATAL TRAP: vector = %d (%s)\n" > - "[error_code=%04x] %s\n", > + "[error_code=%04x] %s", > trapnr, trapstr(trapnr), regs->error_code, > (regs->eflags & X86_EFLAGS_IF) ? "" : ", IN INTERRUPT CONTEXT"); > } > @@ -569,7 +569,7 @@ static inline void do_trap( > > show_execution_state(regs); > panic("FATAL TRAP: vector = %d (%s)\n" > - "[error_code=%04x]\n", > + "[error_code=%04x]", > trapnr, trapstr(trapnr), regs->error_code); > } > > @@ -1017,7 +1017,7 @@ void do_invalid_op(struct cpu_user_regs *regs) > printk("Xen BUG at %s%s:%d\n", prefix, filename, lineno); > DEBUGGER_trap_fatal(TRAP_invalid_op, regs); > show_execution_state(regs); > - panic("Xen BUG at %s%s:%d\n", prefix, filename, lineno); > + panic("Xen BUG at %s%s:%d", prefix, filename, lineno); > > case BUGFRAME_assert: > /* ASSERT: decode the predicate string pointer. */ > @@ -1029,7 +1029,7 @@ void do_invalid_op(struct cpu_user_regs *regs) > predicate, prefix, filename, lineno); > DEBUGGER_trap_fatal(TRAP_invalid_op, regs); > show_execution_state(regs); > - panic("Assertion ''%s'' failed at %s%s:%d\n", > + panic("Assertion ''%s'' failed at %s%s:%d", > predicate, prefix, filename, lineno); > } > > @@ -1042,7 +1042,7 @@ void do_invalid_op(struct cpu_user_regs *regs) > } > DEBUGGER_trap_fatal(TRAP_invalid_op, regs); > show_execution_state(regs); > - panic("FATAL TRAP: vector = %d (invalid opcode)\n", TRAP_invalid_op); > + panic("FATAL TRAP: vector = %d (invalid opcode)", TRAP_invalid_op); > } > > void do_int3(struct cpu_user_regs *regs) > @@ -1397,7 +1397,7 @@ void do_page_fault(struct cpu_user_regs *regs) > show_page_walk(addr); > panic("FATAL PAGE FAULT\n" > "[error_code=%04x]\n" > - "Faulting linear address: %p\n", > + "Faulting linear address: %p", > error_code, _p(addr)); > } > > @@ -3078,7 +3078,7 @@ void do_general_protection(struct cpu_user_regs *regs) > > hardware_gp: > show_execution_state(regs); > - panic("GENERAL PROTECTION FAULT\n[error_code=%04x]\n", regs->error_code); > + panic("GENERAL PROTECTION FAULT\n[error_code=%04x]", regs->error_code); > } > > static DEFINE_PER_CPU(struct softirq_trap, softirq_trap); > diff --git a/xen/arch/x86/x86_64/mm.c b/xen/arch/x86/x86_64/mm.c > index 4a3b3f1..f6ea012 100644 > --- a/xen/arch/x86/x86_64/mm.c > +++ b/xen/arch/x86/x86_64/mm.c > @@ -740,7 +740,7 @@ void __init paging_init(void) > return; > > nomem: > - panic("Not enough memory for m2p table\n"); > + panic("Not enough memory for m2p table"); > } > > void __init zap_low_mappings(void) > diff --git a/xen/arch/x86/x86_64/traps.c b/xen/arch/x86/x86_64/traps.c > index bcf72b6..ad09415 100644 > --- a/xen/arch/x86/x86_64/traps.c > +++ b/xen/arch/x86/x86_64/traps.c > @@ -250,7 +250,7 @@ void do_double_fault(struct cpu_user_regs *regs) > _show_registers(regs, crs, CTXT_hypervisor, NULL); > show_stack_overflow(cpu, regs); > > - panic("DOUBLE FAULT -- system shutdown\n"); > + panic("DOUBLE FAULT -- system shutdown"); > } > > void toggle_guest_mode(struct vcpu *v) > diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c > index 0701333..c82aba6 100644 > --- a/xen/common/page_alloc.c > +++ b/xen/common/page_alloc.c > @@ -92,7 +92,7 @@ static unsigned int __initdata nr_bootmem_regions; > > static void __init boot_bug(int line) > { > - panic("Boot BUG at %s:%d\n", __FILE__, line); > + panic("Boot BUG at %s:%d", __FILE__, line); > } > #define BOOT_BUG_ON(p) if ( p ) boot_bug(__LINE__); > > diff --git a/xen/common/schedule.c b/xen/common/schedule.c > index 0f45f07..1192fe2 100644 > --- a/xen/common/schedule.c > +++ b/xen/common/schedule.c > @@ -1389,7 +1389,7 @@ void __init scheduler_init(void) > > printk("Using scheduler: %s (%s)\n", ops.name, ops.opt_name); > if ( SCHED_OP(&ops, init) ) > - panic("scheduler returned error on init\n"); > + panic("scheduler returned error on init"); > > if ( sched_ratelimit_us && > (sched_ratelimit_us > XEN_SYSCTL_SCHED_RATELIMIT_MAX > diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c > index 508f845..532c426 100644 > --- a/xen/drivers/char/console.c > +++ b/xen/drivers/char/console.c > @@ -1057,7 +1057,7 @@ void panic(const char *fmt, ...) > console_start_sync(); > printk("\n****************************************\n"); > printk("Panic on CPU %d:\n", smp_processor_id()); > - printk("%s", buf); > + printk("%s\n", buf); > printk("****************************************\n\n"); > if ( opt_noreboot ) > printk("Manual reset required (''noreboot'' specified)\n"); > @@ -1088,7 +1088,7 @@ void __bug(char *file, int line) > console_start_sync(); > printk("Xen BUG at %s:%d\n", file, line); > dump_execution_state(); > - panic("Xen BUG at %s:%d\n", file, line); > + panic("Xen BUG at %s:%d", file, line); > for ( ; ; ) ; > } > > diff --git a/xen/drivers/passthrough/iommu.c b/xen/drivers/passthrough/iommu.c > index 93ad122..7d5463c 100644 > --- a/xen/drivers/passthrough/iommu.c > +++ b/xen/drivers/passthrough/iommu.c > @@ -475,7 +475,7 @@ int __init iommu_setup(void) > > if ( (force_iommu && !iommu_enabled) || > (force_intremap && !iommu_intremap) ) > - panic("Couldn''t enable %s and iommu=required/force\n", > + panic("Couldn''t enable %s and iommu=required/force", > !iommu_enabled ? "IOMMU" : "Interrupt Remapping"); > > if ( !iommu_enabled ) > diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c > index 4aa8f64..c5c8344 100644 > --- a/xen/drivers/passthrough/pci.c > +++ b/xen/drivers/passthrough/pci.c > @@ -104,7 +104,7 @@ void __init pt_pci_init(void) > { > radix_tree_init(&pci_segments); > if ( !alloc_pseg(0) ) > - panic("Could not initialize PCI segment 0\n"); > + panic("Could not initialize PCI segment 0"); > } > > int __init pci_add_segment(u16 seg) > diff --git a/xen/drivers/passthrough/vtd/dmar.h b/xen/drivers/passthrough/vtd/dmar.h > index a2b97d6..af1feef 100644 > --- a/xen/drivers/passthrough/vtd/dmar.h > +++ b/xen/drivers/passthrough/vtd/dmar.h > @@ -118,7 +118,7 @@ do { \ > break; \ > if ( NOW() > start_time + DMAR_OPERATION_TIMEOUT ) { \ > if ( !kexecing ) \ > - panic("%s:%d:%s: DMAR hardware is malfunctional\n",\ > + panic("%s:%d:%s: DMAR hardware is malfunctional",\ > __FILE__, __LINE__, __func__); \ > else \ > break; \ > diff --git a/xen/drivers/passthrough/vtd/iommu.c b/xen/drivers/passthrough/vtd/iommu.c > index 76d0bfd..b6b48e2 100644 > --- a/xen/drivers/passthrough/vtd/iommu.c > +++ b/xen/drivers/passthrough/vtd/iommu.c > @@ -722,7 +722,7 @@ static void iommu_enable_translation(struct acpi_drhd_unit *drhd) > if ( is_igd_drhd(drhd) && !is_igd_vt_enabled_quirk() ) > { > if ( force_iommu ) > - panic("BIOS did not enable IGD for VT properly, crash Xen for security purpose!\n"); > + panic("BIOS did not enable IGD for VT properly, crash Xen for security purpose"); > else > { > dprintk(XENLOG_WARNING VTDPREFIX, > @@ -2344,7 +2344,7 @@ static void vtd_resume(void) > return; > > if ( init_vtd_hw() != 0 && force_iommu ) > - panic("IOMMU setup failed, crash Xen for security purpose!\n"); > + panic("IOMMU setup failed, crash Xen for security purpose"); > > for_each_drhd_unit ( drhd ) > { > diff --git a/xen/drivers/passthrough/vtd/qinval.c b/xen/drivers/passthrough/vtd/qinval.c > index 6a410d8..ef5de99 100644 > --- a/xen/drivers/passthrough/vtd/qinval.c > +++ b/xen/drivers/passthrough/vtd/qinval.c > @@ -220,7 +220,7 @@ static int queue_invalidate_wait(struct iommu *iommu, > if ( NOW() > (start_time + DMAR_OPERATION_TIMEOUT) ) > { > print_qi_regs(iommu); > - panic("queue invalidate wait descriptor was not executed\n"); > + panic("queue invalidate wait descriptor was not executed"); > } > cpu_relax(); > } > diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c > index b1e2593..7cdef04 100644 > --- a/xen/xsm/flask/hooks.c > +++ b/xen/xsm/flask/hooks.c > @@ -1586,7 +1586,7 @@ static __init int flask_init(void) > > original_ops = xsm_ops; > if ( register_xsm(&flask_ops) ) > - panic("Flask: Unable to register with XSM.\n"); > + panic("Flask: Unable to register with XSM"); > > ret = security_load_policy(policy_buffer, policy_size); >
Keir Fraser
2013-Dec-03 09:21 UTC
Re: [PATCH] xen/panic: Fix string inconsistencies in callers of panic()
On 25/11/2013 10:54, "George Dunlap" <george.dunlap@eu.citrix.com> wrote:> On 11/25/2013 10:06 AM, Andrew Cooper wrote: >> panic() (as well as early_panic() in arm) is inconsistently called with or >> without a trailing newline. This results in cases where the lower line of >> *****s is not on its own line. >> >> Change panic() to always print a newline itself, and update callers not to. >> >> In addition, panic() was occasionally called with a leading newline, and >> occaionally with trailing punctuation which seems rather redundant given the >> surrounding context. Fix up these sitiuations as well. >> >> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> > > Assuming that it does what it says on the tin (only changes strings): > > Release-acked-by: George Dunlap <george.dunlap@eu.citrix.com>Acked-by: Keir Fraser <keir@xen.org>>> CC: Keir Fraser <keir@xen.org> >> CC: Jan Beulich <JBeulich@suse.com> >> CC: Ian Campbell <ian.campbell@citrix.com> >> CC: Stefano Stabellini <stefano.stabellini@citrix.com> >> CC: Tim Deegan <tim@xen.org> >> CC: George Dunlap <george.dunlap@eu.citrix.com> >> >> --- >> >> This has been compile tested on arm32 and arm64. >> >> George: >> I request that this is included for 4.4 - It is just formatting changes >> rather >> than functional ones >> --- >> xen/arch/arm/arm32/vfp.c | 2 +- >> xen/arch/arm/arm64/traps.c | 2 +- >> xen/arch/arm/domain_build.c | 18 +++++++++--------- >> xen/arch/arm/early_printk.c | 2 +- >> xen/arch/arm/gic.c | 16 ++++++++-------- >> xen/arch/arm/kernel.c | 8 ++++---- >> xen/arch/arm/mm.c | 2 +- >> xen/arch/arm/platform.c | 2 +- >> xen/arch/arm/setup.c | 10 +++++----- >> xen/arch/arm/smpboot.c | 2 +- >> xen/arch/arm/time.c | 8 ++++---- >> xen/arch/arm/traps.c | 10 +++++----- >> xen/arch/x86/apic.c | 4 ++-- >> xen/arch/x86/bzimage.c | 2 +- >> xen/arch/x86/cpu/amd.c | 2 +- >> xen/arch/x86/cpu/mcheck/mce.c | 4 ++-- >> xen/arch/x86/domain_build.c | 20 ++++++++++---------- >> xen/arch/x86/hvm/svm/intr.c | 2 +- >> xen/arch/x86/io_apic.c | 4 ++-- >> xen/arch/x86/mm/mm-locks.h | 2 +- >> xen/arch/x86/mpparse.c | 10 +++++----- >> xen/arch/x86/setup.c | 6 +++--- >> xen/arch/x86/smpboot.c | 2 +- >> xen/arch/x86/tboot.c | 2 +- >> xen/arch/x86/time.c | 2 +- >> xen/arch/x86/traps.c | 14 +++++++------- >> xen/arch/x86/x86_64/mm.c | 2 +- >> xen/arch/x86/x86_64/traps.c | 2 +- >> xen/common/page_alloc.c | 2 +- >> xen/common/schedule.c | 2 +- >> xen/drivers/char/console.c | 4 ++-- >> xen/drivers/passthrough/iommu.c | 2 +- >> xen/drivers/passthrough/pci.c | 2 +- >> xen/drivers/passthrough/vtd/dmar.h | 2 +- >> xen/drivers/passthrough/vtd/iommu.c | 4 ++-- >> xen/drivers/passthrough/vtd/qinval.c | 2 +- >> xen/xsm/flask/hooks.c | 2 +- >> 37 files changed, 92 insertions(+), 92 deletions(-) >> >> diff --git a/xen/arch/arm/arm32/vfp.c b/xen/arch/arm/arm32/vfp.c >> index 0069acd..5b80053 100644 >> --- a/xen/arch/arm/arm32/vfp.c >> +++ b/xen/arch/arm/arm32/vfp.c >> @@ -80,7 +80,7 @@ static __init int vfp_init(void) >> >> vfparch = (vfpsid & FPSID_ARCH_MASK) >> FPSID_ARCH_BIT; >> if ( vfparch < 2 ) >> - panic("Xen only support VFP 3\n"); >> + panic("Xen only support VFP 3"); >> >> return 0; >> } >> diff --git a/xen/arch/arm/arm64/traps.c b/xen/arch/arm/arm64/traps.c >> index d778f89..1693b5d 100644 >> --- a/xen/arch/arm/arm64/traps.c >> +++ b/xen/arch/arm/arm64/traps.c >> @@ -26,7 +26,7 @@ >> >> asmlinkage void do_trap_serror(struct cpu_user_regs *regs) >> { >> - panic("Unhandled serror trap\n"); >> + panic("Unhandled serror trap"); >> } >> >> static const char *handler[]= { >> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c >> index e9bb01f..0cce676 100644 >> --- a/xen/arch/arm/domain_build.c >> +++ b/xen/arch/arm/domain_build.c >> @@ -81,7 +81,7 @@ static void allocate_memory_11(struct domain *d, struct >> kernel_info *kinfo) >> } >> >> if ( !pg ) >> - panic("Failed to allocate contiguous memory for dom0\n"); >> + panic("Failed to allocate contiguous memory for dom0"); >> >> spfn = page_to_mfn(pg); >> start = spfn << PAGE_SHIFT; >> @@ -93,7 +93,7 @@ static void allocate_memory_11(struct domain *d, struct >> kernel_info *kinfo) >> res = guest_physmap_add_page(d, spfn, spfn, order); >> >> if ( res ) >> - panic("Unable to add pages in DOM0: %d\n", res); >> + panic("Unable to add pages in DOM0: %d", res); >> >> kinfo->mem.bank[0].start = start; >> kinfo->mem.bank[0].size = size; >> @@ -123,7 +123,7 @@ static void allocate_memory(struct domain *d, struct >> kernel_info *kinfo) >> >> reg = dt_get_property(memory, "reg", ®_len); >> if ( reg == NULL ) >> - panic("Memory node has no reg property!\n"); >> + panic("Memory node has no reg property"); >> >> for ( l = 0; >> kinfo->unassigned_mem > 0 && l + reg_size <= reg_len >> @@ -133,7 +133,7 @@ static void allocate_memory(struct domain *d, struct >> kernel_info *kinfo) >> paddr_t start, size; >> >> if ( dt_device_get_address(memory, bank, &start, &size) ) >> - panic("Unable to retrieve the bank %u for %s\n", >> + panic("Unable to retrieve the bank %u for %s", >> bank, dt_node_full_name(memory)); >> >> if ( size > kinfo->unassigned_mem ) >> @@ -142,7 +142,7 @@ static void allocate_memory(struct domain *d, struct >> kernel_info *kinfo) >> printk("Populate P2M %#"PRIx64"->%#"PRIx64"\n", >> start, start + size); >> if ( p2m_populate_ram(d, start, start + size) < 0 ) >> - panic("Failed to populate P2M\n"); >> + panic("Failed to populate P2M"); >> kinfo->mem.bank[kinfo->mem.nr_banks].start = start; >> kinfo->mem.bank[kinfo->mem.nr_banks].size = size; >> kinfo->mem.nr_banks++; >> @@ -908,7 +908,7 @@ static void dtb_load(struct kernel_info *kinfo) >> >> rc = raw_copy_to_guest(dtb_virt, kinfo->fdt, >> fdt_totalsize(kinfo->fdt)); >> if ( rc != 0 ) >> - panic("Unable to copy the DTB to dom0 memory (rc = %lu)\n", rc); >> + panic("Unable to copy the DTB to dom0 memory (rc = %lu)", rc); >> xfree(kinfo->fdt); >> } >> >> @@ -935,12 +935,12 @@ static void initrd_load(struct kernel_info *kinfo) >> res = fdt_setprop_inplace_cell(kinfo->fdt, node, "linux,initrd-start", >> load_addr); >> if ( res ) >> - panic("Cannot fix up \"linux,initrd-start\" property\n"); >> + panic("Cannot fix up \"linux,initrd-start\" property"); >> >> res = fdt_setprop_inplace_cell(kinfo->fdt, node, "linux,initrd-end", >> load_addr + len); >> if ( res ) >> - panic("Cannot fix up \"linux,initrd-end\" property\n"); >> + panic("Cannot fix up \"linux,initrd-end\" property"); >> >> for ( offs = 0; offs < len; ) >> { >> @@ -954,7 +954,7 @@ static void initrd_load(struct kernel_info *kinfo) >> rc = gvirt_to_maddr(load_addr + offs, &ma); >> if ( rc ) >> { >> - panic("\nUnable to translate guest address\n"); >> + panic("Unable to translate guest address"); >> return; >> } >> >> diff --git a/xen/arch/arm/early_printk.c b/xen/arch/arm/early_printk.c >> index 058d044..41938bb 100644 >> --- a/xen/arch/arm/early_printk.c >> +++ b/xen/arch/arm/early_printk.c >> @@ -61,7 +61,7 @@ early_panic(const char *fmt, ...) >> early_vprintk(fmt, args); >> va_end(args); >> >> - early_printk("\nEarly Panic: Stopping\n"); >> + early_printk("\n\nEarly Panic: Stopping\n"); >> >> while(1); >> } >> diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c >> index ab49106..485c793 100644 >> --- a/xen/arch/arm/gic.c >> +++ b/xen/arch/arm/gic.c >> @@ -398,29 +398,29 @@ void __init gic_init(void) >> >> node = dt_find_interrupt_controller(gic_ids); >> if ( !node ) >> - panic("Unable to find compatible GIC in the device tree\n"); >> + panic("Unable to find compatible GIC in the device tree"); >> >> dt_device_set_used_by(node, DOMID_XEN); >> >> res = dt_device_get_address(node, 0, &gic.dbase, NULL); >> if ( res || !gic.dbase || (gic.dbase & ~PAGE_MASK) ) >> - panic("GIC: Cannot find a valid address for the distributor\n"); >> + panic("GIC: Cannot find a valid address for the distributor"); >> >> res = dt_device_get_address(node, 1, &gic.cbase, NULL); >> if ( res || !gic.cbase || (gic.cbase & ~PAGE_MASK) ) >> - panic("GIC: Cannot find a valid address for the CPU\n"); >> + panic("GIC: Cannot find a valid address for the CPU"); >> >> res = dt_device_get_address(node, 2, &gic.hbase, NULL); >> if ( res || !gic.hbase || (gic.hbase & ~PAGE_MASK) ) >> - panic("GIC: Cannot find a valid address for the hypervisor\n"); >> + panic("GIC: Cannot find a valid address for the hypervisor"); >> >> res = dt_device_get_address(node, 3, &gic.vbase, NULL); >> if ( res || !gic.vbase || (gic.vbase & ~PAGE_MASK) ) >> - panic("GIC: Cannot find a valid address for the virtual CPU\n"); >> + panic("GIC: Cannot find a valid address for the virtual CPU"); >> >> res = dt_device_get_irq(node, 0, &gic.maintenance); >> if ( res ) >> - panic("GIC: Cannot find the maintenance IRQ\n"); >> + panic("GIC: Cannot find the maintenance IRQ"); >> >> /* Set the GIC as the primary interrupt controller */ >> dt_interrupt_controller = node; >> @@ -438,7 +438,7 @@ void __init gic_init(void) >> >> if ( (gic.dbase & ~PAGE_MASK) || (gic.cbase & ~PAGE_MASK) || >> (gic.hbase & ~PAGE_MASK) || (gic.vbase & ~PAGE_MASK) ) >> - panic("GIC interfaces not page aligned.\n"); >> + panic("GIC interfaces not page aligned"); >> >> set_fixmap(FIXMAP_GICD, gic.dbase >> PAGE_SHIFT, DEV_SHARED); >> BUILD_BUG_ON(FIXMAP_ADDR(FIXMAP_GICC1) !>> @@ -783,7 +783,7 @@ static void do_sgi(struct cpu_user_regs *regs, int >> othercpu, enum gic_sgi sgi) >> smp_call_function_interrupt(); >> break; >> default: >> - panic("Unhandled SGI %d on CPU%d\n", sgi, smp_processor_id()); >> + panic("Unhandled SGI %d on CPU%d", sgi, smp_processor_id()); >> break; >> } >> >> diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c >> index 9c1c1ad..6a5772b 100644 >> --- a/xen/arch/arm/kernel.c >> +++ b/xen/arch/arm/kernel.c >> @@ -87,7 +87,7 @@ static void place_modules(struct kernel_info *info, >> paddr_t addr; >> >> if ( total + kernel_size > mem_size ) >> - panic("Not enough memory in the first bank for the dtb+initrd."); >> + panic("Not enough memory in the first bank for the dtb+initrd"); >> >> /* >> * DTB must be loaded such that it does not conflict with the >> @@ -112,7 +112,7 @@ static void place_modules(struct kernel_info *info, >> addr = kernel_start - total; >> else >> { >> - panic("Unable to find suitable location for dtb+initrd."); >> + panic("Unable to find suitable location for dtb+initrd"); >> return; >> } >> >> @@ -144,7 +144,7 @@ static void kernel_zimage_load(struct kernel_info *info) >> rc = gvirt_to_maddr(load_addr + offs, &ma); >> if ( rc ) >> { >> - panic("\nUnable to map translate guest address\n"); >> + panic("Unable to map translate guest address"); >> return; >> } >> >> @@ -314,7 +314,7 @@ static int kernel_try_elf_prepare(struct kernel_info >> *info, >> info->kernel_order = get_order_from_bytes(size); >> info->kernel_img = alloc_xenheap_pages(info->kernel_order, 0); >> if ( info->kernel_img == NULL ) >> - panic("Cannot allocate temporary buffer for kernel.\n"); >> + panic("Cannot allocate temporary buffer for kernel"); >> >> copy_from_paddr(info->kernel_img, addr, size, info->load_attr); >> >> diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c >> index 2de7dc7..acf037b 100644 >> --- a/xen/arch/arm/mm.c >> +++ b/xen/arch/arm/mm.c >> @@ -633,7 +633,7 @@ void __init setup_xenheap_mappings(unsigned long >> base_mfn, >> xenheap_mfn_start = base_mfn; >> >> if ( base_mfn < xenheap_mfn_start ) >> - early_panic("cannot add xenheap mapping at %lx below heap start >> %lx\n", >> + early_panic("cannot add xenheap mapping at %lx below heap start >> %lx", >> base_mfn, xenheap_mfn_start); >> >> end_mfn = base_mfn + nr_mfns; >> diff --git a/xen/arch/arm/platform.c b/xen/arch/arm/platform.c >> index 0fbbdc7..58b8bd2 100644 >> --- a/xen/arch/arm/platform.c >> +++ b/xen/arch/arm/platform.c >> @@ -83,7 +83,7 @@ void __init platform_init(void) >> res = platform->init(); >> >> if ( res ) >> - panic("Unable to initialize the platform\n"); >> + panic("Unable to initialize the platform"); >> } >> >> int __init platform_init_time(void) >> diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c >> index b032030..325f148 100644 >> --- a/xen/arch/arm/setup.c >> +++ b/xen/arch/arm/setup.c >> @@ -345,7 +345,7 @@ static paddr_t __init get_xen_paddr(void) >> } >> >> if ( !paddr ) >> - early_panic("Not enough memory to relocate Xen\n"); >> + early_panic("Not enough memory to relocate Xen"); >> >> early_printk("Placing Xen at 0x%"PRIpaddr"-0x%"PRIpaddr"\n", >> paddr, paddr + min_size); >> @@ -372,7 +372,7 @@ static void __init setup_mm(unsigned long dtb_paddr, >> size_t dtb_size) >> >> /* TODO: Handle non-contiguous memory bank */ >> if ( !early_info.mem.nr_banks ) >> - early_panic("No memory bank\n"); >> + early_panic("No memory bank"); >> ram_start = early_info.mem.bank[0].start; >> ram_size = early_info.mem.bank[0].size; >> ram_end = ram_start + ram_size; >> @@ -417,7 +417,7 @@ static void __init setup_mm(unsigned long dtb_paddr, >> size_t dtb_size) >> } while ( xenheap_pages > 128<<(20-PAGE_SHIFT) ); >> >> if ( ! e ) >> - early_panic("Not not enough space for xenheap\n"); >> + early_panic("Not not enough space for xenheap"); >> >> domheap_pages = heap_pages - xenheap_pages; >> >> @@ -695,13 +695,13 @@ void __init start_xen(unsigned long boot_phys_offset, >> /* Create initial domain 0. */ >> dom0 = domain_create(0, 0, 0); >> if ( IS_ERR(dom0) || (alloc_dom0_vcpu0() == NULL) ) >> - panic("Error creating domain 0\n"); >> + panic("Error creating domain 0"); >> >> dom0->is_privileged = 1; >> dom0->target = NULL; >> >> if ( construct_dom0(dom0) != 0) >> - panic("Could not set up DOM0 guest OS\n"); >> + panic("Could not set up DOM0 guest OS"); >> >> /* Scrub RAM that is still free and so may go to an unprivileged >> domain. >> XXX too slow in simulator >> diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c >> index 6c90fa6..6c271b7 100644 >> --- a/xen/arch/arm/smpboot.c >> +++ b/xen/arch/arm/smpboot.c >> @@ -72,7 +72,7 @@ static void setup_cpu_sibling_map(int cpu) >> { >> if ( !zalloc_cpumask_var(&per_cpu(cpu_sibling_mask, cpu)) || >> !zalloc_cpumask_var(&per_cpu(cpu_core_mask, cpu)) ) >> - panic("No memory for CPU sibling/core maps\n"); >> + panic("No memory for CPU sibling/core maps"); >> >> /* A CPU is a sibling with itself and is always on its own core. */ >> cpumask_set_cpu(cpu, per_cpu(cpu_sibling_mask, cpu)); >> diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c >> index 938995d..81e3e28 100644 >> --- a/xen/arch/arm/time.c >> +++ b/xen/arch/arm/time.c >> @@ -113,7 +113,7 @@ int __init init_xen_time(void) >> >> dev = dt_find_matching_node(NULL, timer_ids); >> if ( !dev ) >> - panic("Unable to find a compatible timer in the device tree\n"); >> + panic("Unable to find a compatible timer in the device tree"); >> >> dt_device_set_used_by(dev, DOMID_XEN); >> >> @@ -122,7 +122,7 @@ int __init init_xen_time(void) >> { >> res = dt_device_get_irq(dev, i, &timer_irq[i]); >> if ( res ) >> - panic("Timer: Unable to retrieve IRQ %u from the device tree\n", >> i); >> + panic("Timer: Unable to retrieve IRQ %u from the device tree", >> i); >> } >> >> printk("Generic Timer IRQ: phys=%u hyp=%u virt=%u\n", >> @@ -132,11 +132,11 @@ int __init init_xen_time(void) >> >> res = platform_init_time(); >> if ( res ) >> - panic("Timer: Cannot initialize platform timer\n"); >> + panic("Timer: Cannot initialize platform timer"); >> >> /* Check that this CPU supports the Generic Timer interface */ >> if ( !cpu_has_gentimer ) >> - panic("CPU does not support the Generic Timer v1 interface.\n"); >> + panic("CPU does not support the Generic Timer v1 interface"); >> >> res = dt_property_read_u32(dev, "clock-frequency", &rate); >> if ( res ) >> diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c >> index d39e2d4..8144b2b 100644 >> --- a/xen/arch/arm/traps.c >> +++ b/xen/arch/arm/traps.c >> @@ -253,7 +253,7 @@ void panic_PAR(uint64_t par) >> second_in_first ? " during second stage lookup" : "", >> fsc_level_str(level)); >> >> - panic("Error during Hypervisor-to-physical address translation\n"); >> + panic("Error during Hypervisor-to-physical address translation"); >> } >> >> static void cpsr_switch_mode(struct cpu_user_regs *regs, int mode) >> @@ -902,7 +902,7 @@ static void do_debug_trap(struct cpu_user_regs *regs, >> unsigned int code) >> show_execution_state(regs); >> break; >> default: >> - panic("DOM%d: Unhandled debug trap %#x\n", domid, code); >> + panic("DOM%d: Unhandled debug trap %#x", domid, code); >> break; >> } >> } >> @@ -1187,7 +1187,7 @@ static void do_cp15_32(struct cpu_user_regs *regs, >> printk("%s p15, %d, r%d, cr%d, cr%d, %d @ 0x%"PRIregister"\n", >> cp32.read ? "mrc" : "mcr", >> cp32.op1, cp32.reg, cp32.crn, cp32.crm, cp32.op2, regs->pc); >> - panic("unhandled 32-bit CP15 access %#x\n", hsr.bits & >> HSR_CP32_REGS_MASK); >> + panic("unhandled 32-bit CP15 access %#x", hsr.bits & >> HSR_CP32_REGS_MASK); >> } >> advance_pc(regs, hsr); >> } >> @@ -1217,7 +1217,7 @@ static void do_cp15_64(struct cpu_user_regs *regs, >> printk("%s p15, %d, r%d, r%d, cr%d @ 0x%"PRIregister"\n", >> cp64.read ? "mrrc" : "mcrr", >> cp64.op1, cp64.reg1, cp64.reg2, cp64.crm, regs->pc); >> - panic("unhandled 64-bit CP15 access %#x\n", hsr.bits & >> HSR_CP64_REGS_MASK); >> + panic("unhandled 64-bit CP15 access %#x", hsr.bits & >> HSR_CP64_REGS_MASK); >> } >> advance_pc(regs, hsr); >> } >> @@ -1247,7 +1247,7 @@ static void do_sysreg(struct cpu_user_regs *regs, >> sysreg.op2, >> sysreg.read ? "=>" : "<=", >> sysreg.reg, regs->pc); >> - panic("unhandled 64-bit sysreg access %#x\n", >> + panic("unhandled 64-bit sysreg access %#x", >> hsr.bits & HSR_SYSREG_REGS_MASK); >> } >> >> diff --git a/xen/arch/x86/apic.c b/xen/arch/x86/apic.c >> index a52a0e8..0e5e302 100644 >> --- a/xen/arch/x86/apic.c >> +++ b/xen/arch/x86/apic.c >> @@ -946,7 +946,7 @@ void __init x2apic_bsp_setup(void) >> return; >> } >> panic("x2APIC: already enabled by BIOS, but " >> - "iommu_supports_eim failed!\n"); >> + "iommu_supports_eim failed"); >> } >> >> if ( (ioapic_entries = alloc_ioapic_entries()) == NULL ) >> @@ -968,7 +968,7 @@ void __init x2apic_bsp_setup(void) >> { >> if ( x2apic_enabled ) >> panic("Interrupt remapping could not be enabled while " >> - "x2APIC is already enabled by BIOS!\n"); >> + "x2APIC is already enabled by BIOS"); >> >> printk(XENLOG_ERR >> "Failed to enable Interrupt Remapping: Will not enable >> x2APIC.\n"); >> diff --git a/xen/arch/x86/bzimage.c b/xen/arch/x86/bzimage.c >> index 58fda16..d72b832 100644 >> --- a/xen/arch/x86/bzimage.c >> +++ b/xen/arch/x86/bzimage.c >> @@ -62,7 +62,7 @@ static void flush_window(void); >> >> static __init void error(char *x) >> { >> - panic("%s\n", x); >> + panic("%s", x); >> } >> >> static __init int fill_inbuf(void) >> diff --git a/xen/arch/x86/cpu/amd.c b/xen/arch/x86/cpu/amd.c >> index 472df68..64531d9 100644 >> --- a/xen/arch/x86/cpu/amd.c >> +++ b/xen/arch/x86/cpu/amd.c >> @@ -465,7 +465,7 @@ static void __devinit init_amd(struct cpuinfo_x86 *c) >> if (!cpu_has_amd_erratum(c, AMD_ERRATUM_121)) >> opt_allow_unsafe = 1; >> else if (opt_allow_unsafe < 0) >> - panic("Xen will not boot on this CPU for security reasons.\n" >> + panic("Xen will not boot on this CPU for security reasons" >> "Pass \"allow_unsafe\" if you''re trusting all your" >> " (PV) guest kernels.\n"); >> else if (!opt_allow_unsafe && c == &boot_cpu_data) >> diff --git a/xen/arch/x86/cpu/mcheck/mce.c b/xen/arch/x86/cpu/mcheck/mce.c >> index 93d7ae1..b375ef7 100644 >> --- a/xen/arch/x86/cpu/mcheck/mce.c >> +++ b/xen/arch/x86/cpu/mcheck/mce.c >> @@ -523,7 +523,7 @@ void mcheck_cmn_handler(struct cpu_user_regs *regs, long >> error_code, >> * recovery job but to reset the system. >> */ >> if (atomic_read(&found_error) == 0) >> - mc_panic("MCE: No CPU found valid MCE, need reset\n"); >> + mc_panic("MCE: No CPU found valid MCE, need reset"); >> if (!cpumask_empty(&mce_fatal_cpus)) >> { >> char *ebufp, ebuf[96] = "MCE: Fatal error happened on CPUs "; >> @@ -1642,7 +1642,7 @@ static int mce_delayed_action(mctelem_cookie_t mctc) >> dprintk(XENLOG_ERR, "MCE delayed action failed\n"); >> is_mc_panic = 1; >> x86_mcinfo_dump(mctelem_dataptr(mctc)); >> - panic("MCE: Software recovery failed for the UCR\n"); >> + panic("MCE: Software recovery failed for the UCR"); >> break; >> case MCER_RECOVERED: >> dprintk(XENLOG_INFO, "MCE: Error is successfully recovered\n"); >> diff --git a/xen/arch/x86/domain_build.c b/xen/arch/x86/domain_build.c >> index 232adf8..84ce392 100644 >> --- a/xen/arch/x86/domain_build.c >> +++ b/xen/arch/x86/domain_build.c >> @@ -439,7 +439,7 @@ int __init construct_dom0( >> value = (parms.virt_hv_start_low + mask) & ~mask; >> BUG_ON(!is_pv_32bit_domain(d)); >> if ( value > __HYPERVISOR_COMPAT_VIRT_START ) >> - panic("Domain 0 expects too high a hypervisor start >> address.\n"); >> + panic("Domain 0 expects too high a hypervisor start address"); >> HYPERVISOR_COMPAT_VIRT_START(d) >> max_t(unsigned int, m2p_compat_vstart, value); >> } >> @@ -509,7 +509,7 @@ int __init construct_dom0( >> count -= PAGE_ALIGN(initrd_len); >> order = get_order_from_bytes(count); >> if ( (1UL << order) + PFN_UP(initrd_len) > nr_pages ) >> - panic("Domain 0 allocation is too small for kernel image.\n"); >> + panic("Domain 0 allocation is too small for kernel image"); >> >> if ( parms.p2m_base != UNSET_ADDR ) >> { >> @@ -518,7 +518,7 @@ int __init construct_dom0( >> } >> page = alloc_domheap_pages(d, order, 0); >> if ( page == NULL ) >> - panic("Not enough RAM for domain 0 allocation.\n"); >> + panic("Not enough RAM for domain 0 allocation"); >> alloc_spfn = page_to_mfn(page); >> alloc_epfn = alloc_spfn + d->tot_pages; >> >> @@ -535,7 +535,7 @@ int __init construct_dom0( >> order = get_order_from_pages(count); >> page = alloc_domheap_pages(d, order, 0); >> if ( !page ) >> - panic("Not enough RAM for domain 0 initrd.\n"); >> + panic("Not enough RAM for domain 0 initrd"); >> for ( count = -count; order--; ) >> if ( count & (1UL << order) ) >> { >> @@ -618,7 +618,7 @@ int __init construct_dom0( >> { >> page = alloc_domheap_page(NULL, 0); >> if ( !page ) >> - panic("Not enough RAM for domain 0 PML4.\n"); >> + panic("Not enough RAM for domain 0 PML4"); >> page->u.inuse.type_info = PGT_l4_page_table|PGT_validated|1; >> l4start = l4tab = page_to_virt(page); >> maddr_to_page(mpt_alloc)->u.inuse.type_info = PGT_l3_page_table; >> @@ -830,7 +830,7 @@ int __init construct_dom0( >> { >> if ( d->tot_pages + ((round_pgup(vphysmap_end) - va) >>>> PAGE_SHIFT) + 3 > nr_pages ) >> - panic("Dom0 allocation too small for initial P->M >> table.\n"); >> + panic("Dom0 allocation too small for initial P->M table"); >> >> if ( l1tab ) >> { >> @@ -929,7 +929,7 @@ int __init construct_dom0( >> va &= PAGE_MASK; >> } >> if ( !page ) >> - panic("Not enough RAM for DOM0 P->M table.\n"); >> + panic("Not enough RAM for DOM0 P->M table"); >> } >> >> if ( l1tab ) >> @@ -990,7 +990,7 @@ int __init construct_dom0( >> while ( pfn < nr_pages ) >> { >> if ( (page = alloc_chunk(d, nr_pages - d->tot_pages)) == NULL ) >> - panic("Not enough RAM for DOM0 reservation.\n"); >> + panic("Not enough RAM for DOM0 reservation"); >> while ( pfn < d->tot_pages ) >> { >> mfn = page_to_mfn(page); >> @@ -1072,12 +1072,12 @@ int __init construct_dom0( >> printk("Dom0 runs in ring 0 (supervisor mode)\n"); >> if ( !test_bit(XENFEAT_supervisor_mode_kernel, >> parms.f_supported) ) >> - panic("Dom0 does not support supervisor-mode execution\n"); >> + panic("Dom0 does not support supervisor-mode execution"); >> } >> else >> { >> if ( test_bit(XENFEAT_supervisor_mode_kernel, parms.f_required) ) >> - panic("Dom0 requires supervisor-mode execution\n"); >> + panic("Dom0 requires supervisor-mode execution"); >> } >> >> rc = 0; >> diff --git a/xen/arch/x86/hvm/svm/intr.c b/xen/arch/x86/hvm/svm/intr.c >> index da2bcca..023151a 100644 >> --- a/xen/arch/x86/hvm/svm/intr.c >> +++ b/xen/arch/x86/hvm/svm/intr.c >> @@ -175,7 +175,7 @@ void svm_intr_assist(void) >> /* Guest already enabled an interrupt window. */ >> return; >> default: >> - panic("%s: nestedsvm_vcpu_interrupt can''t handle value >> %#x\n", >> + panic("%s: nestedsvm_vcpu_interrupt can''t handle value %#x", >> __func__, rc); >> } >> } >> diff --git a/xen/arch/x86/io_apic.c b/xen/arch/x86/io_apic.c >> index 5512cd5..bddc588 100644 >> --- a/xen/arch/x86/io_apic.c >> +++ b/xen/arch/x86/io_apic.c >> @@ -1421,7 +1421,7 @@ static void __init setup_ioapic_ids_from_mpc(void) >> if (!physid_isset(i, phys_id_present_map)) >> break; >> if (i >= get_physical_broadcast()) >> - panic("Max APIC ID exceeded!\n"); >> + panic("Max APIC ID exceeded"); >> printk(KERN_ERR "... fixing up to %d. (tell your hw vendor)\n", >> i); >> mp_ioapics[apic].mpc_apicid = i; >> @@ -2135,7 +2135,7 @@ int __init io_apic_get_unique_id (int ioapic, int >> apic_id) >> } >> >> if (i == get_physical_broadcast()) >> - panic("Max apic_id exceeded!\n"); >> + panic("Max apic_id exceeded"); >> >> printk(KERN_WARNING "IOAPIC[%d]: apic_id %d already used, " >> "trying %d\n", ioapic, apic_id, i); >> diff --git a/xen/arch/x86/mm/mm-locks.h b/xen/arch/x86/mm/mm-locks.h >> index 3ce3489..769f7bc 100644 >> --- a/xen/arch/x86/mm/mm-locks.h >> +++ b/xen/arch/x86/mm/mm-locks.h >> @@ -73,7 +73,7 @@ static inline void _mm_lock(mm_lock_t *l, const char *func, >> int level, int rec) >> l->unlock_level = __get_lock_level(); >> } >> else if ( (unlikely(!rec)) ) >> - panic("mm lock already held by %s\n", l->locker_function); >> + panic("mm lock already held by %s", l->locker_function); >> __set_lock_level(level); >> } >> >> diff --git a/xen/arch/x86/mpparse.c b/xen/arch/x86/mpparse.c >> index 3753704..a38e016 100644 >> --- a/xen/arch/x86/mpparse.c >> +++ b/xen/arch/x86/mpparse.c >> @@ -221,7 +221,7 @@ static void __init MP_ioapic_info (struct >> mpc_config_ioapic *m) >> if (nr_ioapics >= MAX_IO_APICS) { >> printk(KERN_CRIT "Max # of I/O APICs (%d) exceeded (found %d).\n", >> MAX_IO_APICS, nr_ioapics); >> - panic("Recompile kernel with bigger MAX_IO_APICS!.\n"); >> + panic("Recompile kernel with bigger MAX_IO_APICS"); >> } >> if (!m->mpc_apicaddr) { >> printk(KERN_ERR "WARNING: bogus zero I/O APIC address" >> @@ -241,7 +241,7 @@ static void __init MP_intsrc_info (struct >> mpc_config_intsrc *m) >> (m->mpc_irqflag >> 2) & 3, m->mpc_srcbus, >> m->mpc_srcbusirq, m->mpc_dstapic, m->mpc_dstirq); >> if (++mp_irq_entries == MAX_IRQ_SOURCES) >> - panic("Max # of irq sources exceeded!!\n"); >> + panic("Max # of irq sources exceeded"); >> } >> >> static void __init MP_lintsrc_info (struct mpc_config_lintsrc *m) >> @@ -844,7 +844,7 @@ void __init mp_register_ioapic ( >> if (nr_ioapics >= MAX_IO_APICS) { >> printk(KERN_ERR "ERROR: Max # of I/O APICs (%d) exceeded " >> "(found %d)\n", MAX_IO_APICS, nr_ioapics); >> - panic("Recompile kernel with bigger MAX_IO_APICS!\n"); >> + panic("Recompile kernel with bigger MAX_IO_APICS"); >> } >> if (!address) { >> printk(KERN_ERR "WARNING: Bogus (zero) I/O APIC address" >> @@ -943,7 +943,7 @@ void __init mp_override_legacy_irq ( >> >> mp_irqs[mp_irq_entries] = intsrc; >> if (++mp_irq_entries == MAX_IRQ_SOURCES) >> - panic("Max # of irq sources exceeded!\n"); >> + panic("Max # of irq sources exceeded"); >> >> return; >> } >> @@ -1009,7 +1009,7 @@ void __init mp_config_acpi_legacy_irqs (void) >> >> mp_irqs[mp_irq_entries] = intsrc; >> if (++mp_irq_entries == MAX_IRQ_SOURCES) >> - panic("Max # of irq sources exceeded!\n"); >> + panic("Max # of irq sources exceeded"); >> } >> } >> >> diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c >> index e33c34b..f07ee2b 100644 >> --- a/xen/arch/x86/setup.c >> +++ b/xen/arch/x86/setup.c >> @@ -1330,12 +1330,12 @@ void __init __start_xen(unsigned long mbi_p) >> watchdog_setup(); >> >> if ( !tboot_protect_mem_regions() ) >> - panic("Could not protect TXT memory regions\n"); >> + panic("Could not protect TXT memory regions"); >> >> /* Create initial domain 0. */ >> dom0 = domain_create(0, DOMCRF_s3_integrity, 0); >> if ( IS_ERR(dom0) || (alloc_dom0_vcpu0() == NULL) ) >> - panic("Error creating domain 0\n"); >> + panic("Error creating domain 0"); >> >> dom0->is_privileged = 1; >> dom0->target = NULL; >> @@ -1390,7 +1390,7 @@ void __init __start_xen(unsigned long mbi_p) >> (initrdidx > 0) && (initrdidx < mbi->mods_count) >> ? mod + initrdidx : NULL, >> bootstrap_map, cmdline) != 0) >> - panic("Could not set up DOM0 guest OS\n"); >> + panic("Could not set up DOM0 guest OS"); >> >> /* Scrub RAM that is still free and so may go to an unprivileged >> domain. */ >> scrub_heap_pages(); >> diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c >> index 9f81c7b..42b8a59 100644 >> --- a/xen/arch/x86/smpboot.c >> +++ b/xen/arch/x86/smpboot.c >> @@ -735,7 +735,7 @@ void __init smp_prepare_cpus(unsigned int max_cpus) >> >> if ( !zalloc_cpumask_var(&per_cpu(cpu_sibling_mask, 0)) || >> !zalloc_cpumask_var(&per_cpu(cpu_core_mask, 0)) ) >> - panic("No memory for boot CPU sibling/core maps\n"); >> + panic("No memory for boot CPU sibling/core maps"); >> >> set_cpu_sibling_map(0); >> >> diff --git a/xen/arch/x86/tboot.c b/xen/arch/x86/tboot.c >> index 1eed2e3..ccde4a0 100644 >> --- a/xen/arch/x86/tboot.c >> +++ b/xen/arch/x86/tboot.c >> @@ -528,7 +528,7 @@ void tboot_s3_error(int error) >> >> printk("MAC for %s before S3 is: 0x%08"PRIx64"\n", what, orig_mac); >> printk("MAC for %s after S3 is: 0x%08"PRIx64"\n", what, resume_mac); >> - panic("Memory integrity was lost on resume (%d)\n", error); >> + panic("Memory integrity was lost on resume (%d)", error); >> } >> >> int tboot_wake_ap(int apicid, unsigned long sipi_vec) >> diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c >> index 62c3443..e463600 100644 >> --- a/xen/arch/x86/time.c >> +++ b/xen/arch/x86/time.c >> @@ -690,7 +690,7 @@ static unsigned long get_cmos_time(void) >> } >> >> if ( unlikely(acpi_gbl_FADT.boot_flags & ACPI_FADT_NO_CMOS_RTC) ) >> - panic("System without CMOS RTC must be booted from EFI\n"); >> + panic("System without CMOS RTC must be booted from EFI"); >> >> spin_lock_irqsave(&rtc_lock, flags); >> >> diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c >> index d8b3eac..3b4f28b 100644 >> --- a/xen/arch/x86/traps.c >> +++ b/xen/arch/x86/traps.c >> @@ -422,7 +422,7 @@ void fatal_trap(int trapnr, struct cpu_user_regs *regs) >> } >> >> panic("FATAL TRAP: vector = %d (%s)\n" >> - "[error_code=%04x] %s\n", >> + "[error_code=%04x] %s", >> trapnr, trapstr(trapnr), regs->error_code, >> (regs->eflags & X86_EFLAGS_IF) ? "" : ", IN INTERRUPT CONTEXT"); >> } >> @@ -569,7 +569,7 @@ static inline void do_trap( >> >> show_execution_state(regs); >> panic("FATAL TRAP: vector = %d (%s)\n" >> - "[error_code=%04x]\n", >> + "[error_code=%04x]", >> trapnr, trapstr(trapnr), regs->error_code); >> } >> >> @@ -1017,7 +1017,7 @@ void do_invalid_op(struct cpu_user_regs *regs) >> printk("Xen BUG at %s%s:%d\n", prefix, filename, lineno); >> DEBUGGER_trap_fatal(TRAP_invalid_op, regs); >> show_execution_state(regs); >> - panic("Xen BUG at %s%s:%d\n", prefix, filename, lineno); >> + panic("Xen BUG at %s%s:%d", prefix, filename, lineno); >> >> case BUGFRAME_assert: >> /* ASSERT: decode the predicate string pointer. */ >> @@ -1029,7 +1029,7 @@ void do_invalid_op(struct cpu_user_regs *regs) >> predicate, prefix, filename, lineno); >> DEBUGGER_trap_fatal(TRAP_invalid_op, regs); >> show_execution_state(regs); >> - panic("Assertion ''%s'' failed at %s%s:%d\n", >> + panic("Assertion ''%s'' failed at %s%s:%d", >> predicate, prefix, filename, lineno); >> } >> >> @@ -1042,7 +1042,7 @@ void do_invalid_op(struct cpu_user_regs *regs) >> } >> DEBUGGER_trap_fatal(TRAP_invalid_op, regs); >> show_execution_state(regs); >> - panic("FATAL TRAP: vector = %d (invalid opcode)\n", TRAP_invalid_op); >> + panic("FATAL TRAP: vector = %d (invalid opcode)", TRAP_invalid_op); >> } >> >> void do_int3(struct cpu_user_regs *regs) >> @@ -1397,7 +1397,7 @@ void do_page_fault(struct cpu_user_regs *regs) >> show_page_walk(addr); >> panic("FATAL PAGE FAULT\n" >> "[error_code=%04x]\n" >> - "Faulting linear address: %p\n", >> + "Faulting linear address: %p", >> error_code, _p(addr)); >> } >> >> @@ -3078,7 +3078,7 @@ void do_general_protection(struct cpu_user_regs *regs) >> >> hardware_gp: >> show_execution_state(regs); >> - panic("GENERAL PROTECTION FAULT\n[error_code=%04x]\n", >> regs->error_code); >> + panic("GENERAL PROTECTION FAULT\n[error_code=%04x]", regs->error_code); >> } >> >> static DEFINE_PER_CPU(struct softirq_trap, softirq_trap); >> diff --git a/xen/arch/x86/x86_64/mm.c b/xen/arch/x86/x86_64/mm.c >> index 4a3b3f1..f6ea012 100644 >> --- a/xen/arch/x86/x86_64/mm.c >> +++ b/xen/arch/x86/x86_64/mm.c >> @@ -740,7 +740,7 @@ void __init paging_init(void) >> return; >> >> nomem: >> - panic("Not enough memory for m2p table\n"); >> + panic("Not enough memory for m2p table"); >> } >> >> void __init zap_low_mappings(void) >> diff --git a/xen/arch/x86/x86_64/traps.c b/xen/arch/x86/x86_64/traps.c >> index bcf72b6..ad09415 100644 >> --- a/xen/arch/x86/x86_64/traps.c >> +++ b/xen/arch/x86/x86_64/traps.c >> @@ -250,7 +250,7 @@ void do_double_fault(struct cpu_user_regs *regs) >> _show_registers(regs, crs, CTXT_hypervisor, NULL); >> show_stack_overflow(cpu, regs); >> >> - panic("DOUBLE FAULT -- system shutdown\n"); >> + panic("DOUBLE FAULT -- system shutdown"); >> } >> >> void toggle_guest_mode(struct vcpu *v) >> diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c >> index 0701333..c82aba6 100644 >> --- a/xen/common/page_alloc.c >> +++ b/xen/common/page_alloc.c >> @@ -92,7 +92,7 @@ static unsigned int __initdata nr_bootmem_regions; >> >> static void __init boot_bug(int line) >> { >> - panic("Boot BUG at %s:%d\n", __FILE__, line); >> + panic("Boot BUG at %s:%d", __FILE__, line); >> } >> #define BOOT_BUG_ON(p) if ( p ) boot_bug(__LINE__); >> >> diff --git a/xen/common/schedule.c b/xen/common/schedule.c >> index 0f45f07..1192fe2 100644 >> --- a/xen/common/schedule.c >> +++ b/xen/common/schedule.c >> @@ -1389,7 +1389,7 @@ void __init scheduler_init(void) >> >> printk("Using scheduler: %s (%s)\n", ops.name, ops.opt_name); >> if ( SCHED_OP(&ops, init) ) >> - panic("scheduler returned error on init\n"); >> + panic("scheduler returned error on init"); >> >> if ( sched_ratelimit_us && >> (sched_ratelimit_us > XEN_SYSCTL_SCHED_RATELIMIT_MAX >> diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c >> index 508f845..532c426 100644 >> --- a/xen/drivers/char/console.c >> +++ b/xen/drivers/char/console.c >> @@ -1057,7 +1057,7 @@ void panic(const char *fmt, ...) >> console_start_sync(); >> printk("\n****************************************\n"); >> printk("Panic on CPU %d:\n", smp_processor_id()); >> - printk("%s", buf); >> + printk("%s\n", buf); >> printk("****************************************\n\n"); >> if ( opt_noreboot ) >> printk("Manual reset required (''noreboot'' specified)\n"); >> @@ -1088,7 +1088,7 @@ void __bug(char *file, int line) >> console_start_sync(); >> printk("Xen BUG at %s:%d\n", file, line); >> dump_execution_state(); >> - panic("Xen BUG at %s:%d\n", file, line); >> + panic("Xen BUG at %s:%d", file, line); >> for ( ; ; ) ; >> } >> >> diff --git a/xen/drivers/passthrough/iommu.c >> b/xen/drivers/passthrough/iommu.c >> index 93ad122..7d5463c 100644 >> --- a/xen/drivers/passthrough/iommu.c >> +++ b/xen/drivers/passthrough/iommu.c >> @@ -475,7 +475,7 @@ int __init iommu_setup(void) >> >> if ( (force_iommu && !iommu_enabled) || >> (force_intremap && !iommu_intremap) ) >> - panic("Couldn''t enable %s and iommu=required/force\n", >> + panic("Couldn''t enable %s and iommu=required/force", >> !iommu_enabled ? "IOMMU" : "Interrupt Remapping"); >> >> if ( !iommu_enabled ) >> diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c >> index 4aa8f64..c5c8344 100644 >> --- a/xen/drivers/passthrough/pci.c >> +++ b/xen/drivers/passthrough/pci.c >> @@ -104,7 +104,7 @@ void __init pt_pci_init(void) >> { >> radix_tree_init(&pci_segments); >> if ( !alloc_pseg(0) ) >> - panic("Could not initialize PCI segment 0\n"); >> + panic("Could not initialize PCI segment 0"); >> } >> >> int __init pci_add_segment(u16 seg) >> diff --git a/xen/drivers/passthrough/vtd/dmar.h >> b/xen/drivers/passthrough/vtd/dmar.h >> index a2b97d6..af1feef 100644 >> --- a/xen/drivers/passthrough/vtd/dmar.h >> +++ b/xen/drivers/passthrough/vtd/dmar.h >> @@ -118,7 +118,7 @@ do { \ >> break; \ >> if ( NOW() > start_time + DMAR_OPERATION_TIMEOUT ) { \ >> if ( !kexecing ) \ >> - panic("%s:%d:%s: DMAR hardware is malfunctional\n",\ >> + panic("%s:%d:%s: DMAR hardware is malfunctional",\ >> __FILE__, __LINE__, __func__); \ >> else \ >> break; \ >> diff --git a/xen/drivers/passthrough/vtd/iommu.c >> b/xen/drivers/passthrough/vtd/iommu.c >> index 76d0bfd..b6b48e2 100644 >> --- a/xen/drivers/passthrough/vtd/iommu.c >> +++ b/xen/drivers/passthrough/vtd/iommu.c >> @@ -722,7 +722,7 @@ static void iommu_enable_translation(struct >> acpi_drhd_unit *drhd) >> if ( is_igd_drhd(drhd) && !is_igd_vt_enabled_quirk() ) >> { >> if ( force_iommu ) >> - panic("BIOS did not enable IGD for VT properly, crash Xen for >> security purpose!\n"); >> + panic("BIOS did not enable IGD for VT properly, crash Xen for >> security purpose"); >> else >> { >> dprintk(XENLOG_WARNING VTDPREFIX, >> @@ -2344,7 +2344,7 @@ static void vtd_resume(void) >> return; >> >> if ( init_vtd_hw() != 0 && force_iommu ) >> - panic("IOMMU setup failed, crash Xen for security purpose!\n"); >> + panic("IOMMU setup failed, crash Xen for security purpose"); >> >> for_each_drhd_unit ( drhd ) >> { >> diff --git a/xen/drivers/passthrough/vtd/qinval.c >> b/xen/drivers/passthrough/vtd/qinval.c >> index 6a410d8..ef5de99 100644 >> --- a/xen/drivers/passthrough/vtd/qinval.c >> +++ b/xen/drivers/passthrough/vtd/qinval.c >> @@ -220,7 +220,7 @@ static int queue_invalidate_wait(struct iommu *iommu, >> if ( NOW() > (start_time + DMAR_OPERATION_TIMEOUT) ) >> { >> print_qi_regs(iommu); >> - panic("queue invalidate wait descriptor was not >> executed\n"); >> + panic("queue invalidate wait descriptor was not executed"); >> } >> cpu_relax(); >> } >> diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c >> index b1e2593..7cdef04 100644 >> --- a/xen/xsm/flask/hooks.c >> +++ b/xen/xsm/flask/hooks.c >> @@ -1586,7 +1586,7 @@ static __init int flask_init(void) >> >> original_ops = xsm_ops; >> if ( register_xsm(&flask_ops) ) >> - panic("Flask: Unable to register with XSM.\n"); >> + panic("Flask: Unable to register with XSM"); >> >> ret = security_load_policy(policy_buffer, policy_size); >> >