* Re: [IPSEC]: Kill unused decap state argument
From: David S. Miller @ 2006-04-03 6:29 UTC (permalink / raw)
To: davej; +Cc: netdev, linux-kernel
In-Reply-To: <20060403043134.GA7173@redhat.com>
From: Dave Jones <davej@redhat.com>
Date: Sun, 2 Apr 2006 23:31:34 -0500
> This breaks SELinux compilation.
> security/selinux/xfrm.c: In function 'selinux_socket_getpeer_dgram':
> security/selinux/xfrm.c:284: error: 'struct sec_path' has no member named 'x'
> security/selinux/xfrm.c: In function 'selinux_xfrm_sock_rcv_skb':
> security/selinux/xfrm.c:317: error: 'struct sec_path' has no member named 'x'
>
> Does this look sane ?
Yes it does, thanks Dave.
^ permalink raw reply
* [NETFILTER]: Fix fragmentation issues with bridge netfilter
From: Patrick McHardy @ 2006-04-03 13:43 UTC (permalink / raw)
To: David S. Miller
Cc: Linux Netdev List, Netfilter Development Mailinglist,
Bart De Schuymer
[-- Attachment #1: Type: text/plain, Size: 158 bytes --]
Fix a regression from the netfilter/IPsec patches with bridging.
Bart, please review this patch, if everything is fine I think it
should also go in -stable.
[-- Attachment #2: x --]
[-- Type: text/plain, Size: 3665 bytes --]
[NETFILTER]: Fix fragmentation issues with bridge netfilter
The conntrack code doesn't do re-fragmentation of defragmented packets
anymore but relies on fragmentation in the IP layer. Purely bridged
packets don't pass through the IP layer, so the bridge netfilter code
needs to take care of fragmentation itself.
Signed-off-by: Patrick McHardy <kaber@trash.net>
---
commit 5d7b9a2f312fa867fa99adc5fd9cfb6d841f6fb6
tree 6a63c9cfe9804aa9d8050a14f8c6aed6ba1fbf84
parent 683aa4012f53b2ada0f430487e05d37b0d94e90a
author Patrick McHardy <kaber@trash.net> Mon, 03 Apr 2006 11:58:33 +0200
committer Patrick McHardy <kaber@trash.net> Mon, 03 Apr 2006 11:58:33 +0200
include/net/ip.h | 1 +
net/bridge/br_netfilter.c | 13 +++++++++++--
net/ipv4/ip_output.c | 6 +++---
3 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/include/net/ip.h b/include/net/ip.h
index 8fe6156..3d2e5ca 100644
--- a/include/net/ip.h
+++ b/include/net/ip.h
@@ -95,6 +95,7 @@ extern int ip_local_deliver(struct sk_b
extern int ip_mr_input(struct sk_buff *skb);
extern int ip_output(struct sk_buff *skb);
extern int ip_mc_output(struct sk_buff *skb);
+extern int ip_fragment(struct sk_buff *skb, int (*output)(struct sk_buff *));
extern int ip_do_nat(struct sk_buff *skb);
extern void ip_send_check(struct iphdr *ip);
extern int ip_queue_xmit(struct sk_buff *skb, int ipfragok);
diff --git a/net/bridge/br_netfilter.c b/net/bridge/br_netfilter.c
index f29450b..3da9264 100644
--- a/net/bridge/br_netfilter.c
+++ b/net/bridge/br_netfilter.c
@@ -765,6 +765,15 @@ out:
return NF_STOLEN;
}
+static int br_nf_dev_queue_xmit(struct sk_buff *skb)
+{
+ if (skb->protocol == htons(ETH_P_IP) &&
+ skb->len > skb->dev->mtu &&
+ !(skb_shinfo(skb)->ufo_size || skb_shinfo(skb)->tso_size))
+ return ip_fragment(skb, br_dev_queue_push_xmit);
+ else
+ return br_dev_queue_push_xmit(skb);
+}
/* PF_BRIDGE/POST_ROUTING ********************************************/
static unsigned int br_nf_post_routing(unsigned int hook, struct sk_buff **pskb,
@@ -824,7 +833,7 @@ static unsigned int br_nf_post_routing(u
realoutdev = nf_bridge->netoutdev;
#endif
NF_HOOK(pf, NF_IP_POST_ROUTING, skb, NULL, realoutdev,
- br_dev_queue_push_xmit);
+ br_nf_dev_queue_xmit);
return NF_STOLEN;
@@ -869,7 +878,7 @@ static unsigned int ip_sabotage_out(unsi
if ((out->hard_start_xmit == br_dev_xmit &&
okfn != br_nf_forward_finish &&
- okfn != br_nf_local_out_finish && okfn != br_dev_queue_push_xmit)
+ okfn != br_nf_local_out_finish && okfn != br_nf_dev_queue_xmit)
#if defined(CONFIG_VLAN_8021Q) || defined(CONFIG_VLAN_8021Q_MODULE)
|| ((out->priv_flags & IFF_802_1Q_VLAN) &&
VLAN_DEV_INFO(out)->real_dev->hard_start_xmit == br_dev_xmit)
diff --git a/net/ipv4/ip_output.c b/net/ipv4/ip_output.c
index f75ff1d..8dcba38 100644
--- a/net/ipv4/ip_output.c
+++ b/net/ipv4/ip_output.c
@@ -86,8 +86,6 @@
int sysctl_ip_default_ttl = IPDEFTTL;
-static int ip_fragment(struct sk_buff *skb, int (*output)(struct sk_buff*));
-
/* Generate a checksum for an outgoing IP datagram. */
__inline__ void ip_send_check(struct iphdr *iph)
{
@@ -421,7 +419,7 @@ static void ip_copy_metadata(struct sk_b
* single device frame, and queue such a frame for sending.
*/
-static int ip_fragment(struct sk_buff *skb, int (*output)(struct sk_buff*))
+int ip_fragment(struct sk_buff *skb, int (*output)(struct sk_buff*))
{
struct iphdr *iph;
int raw = 0;
@@ -673,6 +671,8 @@ fail:
return err;
}
+EXPORT_SYMBOL(ip_fragment);
+
int
ip_generic_getfrag(void *from, char *to, int offset, int len, int odd, struct sk_buff *skb)
{
^ permalink raw reply related
* Re: [NETFILTER]: Fix fragmentation issues with bridge netfilter
From: Bart De Schuymer @ 2006-04-03 18:12 UTC (permalink / raw)
To: Patrick McHardy
Cc: Linux Netdev List, Netfilter Development Mailinglist,
David S. Miller
In-Reply-To: <44312671.3090904@trash.net>
Op ma, 03-04-2006 te 15:43 +0200, schreef Patrick McHardy:
> Fix a regression from the netfilter/IPsec patches with bridging.
> Bart, please review this patch, if everything is fine I think it
> should also go in -stable.
Looks fine to me.
Thanks,
Bart
^ permalink raw reply
* Re: [e1000 debug] KERNEL: assertion (!sk_forward_alloc) failed...
From: Mark Nipper @ 2006-04-03 21:01 UTC (permalink / raw)
To: Herbert Xu
Cc: Boris B. Zhmurov, Mark Nipper, David S. Miller, jesse.brandeburg,
jrlundgren, cat, djani22, yoseph.basri, mykleb, olel, michal,
chris, netdev, jesse.brandeburg, E1000-devel, Andi Kleen,
Jeff Garzik
In-Reply-To: <20060331123514.GA13500@gondor.apana.org.au>
On 31 Mar 2006, Herbert Xu wrote:
> If it still fails, here is a debugging patch which should tell us
> whether we need to look elsewhere.
After three days and some hours, I finally saw another
event:
---
Apr 3 13:40:53 king kernel: KERNEL: assertion (!sk->sk_forward_alloc) failed at net/core/stream.c (283)
Apr 3 13:40:53 king kernel: KERNEL: assertion (!sk->sk_forward_alloc) failed at net/ipv4/af_inet.c (150)
---
but as with the other person who reported recently, I also did
not receive the extra debugging output from Herbert's latest
patch.
Anyway, this happened with 2.6.16.1 and Herbert's three
patches. Let me know if you want me to try anything different.
I guess all of this will just go away with the latest
driver version since those of us running at 100Mbps will no
longer have TSO enabled?
--
Mark Nipper e-contacts:
832 Tanglewood Drive nipsy@bitgnome.net
Bryan, Texas 77802-4013 http://nipsy.bitgnome.net/
(979)575-3193 AIM/Yahoo: texasnipsy ICQ: 66971617
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GG/IT d- s++:+ a- C++$ UBL++++$ P--->+++ L+++$ !E---
W++(--) N+ o K++ w(---) O++ M V(--) PS+++(+) PE(--)
Y+ PGP t+ 5 X R tv b+++@ DI+(++) D+ G e h r++ y+(**)
------END GEEK CODE BLOCK------
---begin random quote of the moment---
He hoped and prayed that there wasn't an afterlife. Then he
realized there was a contradiction involved here and merely
hoped that there wasn't an afterlife.
-- Douglas Adams
----end random quote of the moment----
-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
^ permalink raw reply
* Re: [e1000 debug] KERNEL: assertion (!sk_forward_alloc) failed...
From: Phil Oester @ 2006-04-03 21:39 UTC (permalink / raw)
To: Mark Nipper
Cc: Herbert Xu, Boris B. Zhmurov, David S. Miller, jesse.brandeburg,
jrlundgren, cat, djani22, yoseph.basri, mykleb, olel, michal,
chris, netdev, jesse.brandeburg, E1000-devel, Andi Kleen,
Jeff Garzik
In-Reply-To: <20060403210123.GA27698@king.bitgnome.net>
On Mon, Apr 03, 2006 at 04:01:23PM -0500, Mark Nipper wrote:
> After three days and some hours, I finally saw another
> event:
Ack, same here. Looked hopeful, but finally saw the error today.
Phil
-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
^ permalink raw reply
* Re: [e1000 debug] KERNEL: assertion (!sk_forward_alloc) failed...
From: Boris B. Zhmurov @ 2006-04-03 22:00 UTC (permalink / raw)
To: Phil Oester
Cc: Mark Nipper, Herbert Xu, David S. Miller, jesse.brandeburg,
jrlundgren, cat, djani22, yoseph.basri, mykleb, olel, michal,
chris, netdev, jesse.brandeburg, E1000-devel, Andi Kleen,
Jeff Garzik
In-Reply-To: <20060403213907.GA32406@linuxace.com>
Hello, Phil Oester.
On 04.04.2006 01:39 you said the following:
> On Mon, Apr 03, 2006 at 04:01:23PM -0500, Mark Nipper wrote:
>
>> After three days and some hours, I finally saw another
>>event:
>
>
> Ack, same here. Looked hopeful, but finally saw the error today.
>
> Phil
[root@msk4 ~]# dmesg |grep assertion |wc -l
176
[root@msk4 ~]# uptime
02:00:01 up 3 days, 7:31, 2 users, load average: 1.32, 0.59, 0.41
--
Boris B. Zhmurov
mailto: bb@kernelpanic.ru
"wget http://kernelpanic.ru/bb_public_key.pgp -O - | gpg --import"
-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
^ permalink raw reply
* [RFC: 2.6 patch] remove drivers/net/hydra.h
From: Adrian Bunk @ 2006-04-04 16:29 UTC (permalink / raw)
To: Ciaran Farrell; +Cc: linux-kernel, netdev, jgarzik, linux-m68k
In-Reply-To: <200604041528.00142.ciaranfarrell@babelworx.net>
On Tue, Apr 04, 2006 at 03:27:59PM +0200, Ciaran Farrell wrote:
> We were discussing this topic again and thought it should be reported here. As
> you are probably aware, the file
>
> linux-2.6.16.tar.bz2/linux-2.6.16/drivers/net/hydra.h
>
> contains a BSD 4 license.
>...
The interesting point is that the file seems to be complete unused.
Are there any objections against the patch below to simply remove it?
> cheers
>
> CFarrell
cu
Adrian
<-- snip -->
This patch removes drivers/net/hydra.h that is both unused and covered
by a 4 clause BSD licence (not by the UCB).
Signed-off-by: Adrian Bunk <bunk@stusta.de>
---
drivers/net/hydra.h | 177 --------------------------------------------
1 file changed, 177 deletions(-)
--- linux-2.6.17-rc1-mm1-full/drivers/net/hydra.h 2006-03-20 06:53:29.000000000 +0100
+++ /dev/null 2006-02-12 01:05:26.000000000 +0100
@@ -1,177 +0,0 @@
-/* $Linux: hydra.h,v 1.0 1994/10/26 02:03:47 cgd Exp $ */
-
-/*
- * Copyright (c) 1994 Timo Rossi
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by Timo Rossi
- * 4. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/*
- * The Hydra Systems card uses the National Semiconductor
- * 8390 NIC (Network Interface Controller) chip, located
- * at card base address + 0xffe1. NIC registers are accessible
- * only at odd byte addresses, so the register offsets must
- * be multiplied by two.
- *
- * Card address PROM is located at card base + 0xffc0 (even byte addresses)
- *
- * RAM starts at the card base address, and is 16K or 64K.
- * The current Amiga NetBSD hydra driver is hardwired for 16K.
- * It seems that the RAM should be accessed as words or longwords only.
- *
- */
-
-/* adapted for Linux by Topi Kanerva 03/29/95
- with original author's permission */
-
-#define HYDRA_NIC_BASE 0xffe1
-
-/* Page0 registers */
-
-#define NIC_CR 0 /* Command register */
-#define NIC_PSTART (1*2) /* Page start (write) */
-#define NIC_PSTOP (2*2) /* Page stop (write) */
-#define NIC_BNDRY (3*2) /* Boundary pointer */
-#define NIC_TSR (4*2) /* Transmit status (read) */
-#define NIC_TPSR (4*2) /* Transmit page start (write) */
-#define NIC_NCR (5*2) /* Number of collisions, read */
-#define NIC_TBCR0 (5*2) /* Transmit byte count low (write) */
-#define NIC_FIFO (6*2) /* FIFO reg. (read) */
-#define NIC_TBCR1 (6*2) /* Transmit byte count high (write) */
-#define NIC_ISR (7*2) /* Interrupt status register */
-#define NIC_RBCR0 (0xa*2) /* Remote byte count low (write) */
-#define NIC_RBCR1 (0xb*2) /* Remote byte count high (write) */
-#define NIC_RSR (0xc*2) /* Receive status (read) */
-#define NIC_RCR (0xc*2) /* Receive config (write) */
-#define NIC_CNTR0 (0xd*2) /* Frame alignment error count (read) */
-#define NIC_TCR (0xd*2) /* Transmit config (write) */
-#define NIC_CNTR1 (0xe*2) /* CRC error counter (read) */
-#define NIC_DCR (0xe*2) /* Data config (write) */
-#define NIC_CNTR2 (0xf*2) /* missed packet counter (read) */
-#define NIC_IMR (0xf*2) /* Interrupt mask reg. (write) */
-
-/* Page1 registers */
-
-#define NIC_PAR0 (1*2) /* Physical address */
-#define NIC_PAR1 (2*2)
-#define NIC_PAR2 (3*2)
-#define NIC_PAR3 (4*2)
-#define NIC_PAR4 (5*2)
-#define NIC_PAR5 (6*2)
-#define NIC_CURR (7*2) /* Current RX ring-buffer page */
-#define NIC_MAR0 (8*2) /* Multicast address */
-#define NIC_MAR1 (9*2)
-#define NIC_MAR2 (0xa*2)
-#define NIC_MAR3 (0xb*2)
-#define NIC_MAR4 (0xc*2)
-#define NIC_MAR5 (0xd*2)
-#define NIC_MAR6 (0xe*2)
-#define NIC_MAR7 (0xf*2)
-
-/* Command register definitions */
-
-#define CR_STOP 0x01 /* Stop -- software reset command */
-#define CR_START 0x02 /* Start */
-#define CR_TXP 0x04 /* Transmit packet */
-
-#define CR_RD0 0x08 /* Remote DMA cmd */
-#define CR_RD1 0x10
-#define CR_RD2 0x20
-
-#define CR_NODMA CR_RD2
-
-#define CR_PS0 0x40 /* Page select */
-#define CR_PS1 0x80
-
-#define CR_PAGE0 0
-#define CR_PAGE1 CR_PS0
-#define CR_PAGE2 CR_PS1
-
-/* Interrupt status reg. definitions */
-
-#define ISR_PRX 0x01 /* Packet received without errors */
-#define ISR_PTX 0x02 /* Packet transmitted without errors */
-#define ISR_RXE 0x04 /* Receive error */
-#define ISR_TXE 0x08 /* Transmit error */
-#define ISR_OVW 0x10 /* Ring buffer overrun */
-#define ISR_CNT 0x20 /* Counter overflow */
-#define ISR_RDC 0x40 /* Remote DMA compile */
-#define ISR_RST 0x80 /* Reset status */
-
-/* Data config reg. definitions */
-
-#define DCR_WTS 0x01 /* Word transfer select */
-#define DCR_BOS 0x02 /* Byte order select */
-#define DCR_LAS 0x04 /* Long address select */
-#define DCR_LS 0x08 /* Loopback select */
-#define DCR_AR 0x10 /* Auto-init remote */
-#define DCR_FT0 0x20 /* FIFO threshold select */
-#define DCR_FT1 0x40
-
-/* Transmit config reg. definitions */
-
-#define TCR_CRC 0x01 /* Inhibit CRC */
-#define TCR_LB0 0x02 /* Loopback control */
-#define TCR_LB1 0x04
-#define TCR_ATD 0x08 /* Auto transmit disable */
-#define TCR_OFST 0x10 /* Collision offset enable */
-
-/* Transmit status reg. definitions */
-
-#define TSR_PTX 0x01 /* Packet transmitted */
-#define TSR_COL 0x04 /* Transmit collided */
-#define TSR_ABT 0x08 /* Transmit aborted */
-#define TSR_CRS 0x10 /* Carrier sense lost */
-#define TSR_FU 0x20 /* FIFO underrun */
-#define TSR_CDH 0x40 /* CD Heartbeat */
-#define TSR_OWC 0x80 /* Out of Window Collision */
-
-/* Receiver config register definitions */
-
-#define RCR_SEP 0x01 /* Save errored packets */
-#define RCR_AR 0x02 /* Accept runt packets */
-#define RCR_AB 0x04 /* Accept broadcast */
-#define RCR_AM 0x08 /* Accept multicast */
-#define RCR_PRO 0x10 /* Promiscuous mode */
-#define RCR_MON 0x20 /* Monitor mode */
-
-/* Receiver status register definitions */
-
-#define RSR_PRX 0x01 /* Packet received without error */
-#define RSR_CRC 0x02 /* CRC error */
-#define RSR_FAE 0x04 /* Frame alignment error */
-#define RSR_FO 0x08 /* FIFO overrun */
-#define RSR_MPA 0x10 /* Missed packet */
-#define RSR_PHY 0x20 /* Physical address */
-#define RSR_DIS 0x40 /* Received disabled */
-#define RSR_DFR 0x80 /* Deferring (jabber) */
-
-/* Hydra System card address PROM offset */
-
-#define HYDRA_ADDRPROM 0xffc0
-
-
^ permalink raw reply
* [2.6 patch] drivers/net/via-rhine.c: make a function static
From: Adrian Bunk @ 2006-04-04 16:30 UTC (permalink / raw)
To: rl; +Cc: jgarzik, netdev, linux-kernel
This patch makes the needlessly global rhine_set_carrier() static.
Signed-off-by: Adrian Bunk <bunk@stusta.de>
--- linux-2.6.17-rc1-mm1-full/drivers/net/via-rhine.c.old 2006-04-04 17:41:16.000000000 +0200
+++ linux-2.6.17-rc1-mm1-full/drivers/net/via-rhine.c 2006-04-04 17:41:29.000000000 +0200
@@ -1091,7 +1091,7 @@
}
/* Called after status of force_media possibly changed */
-void rhine_set_carrier(struct mii_if_info *mii)
+static void rhine_set_carrier(struct mii_if_info *mii)
{
if (mii->force_media) {
/* autoneg is off: Link is always assumed to be up */
^ permalink raw reply
* [2.6 patch] remove broken and unmaintained Sangoma drivers
From: Adrian Bunk @ 2006-04-04 16:36 UTC (permalink / raw)
To: jgarzik; +Cc: netdev, linux-kernel, David Mandelstam, Nenad Corbic
The in-kernel Sangoma drivers are both not compiling and marked as
BROKEN since at least kernel 2.6.0.
Sangoma offers out-of-tree drivers, and David Mandelstam told me Sangoma
does no longer maintain the in-kernel drivers and prefers to provide
them as a separate installation package.
This patch therefore removes these drivers.
Signed-off-by: Adrian Bunk <bunk@stusta.de>
---
Due to it's size, the patch is available at
ftp://ftp.kernel.org/pub/linux/kernel/people/bunk/misc/patch-remove-sangoma.gz
MAINTAINERS | 7
drivers/net/wan/Kconfig | 97
drivers/net/wan/Makefile | 13
drivers/net/wan/sdla_chdlc.c | 4428 ------------------------
drivers/net/wan/sdla_fr.c | 5061 ---------------------------
drivers/net/wan/sdla_ft1.c | 345 -
drivers/net/wan/sdla_ppp.c | 3430 ------------------
drivers/net/wan/sdla_x25.c | 5497 ------------------------------
drivers/net/wan/sdladrv.c | 2314 ------------
drivers/net/wan/sdlamain.c | 1346 -------
drivers/net/wan/wanpipe_multppp.c | 2358 ------------
include/linux/sdla_asy.h | 226 -
include/linux/sdla_chdlc.h | 813 ----
include/linux/sdla_ppp.h | 575 ---
include/linux/sdla_x25.h | 772 ----
include/linux/sdladrv.h | 66
include/linux/sdlapci.h | 72
include/linux/sdlasfm.h | 104
include/linux/wanpipe.h | 483 --
net/wanrouter/af_wanpipe.c | 2
20 files changed, 28009 deletions(-)
^ permalink raw reply
* [KJ] [Patch] convert drivers/net to kzalloc/kcalloc
From: Eric Sesterhenn @ 2006-04-04 16:39 UTC (permalink / raw)
To: kernel-janitors; +Cc: netdev
[-- Attachment #1: Type: text/plain, Size: 34625 bytes --]
hi,
this patch converts drivers/net to kzalloc and kcalloc usage.
Compile tested with allyesconfig on i386
Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de>
--- linux-2.6.17-rc1/drivers/net/bonding/bond_main.c.orig 2006-04-04 12:12:12.000000000 +0200
+++ linux-2.6.17-rc1/drivers/net/bonding/bond_main.c 2006-04-04 12:12:40.000000000 +0200
@@ -1323,14 +1323,12 @@ int bond_enslave(struct net_device *bond
goto err_undo_flags;
}
- new_slave = kmalloc(sizeof(struct slave), GFP_KERNEL);
+ new_slave = kzalloc(sizeof(struct slave), GFP_KERNEL);
if (!new_slave) {
res = -ENOMEM;
goto err_undo_flags;
}
- memset(new_slave, 0, sizeof(struct slave));
-
/* save slave's original flags before calling
* netdev_set_master and dev_open
*/
--- linux-2.6.17-rc1/drivers/net/chelsio/mv88x201x.c.orig 2006-04-04 12:13:03.000000000 +0200
+++ linux-2.6.17-rc1/drivers/net/chelsio/mv88x201x.c 2006-04-04 12:13:13.000000000 +0200
@@ -205,11 +205,10 @@ static struct cphy *mv88x201x_phy_create
struct mdio_ops *mdio_ops)
{
u32 val;
- struct cphy *cphy = kmalloc(sizeof(*cphy), GFP_KERNEL);
+ struct cphy *cphy = kzalloc(sizeof(*cphy), GFP_KERNEL);
if (!cphy)
return NULL;
- memset(cphy, 0, sizeof(*cphy));
cphy_init(cphy, adapter, phy_addr, &mv88x201x_ops, mdio_ops);
/* Commands the PHY to enable XFP's clock. */
--- linux-2.6.17-rc1/drivers/net/chelsio/sge.c.orig 2006-04-04 12:13:46.000000000 +0200
+++ linux-2.6.17-rc1/drivers/net/chelsio/sge.c 2006-04-04 12:14:43.000000000 +0200
@@ -336,10 +336,9 @@ static int alloc_rx_resources(struct sge
goto err_no_mem;
memset(q->entries, 0, size);
size = sizeof(struct freelQ_ce) * q->size;
- q->centries = kmalloc(size, GFP_KERNEL);
+ q->centries = kzalloc(size, GFP_KERNEL);
if (!q->centries)
goto err_no_mem;
- memset(q->centries, 0, size);
}
/*
@@ -464,10 +463,9 @@ static int alloc_tx_resources(struct sge
goto err_no_mem;
memset(q->entries, 0, size);
size = sizeof(struct cmdQ_ce) * q->size;
- q->centries = kmalloc(size, GFP_KERNEL);
+ q->centries = kzalloc(size, GFP_KERNEL);
if (!q->centries)
goto err_no_mem;
- memset(q->centries, 0, size);
}
/*
@@ -1648,11 +1646,10 @@ static void espibug_workaround(void *dat
struct sge * __devinit t1_sge_create(struct adapter *adapter,
struct sge_params *p)
{
- struct sge *sge = kmalloc(sizeof(*sge), GFP_KERNEL);
+ struct sge *sge = kzalloc(sizeof(*sge), GFP_KERNEL);
if (!sge)
return NULL;
- memset(sge, 0, sizeof(*sge));
sge->adapter = adapter;
sge->netdev = adapter->port[0].dev;
--- linux-2.6.17-rc1/drivers/net/e100.c.orig 2006-04-04 12:14:56.000000000 +0200
+++ linux-2.6.17-rc1/drivers/net/e100.c 2006-04-04 12:16:11.000000000 +0200
@@ -1931,9 +1931,8 @@ static int e100_rx_alloc_list(struct nic
nic->rx_to_use = nic->rx_to_clean = NULL;
nic->ru_running = RU_UNINITIALIZED;
- if(!(nic->rxs = kmalloc(sizeof(struct rx) * count, GFP_ATOMIC)))
+ if(!(nic->rxs = kcalloc(count, sizeof(struct rx), GFP_ATOMIC)))
return -ENOMEM;
- memset(nic->rxs, 0, sizeof(struct rx) * count);
for(rx = nic->rxs, i = 0; i < count; rx++, i++) {
rx->next = (i + 1 < count) ? rx + 1 : nic->rxs;
--- linux-2.6.17-rc1/drivers/net/e1000/e1000_ethtool.c.orig 2006-04-04 12:16:24.000000000 +0200
+++ linux-2.6.17-rc1/drivers/net/e1000/e1000_ethtool.c 2006-04-04 12:18:47.000000000 +0200
@@ -636,20 +636,18 @@ e1000_set_ringparam(struct net_device *n
tx_old = adapter->tx_ring;
rx_old = adapter->rx_ring;
- adapter->tx_ring = kmalloc(tx_ring_size, GFP_KERNEL);
+ adapter->tx_ring = kzalloc(tx_ring_size, GFP_KERNEL);
if (!adapter->tx_ring) {
err = -ENOMEM;
goto err_setup_rx;
}
- memset(adapter->tx_ring, 0, tx_ring_size);
- adapter->rx_ring = kmalloc(rx_ring_size, GFP_KERNEL);
+ adapter->rx_ring = kzalloc(rx_ring_size, GFP_KERNEL);
if (!adapter->rx_ring) {
kfree(adapter->tx_ring);
err = -ENOMEM;
goto err_setup_rx;
}
- memset(adapter->rx_ring, 0, rx_ring_size);
txdr = adapter->tx_ring;
rxdr = adapter->rx_ring;
@@ -1013,11 +1011,10 @@ e1000_setup_desc_rings(struct e1000_adap
txdr->count = E1000_DEFAULT_TXD;
size = txdr->count * sizeof(struct e1000_buffer);
- if (!(txdr->buffer_info = kmalloc(size, GFP_KERNEL))) {
+ if (!(txdr->buffer_info = kzalloc(size, GFP_KERNEL))) {
ret_val = 1;
goto err_nomem;
}
- memset(txdr->buffer_info, 0, size);
txdr->size = txdr->count * sizeof(struct e1000_tx_desc);
E1000_ROUNDUP(txdr->size, 4096);
@@ -1069,11 +1066,10 @@ e1000_setup_desc_rings(struct e1000_adap
rxdr->count = E1000_DEFAULT_RXD;
size = rxdr->count * sizeof(struct e1000_buffer);
- if (!(rxdr->buffer_info = kmalloc(size, GFP_KERNEL))) {
+ if (!(rxdr->buffer_info = kzalloc(size, GFP_KERNEL))) {
ret_val = 4;
goto err_nomem;
}
- memset(rxdr->buffer_info, 0, size);
rxdr->size = rxdr->count * sizeof(struct e1000_rx_desc);
if (!(rxdr->desc = pci_alloc_consistent(pdev, rxdr->size, &rxdr->dma))) {
--- linux-2.6.17-rc1/drivers/net/e1000/e1000_main.c.orig 2006-04-04 12:18:56.000000000 +0200
+++ linux-2.6.17-rc1/drivers/net/e1000/e1000_main.c 2006-04-04 12:47:47.000000000 +0200
@@ -1055,28 +1055,25 @@ e1000_alloc_queues(struct e1000_adapter
int size;
size = sizeof(struct e1000_tx_ring) * adapter->num_tx_queues;
- adapter->tx_ring = kmalloc(size, GFP_KERNEL);
+ adapter->tx_ring = kzalloc(size, GFP_KERNEL);
if (!adapter->tx_ring)
return -ENOMEM;
- memset(adapter->tx_ring, 0, size);
size = sizeof(struct e1000_rx_ring) * adapter->num_rx_queues;
- adapter->rx_ring = kmalloc(size, GFP_KERNEL);
+ adapter->rx_ring = kzalloc(size, GFP_KERNEL);
if (!adapter->rx_ring) {
kfree(adapter->tx_ring);
return -ENOMEM;
}
- memset(adapter->rx_ring, 0, size);
#ifdef CONFIG_E1000_NAPI
size = sizeof(struct net_device) * adapter->num_rx_queues;
- adapter->polling_netdev = kmalloc(size, GFP_KERNEL);
+ adapter->polling_netdev = kzalloc(size, GFP_KERNEL);
if (!adapter->polling_netdev) {
kfree(adapter->tx_ring);
kfree(adapter->rx_ring);
return -ENOMEM;
}
- memset(adapter->polling_netdev, 0, size);
#endif
return E1000_SUCCESS;
@@ -1450,17 +1447,16 @@ e1000_setup_rx_resources(struct e1000_ad
memset(rxdr->buffer_info, 0, size);
size = sizeof(struct e1000_ps_page) * rxdr->count;
- rxdr->ps_page = kmalloc(size, GFP_KERNEL);
+ rxdr->ps_page = kzalloc(size, GFP_KERNEL);
if (!rxdr->ps_page) {
vfree(rxdr->buffer_info);
DPRINTK(PROBE, ERR,
"Unable to allocate memory for the receive descriptor ring\n");
return -ENOMEM;
}
- memset(rxdr->ps_page, 0, size);
size = sizeof(struct e1000_ps_page_dma) * rxdr->count;
- rxdr->ps_page_dma = kmalloc(size, GFP_KERNEL);
+ rxdr->ps_page_dma = kzalloc(size, GFP_KERNEL);
if (!rxdr->ps_page_dma) {
vfree(rxdr->buffer_info);
kfree(rxdr->ps_page);
@@ -1468,7 +1464,6 @@ e1000_setup_rx_resources(struct e1000_ad
"Unable to allocate memory for the receive descriptor ring\n");
return -ENOMEM;
}
- memset(rxdr->ps_page_dma, 0, size);
if (adapter->hw.mac_type <= e1000_82547_rev_2)
desc_len = sizeof(struct e1000_rx_desc);
--- linux-2.6.17-rc1/drivers/net/fs_enet/fs_enet-mii.c.orig 2006-04-04 12:20:25.000000000 +0200
+++ linux-2.6.17-rc1/drivers/net/fs_enet/fs_enet-mii.c 2006-04-04 12:20:36.000000000 +0200
@@ -389,12 +389,11 @@ static struct fs_enet_mii_bus *create_bu
struct fs_enet_mii_bus *bus;
int ret = 0;
- bus = kmalloc(sizeof(*bus), GFP_KERNEL);
+ bus = kzalloc(sizeof(*bus), GFP_KERNEL);
if (bus == NULL) {
ret = -ENOMEM;
goto err;
}
- memset(bus, 0, sizeof(*bus));
spin_lock_init(&bus->mii_lock);
bus->bus_info = bi;
bus->refs = 0;
--- linux-2.6.17-rc1/drivers/net/irda/irda-usb.c.orig 2006-04-04 12:20:47.000000000 +0200
+++ linux-2.6.17-rc1/drivers/net/irda/irda-usb.c 2006-04-04 12:21:17.000000000 +0200
@@ -1344,10 +1344,9 @@ static inline struct irda_class_desc *ir
struct irda_class_desc *desc;
int ret;
- desc = kmalloc(sizeof (*desc), GFP_KERNEL);
+ desc = kzalloc(sizeof (*desc), GFP_KERNEL);
if (desc == NULL)
return NULL;
- memset(desc, 0, sizeof(*desc));
/* USB-IrDA class spec 1.0:
* 6.1.3: Standard "Get Descriptor" Device Request is not
@@ -1496,12 +1495,10 @@ static int irda_usb_probe(struct usb_int
/* Don't change this buffer size and allocation without doing
* some heavy and complete testing. Don't ask why :-(
* Jean II */
- self->speed_buff = (char *) kmalloc(IRDA_USB_SPEED_MTU, GFP_KERNEL);
+ self->speed_buff = kzalloc(IRDA_USB_SPEED_MTU, GFP_KERNEL);
if (self->speed_buff == NULL)
goto err_out_3;
- memset(self->speed_buff, 0, IRDA_USB_SPEED_MTU);
-
ret = irda_usb_open(self);
if (ret)
goto err_out_4;
--- linux-2.6.17-rc1/drivers/net/irda/irtty-sir.c.orig 2006-04-04 12:21:43.000000000 +0200
+++ linux-2.6.17-rc1/drivers/net/irda/irtty-sir.c 2006-04-04 12:22:01.000000000 +0200
@@ -505,10 +505,9 @@ static int irtty_open(struct tty_struct
}
/* allocate private device info block */
- priv = kmalloc(sizeof(*priv), GFP_KERNEL);
+ priv = kzalloc(sizeof(*priv), GFP_KERNEL);
if (!priv)
goto out_put;
- memset(priv, 0, sizeof(*priv));
priv->magic = IRTTY_MAGIC;
priv->tty = tty;
--- linux-2.6.17-rc1/drivers/net/irda/vlsi_ir.c.orig 2006-04-04 12:22:11.000000000 +0200
+++ linux-2.6.17-rc1/drivers/net/irda/vlsi_ir.c 2006-04-04 12:22:53.000000000 +0200
@@ -413,10 +413,9 @@ static struct vlsi_ring *vlsi_alloc_ring
if (!size || ((size-1)&size)!=0) /* must be >0 and power of 2 */
return NULL;
- r = kmalloc(sizeof(*r) + size * sizeof(struct ring_descr), GFP_KERNEL);
+ r = kzalloc(sizeof(*r) + size * sizeof(struct ring_descr), GFP_KERNEL);
if (!r)
return NULL;
- memset(r, 0, sizeof(*r));
r->pdev = pdev;
r->dir = dir;
@@ -429,7 +428,6 @@ static struct vlsi_ring *vlsi_alloc_ring
for (i = 0; i < size; i++) {
rd = r->rd + i;
- memset(rd, 0, sizeof(*rd));
rd->hw = hwmap + i;
rd->buf = kmalloc(len, GFP_KERNEL|GFP_DMA);
if (rd->buf == NULL
--- linux-2.6.17-rc1/drivers/net/iseries_veth.c.orig 2006-04-04 12:23:08.000000000 +0200
+++ linux-2.6.17-rc1/drivers/net/iseries_veth.c 2006-04-04 12:23:49.000000000 +0200
@@ -820,10 +820,9 @@ static int veth_init_connection(u8 rlp)
|| ! HvLpConfig_doLpsCommunicateOnVirtualLan(this_lp, rlp) )
return 0;
- cnx = kmalloc(sizeof(*cnx), GFP_KERNEL);
+ cnx = kzalloc(sizeof(*cnx), GFP_KERNEL);
if (! cnx)
return -ENOMEM;
- memset(cnx, 0, sizeof(*cnx));
cnx->remote_lp = rlp;
spin_lock_init(&cnx->lock);
@@ -850,14 +849,13 @@ static int veth_init_connection(u8 rlp)
if (rc != 0)
return rc;
- msgs = kmalloc(VETH_NUMBUFFERS * sizeof(struct veth_msg), GFP_KERNEL);
+ msgs = kzalloc(VETH_NUMBUFFERS * sizeof(struct veth_msg), GFP_KERNEL);
if (! msgs) {
veth_error("Can't allocate buffers for LPAR %d.\n", rlp);
return -ENOMEM;
}
cnx->msgs = msgs;
- memset(msgs, 0, VETH_NUMBUFFERS * sizeof(struct veth_msg));
for (i = 0; i < VETH_NUMBUFFERS; i++) {
msgs[i].token = i;
--- linux-2.6.17-rc1/drivers/net/lance.c.orig 2006-04-04 12:23:57.000000000 +0200
+++ linux-2.6.17-rc1/drivers/net/lance.c 2006-04-04 12:24:19.000000000 +0200
@@ -532,11 +532,10 @@ static int __init lance_probe1(struct ne
dev->base_addr = ioaddr;
/* Make certain the data structures used by the LANCE are aligned and DMAble. */
- lp = kmalloc(sizeof(*lp), GFP_DMA | GFP_KERNEL);
+ lp = kzalloc(sizeof(*lp), GFP_DMA | GFP_KERNEL);
if(lp==NULL)
return -ENODEV;
if (lance_debug > 6) printk(" (#0x%05lx)", (unsigned long)lp);
- memset(lp, 0, sizeof(*lp));
dev->priv = lp;
lp->name = chipname;
lp->rx_buffs = (unsigned long)kmalloc(PKT_BUF_SZ*RX_RING_SIZE,
--- linux-2.6.17-rc1/drivers/net/loopback.c.orig 2006-04-04 12:24:31.000000000 +0200
+++ linux-2.6.17-rc1/drivers/net/loopback.c 2006-04-04 12:24:49.000000000 +0200
@@ -224,9 +224,8 @@ int __init loopback_init(void)
struct net_device_stats *stats;
/* Can survive without statistics */
- stats = kmalloc(sizeof(struct net_device_stats), GFP_KERNEL);
+ stats = kzalloc(sizeof(struct net_device_stats), GFP_KERNEL);
if (stats) {
- memset(stats, 0, sizeof(struct net_device_stats));
loopback_dev.priv = stats;
loopback_dev.get_stats = &get_stats;
}
--- linux-2.6.17-rc1/drivers/net/mipsnet.c.orig 2006-04-04 12:24:58.000000000 +0200
+++ linux-2.6.17-rc1/drivers/net/mipsnet.c 2006-04-04 12:25:08.000000000 +0200
@@ -323,12 +323,11 @@ static int __init mipsnet_init_module(vo
goto out;
}
- if (!(pldev = kmalloc (sizeof (*pldev), GFP_KERNEL))) {
+ if (!(pldev = kzalloc (sizeof (*pldev), GFP_KERNEL))) {
err = -ENOMEM;
goto out_unregister_driver;
}
- memset (pldev, 0, sizeof (*pldev));
pldev->name = mipsnet_string;
pldev->id = 0;
pldev->dev.release = mipsnet_platform_release;
--- linux-2.6.17-rc1/drivers/net/pcmcia/ibmtr_cs.c.orig 2006-04-04 12:25:34.000000000 +0200
+++ linux-2.6.17-rc1/drivers/net/pcmcia/ibmtr_cs.c 2006-04-04 12:25:43.000000000 +0200
@@ -146,9 +146,8 @@ static int ibmtr_attach(struct pcmcia_de
DEBUG(0, "ibmtr_attach()\n");
/* Create new token-ring device */
- info = kmalloc(sizeof(*info), GFP_KERNEL);
+ info = kzalloc(sizeof(*info), GFP_KERNEL);
if (!info) return -ENOMEM;
- memset(info,0,sizeof(*info));
dev = alloc_trdev(sizeof(struct tok_info));
if (!dev) {
kfree(info);
--- linux-2.6.17-rc1/drivers/net/ppp_async.c.orig 2006-04-04 12:25:57.000000000 +0200
+++ linux-2.6.17-rc1/drivers/net/ppp_async.c 2006-04-04 12:26:06.000000000 +0200
@@ -159,12 +159,11 @@ ppp_asynctty_open(struct tty_struct *tty
int err;
err = -ENOMEM;
- ap = kmalloc(sizeof(*ap), GFP_KERNEL);
+ ap = kzalloc(sizeof(*ap), GFP_KERNEL);
if (ap == 0)
goto out;
/* initialize the asyncppp structure */
- memset(ap, 0, sizeof(*ap));
ap->tty = tty;
ap->mru = PPP_MRU;
spin_lock_init(&ap->xmit_lock);
--- linux-2.6.17-rc1/drivers/net/ppp_deflate.c.orig 2006-04-04 12:26:14.000000000 +0200
+++ linux-2.6.17-rc1/drivers/net/ppp_deflate.c 2006-04-04 12:26:50.000000000 +0200
@@ -121,12 +121,10 @@ static void *z_comp_alloc(unsigned char
if (w_size < DEFLATE_MIN_SIZE || w_size > DEFLATE_MAX_SIZE)
return NULL;
- state = (struct ppp_deflate_state *) kmalloc(sizeof(*state),
- GFP_KERNEL);
+ state = kzalloc(sizeof(*state), GFP_KERNEL);
if (state == NULL)
return NULL;
- memset (state, 0, sizeof (struct ppp_deflate_state));
state->strm.next_in = NULL;
state->w_size = w_size;
state->strm.workspace = vmalloc(zlib_deflate_workspacesize());
@@ -341,11 +339,10 @@ static void *z_decomp_alloc(unsigned cha
if (w_size < DEFLATE_MIN_SIZE || w_size > DEFLATE_MAX_SIZE)
return NULL;
- state = (struct ppp_deflate_state *) kmalloc(sizeof(*state), GFP_KERNEL);
+ state = kzalloc(sizeof(*state), GFP_KERNEL);
if (state == NULL)
return NULL;
- memset (state, 0, sizeof (struct ppp_deflate_state));
state->w_size = w_size;
state->strm.next_out = NULL;
state->strm.workspace = kmalloc(zlib_inflate_workspacesize(),
--- linux-2.6.17-rc1/drivers/net/ppp_generic.c.orig 2006-04-04 12:26:58.000000000 +0200
+++ linux-2.6.17-rc1/drivers/net/ppp_generic.c 2006-04-04 12:27:59.000000000 +0200
@@ -2006,10 +2006,9 @@ ppp_register_channel(struct ppp_channel
{
struct channel *pch;
- pch = kmalloc(sizeof(struct channel), GFP_KERNEL);
+ pch = kzalloc(sizeof(struct channel), GFP_KERNEL);
if (pch == 0)
return -ENOMEM;
- memset(pch, 0, sizeof(struct channel));
pch->ppp = NULL;
pch->chan = chan;
chan->ppp = pch;
@@ -2419,13 +2418,12 @@ ppp_create_interface(int unit, int *retp
int ret = -ENOMEM;
int i;
- ppp = kmalloc(sizeof(struct ppp), GFP_KERNEL);
+ ppp = kzalloc(sizeof(struct ppp), GFP_KERNEL);
if (!ppp)
goto out;
dev = alloc_netdev(0, "", ppp_setup);
if (!dev)
goto out1;
- memset(ppp, 0, sizeof(struct ppp));
ppp->mru = PPP_MRU;
init_ppp_file(&ppp->file, INTERFACE);
@@ -2717,8 +2715,7 @@ static void cardmap_set(struct cardmap *
if (p == NULL || (nr >> p->shift) >= CARDMAP_WIDTH) {
do {
/* need a new top level */
- struct cardmap *np = kmalloc(sizeof(*np), GFP_KERNEL);
- memset(np, 0, sizeof(*np));
+ struct cardmap *np = kzalloc(sizeof(*np), GFP_KERNEL);
np->ptr[0] = p;
if (p != NULL) {
np->shift = p->shift + CARDMAP_ORDER;
@@ -2732,8 +2729,7 @@ static void cardmap_set(struct cardmap *
while (p->shift > 0) {
i = (nr >> p->shift) & CARDMAP_MASK;
if (p->ptr[i] == NULL) {
- struct cardmap *np = kmalloc(sizeof(*np), GFP_KERNEL);
- memset(np, 0, sizeof(*np));
+ struct cardmap *np = kzalloc(sizeof(*np), GFP_KERNEL);
np->shift = p->shift - CARDMAP_ORDER;
np->parent = p;
p->ptr[i] = np;
--- linux-2.6.17-rc1/drivers/net/ppp_mppe.c.orig 2006-04-04 12:28:10.000000000 +0200
+++ linux-2.6.17-rc1/drivers/net/ppp_mppe.c 2006-04-04 12:28:24.000000000 +0200
@@ -191,12 +191,10 @@ static void *mppe_alloc(unsigned char *o
|| options[0] != CI_MPPE || options[1] != CILEN_MPPE)
goto out;
- state = (struct ppp_mppe_state *) kmalloc(sizeof(*state), GFP_KERNEL);
+ state = kzalloc(sizeof(*state), GFP_KERNEL);
if (state == NULL)
goto out;
- memset(state, 0, sizeof(*state));
-
state->arc4 = crypto_alloc_tfm("arc4", 0);
if (!state->arc4)
goto out_free;
--- linux-2.6.17-rc1/drivers/net/ppp_synctty.c.orig 2006-04-04 12:28:31.000000000 +0200
+++ linux-2.6.17-rc1/drivers/net/ppp_synctty.c 2006-04-04 12:28:47.000000000 +0200
@@ -207,13 +207,12 @@ ppp_sync_open(struct tty_struct *tty)
struct syncppp *ap;
int err;
- ap = kmalloc(sizeof(*ap), GFP_KERNEL);
+ ap = kzalloc(sizeof(*ap), GFP_KERNEL);
err = -ENOMEM;
if (ap == 0)
goto out;
/* initialize the syncppp structure */
- memset(ap, 0, sizeof(*ap));
ap->tty = tty;
ap->mru = PPP_MRU;
spin_lock_init(&ap->xmit_lock);
--- linux-2.6.17-rc1/drivers/net/s2io.c.orig 2006-04-04 12:28:55.000000000 +0200
+++ linux-2.6.17-rc1/drivers/net/s2io.c 2006-04-04 12:29:56.000000000 +0200
@@ -407,14 +407,13 @@ static int init_shared_mem(struct s2io_n
for (i = 0; i < config->tx_fifo_num; i++) {
int fifo_len = config->tx_cfg[i].fifo_len;
int list_holder_size = fifo_len * sizeof(list_info_hold_t);
- mac_control->fifos[i].list_info = kmalloc(list_holder_size,
+ mac_control->fifos[i].list_info = kzalloc(list_holder_size,
GFP_KERNEL);
if (!mac_control->fifos[i].list_info) {
DBG_PRINT(ERR_DBG,
"Malloc failed for list_info\n");
return -ENOMEM;
}
- memset(mac_control->fifos[i].list_info, 0, list_holder_size);
}
for (i = 0; i < config->tx_fifo_num; i++) {
int page_num = TXD_MEM_PAGE_CNT(config->tx_cfg[i].fifo_len,
@@ -3229,24 +3228,21 @@ static int s2io_enable_msi_x(nic_t *nic)
u16 msi_control; /* Temp variable */
int ret, i, j, msix_indx = 1;
- nic->entries = kmalloc(MAX_REQUESTED_MSI_X * sizeof(struct msix_entry),
+ nic->entries = kzalloc(MAX_REQUESTED_MSI_X * sizeof(struct msix_entry),
GFP_KERNEL);
if (nic->entries == NULL) {
DBG_PRINT(ERR_DBG, "%s: Memory allocation failed\n", __FUNCTION__);
return -ENOMEM;
}
- memset(nic->entries, 0, MAX_REQUESTED_MSI_X * sizeof(struct msix_entry));
nic->s2io_entries =
- kmalloc(MAX_REQUESTED_MSI_X * sizeof(struct s2io_msix_entry),
+ kzalloc(MAX_REQUESTED_MSI_X * sizeof(struct s2io_msix_entry),
GFP_KERNEL);
if (nic->s2io_entries == NULL) {
DBG_PRINT(ERR_DBG, "%s: Memory allocation failed\n", __FUNCTION__);
kfree(nic->entries);
return -ENOMEM;
}
- memset(nic->s2io_entries, 0,
- MAX_REQUESTED_MSI_X * sizeof(struct s2io_msix_entry));
for (i=0; i< MAX_REQUESTED_MSI_X; i++) {
nic->entries[i].entry = i;
--- linux-2.6.17-rc1/drivers/net/sb1250-mac.c.orig 2006-04-04 12:30:04.000000000 +0200
+++ linux-2.6.17-rc1/drivers/net/sb1250-mac.c 2006-04-04 12:30:51.000000000 +0200
@@ -757,9 +757,8 @@ static void sbdma_initctx(sbmacdma_t *d,
*/
d->sbdma_ctxtable = (struct sk_buff **)
- kmalloc(d->sbdma_maxdescr*sizeof(struct sk_buff *), GFP_KERNEL);
-
- memset(d->sbdma_ctxtable,0,d->sbdma_maxdescr*sizeof(struct sk_buff *));
+ kcalloc(d->sbdma_maxdescr, sizeof(struct sk_buff *),
+ GFP_KERNEL);
#ifdef CONFIG_SBMAC_COALESCE
/*
--- linux-2.6.17-rc1/drivers/net/shaper.c.orig 2006-04-04 12:31:00.000000000 +0200
+++ linux-2.6.17-rc1/drivers/net/shaper.c 2006-04-04 12:31:10.000000000 +0200
@@ -601,10 +601,9 @@ static int __init shaper_init(void)
return -ENODEV;
alloc_size = sizeof(*dev) * shapers;
- devs = kmalloc(alloc_size, GFP_KERNEL);
+ devs = kzalloc(alloc_size, GFP_KERNEL);
if (!devs)
return -ENOMEM;
- memset(devs, 0, alloc_size);
for (i = 0; i < shapers; i++) {
--- linux-2.6.17-rc1/drivers/net/slhc.c.orig 2006-04-04 12:31:21.000000000 +0200
+++ linux-2.6.17-rc1/drivers/net/slhc.c 2006-04-04 12:31:56.000000000 +0200
@@ -95,27 +95,23 @@ slhc_init(int rslots, int tslots)
register struct cstate *ts;
struct slcompress *comp;
- comp = (struct slcompress *)kmalloc(sizeof(struct slcompress),
- GFP_KERNEL);
+ comp = kzalloc(sizeof(struct slcompress), GFP_KERNEL);
if (! comp)
goto out_fail;
- memset(comp, 0, sizeof(struct slcompress));
if ( rslots > 0 && rslots < 256 ) {
size_t rsize = rslots * sizeof(struct cstate);
- comp->rstate = (struct cstate *) kmalloc(rsize, GFP_KERNEL);
+ comp->rstate = kzalloc(rsize, GFP_KERNEL);
if (! comp->rstate)
goto out_free;
- memset(comp->rstate, 0, rsize);
comp->rslot_limit = rslots - 1;
}
if ( tslots > 0 && tslots < 256 ) {
size_t tsize = tslots * sizeof(struct cstate);
- comp->tstate = (struct cstate *) kmalloc(tsize, GFP_KERNEL);
+ comp->tstate = kzalloc(tsize, GFP_KERNEL);
if (! comp->tstate)
goto out_free2;
- memset(comp->tstate, 0, tsize);
comp->tslot_limit = tslots - 1;
}
--- linux-2.6.17-rc1/drivers/net/via-velocity.c.orig 2006-04-04 12:32:12.000000000 +0200
+++ linux-2.6.17-rc1/drivers/net/via-velocity.c 2006-04-04 12:32:45.000000000 +0200
@@ -1072,10 +1072,9 @@ static int velocity_init_rd_ring(struct
unsigned int rsize = sizeof(struct velocity_rd_info) *
vptr->options.numrx;
- vptr->rd_info = kmalloc(rsize, GFP_KERNEL);
+ vptr->rd_info = kzalloc(rsize, GFP_KERNEL);
if(vptr->rd_info == NULL)
goto out;
- memset(vptr->rd_info, 0, rsize);
vptr->rd_filled = vptr->rd_dirty = vptr->rd_curr = 0;
@@ -1146,14 +1145,13 @@ static int velocity_init_td_ring(struct
for (j = 0; j < vptr->num_txq; j++) {
curr = vptr->td_pool_dma[j];
- vptr->td_infos[j] = kmalloc(tsize, GFP_KERNEL);
+ vptr->td_infos[j] = kzalloc(tsize, GFP_KERNEL);
if(vptr->td_infos[j] == NULL)
{
while(--j >= 0)
kfree(vptr->td_infos[j]);
return -ENOMEM;
}
- memset(vptr->td_infos[j], 0, tsize);
for (i = 0; i < vptr->options.numtx; i++, curr += sizeof(struct tx_desc)) {
td = &(vptr->td_rings[j][i]);
--- linux-2.6.17-rc1/drivers/net/wan/c101.c.orig 2006-04-04 12:32:57.000000000 +0200
+++ linux-2.6.17-rc1/drivers/net/wan/c101.c 2006-04-04 12:33:08.000000000 +0200
@@ -309,12 +309,11 @@ static int __init c101_run(unsigned long
return -ENODEV;
}
- card = kmalloc(sizeof(card_t), GFP_KERNEL);
+ card = kzalloc(sizeof(card_t), GFP_KERNEL);
if (card == NULL) {
printk(KERN_ERR "c101: unable to allocate memory\n");
return -ENOBUFS;
}
- memset(card, 0, sizeof(card_t));
card->dev = alloc_hdlcdev(card);
if (!card->dev) {
--- linux-2.6.17-rc1/drivers/net/wan/cosa.c.orig 2006-04-04 12:33:19.000000000 +0200
+++ linux-2.6.17-rc1/drivers/net/wan/cosa.c 2006-04-04 12:33:47.000000000 +0200
@@ -587,13 +587,12 @@ static int cosa_probe(int base, int irq,
sprintf(cosa->name, "cosa%d", cosa->num);
/* Initialize the per-channel data */
- cosa->chan = kmalloc(sizeof(struct channel_data)*cosa->nchannels,
+ cosa->chan = kcalloc(cosa->nchannels, sizeof(struct channel_data),
GFP_KERNEL);
if (!cosa->chan) {
err = -ENOMEM;
goto err_out3;
}
- memset(cosa->chan, 0, sizeof(struct channel_data)*cosa->nchannels);
for (i=0; i<cosa->nchannels; i++) {
cosa->chan[i].cosa = cosa;
cosa->chan[i].num = i;
--- linux-2.6.17-rc1/drivers/net/wan/cycx_main.c.orig 2006-04-04 12:33:56.000000000 +0200
+++ linux-2.6.17-rc1/drivers/net/wan/cycx_main.c 2006-04-04 12:34:20.000000000 +0200
@@ -114,13 +114,11 @@ static int __init cycx_init(void)
/* Verify number of cards and allocate adapter data space */
cycx_ncards = min_t(int, cycx_ncards, CYCX_MAX_CARDS);
cycx_ncards = max_t(int, cycx_ncards, 1);
- cycx_card_array = kmalloc(sizeof(struct cycx_device) * cycx_ncards,
+ cycx_card_array = kcalloc(cycx_ncards, sizeof(struct cycx_device),
GFP_KERNEL);
if (!cycx_card_array)
goto out;
- memset(cycx_card_array, 0, sizeof(struct cycx_device) * cycx_ncards);
-
/* Register adapters with WAN router */
for (cnt = 0; cnt < cycx_ncards; ++cnt) {
struct cycx_device *card = &cycx_card_array[cnt];
--- linux-2.6.17-rc1/drivers/net/wan/cycx_x25.c.orig 2006-04-04 12:34:28.000000000 +0200
+++ linux-2.6.17-rc1/drivers/net/wan/cycx_x25.c 2006-04-04 12:34:51.000000000 +0200
@@ -376,11 +376,10 @@ static int cycx_wan_new_if(struct wan_de
}
/* allocate and initialize private data */
- chan = kmalloc(sizeof(struct cycx_x25_channel), GFP_KERNEL);
+ chan = kzalloc(sizeof(struct cycx_x25_channel), GFP_KERNEL);
if (!chan)
return -ENOMEM;
- memset(chan, 0, sizeof(*chan));
strcpy(chan->name, conf->name);
chan->card = card;
chan->link = conf->port;
--- linux-2.6.17-rc1/drivers/net/wan/dscc4.c.orig 2006-04-04 12:35:00.000000000 +0200
+++ linux-2.6.17-rc1/drivers/net/wan/dscc4.c 2006-04-04 12:35:34.000000000 +0200
@@ -890,12 +890,11 @@ static int dscc4_found1(struct pci_dev *
struct dscc4_dev_priv *root;
int i, ret = -ENOMEM;
- root = kmalloc(dev_per_card*sizeof(*root), GFP_KERNEL);
+ root = kcalloc(dev_per_card, sizeof(*root), GFP_KERNEL);
if (!root) {
printk(KERN_ERR "%s: can't allocate data\n", DRV_NAME);
goto err_out;
}
- memset(root, 0, dev_per_card*sizeof(*root));
for (i = 0; i < dev_per_card; i++) {
root[i].dev = alloc_hdlcdev(root + i);
@@ -903,12 +902,11 @@ static int dscc4_found1(struct pci_dev *
goto err_free_dev;
}
- ppriv = kmalloc(sizeof(*ppriv), GFP_KERNEL);
+ ppriv = kzalloc(sizeof(*ppriv), GFP_KERNEL);
if (!ppriv) {
printk(KERN_ERR "%s: can't allocate private data\n", DRV_NAME);
goto err_free_dev;
}
- memset(ppriv, 0, sizeof(struct dscc4_pci_priv));
ppriv->root = root;
spin_lock_init(&ppriv->lock);
--- linux-2.6.17-rc1/drivers/net/wan/farsync.c.orig 2006-04-04 12:35:43.000000000 +0200
+++ linux-2.6.17-rc1/drivers/net/wan/farsync.c 2006-04-04 12:35:54.000000000 +0200
@@ -2476,13 +2476,12 @@ fst_add_one(struct pci_dev *pdev, const
}
/* Allocate driver private data */
- card = kmalloc(sizeof (struct fst_card_info), GFP_KERNEL);
+ card = kzalloc(sizeof (struct fst_card_info), GFP_KERNEL);
if (card == NULL) {
printk_err("FarSync card found but insufficient memory for"
" driver storage\n");
return -ENOMEM;
}
- memset(card, 0, sizeof (struct fst_card_info));
/* Try to enable the device */
if ((err = pci_enable_device(pdev)) != 0) {
--- linux-2.6.17-rc1/drivers/net/wan/hdlc_fr.c.orig 2006-04-04 12:36:06.000000000 +0200
+++ linux-2.6.17-rc1/drivers/net/wan/hdlc_fr.c 2006-04-04 12:36:21.000000000 +0200
@@ -159,11 +159,10 @@ static inline pvc_device* add_pvc(struct
pvc_p = &(*pvc_p)->next;
}
- pvc = kmalloc(sizeof(pvc_device), GFP_ATOMIC);
+ pvc = kzalloc(sizeof(pvc_device), GFP_ATOMIC);
if (!pvc)
return NULL;
- memset(pvc, 0, sizeof(pvc_device));
pvc->dlci = dlci;
pvc->master = dev;
pvc->next = *pvc_p; /* Put it in the chain */
--- linux-2.6.17-rc1/drivers/net/wan/hostess_sv11.c.orig 2006-04-04 12:36:28.000000000 +0200
+++ linux-2.6.17-rc1/drivers/net/wan/hostess_sv11.c 2006-04-04 12:36:46.000000000 +0200
@@ -231,11 +231,10 @@ static struct sv11_device *sv11_init(int
return NULL;
}
- sv=(struct sv11_device *)kmalloc(sizeof(struct sv11_device), GFP_KERNEL);
+ sv = kzalloc(sizeof(struct sv11_device), GFP_KERNEL);
if(!sv)
goto fail3;
- memset(sv, 0, sizeof(*sv));
sv->if_ptr=&sv->netdev;
sv->netdev.dev = alloc_netdev(0, "hdlc%d", sv11_setup);
--- linux-2.6.17-rc1/drivers/net/wan/n2.c.orig 2006-04-04 12:36:55.000000000 +0200
+++ linux-2.6.17-rc1/drivers/net/wan/n2.c 2006-04-04 12:37:02.000000000 +0200
@@ -351,12 +351,11 @@ static int __init n2_run(unsigned long i
return -ENODEV;
}
- card = kmalloc(sizeof(card_t), GFP_KERNEL);
+ card = kzalloc(sizeof(card_t), GFP_KERNEL);
if (card == NULL) {
printk(KERN_ERR "n2: unable to allocate memory\n");
return -ENOBUFS;
}
- memset(card, 0, sizeof(card_t));
card->ports[0].dev = alloc_hdlcdev(&card->ports[0]);
card->ports[1].dev = alloc_hdlcdev(&card->ports[1]);
--- linux-2.6.17-rc1/drivers/net/wan/sdla.c.orig 2006-04-04 12:37:10.000000000 +0200
+++ linux-2.6.17-rc1/drivers/net/wan/sdla.c 2006-04-04 12:37:30.000000000 +0200
@@ -1203,10 +1203,9 @@ static int sdla_xfer(struct net_device *
if (read)
{
- temp = kmalloc(mem.len, GFP_KERNEL);
+ temp = kzalloc(mem.len, GFP_KERNEL);
if (!temp)
return(-ENOMEM);
- memset(temp, 0, mem.len);
sdla_read(dev, mem.addr, temp, mem.len);
if(copy_to_user(mem.data, temp, mem.len))
{
--- linux-2.6.17-rc1/drivers/net/wan/sdla_chdlc.c.orig 2006-04-04 12:37:38.000000000 +0200
+++ linux-2.6.17-rc1/drivers/net/wan/sdla_chdlc.c 2006-04-04 12:37:56.000000000 +0200
@@ -679,13 +679,11 @@ static int new_if(struct wan_device* wan
}
/* allocate and initialize private data */
- chdlc_priv_area = kmalloc(sizeof(chdlc_private_area_t), GFP_KERNEL);
+ chdlc_priv_area = kzalloc(sizeof(chdlc_private_area_t), GFP_KERNEL);
if(chdlc_priv_area == NULL)
return -ENOMEM;
- memset(chdlc_priv_area, 0, sizeof(chdlc_private_area_t));
-
chdlc_priv_area->card = card;
chdlc_priv_area->common.sk = NULL;
chdlc_priv_area->common.func = NULL;
--- linux-2.6.17-rc1/drivers/net/wan/sdla_fr.c.orig 2006-04-04 12:38:09.000000000 +0200
+++ linux-2.6.17-rc1/drivers/net/wan/sdla_fr.c 2006-04-04 12:38:42.000000000 +0200
@@ -812,12 +812,11 @@ static int new_if(struct wan_device* wan
}
/* allocate and initialize private data */
- chan = kmalloc(sizeof(fr_channel_t), GFP_KERNEL);
+ chan = kzalloc(sizeof(fr_channel_t), GFP_KERNEL);
if (chan == NULL)
return -ENOMEM;
- memset(chan, 0, sizeof(fr_channel_t));
strcpy(chan->name, conf->name);
chan->card = card;
@@ -1214,8 +1213,7 @@ static int if_open(struct net_device* de
INIT_WORK(&chan->common.wanpipe_work, (void *)fr_bh, dev);
/* Allocate and initialize BH circular buffer */
- chan->bh_head = kmalloc((sizeof(bh_data_t)*MAX_BH_BUFF),GFP_ATOMIC);
- memset(chan->bh_head,0,(sizeof(bh_data_t)*MAX_BH_BUFF));
+ chan->bh_head = kzalloc((sizeof(bh_data_t)*MAX_BH_BUFF),GFP_ATOMIC);
atomic_set(&chan->bh_buff_used, 0);
netif_start_queue(dev);
--- linux-2.6.17-rc1/drivers/net/wan/sdla_ppp.c.orig 2006-04-04 12:38:49.000000000 +0200
+++ linux-2.6.17-rc1/drivers/net/wan/sdla_ppp.c 2006-04-04 12:39:19.000000000 +0200
@@ -528,13 +528,11 @@ static int new_if(struct wan_device *wan
}
/* allocate and initialize private data */
- ppp_priv_area = kmalloc(sizeof(ppp_private_area_t), GFP_KERNEL);
+ ppp_priv_area = kzalloc(sizeof(ppp_private_area_t), GFP_KERNEL);
if( ppp_priv_area == NULL )
return -ENOMEM;
- memset(ppp_priv_area, 0, sizeof(ppp_private_area_t));
-
ppp_priv_area->card = card;
/* initialize data */
--- linux-2.6.17-rc1/drivers/net/wan/sdla_x25.c.orig 2006-04-04 12:39:26.000000000 +0200
+++ linux-2.6.17-rc1/drivers/net/wan/sdla_x25.c 2006-04-04 12:40:11.000000000 +0200
@@ -926,13 +926,11 @@ static int new_if(struct wan_device* wan
}
/* allocate and initialize private data */
- chan = kmalloc(sizeof(x25_channel_t), GFP_ATOMIC);
+ chan = kzalloc(sizeof(x25_channel_t), GFP_ATOMIC);
if (chan == NULL){
return -ENOMEM;
}
- memset(chan, 0, sizeof(x25_channel_t));
-
/* Bug Fix: Seg Err on PVC startup
* It must be here since bind_lcn_to_dev expects
* it bellow */
@@ -1194,7 +1192,7 @@ static int if_open(struct net_device* de
/* Allocate and initialize BH circular buffer */
/* Add 1 to MAX_BH_BUFF so we don't have test with (MAX_BH_BUFF-1) */
- chan->bh_head = kmalloc((sizeof(bh_data_t)*(MAX_BH_BUFF+1)),GFP_ATOMIC);
+ chan->bh_head = kzalloc((sizeof(bh_data_t)*(MAX_BH_BUFF+1)),GFP_ATOMIC);
if (chan->bh_head == NULL){
printk(KERN_INFO "%s: ERROR, failed to allocate memory ! BH_BUFFERS !\n",
@@ -1202,7 +1200,6 @@ static int if_open(struct net_device* de
return -ENOBUFS;
}
- memset(chan->bh_head,0,(sizeof(bh_data_t)*(MAX_BH_BUFF+1)));
atomic_set(&chan->bh_buff_used, 0);
/* Increment the number of interfaces */
--- linux-2.6.17-rc1/drivers/net/wan/sdlamain.c.orig 2006-04-04 12:40:20.000000000 +0200
+++ linux-2.6.17-rc1/drivers/net/wan/sdlamain.c 2006-04-04 12:40:43.000000000 +0200
@@ -257,14 +257,12 @@ static int __init wanpipe_init(void)
}
/* Verify number of cards and allocate adapter data space */
- card_array = kmalloc(sizeof(sdla_t) * ncards, GFP_KERNEL);
+ card_array = kcalloc(ncards, sizeof(sdla_t), GFP_KERNEL);
if (card_array == NULL) {
destroy_workqueue(wanpipe_wq);
return -ENOMEM;
}
- memset(card_array, 0, sizeof(sdla_t) * ncards);
-
/* Register adapters with WAN router */
for (cnt = 0; cnt < ncards; ++ cnt) {
sdla_t* card = &card_array[cnt];
--- linux-2.6.17-rc1/drivers/net/wan/sealevel.c.orig 2006-04-04 12:40:51.000000000 +0200
+++ linux-2.6.17-rc1/drivers/net/wan/sealevel.c 2006-04-04 12:41:01.000000000 +0200
@@ -270,11 +270,10 @@ static __init struct slvl_board *slvl_in
return NULL;
}
- b = kmalloc(sizeof(struct slvl_board), GFP_KERNEL);
+ b = kzalloc(sizeof(struct slvl_board), GFP_KERNEL);
if(!b)
goto fail3;
- memset(b, 0, sizeof(*b));
if (!(b->dev[0]= slvl_alloc(iobase, irq)))
goto fail2;
--- linux-2.6.17-rc1/drivers/net/wan/wanpipe_multppp.c.orig 2006-04-04 12:41:10.000000000 +0200
+++ linux-2.6.17-rc1/drivers/net/wan/wanpipe_multppp.c 2006-04-04 12:41:22.000000000 +0200
@@ -539,13 +539,11 @@ static int new_if(struct wan_device* wan
}
/* allocate and initialize private data */
- chdlc_priv_area = kmalloc(sizeof(chdlc_private_area_t), GFP_KERNEL);
+ chdlc_priv_area = kzalloc(sizeof(chdlc_private_area_t), GFP_KERNEL);
if(chdlc_priv_area == NULL)
return -ENOMEM;
- memset(chdlc_priv_area, 0, sizeof(chdlc_private_area_t));
-
chdlc_priv_area->card = card;
/* initialize data */
[-- Attachment #2: Type: text/plain, Size: 168 bytes --]
_______________________________________________
Kernel-janitors mailing list
Kernel-janitors@lists.osdl.org
https://lists.osdl.org/mailman/listinfo/kernel-janitors
^ permalink raw reply
* Re: [RFC: 2.6 patch] remove drivers/net/hydra.h
From: Geert Uytterhoeven @ 2006-04-04 16:49 UTC (permalink / raw)
To: Adrian Bunk
Cc: Ciaran Farrell, Linux Kernel Development, netdev, Jeff Garzik,
linux-m68k
In-Reply-To: <20060404162948.GM6529@stusta.de>
On Tue, 4 Apr 2006, Adrian Bunk wrote:
> On Tue, Apr 04, 2006 at 03:27:59PM +0200, Ciaran Farrell wrote:
> > We were discussing this topic again and thought it should be reported here. As
> > you are probably aware, the file
> >
> > linux-2.6.16.tar.bz2/linux-2.6.16/drivers/net/hydra.h
> >
> > contains a BSD 4 license.
> >...
>
> The interesting point is that the file seems to be complete unused.
Apparently we forgot to remove it, when hydra.c was rewritten back in 2000 and
started to rely on 8390.h instead.
> Are there any objections against the patch below to simply remove it?
No.
> > cheers
> >
> > CFarrell
>
> cu
> Adrian
>
>
> <-- snip -->
>
>
> This patch removes drivers/net/hydra.h that is both unused and covered
> by a 4 clause BSD licence (not by the UCB).
>
> Signed-off-by: Adrian Bunk <bunk@stusta.de>
Acked-By: Geert Uytterhoeven <geert@linux-m68k.org>
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply
* bcm43xx_power.c: uninitialized variable used
From: Adrian Bunk @ 2006-04-04 18:44 UTC (permalink / raw)
To: Martin Langer, Stefano Brivio, Michael Buesch, Danny van Dyk,
Andreas Jaggi
Cc: jgarzik, netdev, linux-kernel, linville
The Coverity checker found this case where the variable "tmp" is used
uninitialized:
<-- snip -->
...
static int bcm43xx_pctl_clockfreqlimit(struct bcm43xx_private *bcm,
int get_max)
{
int limit = 0;
int divisor;
int selection;
int err;
u32 tmp;
struct bcm43xx_coreinfo *old_core;
if (!(bcm->chipcommon_capabilities & BCM43xx_CAPABILITIES_PCTL))
goto out;
old_core = bcm->current_core;
err = bcm43xx_switch_core(bcm, &bcm->core_chipcommon);
if (err)
goto out;
if (bcm->current_core->rev < 6) {
...
} else if (bcm->current_core->rev < 10) {
selection = (tmp & 0x07);
...
<-- snip -->
cu
Adrian
--
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed
^ permalink raw reply
* bcm43xx_sysfs.c: strange code
From: Adrian Bunk @ 2006-04-04 18:44 UTC (permalink / raw)
To: Michael Buesch; +Cc: jgarzik, netdev, linux-kernel, linville
The Coverity checker spotted the following strange code:
<-- snip -->
static ssize_t bcm43xx_attr_interfmode_show(struct device *dev,
struct device_attribute *attr,
char *buf)
{
...
err = 0;
bcm43xx_unlock(bcm, flags);
return err ? err : count;
}
...
static ssize_t bcm43xx_attr_preamble_show(struct device *dev,
struct device_attribute *attr,
char *buf)
{
...
err = 0;
bcm43xx_unlock(bcm, flags);
return err ? err : count;
}
...
static ssize_t bcm43xx_attr_preamble_store(struct device *dev,
struct device_attribute *attr,
const char *buf, size_t count)
{
...
err = 0;
bcm43xx_unlock(bcm, flags);
return err ? err : count;
}
...
<-- snip -->
cu
Adrian
--
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed
^ permalink raw reply
* [2.6 patch] bcm43xx_phy.c: fix a memory leak
From: Adrian Bunk @ 2006-04-04 18:56 UTC (permalink / raw)
To: Martin Langer, Stefano Brivio, Michael Buesch, Danny van Dyk,
Andreas Jaggi
Cc: jgarzik, netdev, linux-kernel, linville
This patch fixes a memory leak spotted by the Coverity checker.
Signed-off-by: Adrian Bunk <bunk@stusta.de>
---
drivers/net/wireless/bcm43xx/bcm43xx_phy.c | 1 +
1 file changed, 1 insertion(+)
--- linux-2.6.17-rc1-mm1-full/drivers/net/wireless/bcm43xx/bcm43xx_phy.c.old 2006-04-04 19:43:04.000000000 +0200
+++ linux-2.6.17-rc1-mm1-full/drivers/net/wireless/bcm43xx/bcm43xx_phy.c 2006-04-04 19:43:38.000000000 +0200
@@ -2143,22 +2143,23 @@ int bcm43xx_phy_init_tssi2dbm_table(stru
dyn_tssi2dbm = kmalloc(64, GFP_KERNEL);
if (dyn_tssi2dbm == NULL) {
printk(KERN_ERR PFX "Could not allocate memory"
"for tssi2dbm table\n");
return -ENOMEM;
}
for (idx = 0; idx < 64; idx++)
if (bcm43xx_tssi2dbm_entry(dyn_tssi2dbm, idx, pab0, pab1, pab2)) {
phy->tssi2dbm = NULL;
printk(KERN_ERR PFX "Could not generate "
"tssi2dBm table\n");
+ kfree(dyn_tssi2dbm);
return -ENODEV;
}
phy->tssi2dbm = dyn_tssi2dbm;
phy->dyn_tssi_tbl = 1;
} else {
/* pabX values not set in SPROM. */
switch (phy->type) {
case BCM43xx_PHYTYPE_A:
/* APHY needs a generated table. */
phy->tssi2dbm = NULL;
printk(KERN_ERR PFX "Could not generate tssi2dBm "
^ permalink raw reply
* [2.6 patch] net/core/net-sysfs.c: fix an off-by-21-or-49 error
From: Adrian Bunk @ 2006-04-04 19:07 UTC (permalink / raw)
To: netdev; +Cc: linux-kernel
This patch fixes an off-by-21-or-49 error ;-) spotted by the Coverity
checker.
Signed-off-by: Adrian Bunk <bunk@stusta.de>
--- linux-2.6.17-rc1-mm1-full/net/core/net-sysfs.c.old 2006-04-04 20:36:32.000000000 +0200
+++ linux-2.6.17-rc1-mm1-full/net/core/net-sysfs.c 2006-04-04 20:36:49.000000000 +0200
@@ -165,7 +165,7 @@ static ssize_t show_operstate(struct cla
operstate = IF_OPER_DOWN;
read_unlock(&dev_base_lock);
- if (operstate >= sizeof(operstates))
+ if (operstate >= ARRAY_SIZE(operstates))
return -EINVAL; /* should not happen */
return sprintf(buf, "%s\n", operstates[operstate]);
^ permalink raw reply
* [2.6 patch] drivers/net/tg3.c: fix a memory leak
From: Adrian Bunk @ 2006-04-04 19:09 UTC (permalink / raw)
To: netdev; +Cc: linux-kernel
This patch fixes a memory leak (buf wasn't freed) spotted by the
Coverity checker.
Signed-off-by: Adrian Bunk <bunk@stusta.de>
---
drivers/net/tg3.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
--- linux-2.6.17-rc1-mm1-full/drivers/net/tg3.c.old 2006-04-04 19:53:24.000000000 +0200
+++ linux-2.6.17-rc1-mm1-full/drivers/net/tg3.c 2006-04-04 19:54:40.000000000 +0200
@@ -8031,15 +8031,19 @@ static int tg3_test_nvram(struct tg3 *tp
if (cpu_to_be32(buf[0]) != TG3_EEPROM_MAGIC) {
u8 *buf8 = (u8 *) buf, csum8 = 0;
for (i = 0; i < size; i++)
csum8 += buf8[i];
- if (csum8 == 0)
- return 0;
- return -EIO;
+ if (csum8 == 0) {
+ err = 0;
+ goto out;
+ }
+
+ err = -EIO;
+ goto out;
}
/* Bootstrap checksum at offset 0x10 */
csum = calc_crc((unsigned char *) buf, 0x10);
if(csum != cpu_to_le32(buf[0x10/4]))
goto out;
^ permalink raw reply
* Re: [NETFILTER]: Fix fragmentation issues with bridge netfilter
From: David S. Miller @ 2006-04-04 20:42 UTC (permalink / raw)
To: kaber; +Cc: netdev, netfilter-devel, bdschuym
In-Reply-To: <44312671.3090904@trash.net>
From: Patrick McHardy <kaber@trash.net>
Date: Mon, 03 Apr 2006 15:43:13 +0200
> Fix a regression from the netfilter/IPsec patches with bridging.
> Bart, please review this patch, if everything is fine I think it
> should also go in -stable.
Applied, thanks Patrick. Please submit this to -stable.
^ permalink raw reply
* [patch 24/26] hostap: Fix EAPOL frame encryption
From: gregkh @ 2006-04-05 0:01 UTC (permalink / raw)
To: linux-kernel, stable, John W. Linville
Cc: Justin Forbes, Zwane Mwaikambo, Theodore Ts'o, Randy Dunlap,
Dave Jones, Chuck Wolber, torvalds, akpm, alan, netdev,
Jouni Malinen
In-Reply-To: <20060404235927.GA27049@kroah.com>
[-- Attachment #1: hostap_fix_eapol_crypt.patch --]
[-- Type: text/plain, Size: 1002 bytes --]
Fixed encrypted of EAPOL frames from wlan#ap interface (hostapd). This
was broken when moving to use new frame control field defines in
net/ieee80211.h. hostapd uses Protected flag, not protocol version
(which was cleared in this function anyway). This fixes WPA group key
handshake and re-authentication.
http://hostap.epitest.fi/bugz/show_bug.cgi?id=126
Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
---
drivers/net/wireless/hostap/hostap_80211_tx.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- linux-2.6.16.1.orig/drivers/net/wireless/hostap/hostap_80211_tx.c
+++ linux-2.6.16.1/drivers/net/wireless/hostap/hostap_80211_tx.c
@@ -469,7 +469,7 @@ int hostap_master_start_xmit(struct sk_b
}
if (local->ieee_802_1x && meta->ethertype == ETH_P_PAE && tx.crypt &&
- !(fc & IEEE80211_FCTL_VERS)) {
+ !(fc & IEEE80211_FCTL_PROTECTED)) {
no_encrypt = 1;
PDEBUG(DEBUG_EXTRA2, "%s: TX: IEEE 802.1X - passing "
"unencrypted EAPOL frame\n", dev->name);
--
^ permalink raw reply
* Re: [NETFILTER]: Fix fragmentation issues with bridge netfilter
From: Patrick McHardy @ 2006-04-05 9:31 UTC (permalink / raw)
To: David S. Miller; +Cc: netdev, netfilter-devel, bdschuym
In-Reply-To: <20060404.134255.108672274.davem@davemloft.net>
David S. Miller wrote:
> From: Patrick McHardy <kaber@trash.net>
> Date: Mon, 03 Apr 2006 15:43:13 +0200
>
>
>>Fix a regression from the netfilter/IPsec patches with bridging.
>>Bart, please review this patch, if everything is fine I think it
>>should also go in -stable.
>
>
> Applied, thanks Patrick. Please submit this to -stable.
Done.
^ permalink raw reply
* [PATCH] [IPSEC] Avoid null pointer dereference in xfrm4_rcv_encap
From: Dave Kleikamp @ 2006-04-05 14:59 UTC (permalink / raw)
To: Herbert Xu, David S. Miller; +Cc: netdev, linux-kernel
I'm getting a panic that I've traced back to this changeset:
http://www.kernel.org/git/gitweb.cgi?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e695633e21ffb6a443a8c2f8b3f095c7f1a48eb0
xfrm4_rcv_encap dereferences x->encap without testing it for null.
Signed-off-by: Dave Kleikamp <shaggy@austin.ibm.com>
--- linux-2.6.17-rc1-mm1/net/ipv4/xfrm4_input.c.orig 2006-04-04
07:37:23.444068000 -0500
+++ linux-2.6.17-rc1-mm1/net/ipv4/xfrm4_input.c 2006-04-05
09:01:08.798510500 -0500
@@ -90,7 +90,7 @@ int xfrm4_rcv_encap(struct sk_buff *skb,
if (unlikely(x->km.state != XFRM_STATE_VALID))
goto drop_unlock;
- if (x->encap->encap_type != encap_type)
+ if (x->encap && (x->encap->encap_type != encap_type))
goto drop_unlock;
if (x->props.replay_window && xfrm_replay_check(x, seq))
--
David Kleikamp
IBM Linux Technology Center
^ permalink raw reply
* Re: [PATCH] [IPSEC] Avoid null pointer dereference in xfrm4_rcv_encap
From: Dave Kleikamp @ 2006-04-05 15:41 UTC (permalink / raw)
To: Herbert Xu; +Cc: David S. Miller, netdev, linux-kernel
In-Reply-To: <1144249178.10340.5.camel@kleikamp.austin.ibm.com>
Never mind. Somehow I missed Herbert's patch for this in the netdev
archives.
--
David Kleikamp
IBM Linux Technology Center
^ permalink raw reply
* [2.6 patch] drivers/char/random.c: unexport secure_ipv6_port_ephemeral
From: Adrian Bunk @ 2006-04-05 16:36 UTC (permalink / raw)
To: mpm; +Cc: linux-kernel, netdev
This patch removes the unused EXPORT_SYMBOL(secure_ipv6_port_ephemeral).
Signed-off-by: Adrian Bunk <bunk@stusta.de>
--- linux-2.6.17-rc1-mm1-full/drivers/char/random.c.old 2006-04-05 17:00:04.000000000 +0200
+++ linux-2.6.17-rc1-mm1-full/drivers/char/random.c 2006-04-05 17:00:22.000000000 +0200
@@ -1584,7 +1584,6 @@
return twothirdsMD4Transform(daddr, hash);
}
-EXPORT_SYMBOL(secure_ipv6_port_ephemeral);
#endif
#if defined(CONFIG_IP_DCCP) || defined(CONFIG_IP_DCCP_MODULE)
^ permalink raw reply
* [2.6 patch] net/wanrouter/wanmain.c: cleanups
From: Adrian Bunk @ 2006-04-05 17:06 UTC (permalink / raw)
To: netdev; +Cc: linux-kernel
This patch contains the following cleanups:
- make the following needlessly global functions static:
- lock_adapter_irq()
- unlock_adapter_irq()
- #if 0 the following unused global functions:
- wanrouter_encapsulate()
- wanrouter_type_trans()
Signed-off-by: Adrian Bunk <bunk@stusta.de>
---
include/linux/wanrouter.h | 8 --------
net/wanrouter/wanmain.c | 17 ++++++++---------
2 files changed, 8 insertions(+), 17 deletions(-)
--- linux-2.6.17-rc1-mm1-full/include/linux/wanrouter.h.old 2006-04-05 17:03:07.000000000 +0200
+++ linux-2.6.17-rc1-mm1-full/include/linux/wanrouter.h 2006-04-05 17:15:20.000000000 +0200
@@ -516,9 +516,6 @@
/* Public functions available for device drivers */
extern int register_wan_device(struct wan_device *wandev);
extern int unregister_wan_device(char *name);
-__be16 wanrouter_type_trans(struct sk_buff *skb, struct net_device *dev);
-int wanrouter_encapsulate(struct sk_buff *skb, struct net_device *dev,
- unsigned short type);
/* Proc interface functions. These must not be called by the drivers! */
extern int wanrouter_proc_init(void);
@@ -527,11 +524,6 @@
extern int wanrouter_proc_delete(struct wan_device *wandev);
extern int wanrouter_ioctl( struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg);
-extern void lock_adapter_irq(spinlock_t *lock, unsigned long *smp_flags);
-extern void unlock_adapter_irq(spinlock_t *lock, unsigned long *smp_flags);
-
-
-
/* Public Data */
/* list of registered devices */
extern struct wan_device *wanrouter_router_devlist;
--- linux-2.6.17-rc1-mm1-full/net/wanrouter/wanmain.c.old 2006-04-05 17:03:39.000000000 +0200
+++ linux-2.6.17-rc1-mm1-full/net/wanrouter/wanmain.c 2006-04-05 17:18:32.000000000 +0200
@@ -144,8 +144,8 @@
static struct wan_device *wanrouter_find_device(char *name);
static int wanrouter_delete_interface(struct wan_device *wandev, char *name);
-void lock_adapter_irq(spinlock_t *lock, unsigned long *smp_flags);
-void unlock_adapter_irq(spinlock_t *lock, unsigned long *smp_flags);
+static void lock_adapter_irq(spinlock_t *lock, unsigned long *smp_flags);
+static void unlock_adapter_irq(spinlock_t *lock, unsigned long *smp_flags);
@@ -162,8 +162,8 @@
* Organize Unique Identifiers for encapsulation/decapsulation
*/
-static unsigned char wanrouter_oui_ether[] = { 0x00, 0x00, 0x00 };
#if 0
+static unsigned char wanrouter_oui_ether[] = { 0x00, 0x00, 0x00 };
static unsigned char wanrouter_oui_802_2[] = { 0x00, 0x80, 0xC2 };
#endif
@@ -304,6 +304,8 @@
return 0;
}
+#if 0
+
/*
* Encapsulate packet.
*
@@ -399,6 +401,7 @@
return ethertype;
}
+#endif /* 0 */
/*
* WAN device IOCTL.
@@ -860,23 +863,19 @@
return 0;
}
-void lock_adapter_irq(spinlock_t *lock, unsigned long *smp_flags)
+static void lock_adapter_irq(spinlock_t *lock, unsigned long *smp_flags)
{
spin_lock_irqsave(lock, *smp_flags);
}
-void unlock_adapter_irq(spinlock_t *lock, unsigned long *smp_flags)
+static void unlock_adapter_irq(spinlock_t *lock, unsigned long *smp_flags)
{
spin_unlock_irqrestore(lock, *smp_flags);
}
EXPORT_SYMBOL(register_wan_device);
EXPORT_SYMBOL(unregister_wan_device);
-EXPORT_SYMBOL(wanrouter_encapsulate);
-EXPORT_SYMBOL(wanrouter_type_trans);
-EXPORT_SYMBOL(lock_adapter_irq);
-EXPORT_SYMBOL(unlock_adapter_irq);
MODULE_LICENSE("GPL");
^ permalink raw reply
* Re: [PATCH] [IPSEC] Avoid null pointer dereference in xfrm4_rcv_encap
From: Herbert Xu @ 2006-04-05 17:10 UTC (permalink / raw)
To: Dave Kleikamp; +Cc: David S. Miller, netdev, linux-kernel
In-Reply-To: <1144249178.10340.5.camel@kleikamp.austin.ibm.com>
On Wed, Apr 05, 2006 at 09:59:38AM -0500, Dave Kleikamp wrote:
> I'm getting a panic that I've traced back to this changeset:
> http://www.kernel.org/git/gitweb.cgi?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e695633e21ffb6a443a8c2f8b3f095c7f1a48eb0
>
> xfrm4_rcv_encap dereferences x->encap without testing it for null.
The fix for this bug has just been merged. Thanks,
--
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
^ permalink raw reply
* Re: [2.6 patch] drivers/char/random.c: unexport secure_ipv6_port_ephemeral
From: Stephen Hemminger @ 2006-04-05 17:11 UTC (permalink / raw)
To: Adrian Bunk; +Cc: mpm, linux-kernel, netdev
In-Reply-To: <20060405163610.GG8673@stusta.de>
On Wed, 5 Apr 2006 18:36:10 +0200
Adrian Bunk <bunk@stusta.de> wrote:
> This patch removes the unused EXPORT_SYMBOL(secure_ipv6_port_ephemeral).
>
> Signed-off-by: Adrian Bunk <bunk@stusta.de>
>
> --- linux-2.6.17-rc1-mm1-full/drivers/char/random.c.old 2006-04-05 17:00:04.000000000 +0200
> +++ linux-2.6.17-rc1-mm1-full/drivers/char/random.c 2006-04-05 17:00:22.000000000 +0200
> @@ -1584,7 +1584,6 @@
>
> return twothirdsMD4Transform(daddr, hash);
> }
> -EXPORT_SYMBOL(secure_ipv6_port_ephemeral);
> #endif
>
> #if defined(CONFIG_IP_DCCP) || defined(CONFIG_IP_DCCP_MODULE)
>
> -
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
NAK
If IPV6 is built as a module, then it is needed.
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox