GIT 798e04a29bfd456c4cef35b067e46db60027ed13 git+ssh://master.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6.git#gccbug

commit 798e04a29bfd456c4cef35b067e46db60027ed13
Author: Jeff Garzik <jeff@garzik.org>
Date:   Tue Oct 10 20:49:49 2006 -0400

    drivers/net, drivers/net: Silence more bogosities

commit 7db0679d38b3946d72e3314bf85e3ba7b0c8779f
Author: Jeff Garzik <jeff@garzik.org>
Date:   Tue Oct 10 11:05:04 2006 -0400

    [DM] kill bogus uninit warning

commit 0d29c8064277cdc229a653abe94a074cf481f81b
Author: Jeff Garzik <jeff@garzik.org>
Date:   Tue Oct 10 03:11:09 2006 -0400

    arch/i386/kernel/cpu/transmeta.c: kill 'may be used uninit' warning

commit c7edde8c7db9afde10b8fddb28b8737aec5a5189
Author: Jeff Garzik <jeff@garzik.org>
Date:   Tue Oct 10 02:28:48 2006 -0400

    arch/i386/kernel/efi: kill invalid 'may be used uninit' warning

commit fd8817b6e24f87a216d85113fdcd5fb5b3f184c2
Author: Jeff Garzik <jeff@garzik.org>
Date:   Sat Oct 7 19:45:52 2006 -0400

    drivers/atm/zatm: fix warning

commit 4173f7d1c80aaf1672a6807999228bebf38e3d87
Author: Jeff Garzik <jeff@garzik.org>
Date:   Thu Oct 5 09:08:57 2006 -0400

    drivers/ide/pci/jmicron: Kill bogus gcc warning

commit a84fde8fd1929dd65cc3a2dde06249d1a5da59e6
Author: Jeff Garzik <jeff@garzik.org>
Date:   Sun Oct 1 15:11:00 2006 -0400

    Kill gcc warnings verified as bogus.

commit fd3bded83f9d36c1afbdecaa782c54e4dc2a9239
Author: Jeff Garzik <jeff@garzik.org>
Date:   Sun Oct 1 12:51:28 2006 -0400

    Kill gcc warnings verified as bogus.

commit ef9630baa31e4d2aa8e32748fc63edb40fe68558
Author: Jeff Garzik <jeff@garzik.org>
Date:   Sun Oct 1 11:24:27 2006 -0400

    Kill gcc warnings verified as bogus.

commit 44ca165c380c7f7877c74fbd0089bdeb63f41a3b
Author: Jeff Garzik <jeff@garzik.org>
Date:   Sun Oct 1 09:36:14 2006 -0400

    Kill gcc warnings verified as bogus.

Signed-off-by: Andrew Morton <akpm@osdl.org>
 arch/i386/kernel/cpu/transmeta.c       |    2 +-
 arch/i386/kernel/efi.c                 |    2 ++
 arch/i386/kernel/microcode.c           |    2 +-
 drivers/atm/zatm.c                     |    4 +++-
 drivers/infiniband/hw/mthca/mthca_qp.c |    4 ++--
 drivers/md/dm-exception-store.c        |    2 +-
 drivers/net/r8169.c                    |    2 +-
 drivers/net/tokenring/smctr.c          |    2 +-
 drivers/net/wan/sbni.c                 |    2 +-
 drivers/usb/misc/auerswald.c           |    2 +-
 drivers/usb/net/kaweth.c               |    2 +-
 drivers/video/matrox/matroxfb_maven.c  |    4 ++--
 drivers/video/riva/riva_hw.c           |    2 +-
 fs/jfs/jfs_txnmgr.c                    |    2 ++
 fs/ocfs2/dlm/dlmdomain.c               |    2 +-
 fs/ocfs2/vote.c                        |    2 +-
 fs/udf/balloc.c                        |    2 ++
 fs/udf/super.c                         |    2 ++
 ipc/msg.c                              |    2 ++
 ipc/sem.c                              |    2 ++
 kernel/auditfilter.c                   |    4 ++--
 sound/pci/pcxhr/pcxhr.c                |    2 +-
 22 files changed, 33 insertions(+), 19 deletions(-)

Index: linux-2.6.19/arch/i386/kernel/cpu/transmeta.c
===================================================================
--- linux-2.6.19.orig/arch/i386/kernel/cpu/transmeta.c	2006-12-06 20:48:30.000000000 +0000
+++ linux-2.6.19/arch/i386/kernel/cpu/transmeta.c	2006-12-06 20:49:27.000000000 +0000
@@ -9,7 +9,7 @@ static void __cpuinit init_transmeta(str
 {
 	unsigned int cap_mask, uk, max, dummy;
 	unsigned int cms_rev1, cms_rev2;
-	unsigned int cpu_rev, cpu_freq, cpu_flags, new_cpu_rev;
+	unsigned int cpu_rev, cpu_freq = 0, cpu_flags, new_cpu_rev;
 	char cpu_info[65];
 
 	get_model_name(c);	/* Same as AMD/Cyrix */
Index: linux-2.6.19/arch/i386/kernel/efi.c
===================================================================
--- linux-2.6.19.orig/arch/i386/kernel/efi.c	2006-12-06 20:48:30.000000000 +0000
+++ linux-2.6.19/arch/i386/kernel/efi.c	2006-12-06 20:49:27.000000000 +0000
@@ -276,6 +276,8 @@ void efi_memmap_walk(efi_freemem_callbac
 	unsigned long start, end;
 	void *p;
 
+	prev.start = prev.end = 0;
+
 	for (p = memmap.map; p < memmap.map_end; p += memmap.desc_size) {
 		md = p;
 
Index: linux-2.6.19/arch/i386/kernel/microcode.c
===================================================================
--- linux-2.6.19.orig/arch/i386/kernel/microcode.c	2006-12-06 20:49:19.000000000 +0000
+++ linux-2.6.19/arch/i386/kernel/microcode.c	2006-12-06 20:49:27.000000000 +0000
@@ -384,7 +384,7 @@ static int do_microcode_update (void)
 {
 	long cursor = 0;
 	int error = 0;
-	void *new_mc;
+	void *new_mc = NULL;
 	int cpu;
 	cpumask_t old;
 
Index: linux-2.6.19/drivers/atm/zatm.c
===================================================================
--- linux-2.6.19.orig/drivers/atm/zatm.c	2006-12-06 20:48:30.000000000 +0000
+++ linux-2.6.19/drivers/atm/zatm.c	2006-12-06 20:49:27.000000000 +0000
@@ -916,7 +916,7 @@ static int open_tx_first(struct atm_vcc 
 	unsigned long flags;
 	u32 *loop;
 	unsigned short chan;
-	int pcr,unlimited;
+	int unlimited;
 
 	DPRINTK("open_tx_first\n");
 	zatm_dev = ZATM_DEV(vcc->dev);
@@ -937,6 +937,8 @@ static int open_tx_first(struct atm_vcc 
 	    vcc->qos.txtp.max_pcr >= ATM_OC3_PCR);
 	if (unlimited && zatm_dev->ubr != -1) zatm_vcc->shaper = zatm_dev->ubr;
 	else {
+		int pcr = 0;
+
 		if (unlimited) vcc->qos.txtp.max_sdu = ATM_MAX_AAL5_PDU;
 		if ((zatm_vcc->shaper = alloc_shaper(vcc->dev,&pcr,
 		    vcc->qos.txtp.min_pcr,vcc->qos.txtp.max_pcr,unlimited))
Index: linux-2.6.19/drivers/infiniband/hw/mthca/mthca_qp.c
===================================================================
--- linux-2.6.19.orig/drivers/infiniband/hw/mthca/mthca_qp.c	2006-12-06 20:48:30.000000000 +0000
+++ linux-2.6.19/drivers/infiniband/hw/mthca/mthca_qp.c	2006-12-06 20:49:27.000000000 +0000
@@ -1528,7 +1528,7 @@ int mthca_tavor_post_send(struct ib_qp *
 	int i;
 	int size;
 	int size0 = 0;
-	u32 f0;
+	u32 f0 = 0;
 	int ind;
 	u8 op0 = 0;
 
@@ -1882,7 +1882,7 @@ int mthca_arbel_post_send(struct ib_qp *
 	int i;
 	int size;
 	int size0 = 0;
-	u32 f0;
+	u32 f0 = 0;
 	int ind;
 	u8 op0 = 0;
 
Index: linux-2.6.19/drivers/md/dm-exception-store.c
===================================================================
--- linux-2.6.19.orig/drivers/md/dm-exception-store.c	2006-12-06 20:48:30.000000000 +0000
+++ linux-2.6.19/drivers/md/dm-exception-store.c	2006-12-06 20:49:27.000000000 +0000
@@ -413,7 +413,7 @@ static void persistent_destroy(struct ex
 
 static int persistent_read_metadata(struct exception_store *store)
 {
-	int r, new_snapshot;
+	int r, new_snapshot = 0;
 	struct pstore *ps = get_info(store);
 
 	/*
Index: linux-2.6.19/drivers/net/r8169.c
===================================================================
--- linux-2.6.19.orig/drivers/net/r8169.c	2006-12-06 20:49:20.000000000 +0000
+++ linux-2.6.19/drivers/net/r8169.c	2006-12-06 20:49:27.000000000 +0000
@@ -2180,7 +2180,7 @@ static int rtl8169_xmit_frags(struct rtl
 {
 	struct skb_shared_info *info = skb_shinfo(skb);
 	unsigned int cur_frag, entry;
-	struct TxDesc *txd;
+	struct TxDesc *txd = NULL;
 
 	entry = tp->cur_tx;
 	for (cur_frag = 0; cur_frag < info->nr_frags; cur_frag++) {
Index: linux-2.6.19/drivers/net/tokenring/smctr.c
===================================================================
--- linux-2.6.19.orig/drivers/net/tokenring/smctr.c	2006-12-06 20:48:30.000000000 +0000
+++ linux-2.6.19/drivers/net/tokenring/smctr.c	2006-12-06 20:49:27.000000000 +0000
@@ -3693,7 +3693,7 @@ static int smctr_process_rx_packet(MAC_H
         __u16 rcode, correlator;
         int err = 0;
         __u8 xframe = 1;
-        __u16 tx_fstatus;
+        __u16 tx_fstatus = 0;
 
         rmf->vl = SWAP_BYTES(rmf->vl);
         if(rx_status & FCB_RX_STATUS_DA_MATCHED)
Index: linux-2.6.19/drivers/net/wan/sbni.c
===================================================================
--- linux-2.6.19.orig/drivers/net/wan/sbni.c	2006-12-06 20:48:30.000000000 +0000
+++ linux-2.6.19/drivers/net/wan/sbni.c	2006-12-06 20:49:27.000000000 +0000
@@ -595,7 +595,7 @@ recv_frame( struct net_device  *dev )
 
 	u32  crc = CRC32_INITIAL;
 
-	unsigned  framelen, frameno, ack;
+	unsigned  framelen = 0, frameno, ack;
 	unsigned  is_first, frame_ok;
 
 	if( check_fhdr( ioaddr, &framelen, &frameno, &ack, &is_first, &crc ) ) {
Index: linux-2.6.19/drivers/usb/misc/auerswald.c
===================================================================
--- linux-2.6.19.orig/drivers/usb/misc/auerswald.c	2006-12-06 20:49:20.000000000 +0000
+++ linux-2.6.19/drivers/usb/misc/auerswald.c	2006-12-06 20:49:27.000000000 +0000
@@ -664,7 +664,7 @@ static int auerchain_control_msg (pauerc
 	int ret;
 	struct usb_ctrlrequest *dr;
 	struct urb *urb;
-        int length;
+        int length = 0;
 
         dbg ("auerchain_control_msg");
         dr = kmalloc (sizeof (struct usb_ctrlrequest), GFP_KERNEL);
Index: linux-2.6.19/drivers/usb/net/kaweth.c
===================================================================
--- linux-2.6.19.orig/drivers/usb/net/kaweth.c	2006-12-06 20:48:30.000000000 +0000
+++ linux-2.6.19/drivers/usb/net/kaweth.c	2006-12-06 20:49:27.000000000 +0000
@@ -1264,7 +1264,7 @@ static int kaweth_internal_control_msg(s
 {
         struct urb *urb;
         int retv;
-        int length;
+        int length = 0;
 
         urb = usb_alloc_urb(0, GFP_NOIO);
         if (!urb)
Index: linux-2.6.19/drivers/video/matrox/matroxfb_maven.c
===================================================================
--- linux-2.6.19.orig/drivers/video/matrox/matroxfb_maven.c	2006-12-06 20:48:30.000000000 +0000
+++ linux-2.6.19/drivers/video/matrox/matroxfb_maven.c	2006-12-06 20:49:27.000000000 +0000
@@ -284,7 +284,7 @@ static unsigned int matroxfb_mavenclock(
 		unsigned int* in, unsigned int* feed, unsigned int* post,
 		unsigned int* htotal2) {
 	unsigned int fvco;
-	unsigned int p;
+	unsigned int p = 0;
 
 	fvco = matroxfb_PLL_mavenclock(&maven1000_pll, ctl, htotal, vtotal, in, feed, &p, htotal2);
 	if (!fvco)
@@ -715,7 +715,7 @@ static int maven_find_exact_clocks(unsig
 	m->regs[0x82] = 0x81;
 
 	for (x = 0; x < 8; x++) {
-		unsigned int a, b, c, h2;
+		unsigned int a = 0, b = 0, c, h2 = 0;
 		unsigned int h = ht + 2 + x;
 
 		if (!matroxfb_mavenclock((m->mode == MATROXFB_OUTPUT_MODE_PAL) ? &maven_PAL : &maven_NTSC, h, vt, &a, &b, &c, &h2)) {
Index: linux-2.6.19/drivers/video/riva/riva_hw.c
===================================================================
--- linux-2.6.19.orig/drivers/video/riva/riva_hw.c	2006-12-06 20:48:30.000000000 +0000
+++ linux-2.6.19/drivers/video/riva/riva_hw.c	2006-12-06 20:49:27.000000000 +0000
@@ -1238,7 +1238,7 @@ static void CalcStateExt
     int            dotClock
 )
 {
-    int pixelDepth, VClk, m, n, p;
+    int pixelDepth, VClk = 0, m = 0, n = 0, p = 0;
     /*
      * Save mode parameters.
      */
Index: linux-2.6.19/fs/jfs/jfs_txnmgr.c
===================================================================
--- linux-2.6.19.orig/fs/jfs/jfs_txnmgr.c	2006-12-06 20:48:30.000000000 +0000
+++ linux-2.6.19/fs/jfs/jfs_txnmgr.c	2006-12-06 20:49:27.000000000 +0000
@@ -1922,6 +1922,8 @@ static void xtLog(struct jfs_log * log, 
 		pxd_t pxd;	/* truncated extent of xad */
 		int twm;
 
+		memset(&pxd, 0, sizeof(pxd));
+
 		/*
 		 * For truncation the entire linelock may be used, so it would
 		 * be difficult to store xad list in linelock itself.
Index: linux-2.6.19/fs/ocfs2/dlm/dlmdomain.c
===================================================================
--- linux-2.6.19.orig/fs/ocfs2/dlm/dlmdomain.c	2006-12-06 20:48:30.000000000 +0000
+++ linux-2.6.19/fs/ocfs2/dlm/dlmdomain.c	2006-12-06 20:49:27.000000000 +0000
@@ -915,7 +915,7 @@ static int dlm_try_to_join_domain(struct
 {
 	int status = 0, tmpstat, node;
 	struct domain_join_ctxt *ctxt;
-	enum dlm_query_join_response response;
+	enum dlm_query_join_response response = JOIN_OK;
 
 	mlog_entry("%p", dlm);
 
Index: linux-2.6.19/fs/ocfs2/vote.c
===================================================================
--- linux-2.6.19.orig/fs/ocfs2/vote.c	2006-12-06 20:48:30.000000000 +0000
+++ linux-2.6.19/fs/ocfs2/vote.c	2006-12-06 20:49:27.000000000 +0000
@@ -664,7 +664,7 @@ static int ocfs2_do_request_vote(struct 
 				 struct ocfs2_vote_msg *request,
 				 struct ocfs2_net_response_cb *callback)
 {
-	int status, response;
+	int status, response = -1;
 	unsigned int response_id;
 	struct ocfs2_msg_hdr *hdr;
 
Index: linux-2.6.19/fs/udf/balloc.c
===================================================================
--- linux-2.6.19.orig/fs/udf/balloc.c	2006-12-06 20:48:30.000000000 +0000
+++ linux-2.6.19/fs/udf/balloc.c	2006-12-06 20:49:27.000000000 +0000
@@ -754,6 +754,8 @@ static int udf_table_new_block(struct su
 
 	*err = -ENOSPC;
 
+	memset(&goal_eloc, 0, sizeof(goal_eloc));
+
 	if (UDF_I_ALLOCTYPE(table) == ICBTAG_FLAG_AD_SHORT)
 		adsize = sizeof(short_ad);
 	else if (UDF_I_ALLOCTYPE(table) == ICBTAG_FLAG_AD_LONG)
Index: linux-2.6.19/fs/udf/super.c
===================================================================
--- linux-2.6.19.orig/fs/udf/super.c	2006-12-06 20:48:30.000000000 +0000
+++ linux-2.6.19/fs/udf/super.c	2006-12-06 20:49:27.000000000 +0000
@@ -1362,6 +1362,8 @@ udf_load_partition(struct super_block *s
 			{
 				kernel_lb_addr ino;
 
+				memset(&ino, 0, sizeof(ino));
+
 				if (!UDF_SB_LASTBLOCK(sb))
 				{
 					UDF_SB_LASTBLOCK(sb) = udf_get_last_block(sb);
Index: linux-2.6.19/ipc/msg.c
===================================================================
--- linux-2.6.19.orig/ipc/msg.c	2006-12-06 20:49:18.000000000 +0000
+++ linux-2.6.19/ipc/msg.c	2006-12-06 20:49:27.000000000 +0000
@@ -395,6 +395,8 @@ asmlinkage long sys_msgctl(int msqid, in
 	if (msqid < 0 || cmd < 0)
 		return -EINVAL;
 
+	memset(&setbuf, 0, sizeof(setbuf));
+
 	version = ipc_parse_version(&cmd);
 	ns = current->nsproxy->ipc_ns;
 
Index: linux-2.6.19/ipc/sem.c
===================================================================
--- linux-2.6.19.orig/ipc/sem.c	2006-12-06 20:49:18.000000000 +0000
+++ linux-2.6.19/ipc/sem.c	2006-12-06 20:49:27.000000000 +0000
@@ -862,6 +862,8 @@ static int semctl_down(struct ipc_namesp
 	struct sem_setbuf setbuf;
 	struct kern_ipc_perm *ipcp;
 
+	memset(&setbuf, 0, sizeof(setbuf));
+
 	if(cmd == IPC_SET) {
 		if(copy_semid_from_user (&setbuf, arg.buf, version))
 			return -EFAULT;
Index: linux-2.6.19/kernel/auditfilter.c
===================================================================
--- linux-2.6.19.orig/kernel/auditfilter.c	2006-12-06 20:48:30.000000000 +0000
+++ linux-2.6.19/kernel/auditfilter.c	2006-12-06 20:49:27.000000000 +0000
@@ -1168,7 +1168,7 @@ static inline int audit_add_rule(struct 
 	struct audit_entry *e;
 	struct audit_field *inode_f = entry->rule.inode_f;
 	struct audit_watch *watch = entry->rule.watch;
-	struct nameidata *ndp, *ndw;
+	struct nameidata *ndp = NULL, *ndw = NULL;
 	int h, err, putnd_needed = 0;
 #ifdef CONFIG_AUDITSYSCALL
 	int dont_count = 0;
@@ -1603,7 +1603,7 @@ static int audit_filter_user_rules(struc
 int audit_filter_user(struct netlink_skb_parms *cb, int type)
 {
 	struct audit_entry *e;
-	enum audit_state   state;
+	enum audit_state state = AUDIT_DISABLED;
 	int ret = 1;
 
 	rcu_read_lock();
Index: linux-2.6.19/sound/pci/pcxhr/pcxhr.c
===================================================================
--- linux-2.6.19.orig/sound/pci/pcxhr/pcxhr.c	2006-12-06 20:48:30.000000000 +0000
+++ linux-2.6.19/sound/pci/pcxhr/pcxhr.c	2006-12-06 20:49:27.000000000 +0000
@@ -637,7 +637,7 @@ static void pcxhr_trigger_tasklet(unsign
  */
 static int pcxhr_trigger(struct snd_pcm_substream *subs, int cmd)
 {
-	struct pcxhr_stream *stream;
+	struct pcxhr_stream *stream = NULL;
 	struct list_head *pos;
 	struct snd_pcm_substream *s;
 	int i;
