GitHub/moto-9609/android_kernel_motorola_exynos9610.git
18 years agoPull trivial into test branch
Len Brown [Sat, 14 Oct 2006 06:28:07 +0000 (02:28 -0400)]
Pull trivial into test branch

18 years agoPull sci into test branch
Len Brown [Sat, 14 Oct 2006 06:27:52 +0000 (02:27 -0400)]
Pull sci into test branch

18 years agoPull bugzilla-5534 into test branch
Len Brown [Sat, 14 Oct 2006 06:26:42 +0000 (02:26 -0400)]
Pull bugzilla-5534 into test branch

18 years agoPull msi-laptop into test branch
Len Brown [Sat, 14 Oct 2006 06:26:18 +0000 (02:26 -0400)]
Pull msi-laptop into test branch

18 years agoPull ec into test branch
Len Brown [Sat, 14 Oct 2006 06:26:10 +0000 (02:26 -0400)]
Pull ec into test branch

18 years agoPull mwait into test branch
Len Brown [Sat, 14 Oct 2006 06:25:59 +0000 (02:25 -0400)]
Pull mwait into test branch

18 years agoPull battery into test branch
Len Brown [Sat, 14 Oct 2006 06:25:48 +0000 (02:25 -0400)]
Pull battery into test branch

18 years agoPull ibm into test branch
Len Brown [Sat, 14 Oct 2006 06:25:40 +0000 (02:25 -0400)]
Pull ibm into test branch

18 years agoPull asus into test branch
Len Brown [Sat, 14 Oct 2006 06:25:33 +0000 (02:25 -0400)]
Pull asus into test branch

18 years agoACPI: check battery status on resume for un/plug events during sleep
Jiri Kosina [Tue, 10 Oct 2006 21:20:41 +0000 (14:20 -0700)]
ACPI: check battery status on resume for un/plug events during sleep

Add ->resume method to the ACPI battery handler to check
if the battery state has changed during sleep.
If yes, update the ACPI internal data structures
for benefit of /proc/acpi/battery/.

Signed-off-by: Jiri Kosina <jikos@jikos.cz>
Cc: Stefan Seyfried <seife@suse.de>
Acked-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPICA: Fix incorrect handling of PCI Express Root Bridge _HID
Eiichiro Oiwa [Mon, 2 Oct 2006 15:18:03 +0000 (19:18 +0400)]
ACPICA: Fix incorrect handling of PCI Express Root Bridge _HID

I could not get correct PCI Express bus number from the structure of
acpi_object_extra. I always get zero as bus number regardless of bus
location. I found that there is incorrect comparison with _HID (PNP0A08) in
acpi/events/evrgnini.c and PCI Express _BBN method always fail.
Therefore, we always get zero as PCI Express bus number.
http://bugzilla.kernel.org/show_bug.cgi?id=7145

Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Alexey Starikovskiy <alexey.y.starikovskiy@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: asus_acpi: don't printk on writing garbage to proc files
Alexey Dobriyan [Tue, 10 Oct 2006 21:20:36 +0000 (14:20 -0700)]
ACPI: asus_acpi: don't printk on writing garbage to proc files

This reporting is useless (we errno anyway).

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: asus_acpi: fix proc files parsing
Darren Jenkins [Tue, 10 Oct 2006 21:20:35 +0000 (14:20 -0700)]
ACPI: asus_acpi: fix proc files parsing

ICC complains about a "Pointless comparsion of unsigned interger with zero"
@ line 760 & 808 of asus_acpi.c

parse_arg() mentioned below returns -E but it's copied into unsigned variable...

Signed-off-by: Darren Jenkins <darrenrjenkins@gmail.com>
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: SCI interrupt source override
Kimball Murray [Tue, 10 Oct 2006 21:20:33 +0000 (14:20 -0700)]
ACPI: SCI interrupt source override

The Linux group at Stratus Technologies has come across an issue with SCI
routing under ACPI.  We were bitten by this when we made an x86_64 platform
whose BIOS provides an Interrupt Source Override for the SCI itself.
Apparently the override has no effect for the System Control Interrupt, and
this appears to be because of the way the SCI is setup in the ACPI code.
It does not handle the case where busirq != gsi.

The code that sets up the SCI routing assumes that bus irq == global irq.
So there is simply no provision for telling it otherwise.  The attached
patch provides this mechanism.

This patch provided by David Bulkow, was tested on an i386 platform, which
does not use the SCI override, and also on an x86_64 platform which does
use an override.

Signed-off-by: David Bulkow <david.bulkow@stratus.com>
Cc: Andi Kleen <ak@muc.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: fix printk format warnings
Randy Dunlap [Tue, 10 Oct 2006 21:20:32 +0000 (14:20 -0700)]
ACPI: fix printk format warnings

Fix printk format warnings in drivers/acpi:
drivers/acpi/tables/tbget.c:326: warning: format '%X' expects type 'unsigned int', but argument 5 has type 'long unsigned int'
drivers/acpi/tables/tbrsdt.c:189: warning: format '%X' expects type 'unsigned int', but argument 5 has type 'long unsigned int'

Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: fix section for CPU init functions
Pierre Ossman [Tue, 10 Oct 2006 21:20:31 +0000 (14:20 -0700)]
ACPI: fix section for CPU init functions

The ACPI processor init functions should be marked as __cpuinit as they use
structures marked with __cpuinitdata.

Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: update comments in motherboard.c
Len Brown [Thu, 14 Sep 2006 21:16:22 +0000 (17:16 -0400)]
ACPI: update comments in motherboard.c

Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: acpi_pci_link_set() can allocate with either GFP_ATOMIC or GFP_KERNEL
Jiri Kosina [Thu, 24 Aug 2006 04:36:19 +0000 (00:36 -0400)]
ACPI: acpi_pci_link_set() can allocate with either GFP_ATOMIC or GFP_KERNEL

acpi_pci_link_set() allocates both with interrupts on
and with interrupts off (resume-time), so check interrupts
and decide on GFP_ATOMIC or GFP_KERNEL at run-time.

Signed-off-by: Jiri Kosina <jikos@jikos.cz>
Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: fix potential OOPS in power driver with CONFIG_ACPI_DEBUG
Dmitry Torokhov [Thu, 24 Aug 2006 03:18:06 +0000 (23:18 -0400)]
ACPI: fix potential OOPS in power driver with CONFIG_ACPI_DEBUG

device was set to null and used before set in a debug printk

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: ibm_acpi: delete obsolete documentation
Pavel Machek [Thu, 31 Aug 2006 12:15:54 +0000 (14:15 +0200)]
ACPI: ibm_acpi: delete obsolete documentation

As this module is now part of the kernel tree, there is no need
for instructions on how to download it and build an external module.

Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: created a dedicated workqueue for notify() execution
Alexey Y. Starikovskiy [Tue, 26 Sep 2006 08:20:47 +0000 (04:20 -0400)]
ACPI: created a dedicated workqueue for notify() execution

http://bugzilla.kernel.org/show_bug.cgi?id=5534#c160

Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: Remove deferred execution from global lock acquire wakeup path
Alexey Y. Starikovskiy [Tue, 26 Sep 2006 08:18:16 +0000 (04:18 -0400)]
ACPI: Remove deferred execution from global lock acquire wakeup path

On acquiring the ACPI global lock, if there were sleepers on the lock,
we used to use acpi_os_execute() to defer a thread which would signal
sleepers.  Now just signal the semaphore directly.

http://bugzilla.kernel.org/show_bug.cgi?id=5534#c159

Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoMSI S270 Laptop support: backlight, wlan, bluetooth states
Lennart Poettering [Fri, 6 Oct 2006 05:27:02 +0000 (01:27 -0400)]
MSI S270 Laptop support: backlight, wlan, bluetooth states

Create a driver to support the platform-specific features
of MSI S270 laptops (and maybe other MSI laptops).
This driver implements a backlight device for controlling LCD brightness
(/sys/class/backlight/msi-laptop-bl/).
In addition it allows access to the WLAN and Bluetooth states
through a platform driver (/sys/devices/platform/msi-laptop-pf/).

Signed-off-by: Lennart Poettering <mzxreary@0pointer.de>
Cc: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: EC: export ec_transaction() for msi-laptop driver
Lennart Poettering [Wed, 4 Oct 2006 02:49:00 +0000 (22:49 -0400)]
ACPI: EC: export ec_transaction() for msi-laptop driver

Signed-off-by: Lennart Poettering <mzxreary@0pointer.de>
Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: EC: Simplify acpi_hw_low_level*() with inb()/outb().
Denis M. Sadykov [Tue, 26 Sep 2006 15:50:33 +0000 (19:50 +0400)]
ACPI: EC: Simplify acpi_hw_low_level*() with inb()/outb().

Simplify acpi_hw_low_level_xxx() functions to inb() and outb().

Signed-off-by: Alexey Y. Starikovskiy <alexey.y.starikovskiy@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: EC: Unify poll and interrupt gpe handlers
Denis M. Sadykov [Tue, 26 Sep 2006 15:50:33 +0000 (19:50 +0400)]
ACPI: EC: Unify poll and interrupt gpe handlers

Signed-off-by: Alexey Y. Starikovskiy <alexey.y.starikovskiy@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: EC: Unify poll and interrupt mode transaction functions
Denis M. Sadykov [Tue, 26 Sep 2006 15:50:33 +0000 (19:50 +0400)]
ACPI: EC: Unify poll and interrupt mode transaction functions

Signed-off-by: Alexey Y. Starikovskiy <alexey.y.starikovskiy@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: EC: Remove unused variables and duplicated code
Denis M. Sadykov [Tue, 26 Sep 2006 15:50:33 +0000 (19:50 +0400)]
ACPI: EC: Remove unused variables and duplicated code

Signed-off-by: Alexey Y. Starikovskiy <alexey.y.starikovskiy@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: EC: Remove unnecessary delay added by previous transation patch.
Denis M. Sadykov [Tue, 26 Sep 2006 15:50:33 +0000 (19:50 +0400)]
ACPI: EC: Remove unnecessary delay added by previous transation patch.

Remove unnecessary delay (50 ms) while reading data from EC in interrupt mode.

Signed-off-by: Alexey Y. Starikovskiy <alexey.y.starikovskiy@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: consolidate functions in acpi ec driver
Lennart Poettering [Tue, 5 Sep 2006 16:12:24 +0000 (12:12 -0400)]
ACPI: consolidate functions in acpi ec driver

Unify the following functions:

    acpi_ec_poll_read()
    acpi_ec_poll_write()
    acpi_ec_poll_query()
    acpi_ec_intr_read()
    acpi_ec_intr_write()
    acpi_ec_intr_query()

into:

    acpi_ec_poll_transaction()
    acpi_ec_intr_transaction()

These new functions take as arguments an ACPI EC command, a few bytes
to write to the EC data register and a buffer for a few bytes to read
from the EC data register. The old _read(), _write(), _query() are
just special cases of these functions.

Then unified the code in acpi_ec_poll_transaction() and
acpi_ec_intr_transaction() a little more. Both functions are now just
wrappers around the new acpi_ec_transaction_unlocked() function. The
latter contains the EC access logic, the two original
function now just do their special way of locking and call the the
new function for the actual work.

This saves a lot of very similar code. The primary reason for doing
this, however, is that my driver for MSI 270 laptops needs to issue
some non-standard EC commands in a safe way. Due to this I added a new
exported function similar to ec_write()/ec_write() which is called
ec_transaction() and is essentially just a wrapper around
acpi_ec_{poll,intr}_transaction().

Signed-off-by: Lennart Poettering <mzxreary@0pointer.de>
Acked-by: Luming Yu <luming.yu@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: Processor native C-states using MWAIT
Venkatesh Pallipadi [Mon, 25 Sep 2006 23:28:13 +0000 (16:28 -0700)]
ACPI: Processor native C-states using MWAIT

Intel processors starting with the Core Duo support
support processor native C-state using the MWAIT instruction.
Refer: Intel Architecture Software Developer's Manual
http://www.intel.com/design/Pentium4/manuals/253668.htm

Platform firmware exports the support for Native C-state to OS using
ACPI _PDC and _CST methods.
Refer: Intel Processor Vendor-Specific ACPI: Interface Specification
http://www.intel.com/technology/iapc/acpi/downloads/302223.htm

With Processor Native C-state, we use 'MWAIT' instruction on the processor
to enter different C-states (C1, C2, C3).  We won't use the special IO
ports to enter C-state and no SMM mode etc required to enter C-state.
Overall this will mean better C-state support.

One major advantage of using MWAIT for all C-states is, with this and
"treat interrupt as break event" feature of MWAIT, we can now get accurate
timing for the time spent in C1, C2, ..  states.

Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: sbs: fix module_param() initializers
Lebedev, Vladimir P [Tue, 5 Sep 2006 15:59:22 +0000 (19:59 +0400)]
ACPI: sbs: fix module_param() initializers

Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: sbs: check for NULL device pointer
Lebedev, Vladimir P [Tue, 5 Sep 2006 15:49:13 +0000 (19:49 +0400)]
ACPI: sbs: check for NULL device pointer

Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: ibm_acpi: Documentation the wan feature.
Stefan Schmidt [Fri, 22 Sep 2006 10:19:16 +0000 (12:19 +0200)]
ACPI: ibm_acpi: Documentation the wan feature.

Document the wan feature Jeremy Fitzhardinge added to ibm_acpi.

Signed-off-by: Stefan Schmidt <stefan@datenfreihafen.org>
Acked-by: Borislav Deianov <borislav@users.sourceforge.net>
Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: ibm_acpi: Update documentation for brightness and volume.
Stefan Schmidt [Fri, 22 Sep 2006 10:19:15 +0000 (12:19 +0200)]
ACPI: ibm_acpi: Update documentation for brightness and volume.

Document the change of the experimental flag for brightness and volume.

Signed-off-by: Stefan Schmidt <stefan@datenfreihafen.org>
Acked-by: Borislav Deianov <borislav@users.sourceforge.net>
Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: ibm_acpi: Remove experimental status for brightness and volume.
Stefan Schmidt [Fri, 22 Sep 2006 10:19:14 +0000 (12:19 +0200)]
ACPI: ibm_acpi: Remove experimental status for brightness and volume.

The brightness and volume features from ibm-acpi are stable.
The experimental flag is no longer needed.

Signed-off-by: Stefan Schmidt <stefan@datenfreihafen.org>
Acked-by: Borislav Deianov <borislav@users.sourceforge.net>
Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoACPI: asus_acpi: W3000 support
Marek W [Tue, 15 Aug 2006 05:37:20 +0000 (22:37 -0700)]
ACPI: asus_acpi: W3000 support

Add support for W3000 (W3V) and indirectly fixes an issue with kmilo under KDE
(it was triggering excessive LCD read error messages by querying asus_acpi
module) allowing people (I am probably the only one who tested this) with
W3000 to run kmilo.

Cc: Karol Kozimor <sziwan@hell.org.pl>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoLinux 2.6.19-rc2
Linus Torvalds [Fri, 13 Oct 2006 16:25:04 +0000 (09:25 -0700)]
Linux 2.6.19-rc2

That was slightly more painful than really necessary..

18 years agoInclude proper header file for PFN_DOWN()
Linus Torvalds [Fri, 13 Oct 2006 15:42:10 +0000 (08:42 -0700)]
Include proper header file for PFN_DOWN()

The recent commit (99a10a60ba9bedcf5d70ef81414d3e03816afa3f) to fix up
mmap_kmem() broke compiles because it used PFN_DOWN() without including
<linux/pfn.h>.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] Fix headers_check for O= builds; disable automatic check on UML.
David Woodhouse [Fri, 13 Oct 2006 15:04:23 +0000 (16:04 +0100)]
[PATCH] Fix headers_check for O= builds; disable automatic check on UML.

 * make header_check work with O=

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] m68knommu: sync syscalls with m68k
Geert Uytterhoeven [Thu, 12 Oct 2006 21:18:53 +0000 (23:18 +0200)]
[PATCH] m68knommu: sync syscalls with m68k

m68knommu: sync syscalls with m68k

Signed-Off-By: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-Off-By: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] thermal throttle: sysfs error checking
Stephen Hemminger [Thu, 12 Oct 2006 18:01:30 +0000 (11:01 -0700)]
[PATCH] thermal throttle: sysfs error checking

Get rid of warning in the thermal throttling code about not checking
sysfs return values.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] uml shouldn't do HEADERS_CHECK
Al Viro [Thu, 12 Oct 2006 18:10:04 +0000 (19:10 +0100)]
[PATCH] uml shouldn't do HEADERS_CHECK

The lack of asm-um/Kbuild is deliberate.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] Fix up mmap_kmem
Franck Bui-Huu [Thu, 12 Oct 2006 19:06:33 +0000 (21:06 +0200)]
[PATCH] Fix up mmap_kmem

vma->vm_pgoff is an pfn _offset_ relatif to the begining
of the memory start. The previous code was doing at first:

vma->vm_pgoff << PAGE_SHIFT

which results into a wrong physical address since some
platforms have a physical mem start that can be different
from 0. After that the previous call __pa() on this
wrong physical address, however __pa() is used to convert
a _virtual_ address into a physical one.

This patch rewrites this convertion. It calculates the
pfn of PAGE_OFFSET which is the pfn of the mem start
then it adds the vma->vm_pgoff to it.

It also uses virt_to_phys() instead of __pa() since the
latter shouldn't be used by drivers.

Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes
Linus Torvalds [Fri, 13 Oct 2006 15:30:33 +0000 (08:30 -0700)]
Merge git://git./linux/kernel/git/steve/gfs2-2.6-fixes

* git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes:
  [GFS2] Update git tree name/location
  [DLM] fix iovec length in recvmsg
  [GFS2] Pass the correct value to kunmap_atomic
  [GFS2] Fix bug where lock not held
  [DLM] Kconfig: don't show an empty DLM menu
  [GFS2] Fix uninitialised variable
  [GFS2] Fix a size calculation error

18 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/jejb/voyager-2.6
Linus Torvalds [Fri, 13 Oct 2006 15:14:41 +0000 (08:14 -0700)]
Merge /pub/scm/linux/kernel/git/jejb/voyager-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/jejb/voyager-2.6:
  [VOYAGER] fix up ptregs removal mess
  [VOYAGER] fix up attribute packed specifiers in voyager.h
  [VOYAGER] fix genirq mess

18 years ago[PATCH] Get core dump code to work...
Petr Vandrovec [Fri, 13 Oct 2006 02:13:16 +0000 (04:13 +0200)]
[PATCH] Get core dump code to work...

The file based core dump code was broken by pipe changes - a relative
llseek returns the absolute file position on success, not the relative
one, so dump_seek() always failed when invoked with non-zero current
position.

Only success/failure can be tested with relative lseek, we have to trust
kernel that on success we've got right file offset.  With this fix in
place I have finally real core files instead of 1KB fragments...

Signed-off-by: Petr Vandrovec <petr@vandrovec.name>
[ Cleaned it up a bit while here - use SEEK_CUR instead of hardcoding 1 ]
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6
Linus Torvalds [Fri, 13 Oct 2006 15:09:29 +0000 (08:09 -0700)]
Merge git://git./linux/kernel/git/sfrench/cifs-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: (27 commits)
  [CIFS] Missing flags2 for DFS
  [CIFS] Workaround incomplete byte length returned by some
  [CIFS] cifs Kconfig: don't select CONNECTOR
  [CIFS] Level 1 QPathInfo needed for proper OS2 support
  [CIFS] fix typo in previous patch
  [CIFS] Fix old DOS time conversion to handle timezone
  [CIFS] Do not need to adjust for Jan/Feb for leap day
  [CIFS] Fix leaps year calculation for years after 2100
  [CIFS] readdir (ffirst) enablement of accurate timestamps from legacy servers
  [CIFS] Fix compiler warning with previous patch
  [CIFS] Fix typo
  [CIFS] Allow for 15 minute TZs (e.g. Nepal) and be more explicit about
  [CIFS] Fix readdir of large directories for backlevel servers
  [CIFS] Allow LANMAN21 support even in both POSIX non-POSIX path
  [CIFS] Make use of newer QFSInfo dependent on capability bit instead of
  [CIFS] Do not send newer QFSInfo to legacy servers which can not support it
  [CIFS] Fix typo in name of new cifs_show_stats
  [CIFS] Rename server time zone field
  [CIFS] Handle legacy servers which return undefined time zone
  [CIFS] CIFS support for /proc/<pid>/mountstats part 1
  ...

Manual conflict resolution in fs/cifs/connect.c

18 years ago[VOYAGER] fix up ptregs removal mess
James Bottomley [Fri, 13 Oct 2006 03:25:03 +0000 (22:25 -0500)]
[VOYAGER] fix up ptregs removal mess

Apparently whoever converted voyager never actually checked that the
patch would compile ...

Remove as much of the pt_regs references as possible and move the
remaining ones into line with what's in x86 generic.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[VOYAGER] fix up attribute packed specifiers in voyager.h
James Bottomley [Fri, 13 Oct 2006 03:23:18 +0000 (22:23 -0500)]
[VOYAGER] fix up attribute packed specifiers in voyager.h

The old style (attribute on each structure entry) never really worked.
Move it to an attribute per structure

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[VOYAGER] fix genirq mess
James Bottomley [Fri, 13 Oct 2006 03:21:16 +0000 (22:21 -0500)]
[VOYAGER] fix genirq mess

The implementation of genirq in x86 completely broke voyager (and
presumably visws).  Since it's plugged into so much of the x86
infrastructure, you can't expect it to work unconverted.

This patch introduces a voyager IRQ handler type and switches voyager
to the genirq infrastructure.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[CIFS] Missing flags2 for DFS
Steve French [Thu, 12 Oct 2006 21:33:51 +0000 (21:33 +0000)]
[CIFS] Missing flags2 for DFS

Partly suggested by Igor Mammedov

Signed-off-by: Steve French <sfrench@us.ibm.com>
18 years ago[GFS2] Update git tree name/location
Steven Whitehouse [Thu, 12 Oct 2006 19:40:05 +0000 (15:40 -0400)]
[GFS2] Update git tree name/location

The plan is to have two trees. One for bug fixes to be sent on a
regular basis (-fixes) and another called -nmw which will contain items
queued for the next merge window (hence the name). The -nmw tree
will come & go according to need.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years ago[DLM] fix iovec length in recvmsg
Patrick Caulfield [Thu, 12 Oct 2006 09:41:22 +0000 (10:41 +0100)]
[DLM] fix iovec length in recvmsg

The DLM always passes the iovec length as 1, this is wrong when the circular
buffer wraps round.

Signed-Off-By: Patrick Caulfield <pcaulfie@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years ago[GFS2] Pass the correct value to kunmap_atomic
Russell Cattelan [Thu, 12 Oct 2006 13:23:41 +0000 (09:23 -0400)]
[GFS2] Pass the correct value to kunmap_atomic

Pass kaddr rather than (incorrect) struct page to kunmap_atomic.

Signed-off-by: Russell Cattelan <cattelan@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years ago[GFS2] Fix bug where lock not held
Steven Whitehouse [Wed, 11 Oct 2006 17:34:59 +0000 (13:34 -0400)]
[GFS2] Fix bug where lock not held

The log lock needs to be held when manipulating the counter
for the number of free journal blocks.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years ago[DLM] Kconfig: don't show an empty DLM menu
Adrian Bunk [Sun, 8 Oct 2006 02:30:48 +0000 (04:30 +0200)]
[DLM] Kconfig: don't show an empty DLM menu

Don't show an empty "Distributed Lock Manager" menu if IP_SCTP=n.

Reported by Dmytro Bagrii in kernel Bugzilla #7268.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: David Teigland <teigland@redhat.com>
Signed-off-by: Patrick Caulfield <pcaulfie@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years ago[GFS2] Fix uninitialised variable
Steven Whitehouse [Tue, 10 Oct 2006 17:45:15 +0000 (13:45 -0400)]
[GFS2] Fix uninitialised variable

This fixes a bug where, in certain cases an uninitialised variable
could cause a dereference of a NULL pointer in gfs2_commit_write().
Also a typo in a comment is fixed at the same time.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years ago[GFS2] Fix a size calculation error
Russell Cattelan [Mon, 9 Oct 2006 17:11:54 +0000 (12:11 -0500)]
[GFS2] Fix a size calculation error

Fix a size calculation error.
The size was incorrect being computed as a
negative length and then being passed to an
unsigned parameter.

This in turn would cause the allocator to
think it needed enough meta data to store
a gigabyte file for every file created.

Signed-off-by: Russell Cattelan <cattelan@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years ago[PATCH] more kernel_execve() fallout (sbus)
Al Viro [Thu, 12 Oct 2006 18:07:59 +0000 (19:07 +0100)]
[PATCH] more kernel_execve() fallout (sbus)

drivers/sbus/char stuff using kernel_execve() needs linux/syscalls.h
now; includes trimmed, while we are at it.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] Fix build breakage with CONFIG_X86_VSMP
Ravikiran Thirumalai [Thu, 12 Oct 2006 19:17:52 +0000 (12:17 -0700)]
[PATCH] Fix build breakage with CONFIG_X86_VSMP

Kernel build breaks with CONFIG_X86_VSMP.  Probably due to some header
file cleanups in 2.6.19-rc1.

Signed-off-by: Ravikiran Thirumalai <kiran@scalex86.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] fixing includes in alpha_ksyms.c
Al Viro [Thu, 12 Oct 2006 18:00:35 +0000 (19:00 +0100)]
[PATCH] fixing includes in alpha_ksyms.c

kernel_execve() fallout

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[CIFS] Workaround incomplete byte length returned by some
Steve French [Thu, 12 Oct 2006 17:49:24 +0000 (17:49 +0000)]
[CIFS] Workaround incomplete byte length returned by some
servers on small SMB responses

Signed-off-by: Steve French <sfrench@us.ibm.com>
18 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6
Linus Torvalds [Thu, 12 Oct 2006 15:33:23 +0000 (08:33 -0700)]
Merge /pub/scm/linux/kernel/git/lethal/sh-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6:
  sh: SH-4A UBC support
  sh: interrupt exception handling rework
  sh: Default enable R7780RP IRQs.
  sh: Zero-out coherent buffer in consistent_alloc().
  sh: Convert IPR-IRQ to IRQ chip.
  sh: Convert INTC2 IRQ handler to irq_chip.
  sh: Fix pr_debug statements for sh4
  sh: Convert r7780rp IRQ handler to IRQ chip.
  sh: Updates for IRQ handler changes.
  sh: Kill off timer_ops get_frequency().
  sh: First step at generic timeofday support.

18 years ago[PATCH] ide-cd: one more missing REQ_TYPE_CMD_ATA check
Jens Axboe [Thu, 12 Oct 2006 15:24:52 +0000 (17:24 +0200)]
[PATCH] ide-cd: one more missing REQ_TYPE_CMD_ATA check

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
18 years ago[CIFS] cifs Kconfig: don't select CONNECTOR
Andrew Morton [Thu, 12 Oct 2006 15:07:55 +0000 (15:07 +0000)]
[CIFS] cifs Kconfig: don't select CONNECTOR
`select' is a bit obnoxious: the option keeps on coming back
and it's hard to work out what to do to make it go away again.
The use of `depends on' is preferred (although it has
usability problems too..)

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Steve French <sfrench@us.ibm.com>
18 years agoMerge branch 'for-linus' of git://brick.kernel.dk/data/git/linux-2.6-block
Linus Torvalds [Thu, 12 Oct 2006 14:49:46 +0000 (07:49 -0700)]
Merge branch 'for-linus' of git://brick.kernel.dk/data/git/linux-2.6-block

* 'for-linus' of git://brick.kernel.dk/data/git/linux-2.6-block:
  [PATCH] block layer: ioprio_best function fix
  [PATCH] ide-cd: fix breakage with internally queued commands
  [PATCH] block layer: elv_iosched_show should get elv_list_lock
  [PATCH] splice: fix pipe_to_file() ->prepare_write() error path
  [PATCH] block layer: elevator_find function cleanup
  [PATCH] elevator: elevator_type member not used

18 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Thu, 12 Oct 2006 14:38:59 +0000 (07:38 -0700)]
Merge /pub/scm/linux/kernel/git/davem/net-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
  [PKT_SCHED] sch_htb: use rb_first() cleanup
  [RTNETLINK]: Fix use of wrong skb in do_getlink()
  [DECNET]: Fix sfuzz hanging on 2.6.18
  [NET]: Do not memcmp() over pad bytes of struct flowi.
  [NET]: Introduce protocol-specific destructor for time-wait sockets.
  [NET]: Use typesafe inet_twsk() inline function instead of cast.
  [NET]: Use hton{l,s}() for non-initializers.
  [TCP]: Use TCPOLEN_TSTAMP_ALIGNED macro instead of magic number.
  [IPV6]: Seperate sit driver to extra module (addrconf.c changes)
  [IPV6]: Seperate sit driver to extra module
  [NET]: File descriptor loss while receiving SCM_RIGHTS
  [SCTP]: Fix the RX queue size shown in /proc/net/sctp/assocs output.
  [SCTP]: Fix receive buffer accounting.
  SELinux: Bug fix in polidydb_destroy
  IPsec: fix handling of errors for socket policies
  IPsec: correct semantics for SELinux policy matching
  IPsec: propagate security module errors up from flow_cache_lookup
  NetLabel: use SECINITSID_UNLABELED for a base SID
  NetLabel: fix a cache race condition

18 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Thu, 12 Oct 2006 14:37:59 +0000 (07:37 -0700)]
Merge /pub/scm/linux/kernel/git/davem/sparc-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
  [SPARC32]: Fix sparc32 modpost warnings.
  [SPARC32]: Fix sparc32 modpost warnings with sunzilog
  [SPARC32]: Mark srmmu_nocache_init as __init.
  [SPARC32]: pcic.c needs asm/irq_regs.h

18 years ago[PATCH] x86_64 irq: Properly update vector_irq
Eric W. Biederman [Thu, 12 Oct 2006 04:44:46 +0000 (22:44 -0600)]
[PATCH] x86_64 irq: Properly update vector_irq

This patch fixes my one line thinko where I was clearing
the vector_irq entries on the wrong cpus.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] block layer: ioprio_best function fix
Vasily Tarasov [Thu, 12 Oct 2006 13:09:51 +0000 (15:09 +0200)]
[PATCH] block layer: ioprio_best function fix

Currently ioprio_best function first checks wethere aioprio or bioprio equals
IOPRIO_CLASS_NONE (ioprio_valid() macros does that) and if it is so it returns
bioprio/aioprio appropriately. Thus the next four lines, that set aclass/bclass
to IOPRIO_CLASS_BE, if aclass/bclass == IOPRIO_CLASS_NONE, are never executed.

The second problem: if aioprio from class IOPRIO_CLASS_NONE and bioprio from
class IOPRIO_CLASS_IDLE are passed to ioprio_best function, it will return
IOPRIO_CLASS_IDLE. It means that during __make_request we can merge two
requests and set the priority of merged request to IDLE, while one of
the initial requests originates from a process with NONE (default) priority.
So we can get a situation when a process with default ioprio will experience
IO starvation, while there is no process from real-time class in the system.

Just removing ioprio_valid check should correct situation.

Signed-off-by: Vasily Tarasov <vtaras@openvz.org>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
18 years ago[PATCH] ide-cd: fix breakage with internally queued commands
Jens Axboe [Thu, 12 Oct 2006 13:08:45 +0000 (15:08 +0200)]
[PATCH] ide-cd: fix breakage with internally queued commands

We still need to maintain a private PC style command, since it
isn't completely unified with REQ_TYPE_BLOCK_PC yet.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
18 years ago[PATCH] block layer: elv_iosched_show should get elv_list_lock
Vasily Tarasov [Wed, 11 Oct 2006 11:26:30 +0000 (13:26 +0200)]
[PATCH] block layer: elv_iosched_show should get elv_list_lock

elv_iosched_show function iterates other elv_list, hence
elv_list_lock should be got.

Signed-off-by: Vasily Tarasov <vtaras@openvz.org>
Signed-off-by: Vasily Tarasov <jens.axboe@oracle.com>
18 years ago[PATCH] splice: fix pipe_to_file() ->prepare_write() error path
Jens Axboe [Wed, 11 Oct 2006 08:03:09 +0000 (10:03 +0200)]
[PATCH] splice: fix pipe_to_file() ->prepare_write() error path

Don't jump to the unlock+release path, we already did that.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
18 years ago[PATCH] block layer: elevator_find function cleanup
Vasily Tarasov [Wed, 11 Oct 2006 07:24:27 +0000 (09:24 +0200)]
[PATCH] block layer: elevator_find function cleanup

We can easily produce search through the elevator list
without introducing additional elevator_type variable.

Signed-off-by: Vasily Tarasov <vtaras@openvz.org>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
18 years ago[PATCH] elevator: elevator_type member not used
Jens Axboe [Mon, 9 Oct 2006 11:04:35 +0000 (13:04 +0200)]
[PATCH] elevator: elevator_type member not used

elevator_type field in elevator_type structure is useless:
it isn't used anywhere in kernel sources.

Signed-off-by: Vasily Tarasov <vtaras@openvz.org>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
18 years ago[PKT_SCHED] sch_htb: use rb_first() cleanup
Akinbou Mita [Thu, 12 Oct 2006 08:52:05 +0000 (01:52 -0700)]
[PKT_SCHED] sch_htb: use rb_first() cleanup

Use rb_first() to get first entry in rb tree.

Signed-off-by: Akinbou Mita <akinobu.mita@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[RTNETLINK]: Fix use of wrong skb in do_getlink()
Patrick McHardy [Thu, 12 Oct 2006 08:50:30 +0000 (01:50 -0700)]
[RTNETLINK]: Fix use of wrong skb in do_getlink()

skb is the netlink query, nskb is the reply message.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[DECNET]: Fix sfuzz hanging on 2.6.18
Patrick McHardy [Thu, 12 Oct 2006 08:48:20 +0000 (01:48 -0700)]
[DECNET]: Fix sfuzz hanging on 2.6.18

Dave Jones wrote:
> sfuzz         D 724EF62A  2828 28717  28691                     (NOTLB)
>        cd69fe98 00000082 0000012d 724ef62a 0001971a 00000010 00000007 df6d22b0
>        dfd81080 725bbc5e 0001971a 000cc634 00000001 df6d23bc c140e260 00000202
>        de1d5ba0 cd69fea0 de1d5ba0 00000000 00000000 de1d5b60 de1d5b8c de1d5ba0
> Call Trace:
>  [<c05b1708>] lock_sock+0x75/0xa6
>  [<e0b0b604>] dn_getname+0x18/0x5f [decnet]
>  [<c05b083b>] sys_getsockname+0x5c/0xb0
>  [<c05b0b46>] sys_socketcall+0xef/0x261
>  [<c0403f97>] syscall_call+0x7/0xb
> DWARF2 unwinder stuck at syscall_call+0x7/0xb
>
> I wonder if the plethora of lockdep related changes inadvertantly broke something?

Looks like unbalanced locking.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[NET]: Do not memcmp() over pad bytes of struct flowi.
David S. Miller [Thu, 12 Oct 2006 07:49:15 +0000 (00:49 -0700)]
[NET]: Do not memcmp() over pad bytes of struct flowi.

They are not necessarily initialized to zero by the compiler,
for example when using run-time initializers of automatic
on-stack variables.

Noticed by Eric Dumazet and Patrick McHardy.

Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[NET]: Introduce protocol-specific destructor for time-wait sockets.
YOSHIFUJI Hideaki [Wed, 11 Oct 2006 02:42:09 +0000 (19:42 -0700)]
[NET]: Introduce protocol-specific destructor for time-wait sockets.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[NET]: Use typesafe inet_twsk() inline function instead of cast.
YOSHIFUJI Hideaki [Wed, 11 Oct 2006 02:41:46 +0000 (19:41 -0700)]
[NET]: Use typesafe inet_twsk() inline function instead of cast.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[NET]: Use hton{l,s}() for non-initializers.
YOSHIFUJI Hideaki [Wed, 11 Oct 2006 02:41:21 +0000 (19:41 -0700)]
[NET]: Use hton{l,s}() for non-initializers.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[TCP]: Use TCPOLEN_TSTAMP_ALIGNED macro instead of magic number.
YOSHIFUJI Hideaki [Wed, 11 Oct 2006 02:40:50 +0000 (19:40 -0700)]
[TCP]: Use TCPOLEN_TSTAMP_ALIGNED macro instead of magic number.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[IPV6]: Seperate sit driver to extra module (addrconf.c changes)
Joerg Roedel [Tue, 10 Oct 2006 21:49:53 +0000 (14:49 -0700)]
[IPV6]: Seperate sit driver to extra module (addrconf.c changes)

This patch contains the changes to net/ipv6/addrconf.c to remove sit
specific code if the sit driver is not selected.

Signed-off-by: Joerg Roedel <joro-lkml@zlug.org>
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[IPV6]: Seperate sit driver to extra module
Joerg Roedel [Tue, 10 Oct 2006 21:47:44 +0000 (14:47 -0700)]
[IPV6]: Seperate sit driver to extra module

This patch removes the driver of the IPv6-in-IPv4 tunnel driver (sit)
from the IPv6 module. It adds an option to Kconfig which makes it
possible to compile it as a seperate module.

Signed-off-by: Joerg Roedel <joro-lkml@zlug.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[NET]: File descriptor loss while receiving SCM_RIGHTS
Miklos Szeredi [Tue, 10 Oct 2006 04:42:14 +0000 (21:42 -0700)]
[NET]: File descriptor loss while receiving SCM_RIGHTS

If more than one file descriptor was sent with an SCM_RIGHTS message,
and on the receiving end, after installing a nonzero (but not all)
file descritpors the process runs out of fds, then the already
installed fds will be lost (userspace will have no way of knowing
about them).

The following patch makes sure, that at least the already installed
fds are sent to userspace.  It doesn't solve the issue of losing file
descriptors in case of an EFAULT on the userspace buffer.

Signed-off-by: Miklos Szeredi <miklos@szeredi.hu>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[SCTP]: Fix the RX queue size shown in /proc/net/sctp/assocs output.
Vlad Yasevich [Tue, 10 Oct 2006 04:34:26 +0000 (21:34 -0700)]
[SCTP]: Fix the RX queue size shown in /proc/net/sctp/assocs output.

Show the true receive buffer usage.

Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: Sridhar Samudrala <sri@us.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[SCTP]: Fix receive buffer accounting.
Vlad Yasevich [Tue, 10 Oct 2006 04:34:04 +0000 (21:34 -0700)]
[SCTP]: Fix receive buffer accounting.

When doing receiver buffer accounting, we always used skb->truesize.
This is problematic when processing bundled DATA chunks because for
every DATA chunk that could be small part of one large skb, we would
charge the size of the entire skb.  The new approach is to store the
size of the DATA chunk we are accounting for in the sctp_ulpevent
structure and use that stored value for accounting.

Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: Sridhar Samudrala <sri@us.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years agoSELinux: Bug fix in polidydb_destroy
Chad Sellers [Fri, 6 Oct 2006 20:09:52 +0000 (16:09 -0400)]
SELinux: Bug fix in polidydb_destroy

This patch fixes two bugs in policydb_destroy. Two list pointers
(policydb.ocontexts[i] and policydb.genfs) were not being reset to NULL when
the lists they pointed to were being freed. This caused a problem when the
initial policy load failed, as the policydb being destroyed was not a
temporary new policydb that was thrown away, but rather was the global
(active) policydb. Consequently, later functions, particularly
sys_bind->selinux_socket_bind->security_node_sid and
do_rw_proc->selinux_sysctl->selinux_proc_get_sid->security_genfs_sid tried
to dereference memory that had previously been freed.

Signed-off-by: Chad Sellers <csellers@tresys.com>
Signed-off-by: James Morris <jmorris@namei.org>
18 years agoIPsec: fix handling of errors for socket policies
Venkat Yekkirala [Thu, 5 Oct 2006 20:42:35 +0000 (15:42 -0500)]
IPsec: fix handling of errors for socket policies

This treats the security errors encountered in the case of
socket policy matching, the same as how these are treated in
the case of main/sub policies, which is to return a full lookup
failure.

Signed-off-by: Venkat Yekkirala <vyekkirala@TrustedCS.com>
Signed-off-by: James Morris <jmorris@namei.org>
18 years agoIPsec: correct semantics for SELinux policy matching
Venkat Yekkirala [Thu, 5 Oct 2006 20:42:18 +0000 (15:42 -0500)]
IPsec: correct semantics for SELinux policy matching

Currently when an IPSec policy rule doesn't specify a security
context, it is assumed to be "unlabeled" by SELinux, and so
the IPSec policy rule fails to match to a flow that it would
otherwise match to, unless one has explicitly added an SELinux
policy rule allowing the flow to "polmatch" to the "unlabeled"
IPSec policy rules. In the absence of such an explicitly added
SELinux policy rule, the IPSec policy rule fails to match and
so the packet(s) flow in clear text without the otherwise applicable
xfrm(s) applied.

The above SELinux behavior violates the SELinux security notion of
"deny by default" which should actually translate to "encrypt by
default" in the above case.

This was first reported by Evgeniy Polyakov and the way James Morris
was seeing the problem was when connecting via IPsec to a
confined service on an SELinux box (vsftpd), which did not have the
appropriate SELinux policy permissions to send packets via IPsec.

With this patch applied, SELinux "polmatching" of flows Vs. IPSec
policy rules will only come into play when there's a explicit context
specified for the IPSec policy rule (which also means there's corresponding
SELinux policy allowing appropriate domains/flows to polmatch to this context).

Secondly, when a security module is loaded (in this case, SELinux), the
security_xfrm_policy_lookup() hook can return errors other than access denied,
such as -EINVAL.  We were not handling that correctly, and in fact
inverting the return logic and propagating a false "ok" back up to
xfrm_lookup(), which then allowed packets to pass as if they were not
associated with an xfrm policy.

The solution for this is to first ensure that errno values are
correctly propagated all the way back up through the various call chains
from security_xfrm_policy_lookup(), and handled correctly.

Then, flow_cache_lookup() is modified, so that if the policy resolver
fails (typically a permission denied via the security module), the flow
cache entry is killed rather than having a null policy assigned (which
indicates that the packet can pass freely).  This also forces any future
lookups for the same flow to consult the security module (e.g. SELinux)
for current security policy (rather than, say, caching the error on the
flow cache entry).

This patch: Fix the selinux side of things.

This makes sure SELinux polmatching of flow contexts to IPSec policy
rules comes into play only when an explicit context is associated
with the IPSec policy rule.

Also, this no longer defaults the context of a socket policy to
the context of the socket since the "no explicit context" case
is now handled properly.

Signed-off-by: Venkat Yekkirala <vyekkirala@TrustedCS.com>
Signed-off-by: James Morris <jmorris@namei.org>
18 years agoIPsec: propagate security module errors up from flow_cache_lookup
James Morris [Thu, 5 Oct 2006 20:42:27 +0000 (15:42 -0500)]
IPsec: propagate security module errors up from flow_cache_lookup

When a security module is loaded (in this case, SELinux), the
security_xfrm_policy_lookup() hook can return an access denied permission
(or other error).  We were not handling that correctly, and in fact
inverting the return logic and propagating a false "ok" back up to
xfrm_lookup(), which then allowed packets to pass as if they were not
associated with an xfrm policy.

The way I was seeing the problem was when connecting via IPsec to a
confined service on an SELinux box (vsftpd), which did not have the
appropriate SELinux policy permissions to send packets via IPsec.

The first SYNACK would be blocked, because of an uncached lookup via
flow_cache_lookup(), which would fail to resolve an xfrm policy because
the SELinux policy is checked at that point via the resolver.

However, retransmitted SYNACKs would then find a cached flow entry when
calling into flow_cache_lookup() with a null xfrm policy, which is
interpreted by xfrm_lookup() as the packet not having any associated
policy and similarly to the first case, allowing it to pass without
transformation.

The solution presented here is to first ensure that errno values are
correctly propagated all the way back up through the various call chains
from security_xfrm_policy_lookup(), and handled correctly.

Then, flow_cache_lookup() is modified, so that if the policy resolver
fails (typically a permission denied via the security module), the flow
cache entry is killed rather than having a null policy assigned (which
indicates that the packet can pass freely).  This also forces any future
lookups for the same flow to consult the security module (e.g. SELinux)
for current security policy (rather than, say, caching the error on the
flow cache entry).

Signed-off-by: James Morris <jmorris@namei.org>
18 years agoNetLabel: use SECINITSID_UNLABELED for a base SID
paul.moore@hp.com [Thu, 5 Oct 2006 22:28:24 +0000 (18:28 -0400)]
NetLabel: use SECINITSID_UNLABELED for a base SID

This patch changes NetLabel to use SECINITSID_UNLABLELED as it's source of
SELinux type information when generating a NetLabel context.

Signed-off-by: Paul Moore <paul.moore@hp.com>
Signed-off-by: James Morris <jmorris@namei.org>
18 years agoNetLabel: fix a cache race condition
paul.moore@hp.com [Wed, 4 Oct 2006 15:46:31 +0000 (11:46 -0400)]
NetLabel: fix a cache race condition

Testing revealed a problem with the NetLabel cache where a cached entry could
be freed while in use by the LSM layer causing an oops and other problems.
This patch fixes that problem by introducing a reference counter to the cache
entry so that it is only freed when it is no longer in use.

Signed-off-by: Paul Moore <paul.moore@hp.com>
Signed-off-by: James Morris <jmorris@namei.org>
18 years ago[SPARC32]: Fix sparc32 modpost warnings.
Martin Habets [Wed, 11 Oct 2006 21:58:30 +0000 (14:58 -0700)]
[SPARC32]: Fix sparc32 modpost warnings.

Fix these 2.6.19-rc1 build warnings from modpost:

WARNING: vmlinux - Section mismatch: reference to .init.text:_sinittext from .text between 'core_kernel_text' (at offset 0x3e060) and '__kernel_text_address'
WARNING: vmlinux - Section mismatch: reference to .init.text:_sinittext from .text between 'core_kernel_text' (at offset 0x3e064) and '__kernel_text_address'
WARNING: vmlinux - Section mismatch: reference to .init.text:_einittext from .text between 'core_kernel_text' (at offset 0x3e07c) and '__kernel_text_address'
WARNING: vmlinux - Section mismatch: reference to .init.text:_einittext from .text between 'core_kernel_text' (at offset 0x3e080) and '__kernel_text_address'
WARNING: vmlinux - Section mismatch: reference to .init.text:_sinittext from .text between 'is_ksym_addr' (at offset 0x4b3a4) and 'kallsyms_expand_symbol'
WARNING: vmlinux - Section mismatch: reference to .init.text:_sinittext from .text between 'is_ksym_addr' (at offset 0x4b3a8) and 'kallsyms_expand_symbol'
WARNING: vmlinux - Section mismatch: reference to .init.text:_einittext from .text between 'is_ksym_addr' (at offset 0x4b3b4) and 'kallsyms_expand_symbol'
WARNING: vmlinux - Section mismatch: reference to .init.text:_einittext from .text between 'is_ksym_addr' (at offset 0x4b3e4) and 'kallsyms_expand_symbol'
WARNING: vmlinux - Section mismatch: reference to .init.text:_sinittext from .text between 'get_symbol_pos' (at offset 0x4b640) and 'kallsyms_lookup_size_offset'
WARNING: vmlinux - Section mismatch: reference to .init.text:_sinittext from .text between 'get_symbol_pos' (at offset 0x4b644) and 'kallsyms_lookup_size_offset'
WARNING: vmlinux - Section mismatch: reference to .init.text:_einittext from .text between 'get_symbol_pos' (at offset 0x4b654) and 'kallsyms_lookup_size_offset'
WARNING: vmlinux - Section mismatch: reference to .init.text:_einittext from .text between 'get_symbol_pos' (at offset 0x4b658) and 'kallsyms_lookup_size_offset'
WARNING: vmlinux - Section mismatch: reference to .init.text:_sinittext from .text between 'get_symbol_pos' (at offset 0x4b68c) and 'kallsyms_lookup_size_offset'

The crux of the matter is that modpost only checks the relocatable
sections. i386 vmlinux has none, so modpost does no checking on it (it
does on the modules).  However, sparc vmlinux has plenty of
relocatable sections because it is being built with 'ld -r' (to allow
for btfixup processing).  So for sparc, modpost does do a lot of
checking. Sure enough, running modpost on arch/sparc/boot/image yields
no output (i.e. all is well).

modpost.c check_sec_ref() has:
                /* We want to process only relocation sections and not .init */
                if (sechdrs[i].sh_type == SHT_RELA) {
// check here
                } else if (sechdrs[i].sh_type == SHT_REL) {
// check here
}

Signed-off-by: Martin Habets <errandir_news@mph.eclipse.co.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[SPARC32]: Fix sparc32 modpost warnings with sunzilog
Martin Habets [Tue, 10 Oct 2006 21:44:01 +0000 (14:44 -0700)]
[SPARC32]: Fix sparc32 modpost warnings with sunzilog

Fix this 2.6.19-rc1 build warnings from modpost:

WARNING: vmlinux - Section mismatch: reference to .init.text:sunzilog_console_setup from .data between 'sunzilog_console' (at offset 0x8394) and 'devices_subsys'

Signed-off-by: Martin Habets <errandir_news@mph.eclipse.co.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[SPARC32]: Mark srmmu_nocache_init as __init.
Martin Habets [Tue, 10 Oct 2006 21:36:47 +0000 (14:36 -0700)]
[SPARC32]: Mark srmmu_nocache_init as __init.

Fix these 2.6.19-rc1 build warnings from modpost:

WARNING: vmlinux - Section mismatch: reference to .init.text:__alloc_bootmem from .text between 'srmmu_nocache_init' (at offset 0x1a0f8) and 'srmmu_mmu_info'
WARNING: vmlinux - Section mismatch: reference to .init.text:__alloc_bootmem from .text between 'srmmu_nocache_init' (at offset 0x1a118) and 'srmmu_mmu_info'
WARNING: vmlinux - Section mismatch: reference to .init.text:srmmu_early_allocate_ptable_skeleton from .text between 'srmmu_nocache_init' (at offset 0x1a188) and 'srmmu_mmu_info'

Signed-off-by: Martin Habets <errandir_news@mph.eclipse.co.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[SPARC32]: pcic.c needs asm/irq_regs.h
David S. Miller [Tue, 10 Oct 2006 21:17:05 +0000 (14:17 -0700)]
[SPARC32]: pcic.c needs asm/irq_regs.h

Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[CIFS] Level 1 QPathInfo needed for proper OS2 support
Steve French [Thu, 12 Oct 2006 03:28:28 +0000 (03:28 +0000)]
[CIFS] Level 1 QPathInfo needed for proper OS2 support

Signed-off-by: Steve French <sfrench@us.ibm.com>