Commit Graph

212415 Commits

Author SHA1 Message Date
Colin Cross
b27fa20574 ARM: tegra: cpufreq: Remove direct calls to localtimer
The localtimer code will use a cpufreq notifier to update
the prescalers.

Change-Id: Ie0587d7eaec628ff11bf40636f78597574cd63ec
Signed-off-by: Colin Cross <ccross@android.com>
2011-01-04 14:55:24 -08:00
Colin Cross
e5603f1350 ARM: smp_twd: Avoid recalibrating local timer
Change-Id: I10af3139ecd0dc1ef54e7a8e5258ee6fb29bfb0c
Signed-off-by: Colin Cross <ccross@android.com>
2011-01-04 14:55:24 -08:00
Todd Poynor
85d90d7d61 ARM: tegra: cpufreq thermal throttling cleanups
Various review feedback, including:

Keep a global throttling index that specifies a ceiling CPU speed, lowered by one
at each delay interval (while the temperature alarm continues to be signalled).
Avoid lowering the throttle too far based on a transitory lowering of speed
requested by the governor.

Restore governor-requested speed when throttling turned off.

Add cpufreq sysfs attribute for checking throttling state.

Make throttling workqueue high-priority.

Cosmetic changes.

Change-Id: I068bf32115927fa61282f17f4a8798f2aee0b530
Signed-off-by: Todd Poynor <toddpoynor@google.com>
2011-01-04 11:39:17 -08:00
Colin Cross
0792e02b8e ARM: tegra: clock: Add function to set SDMMC tap delay
The SDMMC controllers have extra bits in the clock source
register that adjust the delay between the clock and data
to compenstate for delays on the PCB.  The values need to
be set from the clock code so the clock can be locked
during the read-modify-write on the clock source register.

Change-Id: Id25b7cc01fa4ec48478b60aefdf5e59bb040fbf2
Signed-off-by: Colin Cross <ccross@android.com>
2010-12-29 16:11:51 -08:00
Varun Wadekar
658a127f90 crypto: tegra-aes: reduce ivsize to 16 bytes and priority to 100
Change-Id: I6f5a7107d1140cf67f6029111cb4df312ac1183c
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
2010-12-29 11:37:40 -08:00
Varun Wadekar
5f6a95c324 crypto: tegra-aes: initialise bsev/vde clocks per operation
Change-Id: Iaddea9ba9d3bee9c987776f37225dee483684274
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
2010-12-29 11:37:34 -08:00
Varun Wadekar
14c51c0259 [ARM] tegra: clocks: add clock entry for bsev
Change-Id: I7ec657c30b84c65705b38a390bdc44b64cd5ea36
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
2010-12-29 11:05:43 +05:30
Benoit Goby
c901a0736a usb: ehci: tegra: Don't change the hcd state on restart
usbcore will change it once the bus has been resumed. This fixes
the "hub 3-0:1.0: activate --> -22" error on resume.

Change-Id: Icff283a60634b4d003e77aafb5a5127d415cbd3f
Signed-off-by: Benoit Goby <benoit@android.com>
2010-12-28 15:46:42 -08:00
Benoit Goby
44d6df2d37 ARM: tegra: usb_phy: Use utmi_phy_preresume for usb1 too
This prevents disconnects on resume.

Change-Id: I16a9e826df0d6c992e0e4480d38badba6cc9dfec
Signed-off-by: Benoit Goby <benoit@android.com>
2010-12-28 15:07:03 -08:00
Colin Cross
b104a07edb Merge commit 'v2.6.36.2' into linux-tegra-2.6.36 2010-12-21 18:34:37 -08:00
Varun Wadekar
e87ec4d59e [ARM] tegra: ventana: remove pda-power device
pda-power is only needed on pdas and phones.

Change-Id: I46a668cc0ee3f4b23c63de48251591cf4a8f99e8
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
2010-12-21 11:29:41 -08:00
Todd Poynor
f940e06d5c ARM: tegra: cpufreq: Change function signature for CPU speed throttling
The NCT1008 driver is now passed a function pointer from the board
file's platform data to be called when alarms are asserted or
deasserted.  Switch to a single function for throttling
enable/disable suitable for calling via the temperature alarm
callback.

Change-Id: Ic0eb1566a68e151216e26dfb6ed6f4bc7a273ddb
Signed-off-by: Todd Poynor <toddpoynor@google.com>
2010-12-20 19:24:27 -08:00
Todd Poynor
fca172ff3d ARM: tegra: Make CPU thermal throttling configurable
Based on work by Dmitriy Gruzman and Varun Wadekar.

Change-Id: I64d765628223b7ef1ec493b9e409ea11e9391b94
Signed-off-by: Todd Poynor <toddpoynor@google.com>
2010-12-20 19:24:27 -08:00
Stephen Warren
2783158bbd mfd: Remove tps6586x device ID check
... and convert it to a dev_info print at probe time.

There are many variants of this chip with different values of VERSIONCRC.
The set of values is large, and not useful to enumerate. All are SW
compatible. The difference lies in default settings of the various power
rails, and other similar differences. The driver, or clients of the
driver, shouldn't be affected by this, since all rails should be
programmed into the desired state in all cases for correct operation.

Derived-from-code-by: Andrew Chew <achew@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2010-12-20 14:57:26 -08:00
Andrew Chew
862be7876b mfd: Add TPS658621C device ID
The interface for this device should be identical to that of the
TPS658521A.

Signed-off-by: Andrew Chew <achew@nvidia.com>
Acked-by: Mike Rapoport <mike@compulab.co.il>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2010-12-20 14:57:19 -08:00
Rebecca Schultz Zavin
7e78d3b5ed video: tegra: nvmap: Add logging to some error conditions
Change-Id: I1ec34fd4a6bb21a6d84912a7228c209f459261be
Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
2010-12-17 15:24:18 -08:00
Colin Cross
7d99fb5c85 crypto: tegra-aes: Disable clock at end of probe
Change-Id: Ie5b98b705a7ec70782df5dc0aec69438b699661c
Signed-off-by: Colin Cross <ccross@android.com>
2010-12-16 12:51:22 -08:00
Varun Wadekar
8fc88f1863 [ARM] tegra: ventana: register AES device
Change-Id: I5badd8d4967d7a98439b6f4b5d1329b28ee0c2d4
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
2010-12-14 13:57:22 -08:00
Varun Wadekar
ea803aa701 [ARM] tegra: add aes to devices.c
Change-Id: Id13075009d785e784ae6bd0feb9b29f3fa7184df
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
2010-12-14 13:54:55 -08:00
Varun Wadekar
e26f11e192 crypto: driver for tegra AES hardware
driver supports ecb/cbc/ansi_x9.31rng modes, 128, 192 and 256-bit key sizes
and encrypt/decrypt using ssk.

Change-Id: I63e03ead5b53adc5e44cf5b60f9f700dea2a2e61
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
2010-12-14 13:54:54 -08:00
Varun Wadekar
0c919337a4 ARM: tegra: hardware arbitration semaphore support
add apis to use the hardware arbitration semaphores in order
to share hardware modules between kernel drivers and AVP
firmware (e.g., the BSEA (audio bitstream) engine and
AES block)

Change-Id: I500ef0797223bc702151ad14e0e2156f50644a2a
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
2010-12-14 13:54:49 -08:00
Varun Wadekar
9347f1b4a7 ARM: tegra: duplicate vde clock for aes in tegra2_clocks
Change-Id: If5ad2bfe767c7c43e83fd78ac1cb3d9c62fe785d
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
2010-12-14 12:25:50 -08:00
Varun Wadekar
2b6106ae8c ARM: tegra: add VDE and arb semaphores to iomap.h
Change-Id: Ic47b80d1c7fdf04305afbea4b34d6c9e9c9304ad
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
2010-12-14 12:25:39 -08:00
Erik Gilling
67c58dfc70 video: tegra: fix HDMI audio programming
This was causing the Onkyo TXNR708 to drop out audio.

Change-Id: I9b9fd782d39d60c3207ea140a94d074b1338c7fa
Signed-off-by: Erik Gilling <konkers@android.com>
2010-12-13 20:54:07 -08:00
Jay Cheng
5f6aa1ffd6 usb: host: tegra: Remove clear PORT_RESUME to clear PORT_SUSPEND
PORT_SUSPEND bit will be cleared by the host controller when PORT_RESUME
change to 0.

Change-Id: I94a72f51be1cebee414f11ace89a7e8b3249278d
Signed-off-by: Jay Cheng <jacheng@nvidia.com>
2010-12-09 19:59:45 -08:00
Varun Wadekar
c6b65e02b3 tegra: video: host: fix race condition in hostintr wait list
Change-Id: I5e58f5fe8935741441e2b30f585bb997b6317d3d
Author: Alex Frid <afrid@nvidia.com>
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
2010-12-09 18:56:00 -08:00
Greg Kroah-Hartman
a1346c99fc Linux 2.6.36.2 v2.6.36.2 2010-12-09 14:17:27 -08:00
Linus Torvalds
2df3be967d Un-inline get_pipe_info() helper function
commit 7208364652 upstream.

This avoids some include-file hell, and the function isn't really
important enough to be inlined anyway.

Reported-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:33:36 -08:00
Linus Torvalds
de6b162361 Export 'get_pipe_info()' to other users
commit c66fb34794 upstream.

And in particular, use it in 'pipe_fcntl()'.

The other pipe functions do not need to use the 'careful' version, since
they are only ever called for things that are already known to be pipes.

The normal read/write/ioctl functions are called through the file
operations structures, so if a file isn't a pipe, they'd never get
called.  But pipe_fcntl() is special, and called directly from the
generic fcntl code, and needs to use the same careful function that the
splice code is using.

Cc: Jens Axboe <jaxboe@fusionio.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Dave Jones <davej@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:33:36 -08:00
Linus Torvalds
68fadbe6fc Rename 'pipe_info()' to 'get_pipe_info()'
commit 71993e62a4 upstream.

.. and change it to take the 'file' pointer instead of an inode, since
that's what all users want anyway.

The renaming is preparatory to exporting it to other users.  The old
'pipe_info()' name was too generic and is already used elsewhere, so
before making the function public we need to use a more specific name.

Cc: Jens Axboe <jaxboe@fusionio.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Dave Jones <davej@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:33:36 -08:00
Heiko Carstens
3975673309 nmi: fix clock comparator revalidation
commit e8129c6421 upstream.

On each machine check all registers are revalidated. The save area for
the clock comparator however only contains the upper most seven bytes
of the former contents, if valid.
Therefore the machine check handler uses a store clock instruction to
get the current time and writes that to the clock comparator register
which in turn will generate an immediate timer interrupt.
However within the lowcore the expected time of the next timer
interrupt is stored. If the interrupt happens before that time the
handler won't be called. In turn the clock comparator won't be
reprogrammed and therefore the interrupt condition stays pending which
causes an interrupt loop until the expected time is reached.

On NOHZ machines this can result in unresponsive machines since the
time of the next expected interrupted can be a couple of days in the
future.

To fix this just revalidate the clock comparator register with the
expected value.
In addition the special handling for udelay must be changed as well.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:33:35 -08:00
Shan Wei
3f047e778b r8169: fix checksum broken
commit d5d3ebe3be upstream.

If r8196 received packets with invalid sctp/igmp(not tcp, udp) checksum, r8196 set skb->ip_summed
wit CHECKSUM_UNNECESSARY. This cause that upper protocol don't check checksum field.

I am not family with r8196 driver. I try to guess the meaning of RxProtoIP and IPFail.
RxProtoIP stands for received IPv4 packet that upper protocol is not tcp and udp.
!(opts1 & IPFail) is true means that driver correctly to check checksum in IPv4 header.

If it's right, I think we should not set ip_summed wit CHECKSUM_UNNECESSARY for my sctp packets
with invalid checksum.

If it's not right, please tell me.

Signed-off-by: Shan Wei <shanwei@cn.fujitsu.com>
Acked-by: Francois Romieu <romieu@fr.zoreil.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:33:35 -08:00
françois romieu
ef095b5e8d r8169: revert "Handle rxfifo errors on 8168 chips"
commit 53f57357ff upstream.

The original patch helps under obscure conditions (no pun) but
some 8168 do not like it. The change needs to be tightened with
a specific 8168 version.

This reverts commit 801e147cde
("r8169: Handle rxfifo errors on 8168 chips").

Regression at https://bugzilla.kernel.org/show_bug.cgi?id=20882

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Tested-by: Andreas Radke <a.radke@arcor.de>
Cc: Matthew Garrett <mjg@redhat.com>
Cc: Daniel J Blueman <daniel.blueman@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:33:35 -08:00
Stanislaw Gruszka
719f3a3040 r8169: (re)init phy on resume
commit fccec10b33 upstream.

Fix switching device to low-speed mode after resume reported in:
https://bugzilla.redhat.com/show_bug.cgi?id=502974

Reported-and-tested-by: Laurentiu Badea <bugzilla-redhat@wotevah.com>
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Cc: Francois Romieu <romieu@fr.zoreil.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:33:34 -08:00
Eric Dumazet
1f72786efd r8169: fix rx checksum offload
commit adea1ac7ef upstream.

While porting GRO to r8169, I found this driver has a bug in its rx
path.

All skbs given to network stack had their ip_summed set to
CHECKSUM_NONE, while hardware said they had correct TCP/UDP checksums.

The reason is driver sets skb->ip_summed on the original skb before the
copy eventually done by copybreak. The fresh skb gets the ip_summed =
CHECKSUM_NONE value, forcing network stack to recompute checksum, and
preventing my GRO patch to work.

Fix is to make the ip_summed setting after skb copy.

Note : rx_copybreak current value is 16383, so all frames are copied...

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Acked-by: Francois Romieu <romieu@fr.zoreil.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:33:34 -08:00
Hans Verkuil
3f4e9a318d msp3400: fix mute audio regression
commit 0310871d8f upstream.

The switch to the new control framework caused a regression where the audio was
no longer unmuted after the carrier scan finished.

The original code attempted to set the volume control to its current value in
order to have the set-volume control code to be called that handles the volume
and muting. However, the framework will not call that code unless the new volume
value is different from the old.

Instead we now call msp_s_ctrl directly.

It is a bit of a hack: we really need a v4l2_ctrl_refresh_ctrl function for this
(or something along those lines).

Thanks to Andy Walls for bisecting this and to Shane Shrybman for reporting it!

Reported-by: Shane Shrybman <shrybman@teksavvy.com>
Thanks-to: Andy Walls <awalls@md.metrocast.net>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:33:33 -08:00
Chad Dupuis
67dfc84c73 qla2xxx: Add module parameter to enable/disable GFF_ID device type check.
commit 4da26e162b upstream.

Add the module parameter ql2xgffidenable to disable/enable the use of the
GFF_ID name server command to prevent non FCP SCSI devices from being added to
the driver's internal fc_port database.

Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com>
Signed-off-by: Madhuranath Iyengar <Madhu.Iyengar@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:33:33 -08:00
Luis R. Rodriguez
ed4da9a033 cfg80211: fix extension channel checks to initiate communication
commit 9236d838c9 upstream.

When operating in a mode that initiates communication and using
HT40 we should fail if we cannot use both primary and secondary
channels to initiate communication. Our current ht40 allowmap
only covers STA mode of operation, for beaconing modes we need
a check on the fly as the mode of operation is dynamic and
there other flags other than disable which we should read
to check if we can initiate communication.

Do not allow for initiating communication if our secondary HT40
channel has is either disabled, has a passive scan flag, a
no-ibss flag or is a radar channel. Userspace now has similar
checks but this is also needed in-kernel.

Reported-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:33:33 -08:00
Dan Rosenberg
df76d4ac11 rds: Integer overflow in RDS cmsg handling
commit 218854af84 upstream.

In rds_cmsg_rdma_args(), the user-provided args->nr_local value is
restricted to less than UINT_MAX.  This seems to need a tighter upper
bound, since the calculation of total iov_size can overflow, resulting
in a small sock_kmalloc() allocation.  This would probably just result
in walking off the heap and crashing when calling rds_rdma_pages() with
a high count value.  If it somehow doesn't crash here, then memory
corruption could occur soon after.

Signed-off-by: Dan Rosenberg <drosenberg@vsecurity.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:33:32 -08:00
Phil Blundell
a072d3e984 econet: fix CVE-2010-3848
commit a27e13d370 upstream.

Don't declare variable sized array of iovecs on the stack since this
could cause stack overflow if msg->msgiovlen is large.  Instead, coalesce
the user-supplied data into a new buffer and use a single iovec for it.

Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:33:32 -08:00
Phil Blundell
29d0e9fdce econet: fix CVE-2010-3850
commit 16c41745c7 upstream.

Add missing check for capable(CAP_NET_ADMIN) in SIOCSIFADDR operation.

Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:33:31 -08:00
Phil Blundell
3ca62aac18 econet: disallow NULL remote addr for sendmsg(), fixes CVE-2010-3849
commit fa0e846494 upstream.

Later parts of econet_sendmsg() rely on saddr != NULL, so return early
with EINVAL if NULL was passed otherwise an oops may occur.

Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:33:31 -08:00
Sergey Senozhatsky
6e551814bc ext4: fix NULL pointer dereference in print_daily_error_info()
commit a1c6c5698d upstream.

Fix NULL pointer dereference in print_daily_error_info, when
called on unmounted fs (EXT4_SB(sb) returns NULL), by removing error
reporting timer in ext4_put_super.

Google-Bug-Id: 3017663

Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Cc: Thomas Meyer <thomas@m3y3r.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:33:31 -08:00
Herbert Xu
b81d08ba84 crypto: padlock - Fix AES-CBC handling on odd-block-sized input
commit c054a076a1 upstream.

On certain VIA chipsets AES-CBC requires the input/output to be
a multiple of 64 bytes.  We had a workaround for this but it was
buggy as it sent the whole input for processing when it is meant
to only send the initial number of blocks which makes the rest
a multiple of 64 bytes.

As expected this causes memory corruption whenever the workaround
kicks in.

Reported-by: Phil Sutter <phil@nwl.cc>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:33:31 -08:00
Dan Rosenberg
9398085155 x25: Prevent crashing when parsing bad X.25 facilities
commit 5ef41308f9 upstream.

Now with improved comma support.

On parsing malformed X.25 facilities, decrementing the remaining length
may cause it to underflow.  Since the length is an unsigned integer,
this will result in the loop continuing until the kernel crashes.

This patch adds checks to ensure decrementing the remaining length does
not cause it to wrap around.

Signed-off-by: Dan Rosenberg <drosenberg@vsecurity.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:33:30 -08:00
Oliver Hartkopp
ba4395a364 can-bcm: fix minor heap overflow
commit 0597d1b99f upstream.

On 64-bit platforms the ASCII representation of a pointer may be up to 17
bytes long. This patch increases the length of the buffer accordingly.

http://marc.info/?l=linux-netdev&m=128872251418192&w=2

Reported-by: Dan Rosenberg <drosenberg@vsecurity.com>
Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
CC: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:33:30 -08:00
David S. Miller
2bd84dce08 filter: make sure filters dont read uninitialized memory
commit 57fe93b374 upstream.

There is a possibility malicious users can get limited information about
uninitialized stack mem array. Even if sk_run_filter() result is bound
to packet length (0 .. 65535), we could imagine this can be used by
hostile user.

Initializing mem[] array, like Dan Rosenberg suggested in his patch is
expensive since most filters dont even use this array.

Its hard to make the filter validation in sk_chk_filter(), because of
the jumps. This might be done later.

In this patch, I use a bitmap (a single long var) so that only filters
using mem[] loads/stores pay the price of added security checks.

For other filters, additional cost is a single instruction.

[ Since we access fentry->k a lot now, cache it in a local variable
  and mark filter entry pointer as const. -DaveM ]

Reported-by: Dan Rosenberg <drosenberg@vsecurity.com>
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:33:30 -08:00
Arnaud Lacombe
998813df55 kbuild: use getopt_long(), not its _only() variant
commit c94d3fb01f upstream.

NetBSD lacks getopt_long_only() whereas getopt_long() works just fine.

Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Michal Marek <mmarek@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:33:30 -08:00
Jesse Gross
1b7cd15c8c vlan: Avoid hwaccel vlan packets when vid not used.
[This patch applies only to 2.6.36 stable.  The problem was introduced
in that release and is already fixed by larger changes to the vlan
code in 2.6.37.]

Normally hardware accelerated vlan packets are quickly dropped if
there is no corresponding vlan device configured.  The one exception
is promiscuous mode, where we allow all of these packets through so
they can be picked up by tcpdump.  However, this behavior causes a
crash if we actually try to receive these packets.  This fixes that
crash by ignoring packets with vids not corresponding to a configured
device in the vlan hwaccel routines and then dropping them before they
get to consumers in the network stack.


Reported-by: Ben Greear <greearb@candelatech.com>
Tested-by: Nikola Ciprich <extmaillist@linuxbox.cz>
Signed-off-by: Jesse Gross <jesse@nicira.com>
Acked-by: David Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:33:29 -08:00
andrew hendry
70d5f4e7dd memory corruption in X.25 facilities parsing
commit a6331d6f9a upstream.

Signed-of-by: Andrew Hendry <andrew.hendry@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:33:29 -08:00