Luca Barbieri [Thu, 9 Jan 2003 05:26:09 +0000 (21:26 -0800)]
[PATCH] Remove all register pops before sysexit
This patch, which depends on the previous %ebx -> %ebp patch, removes
all pop instruction in the sysenter return path.
This leaks the thread_info address to user mode but this shouldn't be
a security problem.
This is what happens to the various registers:
%eax: return value from system call: already in place
%ebx, %esi, %edi: saved by the C compiler
%ecx, %edx, %ebp: restored by user mode, fixed values by kernels
%esp, eip: copied to %ecx/%edx and restored by sysexit
%ds, %es: initialized to __USER_DS on kernel entry
%cs, %ss: restored by sysexit based on msr
%fs, %gs: not modified by the kernel (saved around context switch)
eflags: not preserved, iopl saved around context switch
FP, XMM: any code that modifies them must save/restore them
Note that while it is possible to change %ebx, %esi, %edi, %ecx, %edx
or %ebp via struct pt_regs, anything that does should set TIF_IRET or
another work flag (and it hopefully already does).
Russell King [Wed, 8 Jan 2003 23:21:39 +0000 (23:21 +0000)]
[SERIAL] Restrict the baud rates returnable from uart_get_baud_rate()
Supply the old termios, along with the max and min acceptable baud
rate to uart_get_baud_rate(). uart_get_baud_rate() will now try to
find a baud rate that satisfies the max and min constraint out of
(requested rate, old rate, 9600 baud).
We remove the code which performed a similar act in uart_get_divisor()
and pass an appropriate min and max baud rate to uart_get_baud_rate()
based on the UART clock rate.
James Morris [Wed, 8 Jan 2003 16:05:49 +0000 (08:05 -0800)]
[CRYPTO]: Add AES algorithm.
- Merged AES code from Adam J. Richter <adam@yggdrasil.com>
- Add kconfig help and test vector code from
Martin Clausen <martin@ostenfeld.dk>
- Minor cleanups: removed EXPORT_NO_SYMBOLS (not needed for 2.5),
removed debugging code etc.
- Documentation updates.
Dave Jones [Wed, 8 Jan 2003 10:56:06 +0000 (02:56 -0800)]
[PATCH] signal.h -W cleanup
Next in line for the -W cleanups is this patch from Willy
which I've been carrying since 2.5.29 or so. Should be no
functional differences, just no more warnings when we compile
with -W
Dave Jones [Wed, 8 Jan 2003 10:54:58 +0000 (02:54 -0800)]
[PATCH] Fix up dma_alloc_coherent with 64bit DMA masks on i386.
Cset 1.808 in 2.4 never got propagated forward to 2.5
It's pretty much the same fix as below (s/!=/</), but with the following
changes
- This was a patch to pci_alloc_consistant(), which now wants to be
dma_alloc_coherent()
- Removal of the u32 cast
Dave Jones [Wed, 8 Jan 2003 10:53:48 +0000 (02:53 -0800)]
[PATCH] Fix READ_CD fallback.
From Jens Axboe:
Only fall back to plain READ, if the device says it doesn't
support the READ_CD opcode. This is the true error for which
we want to do the fall back, not for any generic error.
Andy Grover [Wed, 8 Jan 2003 09:10:56 +0000 (01:10 -0800)]
ACPI: Eliminate spawning of thread from timer callback. Use schedule_work for
all cases. Thanks to Ingo Oeser, Andrew Morton, and Pavel Machek for their
wisdom.
Neil Turton [Wed, 8 Jan 2003 02:21:15 +0000 (18:21 -0800)]
[PATCH] USB Serial patch for old pl2303 devices.
I got a PL2303 USB serial converter a few days ago, and got your driver
up and running fairly quickly. The problem is that I got an oops when I
rmmod-ed the drivers. The pl2303 uses two interfaces but registers only
the second (technically wrong, I guess, but should work). When pl2303.o
is removed, it attempts to deregister the first interface (which has no
effect), so the second interface remains registered with usbserial. The
old struct serial still points at the removed pl2303 driver so things go
pop when anything touches it.
I think the PL2303 hack in usb_serial_probe should not change the
"interface" variable, which gets stored in serial->interface, since
usbcore will register whatever "ifnum" says. I think that's enough
waffle. The patch is below. Keep up the good work!
Gerd Knorr [Wed, 8 Jan 2003 02:11:43 +0000 (18:11 -0800)]
[PATCH] media/video i2c updates
This updates a bunch of i2c modules in drivers/media/video. Most of it
are adaptions to the recent i2c changes in the kernel. While being at
it I also did some other cleanups like deleting unused+dead code, using
name-based initialization for some not-yet converted structs, ...
The also has a few small fixes here and there, but no major functional
changes.
Gerd Knorr [Wed, 8 Jan 2003 02:11:35 +0000 (18:11 -0800)]
[PATCH] add bt832 module
This adds a driver module for the bt832 chip. It is needed by the bttv
driver to support the Pixelview Digital Camera. The bt832 is connected
using the GPIO pins of the bt878 chip.
Gerd Knorr [Wed, 8 Jan 2003 02:11:20 +0000 (18:11 -0800)]
[PATCH] bttv driver update.
This updates the bttv driver. Changes:
* adaptions to the video-buf changes send in a previous mail.
* adaptions to recent i2c changes in the kernel.
* first code bits the pixelview digital camera support (not
working yet).
* lots of small fixes/changes for specific TV cards.
Gerd Knorr [Wed, 8 Jan 2003 02:11:13 +0000 (18:11 -0800)]
[PATCH] add v4l1-compat module.
This adds the v4l1-compat module. This is a module which can translate
most (old) v4l1 ioctls into the new v4l2 API. This makes it easier for
v4l2 drivers to present both old v4l and new v4l2 APIs to video4linux
applications. The saa7134 driver uses this for example.
Gerd Knorr [Wed, 8 Jan 2003 02:11:06 +0000 (18:11 -0800)]
[PATCH] video-buf.c update
This updates the video-buf helper module. It changes the field handling
a bit and adds code do deal better with alternating field capture (=
capture even and odd fields to separate video buffers).
Gerd Knorr [Wed, 8 Jan 2003 02:11:00 +0000 (18:11 -0800)]
[PATCH] add tda9887 module
This adds the tda9887 i2c module to the linux kernel. This one is
needed for some TV cards. It also adds the missing #define to
audiochip.h which currently breaks the bttv build.
[PATCH] scanner.c, scanner.h: Use symbolic name for interface class
Hi,
On Wed, Jan 08, 2003 at 08:29:36AM -0800, Greg KH wrote:
> On Tue, Dec 24, 2002 at 05:44:55PM +0100, Henning Meier-Geinitz wrote:
> > Hi,
> >
> > On Tue, Dec 24, 2002 at 12:40:06AM +0100, Oliver Neukum wrote:
> > >
> > > > Well, the reason I didn't use one was that I didn't found one in
> > > > usb.h/usb_ch9.h for 16. It's also not listed on www.usb.org.
> > > >
> > > > lsusb calls it "Data". However, I'm not sure if this is a hex/dec
> > > > error and they really mean "Data" = dec 10, not 0x10 (=dec 16).
> > > >
> > > > Shall I define a local symbolic name (e.g.
> > > > STRANGE_HP_SCANJET_INTERFACE_CLASS)? But I really don't know what this
> > > > class is. I only know that it's used by a Hewlett-Packard ScanJet
> > > > 3300c and Genius HR6 USB - Vivid III.
> > >
> > > Better that than a bare number.
> >
> > Patch attached.
>
> Applied to my 2.4 tree, sorry for the delay.
Paul Mackerras [Thu, 9 Jan 2003 04:11:56 +0000 (15:11 +1100)]
PPC32: Update the support for the IBM 40x embedded PowerPC chips and boards.
Some of this comes from recent work in the 2_4_devel tree, including the
conversion to using an array (core_ocp[]) to describe on-chip peripherals
in a standard format. The other major change is to give the board file
control early on in the boot and let it call back to generic 4xx routines
rather than vice-versa.
Trond Myklebust [Wed, 8 Jan 2003 01:59:37 +0000 (17:59 -0800)]
[PATCH] allow arbitrary alignment of NFS read/write requests
Patch by Chuck Lever to add a new field called wb_pgbase to the
nfs_page struct. This separates the concept of file page offset from
buffer page offset, allowing NFS to specify read and write requests
into buffers at offsets that are independent of the file page
offset. It is a prequisite for direct I/O in NFS.