• R/O
  • HTTP
  • SSH
  • HTTPS

linux-2.4.36: コミット一覧

2.4.36-stable kernel tree


RSS
Rev. 日時 作者
3ad5132 2006-11-24 06:15:04 Willy Tarreau

[PATCH] rio: typo in bitwise AND expression.

The line :

hp->Mode &= !RIO_PCI_INT_ENABLE;

is obviously wrong as RIO_PCI_INT_ENABLE=0x04 and is used as a bitmask
2 lines before. Getting no IRQ would not disable RIO_PCI_INT_ENABLE
but rather RIO_PCI_BOOT_FROM_RAM which equals 0x01.

Obvious fix is to change ! for ~.

Signed-off-by: Willy Tarreau <w@1wt.eu>
Signed-off-by: Patrick vd Lageweg <patrick@BitWizard.nl>

def0db7 2006-11-24 05:59:34 Ralf Baechle

[PATCH] Masking bug in 6pack driver

Looks like a broken masking to me, binary not is used where bitwise not
was intended.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

686b9fe 2006-11-20 05:10:18 Willy Tarreau

Change VERSION to 2.4.34-pre6

- [I2C] update web site address and contacts
- [I2C] do not ignore error when returning from i2c_add_adapter()
- [I2C] i2c-matroxfb: Struct init conversion
- [I2C] Fix copy-n-paste error in i2c Config.in.
- [I2C] remove non-existing functions declarations.
- knfsd: Fix race that can disable NFS server.
- i2c-elv: fix erroneous '&&' operator
- fix "&& 0xffff" typo in gdth.c
- fix obvious "&& 0xFFFFFF" typo in cpqfcTSworker
- fix "&& 0xff" typo in qeth_qdio_input_handler
- fix two "&& 0x03" in usbnet
- EXT3: avoid crashing by not dividing by zero.
- EXT2: avoid crashing by not dividing by zero.
- [GCC4] fix build error in arch/alpha/kernel/osf_sys.c
- [GCC4] fix build error in arch/alpha/kernel/irq.c
- [GCC4] fix build error in arch/alpha/lib/io.c
- [GCC4] fix build error in arch/alpha/math-emu/math.c

d01b0a2 2006-11-20 02:02:13 Jean Delvare

[PATCH][I2C] remove non-existing functions declarations.

Drop the function declarations for slave mode support of i2c adapters.
This was never implemented.

Partial backport of:
http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=6d3aae9d74221b00e2cbf50a353527e5a71a58ba

Signed-off-by: Jean Delvare <khali@linux-fr.org>

1b6417c 2006-11-20 02:02:12 Jean Delvare

[PATCH][I2C] Fix copy-n-paste error in i2c Config.in.

Backport from a Linux 2.6 patch by Arthur Othieno:
http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=be53f9b2a08e647396ceaa004199ae4b032a9bd2

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: Arthur Othieno <apgo@patchbomb.org>

cb566ac 2006-11-20 02:02:12 Jean Delvare

[PATCH][I2C] i2c-matroxfb: Struct init conversion

Convert the struct i2c_algo_bit_data initialization to proper C99
style.

Backport from:
http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=8241cb1401873e18bba746fd3f6c56ce4252a61f

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: Petr Vandrovec <vandrove@vc.cvut.cz>

4d9fdc8 2006-11-20 02:02:11 Jean Delvare

[PATCH][I2C] do not ignore error when returning from i2c_add_adapter()

i2c_add_adapter may fail. Most i2c algorithm drivers ignore this
fact, fix them. This is a backport from a patch from Mark M. Hoffman
to Linux 2.6.

Signed-off-by: Jean Delvare <khali@linux-fr.org>

5205adc 2006-11-20 02:02:11 Jean Delvare

[PATCH][I2C] update web site address and contacts

We have a new mailing list dedicated to linux i2c:
http://lists.lm-sensors.org/mailman/listinfo/i2c

The lm-sensors website moved to http://www.lm-sensors.org/.

Signed-off-by: Jean Delvare <khali@linux-fr.org>

26062ea 2006-11-20 02:02:11 Willy Tarreau

[GCC4] fix build error in arch/alpha/math-emu/math.c

This patch fixes this error with gcc 4 on alpha :

gcc-4.1 -D__KERNEL__ -I/data/git/public/linux-2.4/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fno-builtin-sprintf -fomit-frame-pointer -Wno-pointer-sign -pipe -mno-fp-regs -ffixed-8 -mcpu=ev6 -Wa,-mev6 -nostdinc -iwithprefix include -DKBUILD_BASENAME=math -c -o math.o math.c
math.c: In function 'alpha_fp_emul':
math.c:204: warning: right shift count is negative
math.c:204: warning: left shift count >= width of type
math.c:220: warning: left shift count is negative
math.c:238: warning: statement with no effect
math.c:258: error: invalid lvalue in assignment
math.c:258: warning: right shift count >= width of type
math.c:258: warning: right shift count >= width of type
math.c:262: error: invalid lvalue in assignment
math.c:262: warning: right shift count >= width of type
math.c:262: warning: right shift count >= width of type
math.c:270: warning: statement with no effect
math.c:270: warning: statement with no effect
math.c:270: warning: statement with no effect
math.c:277: warning: statement with no effect
math.c:277: warning: statement with no effect
math.c:277: warning: statement with no effect

0d0b79a 2006-11-20 02:02:10 Willy Tarreau

[GCC4] fix build error in arch/alpha/lib/io.c

This patch fixes this error with gcc 4 on alpha :

gcc-4.1 -D__KERNEL__ -I/data/git/public/linux-2.4/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fno-builtin-sprintf -fomit-frame-pointer -Wno-pointer-sign -pipe -mno-fp-regs -ffixed-8 -mcpu=ev6 -Wa,-mev6 -nostdinc -iwithprefix include -DKBUILD_BASENAME=io -c -o io.o io.c
io.c: In function 'insb':
io.c:146: error: invalid lvalue in increment
io.c:157: error: invalid lvalue in increment
io.c:163: error: invalid lvalue in increment
io.c: In function 'insw':
io.c:185: error: invalid lvalue in increment
io.c:194: error: invalid lvalue in increment
io.c: In function 'insl':
io.c:222: error: invalid lvalue in increment
io.c:233: error: invalid lvalue in increment
io.c:239: error: invalid lvalue in increment
io.c:249: error: invalid lvalue in increment
io.c:251: error: invalid lvalue in increment
io.c:256: error: invalid lvalue in increment
io.c:266: error: invalid lvalue in increment
io.c:271: error: invalid lvalue in increment
io.c:275: error: invalid lvalue in increment
io.c: In function 'outsb':
io.c:293: error: invalid lvalue in increment
io.c: In function 'outsw':
io.c:310: error: invalid lvalue in increment
io.c:318: error: invalid lvalue in increment
io.c: In function 'outsl':
io.c:348: error: invalid lvalue in increment
io.c:358: error: invalid lvalue in increment
io.c:363: error: invalid lvalue in increment
io.c:374: error: invalid lvalue in increment
io.c:376: error: invalid lvalue in increment
io.c:380: error: invalid lvalue in increment
io.c:391: error: invalid lvalue in increment
io.c:395: error: invalid lvalue in increment
io.c:400: error: invalid lvalue in increment

e967f39 2006-11-20 02:02:10 Willy Tarreau

[GCC4] fix build error in arch/alpha/kernel/irq.c

This patch fixes this error with gcc 4 on alpha :

gcc-4.1 -D__KERNEL__ -I/data/git/public/linux-2.4/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fno-builtin-sprintf -fomit-frame-pointer -Wno-pointer-sign -pipe -mno-fp-regs -ffixed-8 -mcpu=ev6 -Wa,-mev6 -nostdinc -iwithprefix include -DKBUILD_BASENAME=irq -c -o irq.o irq.c
irq.c: In function 'handle_irq':
irq.c:619: error: invalid lvalue in increment

bf0c2ac 2006-11-20 02:02:10 Willy Tarreau

[GCC4] fix build error in arch/alpha/kernel/osf_sys.c

This patches fixes this error with gcc 4 on alpha :

gcc-4.1 -D__KERNEL__ -I/data/git/public/linux-2.4/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fno-builtin-sprintf -fomit-frame-pointer -Wno-pointer-sign -pipe -mno-fp-regs -ffixed-8 -mcpu=ev6 -Wa,-mev6 -nostdinc -iwithprefix include -DKBUILD_BASENAME=osf_sys -c -o osf_sys.o osf_sys.c
osf_sys.c: In function 'osf_filldir':
osf_sys.c:128: error: invalid lvalue in assignment

bf97a67 2006-11-20 02:02:09 Willy Tarreau

[PATCH] EXT2: avoid crashing by not dividing by zero.

backport a few checks from 2.6 to avoid dividing by zero on invalid
superblocks.

f81b822 2006-11-20 02:02:09 Willy Tarreau

[PATCH] EXT3: avoid crashing by not dividing by zero.

backport a few checks from 2.6 to avoid dividing by zero on invalid
superblocks.

7bc2386 2006-11-20 02:02:08 Willy Tarreau

[PATCH] fix two "&& 0x03" in usbnet

just another obvious typo.

7a7881a 2006-11-20 02:02:08 Willy Tarreau

[PATCH] fix "&& 0xff" typo in qeth_qdio_input_handler

this one is already OK in 2.6.

5a62aee 2006-11-20 02:02:08 Willy Tarreau

[PATCH] fix obvious "&& 0xFFFFFF" typo in cpqfcTSworker

7476e3e 2006-11-20 02:02:07 Willy Tarreau

[PATCH] fix "&& 0xffff" typo in gdth.c

same as 2.6 patch.

780defc 2006-11-20 02:02:07 Willy Tarreau

[PATCH-2.4] i2c-elv: fix erroneous '&&' operator

There was clearly a typo in i2c-elv.c.

Signed-off-by: Willy Tarreau <w@1wt.eu>
Signed-off-by: Jean Delvare <khali@linux-fr.org>

3605a83 2006-11-20 02:02:07 NeilBrown

[PATCH] knfsd: Fix race that can disable NFS server.

This is a long standing bug that seems to have only recently become
apparent, presumably due to increasing use of NFS over TCP - many
distros seem to be making it the default.

The SK_CONN bit gets set when a listening socket may be ready
for an accept, just as SK_DATA is set when data may be available.

It is entirely possible for svc_tcp_accept to be called with neither
of these set. It doesn't happen often but there is a small race in
svc_sock_enqueue as SK_CONN and SK_DATA are tested outside the
spin_lock. They could be cleared immediately after the test and
before the lock is gained.

This normally shouldn't be a problem. The sockets are non-blocking so
trying to read() or accept() when ther is nothing to do is not a problem.

However: svc_tcp_recvfrom makes the decision "Should I accept() or
should I read()" based on whether SK_CONN is set or not. This usually
works but is not safe. The decision should be based on whether it is
a TCP_LISTEN socket or a TCP_CONNECTED socket.

Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>

3e9812d 2006-11-05 06:47:35 Willy Tarreau

Change VERSION to 2.4.34-pre5
- WATCHDOG: sc1200wdt.c pnp unregister fix.
- incorrect timeout in mtd AMD driver of 2.4 kernel
- SCTP: Always linearise packet on input
- ISDN: fix drivers, by handling errors thrown by ->readstat()
- copy_from_user information leak on s390.
- s390 : fix typo in recent copy_from_user fix
- [S390] user readable uninitialised kernel memory (3rd version)
- [NETFILTER]: Fix deadlock on NAT helper unload
- [BRIDGE]: netfilter deadlock
- i386: remove unsigned long long cast in __pte() macro.
- 2.4.x: i386/x86_64 bitops clobberings

2fe57c8 2006-11-05 06:38:26 Akinobu Mita

[PATCH] WATCHDOG: sc1200wdt.c pnp unregister fix.

(backport from 2.6-stable)

If no devices found or invalid parameter is specified,
scl200wdt_pnp_driver is left unregistered.
It breaks global list of pnp drivers.

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>

For 2.4 backport :
Acked-by: Wim Van Sebroeck <wim@iguana.be>

edddfaf 2006-11-05 06:38:25 Jeff Garzik

[PATCH] ISDN: fix drivers, by handling errors thrown by ->readstat()

(backport from 2.6-stable)

This is a particularly ugly on-failure bug, possibly security, since the
lack of error handling here is covering up another class of bug: failure to
handle copy_to_user() return values.

The I4L API function ->readstat() returns an integer, and by looking at
several existing driver implementations, it is clear that a negative return
value was meant to indicate an error.

Given that several drivers already return a negative value indicating an
errno-style error, the current code would blindly accept that [negative]
value as a valid amount of bytes read. Obvious damage ensues.

Correcting ->readstat() handling to properly notice errors fixes the
existing code to work correctly on error, and enables future patches to
more easily indicate errors during operation.

Signed-off-by: Jeff Garzik <jeff@garzik.org>
Cc: Karsten Keil <kkeil@suse.de>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>

For 2.4 backport :
Acked-by: Karsten Keil <kkeil@suse.de>

64a4300 2006-11-05 06:38:24 Herbert Xu

[PATCH] SCTP: Always linearise packet on input

(backported from 2.6-stable)

I was looking at a RHEL5 bug report involving Xen and SCTP
(https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=212550).
It turns out that SCTP wasn't written to handle skb fragments at
all. The absence of any calls to skb_may_pull is testament to
that.

It just so happens that Xen creates fragmented packets more often
than other scenarios (header & data split when going from domU to
dom0). That's what caused this bug to show up.

Until someone has the time sits down and audits the entire net/sctp
directory, here is a conservative and safe solution that simply
linearises all packets on input.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>

For 2.4 backport :
Acked-by: David S. Miller <davem@davemloft.net>

abf857e 2006-11-02 10:28:40 Stephen Hemminger

[BRIDGE]: netfilter deadlock

A deadlock was found in bridge netfilter code (2.4 only), when a
device is removed. The device removal path causes a BPDU to be
generated and ends up self deadlocking on the BR lock.

Simple fix would be to avoid generating config bpdu's immediately when
becoming root bridge, and just let the first hello timer tick do that.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>

81fce51 2006-10-24 07:15:21 Dick Streefland

[PATCH] incorrect timeout in mtd AMD driver of 2.4 kernel

I found a problem in the MTD driver for AMD flash chips that caused
occasional write errors on my WiFi router running OpenWrt. The driver
uses (HZ/1000) to calculate a timeout value of at least 1 msec, but
since HZ is 100, the timeout is effectively zero. The fix is to
increment the timeout by 1 jiffie, which is also done in the 2.6 kernel.
The patch also fixes two missing newlines.

0200dfd 2006-10-20 02:14:43 Willy Tarreau

[PATCH] 2.4.x: i386/x86_64 bitops clobberings

Problem reported by Jan Kiszka <jan.kiszka@web.de> :
"After going through debugging hell with some out-of-tree code,
I realised that this patch :

http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=92934bcbf96bc9dc931c40ca5f1a57685b7b813b

makes a difference: current 2.6 works with the following code
sequence as expected (printk is executed), 2.4 fails. I used
gcc 3.3.6-13 (Debian).

unsigned long a = 1;

int module_init(void)
{
unsigned long b = 0;
int x;

x = __test_and_set_bit(0, &b);
if (__test_and_set_bit(0, &a))
printk("x = %d\n", x);

return -1;
}

I ported the x86 part back to 2.4.33 and my problem disappeared. "

The problem with this patch is that the use of "+m" in asm statements
triggers bugs in gcc 2.95 which is supported by kernel 2.4. For
instance, cyclades.c does not build anymore :

$ gcc -O2 -pipe -c cyclades-c.c
cyclades.c: In function `cyy_interrupt':
/usr/src/git/linux-2.4/include/asm/bitops.h:134: inconsistent operand constraints in an `asm'
cyclades.c: In function `cyz_handle_rx':
/usr/src/git/linux-2.4/include/asm/bitops.h:134: inconsistent operand constraints in an `asm'

As explained by Richard Henderson here, the equivalent construct
"=m"(x) : "m"(x) works on any version of gcc :

http://marc.theaimsgroup.com/?l=3Dlinux-kernel&m=3D107475162200773&w=3D2

I successfully verified on the example code above and on cyclades.c
that the exact same code is produced on x86 with this construct with
gcc 2.95.3, 3.3.6, 3.4.4, and 4.1.1, and Jan confirmed it also fixed
his problem, so it looks fine.

Just like in the former patch for 2.6, this one was applied to both
i386 and x86_64.

Signed-Off-By: Willy Tarreau <w@1wt.eu>
Acked-By: Jan Kiszka <jan.kiszka@web.de>

05b6e38 2006-10-20 02:05:31 Martin Schwidefsky

[S390] user readable uninitialised kernel memory (3rd version)

Fixed a label and a few comments.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>

012a1cf 2006-10-15 01:59:38 Martin Schwidefsky

[PATCH] s390 : fix typo in recent copy_from_user fix

unfortunatly a bug crept into the bug fix for 2.4: the arguments of the
mvcle that is supposed to clear the kernel buffer have been swapped for
64 bit (the code is fine for 31 bit :-/).

181702c 2006-10-09 07:40:17 Willy Tarreau

[PATCH] i386: remove unsigned long long cast in __pte() macro.

From PaX Team :
"I've just seen the commit of the __pte() macro fixes and i'm not
sure that a blind unsigned long long cast is the proper way to
handle the warnings. the thing is, if there's a warning as Ralf
said, then it means that the user of the macro is not passing the
proper argument to the macro, hence there's a likelyhood that the
caller itself may not be doing what it intended to do."

"I don't know about MIPS, but under i386/PAE the higher 32 bits do
carry 'interesting' bits (not only physical page number bits but
on NX capable CPUs the NX bit itself as well), so they can't be
blindly made 0 by doing an unsigned long long cast, it should be
decided by the user of the macro instead."

"So my suggestion would be to fix the callers instead of doing the
cast, that is, have gcc point out everyone not passing a properly
set up argument, figure out if a cast is proper (as i said, at
least on PAE it will loose important bits) and fix the caller."

Also, the only user seems to be drm-40/ffb_drv.c, which is only
enabled for sparc64. So the warning would never appear anyway.

Acked-By: Willy Tarreau <w@1wt.eu>

旧リポジトリブラウザで表示