x86, UV: remove erroneous BAU initialization

Impact: fix crash on x86/UV

UV is the SGI "UltraViolet" machine, which is x86_64 based.
BAU is the "Broadcast Assist Unit", used for TLB shootdown in UV.

This patch removes the allocation and initialization of an unused table.

This table is left over from a development test mode. It is unused in
the present code.

And it was incorrectly initialized: 8 entries allocated but 17 initialized,
causing slab corruption.

This patch should go into 2.6.27 and 2.6.28 as well as the current tree.

Diffed against 2.6.28 (linux-next, 12/30/08)

Signed-off-by: Cliff Wickman <cpw@sgi.com>
Cc: <stable@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

authored by

Cliff Wickman and committed by
Ingo Molnar
46814dde 26799a63

-9
-9
arch/x86/kernel/tlb_uv.c
··· 582 582 static struct bau_control * __init uv_table_bases_init(int blade, int node) 583 583 { 584 584 int i; 585 - int *ip; 586 585 struct bau_msg_status *msp; 587 586 struct bau_control *bau_tabp; 588 587 ··· 597 598 for (i = 0, msp = bau_tabp->msg_statuses; i < DEST_Q_SIZE; i++, msp++) 598 599 bau_cpubits_clear(&msp->seen_by, (int) 599 600 uv_blade_nr_possible_cpus(blade)); 600 - 601 - bau_tabp->watching = 602 - kmalloc_node(sizeof(int) * DEST_NUM_RESOURCES, GFP_KERNEL, node); 603 - BUG_ON(!bau_tabp->watching); 604 - 605 - for (i = 0, ip = bau_tabp->watching; i < DEST_Q_SIZE; i++, ip++) 606 - *ip = 0; 607 601 608 602 uv_bau_table_bases[blade] = bau_tabp; 609 603 ··· 620 628 bcp->bau_msg_head = bau_tablesp->va_queue_first; 621 629 bcp->va_queue_first = bau_tablesp->va_queue_first; 622 630 bcp->va_queue_last = bau_tablesp->va_queue_last; 623 - bcp->watching = bau_tablesp->watching; 624 631 bcp->msg_statuses = bau_tablesp->msg_statuses; 625 632 bcp->descriptor_base = adp; 626 633 }