lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20061002093111.GB10395@pingi.kke.suse.de>
Date:	Mon, 2 Oct 2006 11:31:11 +0200
From:	Karsten Keil <kkeil@...e.de>
To:	Alan Cox <alan@...rguk.ukuu.org.uk>
Cc:	Jeff Garzik <jeff@...zik.org>, kai.germaschewski@....de,
	Andrew Morton <akpm@...l.org>,
	LKML <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] ISDN: mark as 32-bit only

Thanks.

On Mon, Oct 02, 2006 at 12:47:50AM +0100, Alan Cox wrote:
> Some suggestions on doing it better
> 
> - Clean up warnings in drivers/isdn by using long not int for the values
> where we pass void * and cast to integer types. The code is ok (ok
> passing the stuff this way isn't pretty but the code is valid). In all
> the cases I checked out the right thing happens anyway but this removes
> all the warnings.
> 
> Signed-off-by: Alan Cox <alan@...hat.com>

Acked-by: kkeil@...e.de

> 
> diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.vanilla-2.6.18-mm2/drivers/isdn/hisax/config.c linux-2.6.18-mm2/drivers/isdn/hisax/config.c
> --- linux.vanilla-2.6.18-mm2/drivers/isdn/hisax/config.c	2006-09-20 04:42:06.000000000 +0100
> +++ linux-2.6.18-mm2/drivers/isdn/hisax/config.c	2006-09-25 12:20:16.000000000 +0100
> @@ -1721,11 +1721,11 @@
>  		hisax_b_sched_event(bcs, B_RCVBUFREADY);
>  		break;
>  	case PH_DATA | CONFIRM:
> -		bcs->tx_cnt -= (int) arg;
> +		bcs->tx_cnt -= (long)arg;
>  		if (test_bit(FLG_LLI_L1WAKEUP,&bcs->st->lli.flag)) {
>  			u_long	flags;
>  			spin_lock_irqsave(&bcs->aclock, flags);
> -			bcs->ackcnt += (int) arg;
> +			bcs->ackcnt += (long)arg;
>  			spin_unlock_irqrestore(&bcs->aclock, flags);
>  			schedule_event(bcs, B_ACKPENDING);
>  		}
> @@ -1789,7 +1789,7 @@
>  
>  	switch (pr) {
>  	case PH_ACTIVATE | REQUEST:
> -		B_L2L1(b_if, pr, (void *) st->l1.mode);
> +		B_L2L1(b_if, pr, (void *)(unsigned long)st->l1.mode);
>  		break;
>  	case PH_DATA | REQUEST:
>  	case PH_PULL | INDICATION:
> diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.vanilla-2.6.18-mm2/drivers/isdn/hisax/hfc4s8s_l1.c linux-2.6.18-mm2/drivers/isdn/hisax/hfc4s8s_l1.c
> --- linux.vanilla-2.6.18-mm2/drivers/isdn/hisax/hfc4s8s_l1.c	2006-09-20 04:42:06.000000000 +0100
> +++ linux-2.6.18-mm2/drivers/isdn/hisax/hfc4s8s_l1.c	2006-09-25 12:20:25.000000000 +0100
> @@ -424,7 +424,7 @@
>  	struct hfc4s8s_btype *bch = ifc->priv;
>  	struct hfc4s8s_l1 *l1 = bch->l1p;
>  	struct sk_buff *skb = (struct sk_buff *) arg;
> -	int mode = (int) arg;
> +	long mode = (long) arg;
>  	u_long flags;
>  
>  	switch (pr) {
> @@ -914,7 +914,7 @@
>  	struct sk_buff *skb;
>  	u_char f1, f2;
>  	u_char *cp;
> -	int cnt;
> +	long cnt;
>  
>  	if (l1p->l1_state != 7)
>  		return;
> @@ -980,7 +980,8 @@
>  	struct sk_buff *skb;
>  	struct hfc4s8s_l1 *l1 = bch->l1p;
>  	u_char *cp;
> -	int cnt, max, hdlc_num, ack_len = 0;
> +	int cnt, max, hdlc_num;
> +	long ack_len = 0;
>  
>  	if (!l1->enabled || (bch->mode == L1_MODE_NULL))
>  		return;
> diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.vanilla-2.6.18-mm2/drivers/isdn/hisax/hfc_sx.c linux-2.6.18-mm2/drivers/isdn/hisax/hfc_sx.c
> --- linux.vanilla-2.6.18-mm2/drivers/isdn/hisax/hfc_sx.c	2006-09-20 04:42:06.000000000 +0100
> +++ linux-2.6.18-mm2/drivers/isdn/hisax/hfc_sx.c	2006-09-25 12:20:25.000000000 +0100
> @@ -970,7 +970,7 @@
>  			break;
>  		case (HW_TESTLOOP | REQUEST):
>  			spin_lock_irqsave(&cs->lock, flags);
> -			switch ((int) arg) {
> +			switch ((long) arg) {
>  				case (1):
>  					Write_hfc(cs, HFCSX_B1_SSL, 0x80);	/* tx slot */
>  					Write_hfc(cs, HFCSX_B1_RSL, 0x80);	/* rx slot */
> @@ -986,7 +986,7 @@
>  				default:
>  					spin_unlock_irqrestore(&cs->lock, flags);
>  					if (cs->debug & L1_DEB_WARN)
> -						debugl1(cs, "hfcsx_l1hw loop invalid %4x", (int) arg);
> +						debugl1(cs, "hfcsx_l1hw loop invalid %4lx", arg);
>  					return;
>  			}
>  			cs->hw.hfcsx.trm |= 0x80;	/* enable IOM-loop */
> diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.vanilla-2.6.18-mm2/drivers/isdn/hisax/hfc_usb.c linux-2.6.18-mm2/drivers/isdn/hisax/hfc_usb.c
> --- linux.vanilla-2.6.18-mm2/drivers/isdn/hisax/hfc_usb.c	2006-09-20 04:42:06.000000000 +0100
> +++ linux-2.6.18-mm2/drivers/isdn/hisax/hfc_usb.c	2006-09-25 12:20:25.000000000 +0100
> @@ -696,7 +696,7 @@
>  				fifo->delete_flg = TRUE;
>  				fifo->hif->l1l2(fifo->hif,
>  						PH_DATA | CONFIRM,
> -						(void *) fifo->skbuff->
> +						(void *) (unsigned long) fifo->skbuff->
>  						truesize);
>  				if (fifo->skbuff && fifo->delete_flg) {
>  					dev_kfree_skb_any(fifo->skbuff);
> @@ -1144,7 +1144,7 @@
>  				set_hfcmode(hfc,
>  					    (fifo->fifonum ==
>  					     HFCUSB_B1_TX) ? 0 : 1,
> -					    (int) arg);
> +					    (long) arg);
>  				fifo->hif->l1l2(fifo->hif,
>  						PH_ACTIVATE | INDICATION,
>  						NULL);
> diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.vanilla-2.6.18-mm2/drivers/isdn/hisax/hisax_fcpcipnp.c linux-2.6.18-mm2/drivers/isdn/hisax/hisax_fcpcipnp.c
> --- linux.vanilla-2.6.18-mm2/drivers/isdn/hisax/hisax_fcpcipnp.c	2006-09-20 04:42:06.000000000 +0100
> +++ linux-2.6.18-mm2/drivers/isdn/hisax/hisax_fcpcipnp.c	2006-09-25 12:20:25.000000000 +0100
> @@ -546,7 +546,7 @@
>  	}
>  	bcs->tx_cnt = 0;
>  	bcs->tx_skb = NULL;
> -	B_L1L2(bcs, PH_DATA | CONFIRM, (void *) skb->truesize);
> +	B_L1L2(bcs, PH_DATA | CONFIRM, (void *)(unsigned long)skb->truesize);
>  	dev_kfree_skb_irq(skb);
>  }
>  
> @@ -635,7 +635,7 @@
>  		hdlc_fill_fifo(bcs);
>  		break;
>  	case PH_ACTIVATE | REQUEST:
> -		mode = (int) arg;
> +		mode = (long) arg;
>  		DBG(4,"B%d,PH_ACTIVATE_REQUEST %d", bcs->channel + 1, mode);
>  		modehdlc(bcs, mode);
>  		B_L1L2(bcs, PH_ACTIVATE | INDICATION, NULL);
> @@ -998,18 +998,15 @@
>  
>  	retval = pci_register_driver(&fcpci_driver);
>  	if (retval)
> -		goto out;
> +		return retval;
>  #ifdef __ISAPNP__
>  	retval = pnp_register_driver(&fcpnp_driver);
> -	if (retval < 0)
> -		goto out_unregister_pci;
> +	if (retval < 0) {
> +		pci_unregister_driver(&fcpci_driver);
> +		return retval;
> +	}
>  #endif
>  	return 0;
> -
> - out_unregister_pci:
> -	pci_unregister_driver(&fcpci_driver);
> - out:
> -	return retval;
>  }
>  
>  static void __exit hisax_fcpcipnp_exit(void)
> diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.vanilla-2.6.18-mm2/drivers/isdn/hisax/st5481_b.c linux-2.6.18-mm2/drivers/isdn/hisax/st5481_b.c
> --- linux.vanilla-2.6.18-mm2/drivers/isdn/hisax/st5481_b.c	2006-09-20 04:42:06.000000000 +0100
> +++ linux-2.6.18-mm2/drivers/isdn/hisax/st5481_b.c	2006-09-25 12:20:39.000000000 +0100
> @@ -86,7 +86,7 @@
>  			if (!skb->len) {
>  				// Frame sent
>  				b_out->tx_skb = NULL;
> -				B_L1L2(bcs, PH_DATA | CONFIRM, (void *) skb->truesize);
> +				B_L1L2(bcs, PH_DATA | CONFIRM, (void *)(unsigned long) skb->truesize);
>  				dev_kfree_skb_any(skb);
>  
>  /* 				if (!(bcs->tx_skb = skb_dequeue(&bcs->sq))) { */
> @@ -350,7 +350,7 @@
>  {
>  	struct st5481_bcs *bcs = ifc->priv;
>  	struct sk_buff *skb = arg;
> -	int mode;
> +	long mode;
>  
>  	DBG(4, "");
>  
> @@ -360,8 +360,8 @@
>  		bcs->b_out.tx_skb = skb;
>  		break;
>  	case PH_ACTIVATE | REQUEST:
> -		mode = (int) arg;
> -		DBG(4,"B%d,PH_ACTIVATE_REQUEST %d", bcs->channel + 1, mode);
> +		mode = (long) arg;
> +		DBG(4,"B%d,PH_ACTIVATE_REQUEST %ld", bcs->channel + 1, mode);
>  		st5481B_mode(bcs, mode);
>  		B_L1L2(bcs, PH_ACTIVATE | INDICATION, NULL);
>  		break;
> diff -u --new-file --recursive --exclude-from /usr/src/exclude linux.vanilla-2.6.18-mm2/drivers/isdn/hisax/st5481_d.c linux-2.6.18-mm2/drivers/isdn/hisax/st5481_d.c
> --- linux.vanilla-2.6.18-mm2/drivers/isdn/hisax/st5481_d.c	2006-09-20 04:42:06.000000000 +0100
> +++ linux-2.6.18-mm2/drivers/isdn/hisax/st5481_d.c	2006-09-25 12:20:39.000000000 +0100
> @@ -374,7 +374,7 @@
>  {
>  	struct st5481_adapter *adapter = urb->context;
>  	struct st5481_d_out *d_out = &adapter->d_out;
> -	int buf_nr;
> +	long buf_nr;
>  	
>  	DBG(2, "");
>  
> @@ -546,7 +546,7 @@
>  static void dout_complete(struct FsmInst *fsm, int event, void *arg)
>  {
>  	struct st5481_adapter *adapter = fsm->userdata;
> -	int buf_nr = (int) arg;
> +	long buf_nr = (long) arg;
>  
>  	usb_d_out(adapter, buf_nr);
>  }

-- 
Karsten Keil
SuSE Labs
ISDN development
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ