net/ipv4/af_inet.c: use ARRAY_SIZE macro from kernel.h instead
Subsystems (5)
PATCH 1/1 net/ipv4/af_inet.c: use ARRAY_SIZE macro from kernel.h instead
--- net/ipv4/af_inet.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
net/ipv4/af_inet.c +1 -1
@@ -939,7 +939,7 @@ static struct inet_protosw inetsw_array[] = } }; -#define INETSW_ARRAY_LEN (sizeof(inetsw_array) / sizeof(struct inet_protosw)) +#define INETSW_ARRAY_LEN ARRAY_SIZE(inetsw_array)void inet_register_protosw (struct inet_protosw *p) {
Signature · 1 line
1.5.3.rc7
Quoted 10 lines · Denis Cheng
Signed-off-by Denis Cheng <[email protected]>--- net/ipv4/af_inet.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)net/ipv4/af_inet.c +0
-0
net/ipv4/af_inet.c static struct inet_protosw inetsw_array[] = · line 945
Quoted 8 lines
net/ipv4/af_inet.c +1
-1@@ -939,7 +939,7 @@ static struct inet_protosw inetsw_array[] = } }; -#define INETSW_ARRAY_LEN (sizeof(inetsw_array) / sizeof(struct inet_protosw)) +#define INETSW_ARRAY_LEN ARRAY_SIZE(inetsw_array)void inet_register_protosw (struct inet_protosw *p) {
denis:
if you're planning on doing this ARRAY_SIZE cleanup fairly rigorously, here's an overview of what you're looking (based on a fairly dumb scanning script that undoubtedly generates some false positives). of course, the respective subsystem maintainers are welcome to deal with them first, of course.
p.s. and when you submit those patches, it's necessary to submit them to only the appropriate subsystem mailing lists, not to the LKML in general.
===== Where ARRAY_SIZE() might be used ...
./Documentation/CodingStyle: #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))./Documentation/hpet.txt: for (i = 0; i < (sizeof (hpet_command) / sizeof (hpet_command[0])); i++)
./Documentation/spi/spidev_test.c:#define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0]))
./include/acpi/acmacros.h:#define ACPI_ARRAY_LENGTH(x) (sizeof(x) / sizeof((x)[0]))
./include/linux/netfilter/xt_sctp.h:#define ELEMCOUNT(x) (sizeof(x)/sizeof(x[0])) ./include/linux/kernel.h:#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))./include/asm-parisc/mmzone.h: BUG_ON(i >= sizeof(pfnnid_map) / sizeof(pfnnid_map[0]));
./include/asm-sh/hw_irq.h:#define _INTC_ARRAY(a) a, sizeof(a)/sizeof(*a) ./include/video/sgivw.h:#define DBE_VT_SIZE (sizeof(dbeVTimings)/sizeof(dbeVTimings[0])) ./include/net/ip_vs.h:#define IP_VS_INIT_HASH_TABLE(t) ip_vs_init_hash_table(t, sizeof(t)/sizeof(t[0]))./kernel/compat.c: for (j = 0; j < sizeof(m)/sizeof(um); j++) {./kernel/compat.c: for (j = 0; j < sizeof(m)/sizeof(um); j++) {
./arch/m68k/amiga/amisound.c:#define DATA_SIZE (sizeof(sine_data)/sizeof(sine_data[0]))
./arch/i386/boot/compressed/relocs.c:#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))./arch/x86_64/kernel/smpboot.c: for (i = 0; i < sizeof(regs) / sizeof(*regs); i++) {
./arch/mips/au1000/common/dbdma.c:#define DBDEV_TAB_SIZE (sizeof(dbdev_tab) / sizeof(dbdev_tab_t))./arch/cris/arch-v10/kernel/setup.c: if (revision >= sizeof cpu_info/sizeof *cpu_info)./arch/cris/arch-v10/kernel/setup.c: info = &cpu_info[sizeof cpu_info/sizeof *cpu_info - 1];
./arch/um/include/user.h:#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))./arch/um/kernel/tt/ptproxy/ptrace.c: for (i = 0; i < sizeof(regs)/sizeof(regs[0]); i++)./arch/um/kernel/tt/ptproxy/ptrace.c: for (i = 0; i < sizeof(regs)/sizeof(regs[0]); i++)./arch/um/kernel/tt/ptproxy/ptrace.c: for (i = 0; i < sizeof(regs)/sizeof(regs[0]); i++)./arch/um/kernel/tt/ptproxy/ptrace.c: for (i = 0; i < sizeof(regs)/sizeof(regs[0]); i++)./arch/um/kernel/tt/ptproxy/ptrace.c: for (i = 0; i < sizeof(regs)/sizeof(regs[0]); i++)./arch/um/kernel/tt/ptproxy/ptrace.c: for (i = 0; i < sizeof(regs)/sizeof(regs[0]); i++)./arch/arm/kernel/dma-isa.c: for (i = 0; i < sizeof(dma_resources) / sizeof(dma_resources[0]); i++)./arch/avr32/mach-at32ap/time-tc.c: int divs_size = sizeof(divs) / sizeof(*divs);./arch/powerpc/platforms/celleb/scc_sio.c: for(i = 0; i < sizeof(txx9_scc_tab)/sizeof(txx9_scc_tab[0]); i++) {
./arch/powerpc/boot/types.h:#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) ./scripts/mod/file2alias.c:#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))./drivers/char/synclink_gt.c: static unsigned int count = sizeof(patterns)/sizeof(patterns[0]);./drivers/mtd/nand/excite_nandflash.c: sizeof partition_info / sizeof partition_info[0]);./drivers/message/fusion/mptbase.c: if (u16cnt < sizeof(ioc->hs_reply) / sizeof(ioc->hs_reply[0]))./drivers/serial/mcfserial.c: (sizeof(mcfrs_baud_table)/sizeof(mcfrs_baud_table[0]))
./drivers/serial/68328serial.c:#define BAUD_TABLE_SIZE (sizeof(baud_table)/sizeof(baud_table[0]))./drivers/serial/68328serial.c: for (i = 0; i < sizeof(baud_table) / sizeof(baud_table[0]); i++)./drivers/serial/68328serial.c: if (i >= sizeof(baud_table) / sizeof(baud_table[0])) {
./drivers/zorro/names.c:#define MANUF( manuf, name ) { 0x##manuf, sizeof(__prods_##manuf) / sizeof(struct zorro_prod_info), __manufstr_##manuf, __prods_##manuf },
./drivers/media/video/saa7134/saa7134-tvaudio.c:#define TVAUDIO (sizeof(tvaudio)/sizeof(struct saa7134_tvaudio)) ./drivers/media/video/tveeprom.c:#define STRM(array,i) (i < sizeof(array)/sizeof(char*) ? array[i] : "unknown")./drivers/media/video/mxb.c: .num_stds = sizeof(standard)/sizeof(struct saa7146_standard),./drivers/media/video/dpc7146.c: .num_stds = sizeof(standard)/sizeof(struct saa7146_standard),./drivers/media/dvb/ttpci/budget-av.c: .num_stds = sizeof(standard) / sizeof(struct saa7146_standard),
./drivers/pcmcia/i82365.c:#define PCIC_COUNT (sizeof(pcic)/sizeof(pcic_t))./drivers/isdn/hardware/eicon/message.c: i<(sizeof(ftable)/sizeof(struct _ftable));./drivers/net/zorro8390.c: for (i = 0; i < sizeof(program_seq)/sizeof(program_seq[0]); i++) {
./drivers/net/lp486e.c:#define SIZE(x) (sizeof(x)/sizeof((x)[0]))
./drivers/net/irda/actisys-sir.c:#define MAX_SPEEDS (sizeof(baud_rates)/sizeof(baud_rates[0]))./drivers/net/ne-h8300.c: for (i = 0; i < sizeof(program_seq)/sizeof(program_seq[0]); i++)./drivers/net/cs89x0.c: if (i >= sizeof(cs8900_irq_map)/sizeof(cs8900_irq_map[0]))./drivers/net/cs89x0.c: for (i = 0; i != sizeof(cs8900_irq_map)/sizeof(cs8900_irq_map[0]); i++)./drivers/net/cs89x0.c: if (i == sizeof(cs8900_irq_map)/sizeof(cs8900_irq_map[0]))./drivers/net/netxen/netxen_nic_hw.c: for (i = 0; i < (sizeof(locs) / sizeof(locs[0])); i++) {
./drivers/net/skfp/smt.c:#define N_SMT_PLEN (sizeof(smt_pdef)/sizeof(smt_pdef[0]))
./drivers/net/skfp/srf.c:#define MAX_EVCS (sizeof(smc->evcs)/sizeof(smc->evcs[0]))
./drivers/net/skfp/srf.c:#define MAX_INIT_EVC (sizeof(evc_inits)/sizeof(evc_inits[0]))./drivers/net/apne.c: for (i = 0; i < sizeof(program_seq)/sizeof(program_seq[0]); i++) {./drivers/net/ne2k-pci.c: for (i = 0; i < sizeof(program_seq)/sizeof(program_seq[0]); i++)./drivers/net/atl1/atl1_hw.c: if (hw->flash_vendor >= sizeof(flash_table) / sizeof(flash_table[0]))./drivers/net/pcmcia/axnet_cs.c: for (i = 0; i < sizeof(program_seq)/sizeof(program_seq[0]); i++)
./drivers/net/pcmcia/pcnet_cs.c:#define NR_INFO (sizeof(hw_info)/sizeof(hw_info_t))./drivers/net/pcmcia/pcnet_cs.c: for (i = 0; i < sizeof(program_seq)/sizeof(program_seq[0]); i++)./drivers/net/arm/am79c961a.c: for (i = 0; i < sizeof(multi_hash) / sizeof(multi_hash[0]); i++)./drivers/net/ne.c: for (i = 0; i < sizeof(program_seq)/sizeof(program_seq[0]); i++)./drivers/net/ibm_emac/ibm_emac_debug.c: if (idx >= sizeof(__emacs) / sizeof(__emacs[0])) {./drivers/net/ibm_emac/ibm_emac_debug.c: if (idx >= sizeof(__mals) / sizeof(__mals[0])) {./drivers/net/ibm_emac/ibm_emac_debug.c: for (i = 0; i < sizeof(__mals) / sizeof(__mals[0]); ++i)./drivers/net/ibm_emac/ibm_emac_debug.c: for (i = 0; i < sizeof(__emacs) / sizeof(__emacs[0]); ++i)./drivers/net/fec_8xx/fec_mii.c: for (i = 0, phy = phy_info; i < sizeof(phy_info) / sizeof(phy_info[0]);./drivers/net/fec_8xx/fec_mii.c: if (i >= sizeof(phy_info) / sizeof(phy_info[0])) {
./drivers/net/atarilance.c:#define N_LANCE_ADDR (sizeof(lance_addr_list)/sizeof(*lance_addr_list))./drivers/net/ne2.c: for (i = 0; i < sizeof(program_seq)/sizeof(program_seq[0]); i++)./drivers/net/wireless/libertas/fw.c: for (i = 0; i < sizeof(adapter->wep_keys) / sizeof(adapter->wep_keys[0]);./drivers/net/wireless/libertas/main.c: end = sizeof(region_cfp_table)/sizeof(struct region_cfp_table);./net/atm/proc.c: vcc->qos.aal >= sizeof(aal_name)/sizeof(aal_name[0]) ? "err" :
rday
Signature · 7 lines
======================================================================== Robert P. J. Day Linux Consulting, Training and Annoying Kernel Pedantry Waterloo, Ontario, CANADA http://crashcourse.ca ========================================================================
Quoted 29 lines · Robert P. J. Day
Quoted 10 lines · Denis Cheng
Signed-off-by Denis Cheng <[email protected]>--- net/ipv4/af_inet.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)net/ipv4/af_inet.c +0
-0net/ipv4/af_inet.c static struct inet_protosw inetsw_array[] = · line 945
Quoted 8 lines
net/ipv4/af_inet.c +1
-1@@ -939,7 +939,7 @@ static struct inet_protosw inetsw_array[] = } }; -#define INETSW_ARRAY_LEN (sizeof(inetsw_array) / sizeof(struct inet_protosw)) +#define INETSW_ARRAY_LEN ARRAY_SIZE(inetsw_array)void inet_register_protosw (struct inet_protosw *p) {denis:
if you're planning on doing this
ARRAY_SIZEcleanup fairly rigorously, here's an overview of what you're looking (based on a fairly dumb scanning script that undoubtedly generates some false positives). of course, the respective subsystem maintainers are welcome to deal with them first, of course.
Quoted 3 lines
p.s. and when you submit those patches, it's necessary to submit them to only the appropriate subsystem mailing lists, not to the LKML in general.
I didn't realize that there's so many places to switch to ARRAY_SIZE, so now I wonder is this cleaning work valuable to the whole kernel tree? or we can keep the current state and just encourage new code to use ARRAY_SIZE?
--
Denis
Quoted 10 lines · rae l
Quoted 8 lines · Robert P. J. Day
denis:
if you're planning on doing this
ARRAY_SIZEcleanup fairly rigorously, here's an overview of what you're looking (based on a fairly dumb scanning script that undoubtedly generates some false positives). of course, the respective subsystem maintainers are welcome to deal with them first, of course.
Quoted 8 lines
Quoted 3 lines
p.s. and when you submit those patches, it's necessary to submit them to only the appropriate subsystem mailing lists, not to the LKML in general.
I didn't realize that there's so many places to switch to
ARRAY_SIZE, so now I wonder is this cleaning work valuable to the whole kernel tree? or we can keep the current state and just encourage new code to useARRAY_SIZE?
that is *so* not my call. i just thought that, if you were about to embark on this clean-up, you knew what was ahead of you. if you're still interested in doing it, my best advice is to do it a subsystem at a time, and submit the patches just to those subsystems or the appropriate maintainers, rather than to the whole LKML, in order to keep the traffic down.
and i'd encourage you to keep working on this. and if you have any more general questions, you're better off asking on the kernel janitors list, not LKML.
rday
Signature · 7 lines
======================================================================== Robert P. J. Day Linux Consulting, Training and Annoying Kernel Pedantry Waterloo, Ontario, CANADA http://crashcourse.ca ========================================================================
PATCH 1/2 net/: all net/ cleanup with ARRAY_SIZE
--- net/atm/proc.c | 2 +- net/decnet/dn_dev.c | 2 +- net/ipv4/af_inet.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-)
net/atm/proc.c +1 -1
@@ -175,7 +175,7 @@ static void pvc_info(struct seq_file *seq, struct atm_vcc *vcc)seq_printf (seq,"%3d %3d %5d %-3s %7d %-5s %7d %-6s" , vcc->dev->number,vcc->vpi,vcc->vci, - vcc->qos.aal >=sizeof (aal_name)/sizeof (aal_name[0 ]) ?"err" : + vcc->qos.aal >=ARRAY_SIZE (aal_name) ?"err" : aal_name[vcc->qos.aal],vcc->qos.rxtp.min_pcr, class_name[vcc->qos.rxtp.traffic_class],vcc->qos.txtp.min_pcr, class_name[vcc->qos.txtp.traffic_class]);
net/decnet/dn_dev.c +1 -1
@@ -149,7 +149,7 @@ static struct dn_dev_parms dn_dev_list[] = { } }; -#define DN_DEV_LIST_SIZE (sizeof(dn_dev_list)/sizeof(struct dn_dev_parms)) +#define DN_DEV_LIST_SIZE ARRAY_SIZE(dn_dev_list)#define DN_DEV_PARMS_OFFSET (x) ((int) ((char *) &((struct dn_dev_parms *)0)->x))
net/ipv4/af_inet.c +1 -1
@@ -939,7 +939,7 @@ static struct inet_protosw inetsw_array[] = } }; -#define INETSW_ARRAY_LEN (sizeof(inetsw_array) / sizeof(struct inet_protosw)) +#define INETSW_ARRAY_LEN ARRAY_SIZE(inetsw_array)void inet_register_protosw (struct inet_protosw *p) {
Signature · 1 line
1.5.3.rc7
PATCH 2/2 drivers/net/: all drivers/net/ cleanup with ARRAY_SIZE
--- drivers/net/apne.c | 2 +- drivers/net/arm/am79c961a.c | 2 +- drivers/net/atarilance.c | 2 +- drivers/net/atl1/atl1_hw.c | 2 +- drivers/net/bnx2.c | 2 +- drivers/net/cs89x0.c | 6 +++--- drivers/net/e1000/e1000_ethtool.c | 3 +-- drivers/net/fec_8xx/fec_mii.c | 5 ++--- drivers/net/ibm_emac/ibm_emac_debug.c | 8 ++++---- drivers/net/irda/actisys-sir.c | 2 +- drivers/net/ixgb/ixgb_ethtool.c | 3 +-- drivers/net/lp486e.c | 4 +--- drivers/net/mv643xx_eth.c | 3 +-- drivers/net/ne-h8300.c | 2 +- drivers/net/ne.c | 2 +- drivers/net/ne2.c | 2 +- drivers/net/ne2k-pci.c | 2 +- drivers/net/netxen/netxen_nic.h | 2 +- drivers/net/netxen/netxen_nic_hw.c | 2 +- drivers/net/pcmcia/axnet_cs.c | 2 +- drivers/net/pcmcia/pcnet_cs.c | 4 ++-- drivers/net/phy/phy.c | 2 +- drivers/net/skfp/smt.c | 2 +- drivers/net/skfp/srf.c | 4 ++-- drivers/net/tulip/de4x5.c | 6 +++--- drivers/net/wireless/airo.c | 6 +++--- drivers/net/wireless/hostap/hostap_ioctl.c | 6 +++--- drivers/net/wireless/ipw2100.c | 7 +++---- drivers/net/wireless/libertas/fw.c | 3 +-- drivers/net/wireless/libertas/main.c | 14 +++++++------- drivers/net/wireless/libertas/wext.c | 4 ++-- drivers/net/wireless/netwave_cs.c | 6 +++--- drivers/net/wireless/prism54/isl_ioctl.c | 7 +++---- drivers/net/wireless/ray_cs.c | 6 +++--- drivers/net/wireless/wavelan.c | 6 +++--- drivers/net/wireless/wavelan_cs.c | 6 +++--- drivers/net/wireless/wl3501_cs.c | 2 +- drivers/net/zorro8390.c | 2 +- 38 files changed, 71 insertions(+), 80 deletions(-)
drivers/net/apne.c +1 -1
@@ -247,7 +247,7 @@ static int __init apne_probe1(struct net_device *dev, int ioaddr) {0x00, NE_EN0_RSARHI}, {E8390_RREAD+E8390_START, NE_CMD}, }; -for (i =0 ; i <sizeof (program_seq)/sizeof (program_seq[0 ]); i++) { +for (i =0 ; i <ARRAY_SIZE (program_seq); i++) {outb (program_seq[i].value, ioaddr + program_seq[i].offset); }
drivers/net/arm/am79c961a.c +1 -1
@@ -414,7 +414,7 @@ static void am79c961_setmulticastlist (struct net_device *dev)/* * Update the multicast hash table */ -for (i =0 ; i <sizeof (multi_hash) /sizeof (multi_hash[0 ]); i++) +for (i =0 ; i <ARRAY_SIZE (multi_hash); i++)write_rreg (dev->base_addr, i +LADRL , multi_hash[i]);/*
drivers/net/atarilance.c +1 -1
@@ -263,7 +263,7 @@ struct lance_addr {(highest byte stripped) */ }; -#define N_LANCE_ADDR (sizeof(lance_addr_list)/sizeof(*lance_addr_list)) +#define N_LANCE_ADDR ARRAY_SIZE(lance_addr_list)/* Definitions for the Lance */
drivers/net/atl1/atl1_hw.c +1 -1
@@ -603,7 +603,7 @@ static struct atl1_spi_flash_dev flash_table[] = {static void atl1_init_flash_opcode (struct atl1_hw *hw) { -if (hw->flash_vendor >=sizeof (flash_table) /sizeof (flash_table[0 ])) +if (hw->flash_vendor >=ARRAY_SIZE (flash_table)) hw->flash_vendor =0 ;/* ATMEL */ /* Init OP table */
drivers/net/bnx2.c +1 -1
@@ -3500,7 +3500,7 @@ bnx2_init_nvram(struct bnx2 *bp)/* Determine the selected interface. */ val =REG_RD (bp,BNX2_NVM_CFG1 ); - entry_count =sizeof (flash_table) /sizeof (struct flash_spec ); + entry_count =ARRAY_SIZE (flash_table);if (val &0x40000000 ) {
drivers/net/cs89x0.c +3 -3
@@ -806,7 +806,7 @@ cs89x0_probe1(struct net_device *dev, int ioaddr, int modular) i = cs8900_irq_map[0 ];#else /* Translate the IRQ using the IRQ mapping table. */ -if (i >=sizeof (cs8900_irq_map)/sizeof (cs8900_irq_map[0 ])) +if (i >=ARRAY_SIZE (cs8900_irq_map))printk ("\ncs89x0: invalid ISA interrupt number %d\n" , i);else i = cs8900_irq_map[i];
@@ -1247,11 +1247,11 @@ write_irq(struct net_device *dev, int chip_type, int irq)if (chip_type ==CS8900 ) {/* Search the mapping table for the corresponding IRQ pin. */ -for (i =0 ; i !=sizeof (cs8900_irq_map)/sizeof (cs8900_irq_map[0 ]); i++) +for (i =0 ; i !=ARRAY_SIZE (cs8900_irq_map); i++)if (cs8900_irq_map[i] == irq)break ;/* Not found */ -if (i ==sizeof (cs8900_irq_map)/sizeof (cs8900_irq_map[0 ])) +if (i ==ARRAY_SIZE (cs8900_irq_map)) i =3 ;writereg (dev,PP_CS8900_ISAINT , i); }else {
drivers/net/e1000/e1000_ethtool.c +1 -2
@@ -106,8 +106,7 @@ static const struct e1000_stats e1000_gstrings_stats[] = { };#define E1000_QUEUE_STATS_LEN 0 -#define E1000_GLOBAL_STATS_LEN \ - sizeof(e1000_gstrings_stats) / sizeof(struct e1000_stats) +#define E1000_GLOBAL_STATS_LEN ARRAY_SIZE(e1000_gstrings_stats)#define E1000_STATS_LEN (E1000_GLOBAL_STATS_LEN + E1000_QUEUE_STATS_LEN)static const char e1000_gstrings_test[][ETH_GSTRING_LEN ] = {"Register test (offline)" ,"Eeprom test (offline)" ,
drivers/net/fec_8xx/fec_mii.c +2 -3
@@ -308,12 +308,11 @@ int fec_mii_phy_id_detect(struct net_device *dev)return -1 ; } -for (i =0 , phy = phy_info; i <sizeof (phy_info) /sizeof (phy_info[0 ]); - i++, phy++) +for (i =0 , phy = phy_info; i <ARRAY_SIZE (phy_info); i++, phy++)if (phy->id == (phy_hwid >>4 ) || phy->id ==0 )break ; -if (i >=sizeof (phy_info) /sizeof (phy_info[0 ])) { +if (i >=ARRAY_SIZE (phy_info)) { printk(KERN_ERR DRV_MODULE_NAME": %s PHY id 0x%08x is not supported!\n" , dev->name, phy_hwid);
drivers/net/ibm_emac/ibm_emac_debug.c +4 -4
@@ -132,7 +132,7 @@ void emac_dbg_register(int idx, struct ocp_enet_private *dev) {unsigned long flags; -if (idx >=sizeof (__emacs) /sizeof (__emacs[0 ])) { +if (idx >=ARRAY_SIZE (__emacs)) {printk (KERN_WARNING "invalid index %d when registering EMAC for debugging\n" , idx);
@@ -148,7 +148,7 @@ void mal_dbg_register(int idx, struct ibm_ocp_mal *mal) {unsigned long flags; -if (idx >=sizeof (__mals) /sizeof (__mals[0 ])) { +if (idx >=ARRAY_SIZE (__mals)) {printk (KERN_WARNING "invalid index %d when registering MAL for debugging\n" , idx);
@@ -167,11 +167,11 @@ void emac_dbg_dump_all(void)local_irq_save (flags); -for (i =0 ; i <sizeof (__mals) /sizeof (__mals[0 ]); ++i) +for (i =0 ; i <ARRAY_SIZE (__mals); ++i)if (__mals[i])emac_mal_dump (__mals[i]); -for (i =0 ; i <sizeof (__emacs) /sizeof (__emacs[0 ]); ++i) +for (i =0 ; i <ARRAY_SIZE (__emacs); ++i)if (__emacs[i])emac_mac_dump (i, __emacs[i]);
drivers/net/irda/actisys-sir.c +1 -1
@@ -67,7 +67,7 @@ static int actisys_reset(struct sir_dev *);/* Note : the 220L doesn't support 38400, but we will fix that below */ static unsigned baud_rates[] = {9600 ,19200 ,57600 ,115200 ,38400 }; -#define MAX_SPEEDS (sizeof(baud_rates)/sizeof(baud_rates[0])) +#define MAX_SPEEDS ARRAY_SIZE(baud_rates)static struct dongle_driver act220l = { .owner =THIS_MODULE ,
drivers/net/ixgb/ixgb_ethtool.c +1 -2
@@ -94,8 +94,7 @@ static struct ixgb_stats ixgb_gstrings_stats[] = { {"tx_csum_offload_errors", IXGB_STAT(hw_csum_tx_error)} }; -#define IXGB_STATS_LEN \ - sizeof(ixgb_gstrings_stats) / sizeof(struct ixgb_stats) +#define IXGB_STATS_LEN ARRAY_SIZE(ixgb_gstrings_stats)static int ixgb_get_settings (struct net_device *netdev,struct ethtool_cmd *ecmd)
drivers/net/lp486e.c +1 -3
@@ -515,8 +515,6 @@ CLEAR_INT(void) {outb (0 ,IOADDR +8 ); } -#define SIZE (x) (sizeof(x)/sizeof((x)[0])) -#if 0 /* selftest or dump */ static void
@@ -532,7 +530,7 @@ i596_port_do(struct net_device *dev, int portcmd, char *cmdname) {mdelay (30 );/* random, unmotivated */ printk ("lp486e i82596 %s result:\n" , cmdname); -for (m =SIZE (lp->dump.dump); m && lp->dump.dump[m-1 ] ==0 ; m--) +for (m =ARRAY_SIZE (lp->dump.dump); m && lp->dump.dump[m-1 ] ==0 ; m--) ;for (i =0 ; i < m; i++) {printk (" %04x" , lp->dump.dump[i]);
drivers/net/mv643xx_eth.c +1 -2
@@ -2688,8 +2688,7 @@ static const struct mv643xx_stats mv643xx_gstrings_stats[] = { { "late_collision", MV643XX_STAT(mib_counters.late_collision) }, }; -#define MV643XX_STATS_LEN \ - sizeof(mv643xx_gstrings_stats) / sizeof(struct mv643xx_stats) +#define MV643XX_STATS_LEN ARRAY_SIZE(mv643xx_gstrings_stats)static void mv643xx_get_drvinfo (struct net_device *netdev,struct ethtool_drvinfo *drvinfo)
drivers/net/ne-h8300.c +1 -1
@@ -259,7 +259,7 @@ static int __init ne_probe1(struct net_device *dev, int ioaddr) {E8390_RREAD+E8390_START, E8390_CMD}, }; -for (i =0 ; i <sizeof (program_seq)/sizeof (program_seq[0 ]); i++) +for (i =0 ; i <ARRAY_SIZE (program_seq); i++)outb_p (program_seq[i].value, ioaddr + program_seq[i].offset); }
drivers/net/ne.c +1 -1
@@ -377,7 +377,7 @@ static int __init ne_probe1(struct net_device *dev, unsigned long ioaddr) {E8390_RREAD+E8390_START, E8390_CMD}, }; -for (i =0 ; i <sizeof (program_seq)/sizeof (program_seq[0 ]); i++) +for (i =0 ; i <ARRAY_SIZE (program_seq); i++)outb_p (program_seq[i].value, ioaddr + program_seq[i].offset); }
drivers/net/ne2.c +1 -1
@@ -432,7 +432,7 @@ static int __init ne2_probe1(struct net_device *dev, int slot) {E8390_RREAD+E8390_START, E8390_CMD}, }; -for (i =0 ; i <sizeof (program_seq)/sizeof (program_seq[0 ]); i++) +for (i =0 ; i <ARRAY_SIZE (program_seq); i++)outb_p (program_seq[i].value, base_addr + program_seq[i].offset);
drivers/net/ne2k-pci.c +1 -1
@@ -308,7 +308,7 @@ static int __devinit ne2k_pci_init_one (struct pci_dev *pdev, {0x00, EN0_RSARHI}, {E8390_RREAD+E8390_START, E8390_CMD}, }; -for (i =0 ; i <sizeof (program_seq)/sizeof (program_seq[0 ]); i++) +for (i =0 ; i <ARRAY_SIZE (program_seq); i++)outb (program_seq[i].value, ioaddr + program_seq[i].offset); }
drivers/net/netxen/netxen_nic.h +1 -1
@@ -1118,7 +1118,7 @@ static const struct netxen_brdinfo netxen_boards[] = { {NETXEN_BRDTYPE_P2_SB31_2G, 2, "Dual Gb"}, }; -#define NUM_SUPPORTED_BOARDS (sizeof(netxen_boards)/sizeof(struct netxen_brdinfo)) +#define NUM_SUPPORTED_BOARDS ARRAY_SIZE(netxen_boards)static inline void get_brd_port_by_type (u32 type,int *ports) {
drivers/net/netxen/netxen_nic_hw.c +1 -1
@@ -569,7 +569,7 @@ int netxen_is_flash_supported(struct netxen_adapter *adapter)/* if the flash size less than 4Mb, make huge war cry and die */ for (j =1 ; j <4 ; j++) { addr = j *NETXEN_NIC_WINDOW_MARGIN ; -for (i =0 ; i < (sizeof (locs) /sizeof (locs[0 ])); i++) { +for (i =0 ; i <ARRAY_SIZE (locs); i++) {if (netxen_rom_fast_read (adapter, locs[i], &val01) ==0 &&netxen_rom_fast_read (adapter, (addr + locs[i]), &val02) ==0 ) {
drivers/net/pcmcia/axnet_cs.c +1 -1
@@ -232,7 +232,7 @@ static int get_prom(struct pcmcia_device *link)axnet_reset_8390 (dev);mdelay (10 ); -for (i =0 ; i <sizeof (program_seq)/sizeof (program_seq[0 ]); i++) +for (i =0 ; i <ARRAY_SIZE (program_seq); i++)outb_p (program_seq[i].value, ioaddr + program_seq[i].offset);for (i =0 ; i <6 ; i +=2 ) {
drivers/net/pcmcia/pcnet_cs.c +2 -2
@@ -207,7 +207,7 @@ static hw_info_t hw_info[] = { { /* PCMCIA Technology OEM */ 0x01c8, 0x00, 0xa0, 0x0c, 0 } }; -#define NR_INFO (sizeof(hw_info)/sizeof(hw_info_t)) +#define NR_INFO ARRAY_SIZE(hw_info)static hw_info_t default_info = {0 ,0 ,0 ,0 ,0 };static hw_info_t dl10019_info = {0 ,0 ,0 ,0 ,IS_DL10019 |HAS_MII };
@@ -375,7 +375,7 @@ static hw_info_t *get_prom(struct pcmcia_device *link)pcnet_reset_8390 (dev);mdelay (10 ); -for (i =0 ; i <sizeof (program_seq)/sizeof (program_seq[0 ]); i++) +for (i =0 ; i <ARRAY_SIZE (program_seq); i++)outb_p (program_seq[i].value, ioaddr + program_seq[i].offset);for (i =0 ; i <32 ; i++)
drivers/net/phy/phy.c +1 -1
@@ -204,7 +204,7 @@ static const struct phy_setting settings[] = { }, }; -#define MAX_NUM_SETTINGS (sizeof(settings)/sizeof(struct phy_setting)) +#define MAX_NUM_SETTINGS ARRAY_SIZE(settings)/** * phy_find_setting - find a PHY settings array entry that matches speed & duplex
drivers/net/skfp/smt.c +1 -1
@@ -1654,7 +1654,7 @@ static const struct smt_pdef { { SMT_P4053, 0, SWAP_SMT_P4053 } , } ; -#define N_SMT_PLEN (sizeof(smt_pdef)/sizeof(smt_pdef[0])) +#define N_SMT_PLEN ARRAY_SIZE(smt_pdef)int smt_check_para (struct s_smc *smc,struct smt_header *sm,const u_short list[])
drivers/net/skfp/srf.c +2 -2
@@ -43,7 +43,7 @@ static void clear_reported(struct s_smc *smc);static void smt_send_srf (struct s_smc *smc);static struct s_srf_evc *smt_get_evc (struct s_smc *smc,int code,int index); -#define MAX_EVCS (sizeof(smc->evcs)/sizeof(smc->evcs[0])) +#define MAX_EVCS ARRAY_SIZE(smc->evcs)struct evc_init {u_char code ;
@@ -67,7 +67,7 @@ static const struct evc_init evc_inits[] = { { SMT_EVENT_PORT_PATH_CHANGE, INDEX_PORT,NUMPHYS,SMT_P4053 } , } ; -#define MAX_INIT_EVC (sizeof(evc_inits)/sizeof(evc_inits[0])) +#define MAX_INIT_EVC ARRAY_SIZE(evc_inits)void smt_init_evc (struct s_smc *smc) {
drivers/net/tulip/de4x5.c +3 -3
@@ -3946,7 +3946,7 @@ create_packet(struct net_device *dev, char *frame, int len)static int EISA_signature (char *name,struct device *device) { -int i, status =0 , siglen =sizeof (de4x5_signatures)/sizeof (c_char *); +int i, status =0 , siglen =ARRAY_SIZE (de4x5_signatures);struct eisa_device *edev; *name ='\0' ;
@@ -3967,7 +3967,7 @@ EISA_signature(char *name, struct device *device)static int PCI_signature (char *name,struct de4x5_private *lp) { -int i, status =0 , siglen =sizeof (de4x5_signatures)/sizeof (c_char *); +int i, status =0 , siglen =ARRAY_SIZE (de4x5_signatures);if (lp->chipset ==DC21040 ) {strcpy (name,"DE434/5" );
@@ -5073,7 +5073,7 @@ mii_get_phy(struct net_device *dev) {struct de4x5_private *lp =netdev_priv (dev);u_long iobase = dev->base_addr; -int i, j, k, n, limit=sizeof (phy_info)/sizeof (struct phy_table ); +int i, j, k, n, limit=ARRAY_SIZE (phy_info);int id; lp->active =0 ;
drivers/net/wireless/airo.c +3 -3
@@ -7579,9 +7579,9 @@ static const iw_handler airo_private_handler[] =static const struct iw_handler_def airo_handler_def = { - .num_standard =sizeof (airo_handler)/sizeof (iw_handler), - .num_private =sizeof (airo_private_handler)/sizeof (iw_handler), - .num_private_args =sizeof (airo_private_args)/sizeof (struct iw_priv_args ), + .num_standard =ARRAY_SIZE (airo_handler), + .num_private =ARRAY_SIZE (airo_private_handler), + .num_private_args =ARRAY_SIZE (airo_private_args), .standard = airo_handler, .private = airo_private_handler, .private_args = airo_private_args,
drivers/net/wireless/hostap/hostap_ioctl.c +3 -3
@@ -3976,9 +3976,9 @@ static const iw_handler prism2_private_handler[] =const struct iw_handler_def hostap_iw_handler_def = { - .num_standard =sizeof (prism2_handler) /sizeof (iw_handler), - .num_private =sizeof (prism2_private_handler) /sizeof (iw_handler), - .num_private_args =sizeof (prism2_priv) /sizeof (struct iw_priv_args ), + .num_standard =ARRAY_SIZE (prism2_handler), + .num_private =ARRAY_SIZE (prism2_private_handler), + .num_private_args =ARRAY_SIZE (prism2_priv), .standard = (iw_handler *) prism2_handler, .private = (iw_handler *) prism2_private_handler, .private_args = (struct iw_priv_args *) prism2_priv,
drivers/net/wireless/ipw2100.c +3 -4
@@ -8279,10 +8279,9 @@ static struct iw_statistics *ipw2100_wx_wireless_stats(struct net_device *dev)static struct iw_handler_def ipw2100_wx_handler_def = { .standard = ipw2100_wx_handlers, - .num_standard =sizeof (ipw2100_wx_handlers) /sizeof (iw_handler), - .num_private =sizeof (ipw2100_private_handler) /sizeof (iw_handler), - .num_private_args =sizeof (ipw2100_private_args) / -sizeof (struct iw_priv_args ), + .num_standard =ARRAY_SIZE (ipw2100_wx_handlers), + .num_private =ARRAY_SIZE (ipw2100_private_handler), + .num_private_args =ARRAY_SIZE (ipw2100_private_args), .private = (iw_handler *) ipw2100_private_handler, .private_args = (struct iw_priv_args *)ipw2100_private_args, .get_wireless_stats = ipw2100_wx_wireless_stats,
drivers/net/wireless/libertas/fw.c +1 -2
@@ -179,8 +179,7 @@ static void wlan_init_adapter(wlan_private * priv)/* 802.11 specific */ adapter->secinfo.wep_enabled =0 ; -for (i =0 ; i <sizeof (adapter->wep_keys) /sizeof (adapter->wep_keys[0 ]); - i++) +for (i =0 ; i <ARRAY_SIZE (adapter->wep_keys); i++)memset (&adapter->wep_keys[i],0 ,sizeof (struct WLAN_802_11_KEY )); adapter->wep_tx_keyidx =0 ; adapter->secinfo.auth_mode =IW_AUTH_ALG_OPEN_SYSTEM ;
drivers/net/wireless/libertas/main.c +7 -7
@@ -121,28 +121,28 @@ struct region_cfp_table {static struct region_cfp_table region_cfp_table[] = { {0x10 ,/*US FCC */ channel_freq_power_US_BG, -sizeof (channel_freq_power_US_BG) /sizeof (struct chan_freq_power ), +ARRAY_SIZE (channel_freq_power_US_BG), } , {0x20 ,/*CANADA IC */ channel_freq_power_US_BG, -sizeof (channel_freq_power_US_BG) /sizeof (struct chan_freq_power ), +ARRAY_SIZE (channel_freq_power_US_BG), } , {0x30 ,/*EU*/ channel_freq_power_EU_BG, -sizeof (channel_freq_power_EU_BG) /sizeof (struct chan_freq_power ), +ARRAY_SIZE (channel_freq_power_EU_BG), } , {0x31 ,/*SPAIN*/ channel_freq_power_SPN_BG, -sizeof (channel_freq_power_SPN_BG) /sizeof (struct chan_freq_power ), +ARRAY_SIZE (channel_freq_power_SPN_BG), } , {0x32 ,/*FRANCE*/ channel_freq_power_FR_BG, -sizeof (channel_freq_power_FR_BG) /sizeof (struct chan_freq_power ), +ARRAY_SIZE (channel_freq_power_FR_BG), } , {0x40 ,/*JAPAN*/ channel_freq_power_JPN_BG, -sizeof (channel_freq_power_JPN_BG) /sizeof (struct chan_freq_power ), +ARRAY_SIZE (channel_freq_power_JPN_BG), } ,/*Add new region here */
@@ -1076,7 +1076,7 @@ struct chan_freq_power *libertas_get_region_cfp_table(u8 region, u8 band, int *clbs_deb_enter (LBS_DEB_MAIN ); - end =sizeof (region_cfp_table)/sizeof (struct region_cfp_table ); + end =ARRAY_SIZE (region_cfp_table);for (i =0 ; i < end ; i++) { lbs_deb_main("region_cfp_table[i].region=%d\n",
drivers/net/wireless/libertas/wext.c +2 -2
@@ -2298,13 +2298,13 @@ static const iw_handler mesh_wlan_handler[] = { (iw_handler) NULL, /* SIOCSIWPMKSA */ };struct iw_handler_def libertas_handler_def = { - .num_standard =sizeof (wlan_handler) /sizeof (iw_handler), + .num_standard =ARRAY_SIZE (wlan_handler), .standard = (iw_handler *) wlan_handler, .get_wireless_stats = wlan_get_wireless_stats, };struct iw_handler_def mesh_handler_def = { - .num_standard =sizeof (mesh_wlan_handler) /sizeof (iw_handler), + .num_standard =ARRAY_SIZE (mesh_wlan_handler), .standard = (iw_handler *) mesh_wlan_handler, .get_wireless_stats = wlan_get_wireless_stats, };
drivers/net/wireless/netwave_cs.c +3 -3
@@ -710,9 +710,9 @@ static const iw_handler netwave_private_handler[] =static const struct iw_handler_def netwave_handler_def = { - .num_standard =sizeof (netwave_handler)/sizeof (iw_handler), - .num_private =sizeof (netwave_private_handler)/sizeof (iw_handler), - .num_private_args =sizeof (netwave_private_args)/sizeof (struct iw_priv_args ), + .num_standard =ARRAY_SIZE (netwave_handler), + .num_private =ARRAY_SIZE (netwave_private_handler), + .num_private_args =ARRAY_SIZE (netwave_private_args), .standard = (iw_handler *) netwave_handler, .private = (iw_handler *) netwave_private_handler, .private_args = (struct iw_priv_args *) netwave_private_args,
drivers/net/wireless/prism54/isl_ioctl.c +3 -4
@@ -3239,10 +3239,9 @@ static const iw_handler prism54_private_handler[] = { };const struct iw_handler_def prism54_handler_def = { - .num_standard =sizeof (prism54_handler) /sizeof (iw_handler), - .num_private =sizeof (prism54_private_handler) /sizeof (iw_handler), - .num_private_args = -sizeof (prism54_private_args) /sizeof (struct iw_priv_args ), + .num_standard =ARRAY_SIZE (prism54_handler), + .num_private =ARRAY_SIZE (prism54_private_handler), + .num_private_args =ARRAY_SIZE (prism54_private_args), .standard = (iw_handler *) prism54_handler, .private = (iw_handler *) prism54_private_handler, .private_args = (struct iw_priv_args *) prism54_private_args,
drivers/net/wireless/ray_cs.c +3 -3
@@ -1568,9 +1568,9 @@ static const struct iw_priv_args ray_private_args[] = {static const struct iw_handler_def ray_handler_def = { - .num_standard =sizeof (ray_handler)/sizeof (iw_handler), - .num_private =sizeof (ray_private_handler)/sizeof (iw_handler), - .num_private_args =sizeof (ray_private_args)/sizeof (struct iw_priv_args ), + .num_standard =ARRAY_SIZE (ray_handler), + .num_private =ARRAY_SIZE (ray_private_handler), + .num_private_args =ARRAY_SIZE (ray_private_args), .standard = ray_handler, .private = ray_private_handler, .private_args = ray_private_args,
drivers/net/wireless/wavelan.c +3 -3
@@ -2400,9 +2400,9 @@ static const struct iw_priv_args wavelan_private_args[] = {static const struct iw_handler_def wavelan_handler_def = { - .num_standard =sizeof (wavelan_handler)/sizeof (iw_handler), - .num_private =sizeof (wavelan_private_handler)/sizeof (iw_handler), - .num_private_args =sizeof (wavelan_private_args)/sizeof (struct iw_priv_args ), + .num_standard =ARRAY_SIZE (wavelan_handler), + .num_private =ARRAY_SIZE (wavelan_private_handler), + .num_private_args =ARRAY_SIZE (wavelan_private_args), .standard = wavelan_handler, .private = wavelan_private_handler, .private_args = wavelan_private_args,
drivers/net/wireless/wavelan_cs.c +3 -3
@@ -2719,9 +2719,9 @@ static const iw_handler wavelan_private_handler[] =static const struct iw_handler_def wavelan_handler_def = { - .num_standard =sizeof (wavelan_handler)/sizeof (iw_handler), - .num_private =sizeof (wavelan_private_handler)/sizeof (iw_handler), - .num_private_args =sizeof (wavelan_private_args)/sizeof (struct iw_priv_args ), + .num_standard =ARRAY_SIZE (wavelan_handler), + .num_private =ARRAY_SIZE (wavelan_private_handler), + .num_private_args =ARRAY_SIZE (wavelan_private_args), .standard = wavelan_handler, .private = wavelan_private_handler, .private_args = wavelan_private_args,
drivers/net/wireless/wl3501_cs.c +1 -1
@@ -1894,7 +1894,7 @@ static const iw_handler wl3501_handler[] = { };static const struct iw_handler_def wl3501_handler_def = { - .num_standard =sizeof (wl3501_handler) /sizeof (iw_handler), + .num_standard =ARRAY_SIZE (wl3501_handler), .standard = (iw_handler *)wl3501_handler, .get_wireless_stats = wl3501_get_wireless_stats, };
drivers/net/zorro8390.c +1 -1
@@ -191,7 +191,7 @@ static int __devinit zorro8390_init(struct net_device *dev, {0x00, NE_EN0_RSARHI}, {E8390_RREAD+E8390_START, NE_CMD}, }; -for (i =0 ; i <sizeof (program_seq)/sizeof (program_seq[0 ]); i++) { +for (i =0 ; i <ARRAY_SIZE (program_seq); i++) {z_writeb (program_seq[i].value, ioaddr + program_seq[i].offset); } }
Signature · 1 line
1.5.3.rc7
Jeff Garzik
AppliedRe: [PATCH 2/2] drivers/net/: all drivers/net/ cleanup with ARRAY_SIZE
Quoted 33 lines · Denis Cheng
Signed-off-by Denis Cheng <[email protected]>--- drivers/net/apne.c | 2 +- drivers/net/arm/am79c961a.c | 2 +- drivers/net/atarilance.c | 2 +- drivers/net/atl1/atl1_hw.c | 2 +- drivers/net/bnx2.c | 2 +- drivers/net/cs89x0.c | 6 +++--- drivers/net/e1000/e1000_ethtool.c | 3 +-- drivers/net/fec_8xx/fec_mii.c | 5 ++--- drivers/net/ibm_emac/ibm_emac_debug.c | 8 ++++---- drivers/net/irda/actisys-sir.c | 2 +- drivers/net/ixgb/ixgb_ethtool.c | 3 +-- drivers/net/lp486e.c | 4 +--- drivers/net/mv643xx_eth.c | 3 +-- drivers/net/ne-h8300.c | 2 +- drivers/net/ne.c | 2 +- drivers/net/ne2.c | 2 +- drivers/net/ne2k-pci.c | 2 +- drivers/net/netxen/netxen_nic.h | 2 +- drivers/net/netxen/netxen_nic_hw.c | 2 +- drivers/net/pcmcia/axnet_cs.c | 2 +- drivers/net/pcmcia/pcnet_cs.c | 4 ++-- drivers/net/phy/phy.c | 2 +- drivers/net/skfp/smt.c | 2 +- drivers/net/skfp/srf.c | 4 ++-- drivers/net/tulip/de4x5.c | 6 +++--- drivers/net/wireless/airo.c | 6 +++--- drivers/net/wireless/hostap/hostap_ioctl.c | 6 +++--- drivers/net/wireless/ipw2100.c | 7 +++---- drivers/net/wireless/libertas/fw.c | 3 +-- drivers/net/wireless/libertas/main.c | 14 +++++++------- drivers/net/wireless/libertas/wext.c | 4 ++--
Quoted 8 lines
drivers/net/wireless/netwave_cs.c | 6 +++--- drivers/net/wireless/prism54/isl_ioctl.c | 7 +++---- drivers/net/wireless/ray_cs.c | 6 +++--- drivers/net/wireless/wavelan.c | 6 +++--- drivers/net/wireless/wavelan_cs.c | 6 +++--- drivers/net/wireless/wl3501_cs.c | 2 +- drivers/net/zorro8390.c | 2 +- 38 files changed, 71 insertions(+), 80 deletions(-)
applied
David Miller
maintainerRe: [PATCH 1/2] net/: all net/ cleanup with ARRAY_SIZE
In reply to Denis ChengFrom: Denis Cheng <[email protected]>
Date: Sun, 2 Sep 2007 18:30:17 +0800
Quoted 1 line
Signed-off-by Denis Cheng <[email protected]>
You already submitted the net/ipv4/af_inet.c case seperately, so I had to remove it from this patch for it to apply properly.
Please keep your patches straight to avoid problems like this.
Thans.
Re: [PATCH 1/2] net/: all net/ cleanup with ARRAY_SIZE
Quoted 11 lines · David Miller
From: Denis Cheng <[email protected]>
Date: Sun, 2 Sep 2007 18:30:17 +0800Quoted 1 line
Signed-off-by Denis Cheng <[email protected]>You already submitted the
net/ipv4/af_inet.ccase seperately, so I had to remove it from this patch for it to apply properly.Please keep your patches straight to avoid problems like this.
I just can say sorry. But at that time, I'm not sure the former specific patch to net/ipv4/af_inet.c would be applied, and then I realized that change should be done with every subsystem in the kernel source, so I regenerate a new patch for the whole net/ subsystem; In this situation, I think I should give an announcement to make the former patch deprecated, shouldn't it?
However, I'll be more cautious with patches.
Quoted 2 lines
Thans.
Thanks for applying.
Quoted 1 line
Signature · 1 line
Denis Cheng
From: Denis Cheng <[email protected]>
Date: Sun, 2 Sep 2007 12:59:07 +0800
Quoted 1 line
Signed-off-by Denis Cheng <[email protected]>
Applied to net-2.6.24, thanks!