GitHub/mt8127/android_kernel_alcatel_ttab.git
17 years agoMerge branch 'for-linus' of git://www.atmel.no/~hskinnemoen/linux/kernel/avr32
Linus Torvalds [Fri, 9 Feb 2007 16:09:05 +0000 (08:09 -0800)]
Merge branch 'for-linus' of git://atmel.no/~hskinnemoen/linux/kernel/avr32

* 'for-linus' of git://www.atmel.no/~hskinnemoen/linux/kernel/avr32:
  [AVR32] Add missing #include <linux/module.h>
  [AVR32] ssize_t should be long, not int
  [AVR32] Remove last remains of libgcc
  [AVR32] SPI platform code update
  [AVR32] Add PIOE device and reserve SDRAM pins
  [AVR32] Introduce at32_reserve_pin()
  [AVR32] Don't reset PIO state at bootup
  [AVR32] GPIO API implementation
  [AVR32] Use ARRAY_SIZE macro when appropriate
  [AVR32] Implement dma_mapping_error()
  [AVR32] Fix incorrect invalidation of shared cachelines
  [AVR32] ext int fixes
  [AVR32] fix serial port setup on ATSTK1000
  [AVR32] /proc/interrupts display
  Remove a couple final references to obsolete verify_area().

17 years ago[PATCH] mm: remove find_trylock_page
Nick Piggin [Fri, 9 Feb 2007 04:28:19 +0000 (05:28 +0100)]
[PATCH] mm: remove find_trylock_page

Remove find_trylock_page as per the removal schedule.

Signed-off-by: Nick Piggin <npiggin@suse.de>
[ Let's see if anybody screams ]
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Fri, 9 Feb 2007 16:01:37 +0000 (08:01 -0800)]
Merge /pub/scm/linux/kernel/git/davem/net-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (79 commits)
  [IPX]: Fix NULL pointer dereference on ipx unload
  [ATM]: atmarp.h needs to always include linux/types.h
  [NET]: Fix net/socket.c warnings.
  [NET]: cleanup sock_from_file()
  [NET]: change layout of ehash table
  [S390]: Add AF_IUCV socket support
  [S390]: Adapt special message interface to new IUCV API
  [S390]: Adapt netiucv driver to new IUCV API
  [S390]: Adapt vmlogrdr driver to new IUCV API
  [S390]: Adapt monreader driver to new IUCV API
  [S390]: Rewrite of the IUCV base code, part 2
  [S390]: Rewrite of the IUCV base code, part 1
  [X.25]: Adds /proc/net/x25/forward to view active forwarded calls.
  [X.25]: Adds /proc/sys/net/x25/x25_forward to control forwarding.
  [X.25]: Add call forwarding
  [XFRM]: xfrm_migrate() needs exporting to modules.
  [PFKEYV2]: CONFIG_NET_KEY_MIGRATE option
  [PFKEYV2]: Extension for dynamic update of endpoint address(es)
  [XFRM]: CONFIG_XFRM_MIGRATE option
  [XFRM]: User interface for handling XFRM_MSG_MIGRATE
  ...

17 years agoMerge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
Linus Torvalds [Fri, 9 Feb 2007 16:00:55 +0000 (08:00 -0800)]
Merge branch 'upstream-linus' of /linux/kernel/git/jgarzik/netdev-2.6

* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6:
  MAINTAINERS: update DMFE and wireless drivers mailing list
  ucc_geth: Add support to local-mac-address property
  ucc_geth: Remove obsolete workaround of link speed change
  cxgb3: sysfs attributes in -mm tree
  Add Attansic L1 ethernet driver.

17 years ago[AVR32] Add missing #include <linux/module.h>
Haavard Skinnemoen [Fri, 9 Feb 2007 14:23:46 +0000 (15:23 +0100)]
[AVR32] Add missing #include <linux/module.h>

arch/avr32/kernel/cpu.c needs THIS_MODULE, so it must include
linux/module.h.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
17 years ago[AVR32] ssize_t should be long, not int
Haavard Skinnemoen [Fri, 9 Feb 2007 11:01:02 +0000 (12:01 +0100)]
[AVR32] ssize_t should be long, not int

Since size_t is defined as unsigned long, ssize_t ought to be long
and not int. It could have been the other way around, but gcc defines
size_t as unsigned long, so this is correct.

This fixes a couple of printk format warnings.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
17 years ago[AVR32] Remove last remains of libgcc
Haavard Skinnemoen [Fri, 9 Feb 2007 10:43:09 +0000 (11:43 +0100)]
[AVR32] Remove last remains of libgcc

Two libgcc headers were left around even though all the actual code
borrowed from libgcc is gone. Delete them.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
17 years ago[AVR32] SPI platform code update
Haavard Skinnemoen [Wed, 10 Jan 2007 19:20:02 +0000 (20:20 +0100)]
[AVR32] SPI platform code update

Move stuff in spi.c into ATSTK1002 board code and update SPI
platform device definitions according to the new GPIO API.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
17 years ago[AVR32] Add PIOE device and reserve SDRAM pins
Haavard Skinnemoen [Tue, 30 Jan 2007 10:16:16 +0000 (11:16 +0100)]
[AVR32] Add PIOE device and reserve SDRAM pins

The PIOE device was left out before because it muxes SDRAM pins (and
is therefore a bit dangerous to mess with) and because no existing
drivers had any use for it.

It is needed for CompactFlash, however, and now that we have a way
to protect the SDRAM pins, it can be safely added.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
17 years ago[AVR32] Introduce at32_reserve_pin()
Haavard Skinnemoen [Tue, 30 Jan 2007 10:01:23 +0000 (11:01 +0100)]
[AVR32] Introduce at32_reserve_pin()

at32_reserve_pin() can be used for reserving portmux pins without
altering their configuration. Useful for e.g. SDRAM pins where we
really don't want to change the bootloader-provided configuration.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
17 years ago[AVR32] Don't reset PIO state at bootup
Haavard Skinnemoen [Mon, 29 Jan 2007 16:59:40 +0000 (17:59 +0100)]
[AVR32] Don't reset PIO state at bootup

Leave the PIO lines as the bootloader left them. This allows us to
use PIOE without disturbing the SDRAM muxing.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
17 years ago[AVR32] GPIO API implementation
Haavard Skinnemoen [Mon, 5 Feb 2007 15:57:13 +0000 (16:57 +0100)]
[AVR32] GPIO API implementation

Arch-neutral GPIO calls for AVR32. GPIO IRQ support written by
David Brownell.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
17 years ago[AVR32] Use ARRAY_SIZE macro when appropriate
Ahmed S. Darwish [Mon, 5 Feb 2007 02:41:27 +0000 (04:41 +0200)]
[AVR32] Use ARRAY_SIZE macro when appropriate

A patch to use ARRAY_SIZE macro already defined in linux/kernel.h

Signed-off-by: Ahmed S. Darwish <darwish.07@gmail.com>
Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
17 years ago[AVR32] Implement dma_mapping_error()
Haavard Skinnemoen [Thu, 1 Feb 2007 15:26:03 +0000 (16:26 +0100)]
[AVR32] Implement dma_mapping_error()

dma_map_single() never fails, so dma_mapping_error() simply returns 0.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
17 years ago[AVR32] Fix incorrect invalidation of shared cachelines
David Brownell [Sun, 28 Jan 2007 20:56:42 +0000 (12:56 -0800)]
[AVR32] Fix incorrect invalidation of shared cachelines

Fix bug in dma_map_single(..., DMA_FROM_DEVICE) caused by incorrect
invalidation of shared cachelines at the beginning and/or end of
the specified buffer.  Those shared cachelines need to be flushed,
since they may hold valid data (which must not be discarded).

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
17 years ago[AVR32] ext int fixes
David Brownell [Wed, 24 Jan 2007 04:21:36 +0000 (20:21 -0800)]
[AVR32] ext int fixes

Bugfixes for external irq handler set_irq_type():

 - If set_irq_type() can't set the type, don't change anything!

 - It's not OK to change the flow handler as part of set_irq_type(),
   among other issues that violates spinlock rules.  Instead, we can
   call the relevant handler when we demux the external interrupts.

 - The external irq demux has no need to grab the spinlock.  And in
   fact grabbing it that way was wrong, since that code might be
   pre-empted by an irq at a different priority level, and that code
   might then have tried to grab that spinlock...

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
17 years ago[AVR32] fix serial port setup on ATSTK1000
David Brownell [Wed, 24 Jan 2007 04:14:02 +0000 (20:14 -0800)]
[AVR32] fix serial port setup on ATSTK1000

Fixes to USART setup on the stk-1000 ... don't configure USART 2, since
its TXD/RXD are used for INT-A and INT-B buttons; and configure USART 0
(for IRDA, and with corrected IRQ) iff SW2 has a non-default setting.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
17 years ago[AVR32] /proc/interrupts display
David Brownell [Wed, 24 Jan 2007 04:12:15 +0000 (20:12 -0800)]
[AVR32] /proc/interrupts display

The /proc/interrupts file should also display the irq_chip associated
with each irq ... e.g. INTC, EIM, GPIO.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
17 years agoRemove a couple final references to obsolete verify_area().
Robert P. J. Day [Sun, 7 Jan 2007 23:43:41 +0000 (18:43 -0500)]
Remove a couple final references to obsolete verify_area().

  Remove a couple final references to the obsolete verify_area() call,
which was long ago replaced by access_ok().

Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>
Acked-by: Jesper Juhl <jesper.juhl@gmail.com>
Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
17 years agoMAINTAINERS: update DMFE and wireless drivers mailing list
Randy Dunlap [Wed, 7 Feb 2007 23:52:36 +0000 (15:52 -0800)]
MAINTAINERS: update DMFE and wireless drivers mailing list

List netdev as the mailing list for DMFE (network driver)
instead of lkml.

List linux-wireless as the mailing list for wireless network drivers.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoucc_geth: Add support to local-mac-address property
Li Yang [Thu, 8 Feb 2007 09:35:54 +0000 (17:35 +0800)]
ucc_geth: Add support to local-mac-address property

IEEE-1275 defines “local-mac-address” to be a standard
property name to specify preassigned network address.
This patch adds support for it.

Signed-off-by: Li Yang <leoli@freescale.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoucc_geth: Remove obsolete workaround of link speed change
Li Yang [Thu, 8 Feb 2007 09:34:42 +0000 (17:34 +0800)]
ucc_geth: Remove obsolete workaround of link speed change

The workaround used a long delay of 4s which caused problem
when two link-changes happens at the same time.

Signed-off-by: Li Yang <leoli@freescale.com>
Signed-off-by: Wu Xiaochuan <xiao-chuan.wu@freescale.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agocxgb3: sysfs attributes in -mm tree
Divy Le Ray [Fri, 9 Feb 2007 00:55:59 +0000 (16:55 -0800)]
cxgb3: sysfs attributes in -mm tree

This patch fixes the usage of sysfs attributes in cxgb3 for the -mm tree.
It is built against the driver commited in the -mm tree.

Signed-off-by: Divy Le Ray <divy@chelsio.com>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years ago[IPX]: Fix NULL pointer dereference on ipx unload
Jiri Bohac [Fri, 9 Feb 2007 00:02:21 +0000 (16:02 -0800)]
[IPX]: Fix NULL pointer dereference on ipx unload

Fixes a null pointer dereference when unloading the ipx module.

On initialization of the ipx module, registering certain packet
types can fail. When this happens, unloading the module later
dereferences NULL pointers.  This patch fixes that. Please apply.

Signed-off-by: Jiri Bohac <jbohac@suse.cz>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[ATM]: atmarp.h needs to always include linux/types.h
David S. Miller [Fri, 9 Feb 2007 00:01:09 +0000 (16:01 -0800)]
[ATM]: atmarp.h needs to always include linux/types.h

To provide the __be* types, even for userspace includes.

Reported by Andrew Walrond.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoMerge branch 'HEAD' of master.kernel.org:/pub/scm/linux/kernel/git/herbert/crypto-2.6
David S. Miller [Thu, 8 Feb 2007 23:25:18 +0000 (15:25 -0800)]
Merge branch 'HEAD' of /linux/kernel/git/herbert/crypto-2.6

Conflicts:

crypto/Kconfig

17 years ago[NET]: Fix net/socket.c warnings.
David S. Miller [Thu, 8 Feb 2007 23:06:08 +0000 (15:06 -0800)]
[NET]: Fix net/socket.c warnings.

GCC (correctly) says:

net/socket.c: In function ‘sys_sendto’:
net/socket.c:1510: warning: ‘err’ may be used uninitialized in this function
net/socket.c: In function ‘sys_recvfrom’:
net/socket.c:1571: warning: ‘err’ may be used uninitialized in this function

sock_from_file() either returns filp->private_data or it
sets *err and returns NULL.

Callers return "err" on NULL, but filp->private_data could
be NULL.

Some minor rearrangements of error handling in sys_sendto
and sys_recvfrom solves the issue.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NET]: cleanup sock_from_file()
Eric Dumazet [Thu, 8 Feb 2007 22:59:57 +0000 (14:59 -0800)]
[NET]: cleanup sock_from_file()

I believe dead code from sock_from_file() can be cleaned up.

All sockets are now built using sock_attach_fd(), that puts the 'sock' pointer
into file->private_data and &socket_file_ops into file->f_op

I could not find a place where file->private_data could be set to NULL,
keeping opened the file.

So to get 'sock' from a 'file' pointer, either :

- This is a socket file (f_op == &socket_file_ops), and we can directly get
'sock' from private_data.
- This is not a socket, we return -ENOTSOCK and dont even try to find a socket
via dentry/inode :)

Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NET]: change layout of ehash table
Eric Dumazet [Thu, 8 Feb 2007 22:16:46 +0000 (14:16 -0800)]
[NET]: change layout of ehash table

ehash table layout is currently this one :

First half of this table is used by sockets not in TIME_WAIT state
Second half of it is used by sockets in TIME_WAIT state.

This is non optimal because of for a given hash or socket, the two chain heads
are located in separate cache lines.
Moreover the locks of the second half are never used.

If instead of this halving, we use two list heads in inet_ehash_bucket instead
of only one, we probably can avoid one cache miss, and reduce ram usage,
particularly if sizeof(rwlock_t) is big (various CONFIG_DEBUG_SPINLOCK,
CONFIG_DEBUG_LOCK_ALLOC settings). So we still halves the table but we keep
together related chains to speedup lookups and socket state change.

In this patch I did not try to align struct inet_ehash_bucket, but a future
patch could try to make this structure have a convenient size (a power of two
or a multiple of L1_CACHE_SIZE).
I guess rwlock will just vanish as soon as RCU is plugged into ehash :) , so
maybe we dont need to scratch our heads to align the bucket...

Note : In case struct inet_ehash_bucket is not a power of two, we could
probably change alloc_large_system_hash() (in case it use __get_free_pages())
to free the unused space. It currently allocates a big zone, but the last
quarter of it could be freed. Again, this should be a temporary 'problem'.

Patch tested on ipv4 tcp only, but should be OK for IPV6 and DCCP.

Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[S390]: Add AF_IUCV socket support
Jennifer Hunt [Thu, 8 Feb 2007 21:51:54 +0000 (13:51 -0800)]
[S390]: Add AF_IUCV socket support

From: Jennifer Hunt <jenhunt@us.ibm.com>

This patch adds AF_IUCV socket support.

Signed-off-by: Frank Pavlic <fpavlic@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[S390]: Adapt special message interface to new IUCV API
Martin Schwidefsky [Thu, 8 Feb 2007 21:51:11 +0000 (13:51 -0800)]
[S390]: Adapt special message interface to new IUCV API

Adapt special message interface to new IUCV API

Signed-off-by: Frank Pavlic <fpavlic@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[S390]: Adapt netiucv driver to new IUCV API
Martin Schwidefsky [Thu, 8 Feb 2007 21:50:33 +0000 (13:50 -0800)]
[S390]: Adapt netiucv driver to new IUCV API

Adapt netiucv network device driver to new IUCV API

Signed-off-by: Frank Pavlic <fpavlic@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[S390]: Adapt vmlogrdr driver to new IUCV API
Martin Schwidefsky [Thu, 8 Feb 2007 21:40:41 +0000 (13:40 -0800)]
[S390]: Adapt vmlogrdr driver to new IUCV API

Adapt vmlogrdr character device driver to new IUCV API

Signed-off-by: Frank Pavlic <fpavlic@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[S390]: Adapt monreader driver to new IUCV API
Martin Schwidefsky [Thu, 8 Feb 2007 21:38:11 +0000 (13:38 -0800)]
[S390]: Adapt monreader driver to new IUCV API

Adapt monreader character device driver to new IUCV API

Signed-off-by: Frank Pavlic <fpavlic@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[S390]: Rewrite of the IUCV base code, part 2
Martin Schwidefsky [Thu, 8 Feb 2007 21:37:42 +0000 (13:37 -0800)]
[S390]: Rewrite of the IUCV base code, part 2

Add rewritten IUCV base code to net/iucv.

Signed-off-by: Frank Pavlic <fpavlic@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[S390]: Rewrite of the IUCV base code, part 1
Martin Schwidefsky [Thu, 8 Feb 2007 21:36:44 +0000 (13:36 -0800)]
[S390]: Rewrite of the IUCV base code, part 1

Remove the old IUCV code from drivers/s390/net
Remove approprirate IUCV entries from drivers/s390/net/Makefile,
drivers/s390/net/Kconfig and arch/s390/defconfig

Signed-off-by: Frank Pavlic <fpavlic@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[X.25]: Adds /proc/net/x25/forward to view active forwarded calls.
Andrew Hendry [Thu, 8 Feb 2007 21:35:18 +0000 (13:35 -0800)]
[X.25]: Adds /proc/net/x25/forward to view active forwarded calls.

View the active forwarded calls
cat /proc/net/x25/forward

Signed-off-by: Andrew Hendry <andrew.hendry@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[X.25]: Adds /proc/sys/net/x25/x25_forward to control forwarding.
Andrew Hendry [Thu, 8 Feb 2007 21:34:36 +0000 (13:34 -0800)]
[X.25]: Adds /proc/sys/net/x25/x25_forward to control forwarding.

echo "1" > /proc/sys/net/x25/x25_forward
To turn on x25_forwarding, defaults to off
Requires the previous patch.

Signed-off-by: Andrew Hendry <andrew.hendry@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[X.25]: Add call forwarding
Andrew Hendry [Thu, 8 Feb 2007 21:34:02 +0000 (13:34 -0800)]
[X.25]: Add call forwarding

Adds call forwarding to X.25, allowing it to operate like an X.25 router.
Useful if one needs to manipulate X.25 traffic with tools like tc.
This is an update/cleanup based off a patch submitted by Daniel Ferenci a few years ago.

Thanks Alan for the feedback.
Added the null check to the clones.
Moved the skb_clone's into the forwarding functions.

Worked ok with Cisco XoT, linux X.25 back to back, and some old NTUs/PADs.

Signed-off-by: Andrew Hendry <andrew.hendry@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[XFRM]: xfrm_migrate() needs exporting to modules.
David S. Miller [Thu, 8 Feb 2007 21:29:15 +0000 (13:29 -0800)]
[XFRM]: xfrm_migrate() needs exporting to modules.

Needed by xfrm_user and af_key.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[PFKEYV2]: CONFIG_NET_KEY_MIGRATE option
Shinta Sugimoto [Thu, 8 Feb 2007 21:15:05 +0000 (13:15 -0800)]
[PFKEYV2]: CONFIG_NET_KEY_MIGRATE option

Add CONFIG_NET_KEY_MIGRATE option which makes it possible for user
application to send or receive MIGRATE message to/from PF_KEY socket.

Signed-off-by: Shinta Sugimoto <shinta.sugimoto@ericsson.com>
Signed-off-by: Masahide NAKAMURA <nakam@linux-ipv6.org>
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[PFKEYV2]: Extension for dynamic update of endpoint address(es)
Shinta Sugimoto [Thu, 8 Feb 2007 21:14:33 +0000 (13:14 -0800)]
[PFKEYV2]: Extension for dynamic update of endpoint address(es)

Extend PF_KEYv2 framework so that user application can take advantage
of MIGRATE feature via PF_KEYv2 interface. User application can either
send or receive an MIGRATE message to/from PF_KEY socket.

Detail information can be found in the internet-draft
<draft-sugimoto-mip6-pfkey-migrate>.

Signed-off-by: Shinta Sugimoto <shinta.sugimoto@ericsson.com>
Signed-off-by: Masahide NAKAMURA <nakam@linux-ipv6.org>
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[XFRM]: CONFIG_XFRM_MIGRATE option
Shinta Sugimoto [Thu, 8 Feb 2007 21:13:07 +0000 (13:13 -0800)]
[XFRM]: CONFIG_XFRM_MIGRATE option

Add CONFIG_XFRM_MIGRATE option which makes it possible for for user
application to send or receive MIGRATE message to/from netlink socket.

Signed-off-by: Shinta Sugimoto <shinta.sugimoto@ericsson.com>
Signed-off-by: Masahide NAKAMURA <nakam@linux-ipv6.org>
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[XFRM]: User interface for handling XFRM_MSG_MIGRATE
Shinta Sugimoto [Thu, 8 Feb 2007 21:12:32 +0000 (13:12 -0800)]
[XFRM]: User interface for handling XFRM_MSG_MIGRATE

Add user interface for handling XFRM_MSG_MIGRATE. The message is issued
by user application. When kernel receives the message, procedure of
updating XFRM databases will take place.

Signed-off-by: Shinta Sugimoto <shinta.sugimoto@ericsson.com>
Signed-off-by: Masahide NAKAMURA <nakam@linux-ipv6.org>
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[XFRM]: Extension for dynamic update of endpoint address(es)
Shinta Sugimoto [Thu, 8 Feb 2007 21:11:42 +0000 (13:11 -0800)]
[XFRM]: Extension for dynamic update of endpoint address(es)

Extend the XFRM framework so that endpoint address(es) in the XFRM
databases could be dynamically updated according to a request (MIGRATE
message) from user application. Target XFRM policy is first identified
by the selector in the MIGRATE message. Next, the endpoint addresses
of the matching templates and XFRM states are updated according to
the MIGRATE message.

Signed-off-by: Shinta Sugimoto <shinta.sugimoto@ericsson.com>
Signed-off-by: Masahide NAKAMURA <nakam@linux-ipv6.org>
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: ip6_tables: remove redundant structure definitions
Patrick McHardy [Wed, 7 Feb 2007 23:14:28 +0000 (15:14 -0800)]
[NETFILTER]: ip6_tables: remove redundant structure definitions

Move ip6t_standard/ip6t_error_target/ip6t_error definitions to ip6_tables.h
instead of defining them in each table individually.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: ip_tables: remove declaration of non-existant ipt_find_target function
Patrick McHardy [Wed, 7 Feb 2007 23:13:20 +0000 (15:13 -0800)]
[NETFILTER]: ip_tables: remove declaration of non-existant ipt_find_target function

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: ip6_tables: support MH match
Masahide NAKAMURA [Wed, 7 Feb 2007 23:12:57 +0000 (15:12 -0800)]
[NETFILTER]: ip6_tables: support MH match

This introduces match for Mobility Header (MH) described by Mobile IPv6
specification (RFC3775). User can specify the MH type or its range to be
matched.

Signed-off-by: Masahide NAKAMURA <nakam@linux-ipv6.org>
Signed-off-by: Yasuyuki Kozakai <kozakai@linux-ipv6.org>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: {ip,ip6}_tables: use struct xt_table instead of redefined structure...
Jan Engelhardt [Wed, 7 Feb 2007 23:12:33 +0000 (15:12 -0800)]
[NETFILTER]: {ip,ip6}_tables: use struct xt_table instead of redefined structure names

Signed-off-by: Jan Engelhardt <jengelh@gmx.de>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: {ip,ip6}_tables: remove x_tables wrapper functions
Jan Engelhardt [Wed, 7 Feb 2007 23:11:19 +0000 (15:11 -0800)]
[NETFILTER]: {ip,ip6}_tables: remove x_tables wrapper functions

Use the x_tables functions directly to make it better visible which
parts are shared between ip_tables and ip6_tables.

Signed-off-by: Jan Engelhardt <jengelh@gmx.de>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: x_tables: fix return values for LOG/ULOG
Jan Engelhardt [Wed, 7 Feb 2007 23:10:34 +0000 (15:10 -0800)]
[NETFILTER]: x_tables: fix return values for LOG/ULOG

Signed-off-by: Jan Engelhardt <jengelh@gmx.de>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: NAT: optional source port randomization support
Eric Leblond [Wed, 7 Feb 2007 23:10:09 +0000 (15:10 -0800)]
[NETFILTER]: NAT: optional source port randomization support

This patch adds support to NAT to randomize source ports.

Signed-off-by: Eric Leblond <eric@inl.fr>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: add IPv6-capable TCPMSS target
Patrick McHardy [Wed, 7 Feb 2007 23:09:46 +0000 (15:09 -0800)]
[NETFILTER]: add IPv6-capable TCPMSS target

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NET]: Add UDPLITE support in a few missing spots
Patrick McHardy [Wed, 7 Feb 2007 23:07:43 +0000 (15:07 -0800)]
[NET]: Add UDPLITE support in a few missing spots

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: bridge-netfilter: use nf_register_hooks/nf_unregister_hooks
Patrick McHardy [Wed, 7 Feb 2007 23:07:22 +0000 (15:07 -0800)]
[NETFILTER]: bridge-netfilter: use nf_register_hooks/nf_unregister_hooks

Additionally mark the init function __init.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: nf_nat: remove broken HOOKNAME macro
Patrick McHardy [Wed, 7 Feb 2007 23:07:08 +0000 (15:07 -0800)]
[NETFILTER]: nf_nat: remove broken HOOKNAME macro

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: Remove useless comparisons before assignments
Jan Engelhardt [Wed, 7 Feb 2007 23:06:43 +0000 (15:06 -0800)]
[NETFILTER]: Remove useless comparisons before assignments

Remove unnecessary if() constructs before assignment.

Signed-off-by: Jan Engelhardt <jengelh@gmx.de>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: tcp conntrack: do liberal tracking for picked up connections
Patrick McHardy [Wed, 7 Feb 2007 23:05:33 +0000 (15:05 -0800)]
[NETFILTER]: tcp conntrack: do liberal tracking for picked up connections

Do liberal tracking (only RSTs need to be in-window) for connections picked
up without seeing a SYN to deal with window scaling. Also change logging
of invalid packets not to log packets accepted by liberal tracking to avoid
spamming the logs.

Based on suggestion from James Ralston <ralston@pobox.com>

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: Add SANE connection tracking helper
Michal Schmidt [Wed, 7 Feb 2007 23:05:12 +0000 (15:05 -0800)]
[NETFILTER]: Add SANE connection tracking helper

This is nf_conntrack_sane, a netfilter connection tracking helper module
for the SANE protocol used by the 'saned' daemon to make scanners available
via network. The SANE protocol uses separate control & data connections,
similar to passive FTP. The helper module is needed to recognize the data
connection as RELATED to the control one.

Signed-off-by: Michal Schmidt <mschmidt@redhat.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[IRLAN]: handle out of memory errors
Akinobu Mita [Wed, 7 Feb 2007 08:12:13 +0000 (00:12 -0800)]
[IRLAN]: handle out of memory errors

This patch checks return values:

- irlmp_register_client()
- irlmp_register_service()
- irlan_open()

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Samuel Ortiz <samuel@sortiz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[IRDA]: handle out of memory errors
Akinobu Mita [Wed, 7 Feb 2007 08:11:11 +0000 (00:11 -0800)]
[IRDA]: handle out of memory errors

This patch checks return value of memory allocation functions
for irda subsystem and fixes memory leaks in error cases.

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Samuel Ortiz <samuel@sortiz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NET]: unregister_netdevice as void
Stephen Hemminger [Wed, 7 Feb 2007 08:09:58 +0000 (00:09 -0800)]
[NET]: unregister_netdevice as void

There was no real useful information from the unregister_netdevice() return
code, the only error occurred in a situation that was a driver bug. So
change it to a void function.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[IPV6] RAW: Add checksum default defines for MH.
Masahide NAKAMURA [Wed, 7 Feb 2007 08:07:39 +0000 (00:07 -0800)]
[IPV6] RAW: Add checksum default defines for MH.

Add checksum default defines for mobility header(MH) which
goes through raw socket. As the result kernel's behavior is
to handle MH checksum as default.

This patch also removes verifying inbound MH checksum at
mip6_mh_filter() since it did not consider user specified
checksum offset and was redundant check with raw socket code.

Signed-off-by: Masahide NAKAMURA <nakam@linux-ipv6.org>
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[IPV4/IPV6] multicast: Check add_grhead() return value
Alexey Dobriyan [Tue, 6 Feb 2007 22:35:25 +0000 (14:35 -0800)]
[IPV4/IPV6] multicast: Check add_grhead() return value

add_grhead() allocates memory with GFP_ATOMIC and in at least two places skb
from it passed to skb_put() without checking.

Signed-off-by: Alexey Dobriyan <adobriyan@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[XFRM]: Fix missed error setting in xfrm4_policy.c
David S. Miller [Tue, 6 Feb 2007 22:32:42 +0000 (14:32 -0800)]
[XFRM]: Fix missed error setting in xfrm4_policy.c

When we can't find the afinfo we should return EAFNOSUPPORT.
GCC warned about the uninitialized 'err' for this path as well.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[IPSEC]: IPv4 over IPv6 IPsec tunnel
Miika Komu [Tue, 6 Feb 2007 22:27:32 +0000 (14:27 -0800)]
[IPSEC]: IPv4 over IPv6 IPsec tunnel

This is the patch to support IPv4 over IPv6 IPsec.

Signed-off-by: Miika Komu <miika@iki.fi>
Signed-off-by: Diego Beltrami <Diego.Beltrami@hiit.fi>
Signed-off-by: Kazunori Miyazawa <miyazawa@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[IPSEC]: IPv6 over IPv4 IPsec tunnel
Miika Komu [Tue, 6 Feb 2007 22:27:02 +0000 (14:27 -0800)]
[IPSEC]: IPv6 over IPv4 IPsec tunnel

This is the patch to support IPv6 over IPv4 IPsec

Signed-off-by: Miika Komu <miika@iki.fi>
Signed-off-by: Diego Beltrami <Diego.Beltrami@hiit.fi>
Signed-off-by: Kazunori Miyazawa <miyazawa@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[IPSEC]: exporting xfrm_state_afinfo
Miika Komu [Tue, 6 Feb 2007 22:24:56 +0000 (14:24 -0800)]
[IPSEC]: exporting xfrm_state_afinfo

This patch exports xfrm_state_afinfo.

Signed-off-by: Miika Komu <miika@iki.fi>
Signed-off-by: Diego Beltrami <Diego.Beltrami@hiit.fi>
Signed-off-by: Kazunori Miyazawa <miyazawa@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[BONDING]: Replace kmalloc() + memset() pairs with the appropriate kzalloc() calls
Joe Jin [Tue, 6 Feb 2007 22:16:40 +0000 (14:16 -0800)]
[BONDING]: Replace kmalloc() + memset() pairs with the appropriate kzalloc() calls

Replace kmalloc() + memset() pairs with the appropriate kzalloc() calls in
the bonding driver.

Signed-off-by: Joe Jin <lkmaillist@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
17 years ago[TG3]: Avoid an expensive divide.
Eric Dumazet [Tue, 6 Feb 2007 21:29:21 +0000 (13:29 -0800)]
[TG3]: Avoid an expensive divide.

During an oprofile session of linux-2.6.20 on a dual opteron system, I noticed
an expensive divide was done in tg3_poll().

I am using gcc-4.1.1, so the following comment from drivers/net/tg3.c seems
over-optimistic :

/* Do not place this n-ring entries value into the tp struct itself,
  * we really want to expose these constants to GCC so that modulo et
  * al.  operations are done with shifts and masks instead of with
  * hw multiply/modulo instructions.  Another solution would be to
  * replace things like '% foo' with '& (foo - 1)'.
  */
#define TG3_RX_RCB_RING_SIZE(tp)        \
         ((tp->tg3_flags2 & TG3_FLG2_5705_PLUS) ?  512 : 1024)

Assembly code before patch :
(oprofile results included)
   6434  0.0088 :ffffffff803684b9:       mov    0x6f0(%r15),%eax
    587 8.0e-04 :ffffffff803684c0:       and    $0x40000,%eax
   2170  0.0030 :ffffffff803684c5:       cmp    $0x1,%eax
                :ffffffff803684c8:       lea    0x1(%r13),%eax
                :ffffffff803684cc:       sbb    %ecx,%ecx
   2051  0.0028 :ffffffff803684ce:       xor    %edx,%edx
                :ffffffff803684d0:       and    $0x200,%ecx
     20 2.7e-05 :ffffffff803684d6:       add    $0x200,%ecx
   1986  0.0027 :ffffffff803684dc:       div    %ecx
103427  0.1410 :ffffffff803684de:       cmp    %edx,0xffffffffffffff7c(%rbp)

Assembly code after the suggested patch :

ffffffff803684b9:           mov    0x6f0(%r15),%eax
ffffffff803684c0:           and    $0x40000,%eax
ffffffff803684c5:           cmp    $0x1,%eax
ffffffff803684c8:           sbb    %eax,%eax
ffffffff803684ca:           inc    %r13d
ffffffff803684cd:           and    $0x200,%eax
ffffffff803684d2:           add    $0x1ff,%eax
ffffffff803684d7:           and    %eax,%r13d
ffffffff803684da:           cmp    %r13d,0xffffffffffffff7c(%rbp)

Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Acked-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[DCCP]: Warning fixes.
Andrew Morton [Tue, 6 Feb 2007 02:18:21 +0000 (18:18 -0800)]
[DCCP]: Warning fixes.

net/dccp/ccids/ccid3.c: In function `ccid3_hc_rx_packet_recv':
net/dccp/ccids/ccid3.c:1007: warning: long int format, different type arg (arg 3)
net/dccp/ccids/ccid3.c:1007: warning: long int format, different type arg (arg 4)

opaque types must be suitably cast for printing.

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NET] slip: Replace kmalloc() + memset() pairs with the appropriate kzalloc() calls
Joe Jin [Tue, 6 Feb 2007 02:08:47 +0000 (18:08 -0800)]
[NET] slip: Replace kmalloc() + memset() pairs with the appropriate kzalloc() calls

This patch replace kmalloc() + memset() pairs with the appropriate
kzalloc().

Signed-off-by: Joe Jin <joe.jin@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NET] net/wanrouter/wanmain.c: cleanups
Adrian Bunk [Tue, 6 Feb 2007 02:07:27 +0000 (18:07 -0800)]
[NET] net/wanrouter/wanmain.c: cleanups

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>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[ATM]: Fix for crash in adummy_init()
Daniel Walker [Tue, 6 Feb 2007 02:04:06 +0000 (18:04 -0800)]
[ATM]: Fix for crash in adummy_init()

This was reported by Ingo Molnar here,

http://lkml.org/lkml/2006/12/18/119

The problem is that adummy_init() depends on atm_init() , but adummy_init()
is called first.

So I put atm_init() into subsys_initcall which seems appropriate, and it
will still get module_init() if it becomes a module.

Interesting to note that you could crash your system here if you just load
the modules in the wrong order.

Signed-off-by: Daniel Walker <dwalker@mvista.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NET]: user of the jiffies rounding code: Networking
Arjan van de Ven [Tue, 6 Feb 2007 01:59:51 +0000 (17:59 -0800)]
[NET]: user of the jiffies rounding code: Networking

This patch introduces users of the round_jiffies() function in the
networking code.

These timers all were of the "about once a second" or "about once
every X seconds" variety and several showed up in the "what wakes the
cpu up" profiles that the tickless patches provide.  Some timers are
highly dynamic based on network load; but even on low activity systems
they still show up so the rounding is done only in cases of low
activity, allowing higher frequency timers in the high activity case.

The various hardware watchdogs are an obvious case; they run every 2
seconds but aren't otherwise specific of exactly when they need to
run.

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[TCP]: Don't apply FIN exception to full TSO segments.
John Heffner [Tue, 6 Feb 2007 01:53:11 +0000 (17:53 -0800)]
[TCP]: Don't apply FIN exception to full TSO segments.

Signed-off-by: John Heffner <jheffner@psc.edu>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[TCP]: Check num sacks in SACK fast path
Baruch Even [Mon, 5 Feb 2007 07:37:41 +0000 (23:37 -0800)]
[TCP]: Check num sacks in SACK fast path

We clear the unused parts of the SACK cache, This prevents us from mistakenly
taking the cache data if the old data in the SACK cache is the same as the data
in the SACK block. This assumes that we never receive an empty SACK block with
start and end both at zero.

Signed-off-by: Baruch Even <baruch@ev-en.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[TCP]: Seperate DSACK from SACK fast path
Baruch Even [Mon, 5 Feb 2007 07:36:42 +0000 (23:36 -0800)]
[TCP]: Seperate DSACK from SACK fast path

Move DSACK code outside the SACK fast-path checking code. If the DSACK
determined that the information was too old we stayed with a partial cache
copied. Most likely this matters very little since the next packet will not be
DSACK and we will find it in the cache. but it's still not good form and there
is little reason to couple the two checks.

Since the SACK receive cache doesn't need the data to be in host order we also
remove the ntohl in the checking loop.

Signed-off-by: Baruch Even <baruch@ev-en.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[TCP]: Advance fast path pointer for first block only
Baruch Even [Mon, 5 Feb 2007 07:35:57 +0000 (23:35 -0800)]
[TCP]: Advance fast path pointer for first block only

Only advance the SACK fast-path pointer for the first block, the
fast-path assumes that only the first block advances next time so we
should not move the cached skb for the next sack blocks.

Signed-off-by: Baruch Even <baruch@ev-en.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[PACKET]: Fix skb->cb clobbering between aux and sockaddr
Herbert Xu [Mon, 5 Feb 2007 07:33:10 +0000 (23:33 -0800)]
[PACKET]: Fix skb->cb clobbering between aux and sockaddr

Both aux data and sockaddr tries to use the same buffer which
obviously doesn't work.  We just happen to have 4 bytes free in
the skb->cb if you take away the maximum length of sockaddr_ll.
That's just enough to store the one piece of info from aux data
that we can't generate at recvmsg(2) time.

This is what the following patch does.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[PACKET]: Add optional checksum computation for recvmsg
Herbert Xu [Mon, 5 Feb 2007 07:31:32 +0000 (23:31 -0800)]
[PACKET]: Add optional checksum computation for recvmsg

This patch is needed to make ISC's DHCP server (and probably other
DHCP servers/clients using AF_PACKET) to be able to serve another
client on the same Xen host.

The problem is that packets between different domains on the same
Xen host only have partial checksums.  Unfortunately this piece of
information is not passed along in AF_PACKET unless you're using
the mmap interface.  Since dhcpd doesn't support packet-mmap, UDP
packets from the same host come out with apparently bogus checksums.

This patch adds a mechanism for AF_PACKET recvmsg(2) to return the
status along with the packet.  It does so by adding a new cmsg that
contains this information along with some other relevant data such
as the original packet length.

I didn't include the time stamp information since there is already
a cmsg for that.

This patch also changes the mmap code to set the CSUMNOTREADY flag
on all packets instead of just outoing packets on cooked sockets.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[IPV4/IPV6]: Always wait for IPSEC SA resolution in socket contexts.
David S. Miller [Thu, 8 Feb 2007 10:09:21 +0000 (02:09 -0800)]
[IPV4/IPV6]: Always wait for IPSEC SA resolution in socket contexts.

Do this even for non-blocking sockets.  This avoids the silly -EAGAIN
that applications can see now, even for non-blocking sockets in some
cases (f.e. connect()).

With help from Venkat Tekkirala.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[TCP]: remove tcp header from tcp_v4_check (take #2)
Frederik Deweerdt [Mon, 5 Feb 2007 04:15:27 +0000 (20:15 -0800)]
[TCP]: remove tcp header from tcp_v4_check (take #2)

The tcphdr struct passed to tcp_v4_check is not used, the following
patch removes it from the parameter list.

This adds the netfilter modifications missing in the patch I sent
for rc3-mm1.

Signed-off-by: Frederik Deweerdt <frederik.deweerdt@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[IPV6] ROUTE: Do not route packets to link-local address on other device.
YOSHIFUJI Hideaki [Mon, 5 Feb 2007 04:15:04 +0000 (20:15 -0800)]
[IPV6] ROUTE: Do not route packets to link-local address on other device.

With help from Wei Dong <weid@np.css.fujitsu.com>.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETLINK]: Don't BUG on undersized allocations
Patrick McHardy [Thu, 1 Feb 2007 07:16:40 +0000 (23:16 -0800)]
[NETLINK]: Don't BUG on undersized allocations

Currently netlink users BUG when the allocated skb for an event
notification is undersized. While this is certainly a kernel bug,
its not critical and crashing the kernel is too drastic, especially
when considering that these errors have appeared multiple times in
the past and it BUGs even if no listeners are present.

This patch replaces BUG by WARN_ON and changes the notification
functions to inform potential listeners of undersized allocations
using a unique error code (EMSGSIZE).

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NET_SCHED] sch_prio: class statistics printing enabled
Jarek Poplawski [Wed, 31 Jan 2007 20:21:24 +0000 (12:21 -0800)]
[NET_SCHED] sch_prio: class statistics printing enabled

This patch adds a dump_stats callback to enable
printing of basic statistics of prio classes.
(With help of Patrick McHardy).

Signed-off-by: Jarek Poplawski <jarkao2@o2.pl>
Acked-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoMerge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/mfasheh...
Linus Torvalds [Thu, 8 Feb 2007 18:37:22 +0000 (10:37 -0800)]
Merge branch 'upstream-linus' of /linux/kernel/git/mfasheh/ocfs2

* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/mfasheh/ocfs2: (22 commits)
  configfs: Zero terminate data in configfs attribute writes.
  [PATCH] ocfs2 heartbeat: clean up bio submission code
  ocfs2: introduce sc->sc_send_lock to protect outbound outbound messages
  [PATCH] ocfs2: drop INET from Kconfig, not needed
  ocfs2_dlm: Add timeout to dlm join domain
  ocfs2_dlm: Silence some messages during join domain
  ocfs2_dlm: disallow a domain join if node maps mismatch
  ocfs2_dlm: Ensure correct ordering of set/clear refmap bit on lockres
  ocfs2: Binds listener to the configured ip address
  ocfs2_dlm: Calling post handler function in assert master handler
  ocfs2: Added post handler callable function in o2net message handler
  ocfs2_dlm: Cookies in locks not being printed correctly in error messages
  ocfs2_dlm: Silence a failed convert
  ocfs2_dlm: wake up sleepers on the lockres waitqueue
  ocfs2_dlm: Dlm dispatch was stopping too early
  ocfs2_dlm: Drop inflight refmap even if no locks found on the lockres
  ocfs2_dlm: Flush dlm workqueue before starting to migrate
  ocfs2_dlm: Fix migrate lockres handler queue scanning
  ocfs2_dlm: Make dlmunlock() wait for migration to complete
  ocfs2_dlm: Fixes race between migrate and dirty
  ...

17 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6
Linus Torvalds [Thu, 8 Feb 2007 18:04:48 +0000 (10:04 -0800)]
Merge /pub/scm/linux/kernel/git/gregkh/driver-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6:
  Revert "Driver core: convert SPI code to use struct device"

17 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/paulus/powerpc
Linus Torvalds [Thu, 8 Feb 2007 18:04:20 +0000 (10:04 -0800)]
Merge /pub/scm/linux/kernel/git/paulus/powerpc

* master.kernel.org:/pub/scm/linux/kernel/git/paulus/powerpc: (116 commits)
  [POWERPC] Add export of vgacon_remap_base
  [POWERPC] Remove bogus comment about page_is_ram
  [POWERPC] windfarm: don't die on suspend thread signal
  [POWERPC] Fix comment in kernel/irq.c
  [POWERPC] ppc: Fix booke watchdog initialization
  [POWERPC] PPC: Use ARRAY_SIZE macro when appropriate
  [POWERPC] Use ARRAY_SIZE macro when appropriate
  [POWERPC] Fix ppc64's writing to struct file_operations
  [POWERPC] ppc: use syslog macro for the printk log level
  [POWERPC] ppc: cs4218_tdm remove extra brace
  [POWERPC] Add mpc52xx/lite5200 PCI support
  [POWERPC] Only use H_BULK_REMOVE if the firmware supports it
  [POWERPC] Fixup error handling when emulating a floating point instruction
  [POWERPC] Enable interrupts if we are doing fp math emulation
  [POWERPC] Added kprobes support to ppc32
  [POWERPC] Make pSeries use the H_BULK_REMOVE hypervisor call
  [POWERPC] Clear RI bit in MSR before restoring r13 when returning to userspace
  [POWERPC] Fix performance monitor exception
  [POWERPC] Compile fixes for arch/powerpc dcr code
  [POWERPC] Maple: use mmio nvram
  ...

17 years agoMerge branch 'drm-patches' of master.kernel.org:/pub/scm/linux/kernel/git/airlied...
Linus Torvalds [Thu, 8 Feb 2007 18:03:28 +0000 (10:03 -0800)]
Merge branch 'drm-patches' of /linux/kernel/git/airlied/drm-2.6

* 'drm-patches' of master.kernel.org:/pub/scm/linux/kernel/git/airlied/drm-2.6:
  drm: Allow for 44 bit user-tokens (or drm_file offsets)
  drm/via: Disable AGP DMA for chips with the new 3D engine.
  drm: update core memory manager from git drm tree
  drm: remove drm_ioremap and drm_ioremapfree
  i810/i830: use drm_core_ioremap instead of drm_ioremap
  drm: use vmalloc_user instead of vmalloc_32 for DRM_SHM
  via: allow for npot texture pitch alignment
  via: add some new chipsets
  via: some PCI posting flushes

17 years agokbuild: fix space for good (take 103)
Linus Torvalds [Thu, 8 Feb 2007 16:16:44 +0000 (08:16 -0800)]
kbuild: fix space for good (take 103)

Michal Ostrowski points out what the real problem was: the spaces at the
start of the definition of the 'checker-shell' make function.

Cc: Michal Ostrowski <mostrows@watson.ibm.com>
Acked-by: David Miller <davem@davemloft.net>
Acked-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Acked-by: Oleg Verych <olecom@flower.upol.cz>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoAdd Attansic L1 ethernet driver.
Jay Cliburn [Thu, 8 Feb 2007 15:42:37 +0000 (10:42 -0500)]
Add Attansic L1 ethernet driver.

This driver is a modified version of the Attansic reference driver
for the L1 ethernet adapter.  Attansic has granted permission for
its inclusion in the mainline kernel.

Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoRevert "Driver core: convert SPI code to use struct device"
Greg Kroah-Hartman [Thu, 8 Feb 2007 05:34:08 +0000 (21:34 -0800)]
Revert "Driver core: convert SPI code to use struct device"

This reverts commit 2943ecf2ed32632473c06f1975db47a7aa98c10f.

This should go through the SPI maintainer, it was my fault that it did
not.  Especially as it conflicts with other patches he has pending.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agodrm: Allow for 44 bit user-tokens (or drm_file offsets)
Thomas Hellstrom [Thu, 8 Feb 2007 05:14:05 +0000 (16:14 +1100)]
drm: Allow for 44 bit user-tokens (or drm_file offsets)

17 years ago[POWERPC] Add export of vgacon_remap_base
Mathieu Desnoyers [Thu, 8 Feb 2007 00:04:44 +0000 (19:04 -0500)]
[POWERPC] Add export of vgacon_remap_base

The following macro :
include/asm-powerpc/vga.h:#define VGA_MAP_MEM(x,s) (x + vgacon_remap_base)
is used by drivers/video/console/vgacon.c which can be compiled as a module
(drivers/video/vga16fb.ko).

Therefore, vgacon_remap_base should be exported.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Remove bogus comment about page_is_ram
Johannes Berg [Wed, 7 Feb 2007 12:45:45 +0000 (13:45 +0100)]
[POWERPC] Remove bogus comment about page_is_ram

arch/powerpc/mm/mem.c states that page_is_ram is called by the code that
implements /dev/mem, which isn't true.  Remove the comment.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Cc: Paul Mackerras <paulus@samba.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] windfarm: don't die on suspend thread signal
Johannes Berg [Mon, 5 Feb 2007 18:30:29 +0000 (19:30 +0100)]
[POWERPC] windfarm: don't die on suspend thread signal

When the windfarm thread gets a suspend signal it will die instead of
freezing. This fixes it.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Fix comment in kernel/irq.c
Johannes Berg [Wed, 13 Dec 2006 12:38:22 +0000 (13:38 +0100)]
[POWERPC] Fix comment in kernel/irq.c

kernel/irq.c contains a comment that speaks of -1 and -2 as interrupt
numbers, but this is actually dependent on configuration options now.
Replace by NO_IRQ and NO_IRQ_ENABLED.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] ppc: Fix booke watchdog initialization
Stefan Roese [Wed, 7 Feb 2007 08:45:55 +0000 (09:45 +0100)]
[POWERPC] ppc: Fix booke watchdog initialization

Fix two problems in the book-e watchdog driver.

a) The 4xx default period was defined wrong
b) Clear status before enabling the watchdog exception

Signed-off-by: Stefan Roese <sr@denx.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] PPC: Use ARRAY_SIZE macro when appropriate
Ahmed S. Darwish [Tue, 6 Feb 2007 00:14:10 +0000 (16:14 -0800)]
[POWERPC] PPC: Use ARRAY_SIZE macro when appropriate

Use ARRAY_SIZE macro already defined in linux/kernel.h

Signed-off-by: Ahmed S. Darwish <darwish.07@gmail.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Acked-by: Kumar Gala <galak@gate.crashing.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>