* [1/5] pcmcia: synclink_cs: fix information leak to userland
2010-11-19 21:33 [0/5] 2.6.27.56-stable review Greg KH
@ 2010-11-19 21:30 ` Greg KH
2010-11-19 21:30 ` [2/5] sched: Fix string comparison in /proc/sched_features Greg KH
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Greg KH @ 2010-11-19 21:30 UTC (permalink / raw)
To: linux-kernel, stable
Cc: stable-review, torvalds, akpm, alan, Vasiliy Kulikov,
Dominik Brodowski
2.6.27-stable review patch. If anyone has any objections, please let us know.
------------------
From: Vasiliy Kulikov <segooon@gmail.com>
commit 5b917a1420d3d1a9c8da49fb0090692dc9aaee86 upstream.
Structure new_line is copied to userland with some padding fields unitialized.
It leads to leaking of stack memory.
Signed-off-by: Vasiliy Kulikov <segooon@gmail.com>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/char/pcmcia/synclink_cs.c | 2 ++
1 file changed, 2 insertions(+)
--- a/drivers/char/pcmcia/synclink_cs.c
+++ b/drivers/char/pcmcia/synclink_cs.c
@@ -4287,6 +4287,8 @@ static int hdlcdev_ioctl(struct net_devi
if (cmd != SIOCWANDEV)
return hdlc_ioctl(dev, ifr, cmd);
+ memset(&new_line, 0, size);
+
switch(ifr->ifr_settings.type) {
case IF_GET_IFACE: /* return current sync_serial_settings */
^ permalink raw reply [flat|nested] 6+ messages in thread
* [2/5] sched: Fix string comparison in /proc/sched_features
2010-11-19 21:33 [0/5] 2.6.27.56-stable review Greg KH
2010-11-19 21:30 ` [1/5] pcmcia: synclink_cs: fix information leak to userland Greg KH
@ 2010-11-19 21:30 ` Greg KH
2010-11-19 21:30 ` [3/5] [SCSI] libsas: fix NCQ mixing with non-NCQ Greg KH
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Greg KH @ 2010-11-19 21:30 UTC (permalink / raw)
To: linux-kernel, stable
Cc: stable-review, torvalds, akpm, alan, Mathieu Desnoyers,
Peter Zijlstra, Tony Lindgren, Ingo Molnar
2.6.27-stable review patch. If anyone has any objections, please let us know.
------------------
From: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
commit 7740191cd909b75d75685fb08a5d1f54b8a9d28b upstream.
Fix incorrect handling of the following case:
INTERACTIVE
INTERACTIVE_SOMETHING_ELSE
The comparison only checks up to each element's length.
Changelog since v1:
- Embellish using some Rostedtisms.
[ mingo: ^^ == smaller and cleaner ]
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Reviewed-by: Steven Rostedt <rostedt@goodmis.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Tony Lindgren <tony@atomide.com>
LKML-Reference: <20100913214700.GB16118@Krystal>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
kernel/sched.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -744,7 +744,7 @@ sched_feat_write(struct file *filp, cons
size_t cnt, loff_t *ppos)
{
char buf[64];
- char *cmp = buf;
+ char *cmp;
int neg = 0;
int i;
@@ -755,6 +755,7 @@ sched_feat_write(struct file *filp, cons
return -EFAULT;
buf[cnt] = 0;
+ cmp = strstrip(buf);
if (strncmp(buf, "NO_", 3) == 0) {
neg = 1;
@@ -762,9 +763,7 @@ sched_feat_write(struct file *filp, cons
}
for (i = 0; sched_feat_names[i]; i++) {
- int len = strlen(sched_feat_names[i]);
-
- if (strncmp(cmp, sched_feat_names[i], len) == 0) {
+ if (strcmp(cmp, sched_feat_names[i]) == 0) {
if (neg)
sysctl_sched_features &= ~(1UL << i);
else
^ permalink raw reply [flat|nested] 6+ messages in thread
* [3/5] [SCSI] libsas: fix NCQ mixing with non-NCQ
2010-11-19 21:33 [0/5] 2.6.27.56-stable review Greg KH
2010-11-19 21:30 ` [1/5] pcmcia: synclink_cs: fix information leak to userland Greg KH
2010-11-19 21:30 ` [2/5] sched: Fix string comparison in /proc/sched_features Greg KH
@ 2010-11-19 21:30 ` Greg KH
2010-11-19 21:30 ` [4/5] [SCSI] gdth: integer overflow in ioctl Greg KH
2010-11-19 21:30 ` [5/5] [SCSI] Fix race when removing SCSI devices Greg KH
4 siblings, 0 replies; 6+ messages in thread
From: Greg KH @ 2010-11-19 21:30 UTC (permalink / raw)
To: linux-kernel, stable; +Cc: stable-review, torvalds, akpm, alan, James Bottomley
2.6.27-stable review patch. If anyone has any objections, please let us know.
------------------
From: David Milburn <dmilburn@redhat.com>
commit f0ad30d3d2dc924decc0e10b1ff6dc32525a5d99 upstream.
Some cards (like mvsas) have issue troubles if non-NCQ commands are
mixed with NCQ ones. Fix this by using the libata default NCQ check
routine which waits until all NCQ commands are complete before issuing
a non-NCQ one. The impact to cards (like aic94xx) which don't need
this logic should be minimal
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/scsi/libsas/sas_ata.c | 1 +
1 file changed, 1 insertion(+)
--- a/drivers/scsi/libsas/sas_ata.c
+++ b/drivers/scsi/libsas/sas_ata.c
@@ -346,6 +346,7 @@ static int sas_ata_scr_read(struct ata_p
static struct ata_port_operations sas_sata_ops = {
.phy_reset = sas_ata_phy_reset,
.post_internal_cmd = sas_ata_post_internal,
+ .qc_defer = ata_std_qc_defer,
.qc_prep = ata_noop_qc_prep,
.qc_issue = sas_ata_qc_issue,
.qc_fill_rtf = sas_ata_qc_fill_rtf,
^ permalink raw reply [flat|nested] 6+ messages in thread
* [4/5] [SCSI] gdth: integer overflow in ioctl
2010-11-19 21:33 [0/5] 2.6.27.56-stable review Greg KH
` (2 preceding siblings ...)
2010-11-19 21:30 ` [3/5] [SCSI] libsas: fix NCQ mixing with non-NCQ Greg KH
@ 2010-11-19 21:30 ` Greg KH
2010-11-19 21:30 ` [5/5] [SCSI] Fix race when removing SCSI devices Greg KH
4 siblings, 0 replies; 6+ messages in thread
From: Greg KH @ 2010-11-19 21:30 UTC (permalink / raw)
To: linux-kernel, stable
Cc: stable-review, torvalds, akpm, alan, Dan Carpenter,
James Bottomley
2.6.27-stable review patch. If anyone has any objections, please let us know.
------------------
From: Dan Carpenter <error27@gmail.com>
commit f63ae56e4e97fb12053590e41a4fa59e7daa74a4 upstream.
gdth_ioctl_alloc() takes the size variable as an int.
copy_from_user() takes the size variable as an unsigned long.
gen.data_len and gen.sense_len are unsigned longs.
On x86_64 longs are 64 bit and ints are 32 bit.
We could pass in a very large number and the allocation would truncate
the size to 32 bits and allocate a small buffer. Then when we do the
copy_from_user(), it would result in a memory corruption.
Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/scsi/gdth.c | 8 ++++++++
1 file changed, 8 insertions(+)
--- a/drivers/scsi/gdth.c
+++ b/drivers/scsi/gdth.c
@@ -4155,6 +4155,14 @@ static int ioc_general(void __user *arg,
ha = gdth_find_ha(gen.ionode);
if (!ha)
return -EFAULT;
+
+ if (gen.data_len > INT_MAX)
+ return -EINVAL;
+ if (gen.sense_len > INT_MAX)
+ return -EINVAL;
+ if (gen.data_len + gen.sense_len > INT_MAX)
+ return -EINVAL;
+
if (gen.data_len + gen.sense_len != 0) {
if (!(buf = gdth_ioctl_alloc(ha, gen.data_len + gen.sense_len,
FALSE, &paddr)))
^ permalink raw reply [flat|nested] 6+ messages in thread
* [5/5] [SCSI] Fix race when removing SCSI devices
2010-11-19 21:33 [0/5] 2.6.27.56-stable review Greg KH
` (3 preceding siblings ...)
2010-11-19 21:30 ` [4/5] [SCSI] gdth: integer overflow in ioctl Greg KH
@ 2010-11-19 21:30 ` Greg KH
4 siblings, 0 replies; 6+ messages in thread
From: Greg KH @ 2010-11-19 21:30 UTC (permalink / raw)
To: linux-kernel, stable
Cc: stable-review, torvalds, akpm, alan, Christof Schmitt,
James Bottomley
2.6.27-stable review patch. If anyone has any objections, please let us know.
------------------
From: Christof Schmitt <christof.schmitt@de.ibm.com>
commit 546ae796bfac6399e30da4b5af2cf7a6d0f8a4ec upstream.
Removing SCSI devices through
echo 1 > /sys/bus/scsi/devices/ ... /delete
while the FC transport class removes the SCSI target can lead to an
oops:
Unable to handle kernel pointer dereference at virtual kernel address 00000000b6815000
Oops: 0011 [#1] PREEMPT SMP DEBUG_PAGEALLOC
Modules linked in: sunrpc qeth_l3 binfmt_misc dm_multipath scsi_dh dm_mod ipv6 qeth ccwgroup [last unloaded: scsi_wait_scan]
CPU: 1 Not tainted 2.6.35.5-45.x.20100924-s390xdefault #1
Process fc_wq_0 (pid: 861, task: 00000000b7331240, ksp: 00000000b735bac0)
Krnl PSW : 0704200180000000 00000000003ff6e4 (__scsi_remove_device+0x24/0xd0)
R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:0 CC:2 PM:0 EA:3
Krnl GPRS: 0000000000000001 0000000000000000 00000000b6815000 00000000bc24a8c0
00000000003ff7c8 000000000056dbb8 0000000000000002 0000000000835d80
ffffffff00000000 0000000000001000 00000000b6815000 00000000bc24a7f0
00000000b68151a0 00000000b6815000 00000000b735bc20 00000000b735bbf8
Krnl Code: 00000000003ff6d6: a7840001 brc 8,3ff6d8
00000000003ff6da: a7fbffd8 aghi %r15,-40
00000000003ff6de: e3e0f0980024 stg %r14,152(%r15)
>00000000003ff6e4: e31021200004 lg %r1,288(%r2)
00000000003ff6ea: a71f0000 cghi %r1,0
00000000003ff6ee: a7a40011 brc 10,3ff710
00000000003ff6f2: a7390003 lghi %r3,3
00000000003ff6f6: c0e5ffffc8b1 brasl %r14,3f8858
Call Trace:
([<0000000000001000>] 0x1000)
[<00000000003ff7d2>] scsi_remove_device+0x42/0x54
[<00000000003ff8ba>] __scsi_remove_target+0xca/0xfc
[<00000000003ff99a>] __remove_child+0x3a/0x48
[<00000000003e3246>] device_for_each_child+0x72/0xbc
[<00000000003ff93a>] scsi_remove_target+0x4e/0x74
[<0000000000406586>] fc_rport_final_delete+0xb2/0x23c
[<000000000015d080>] worker_thread+0x200/0x344
[<000000000016330c>] kthread+0xa0/0xa8
[<0000000000106c1a>] kernel_thread_starter+0x6/0xc
[<0000000000106c14>] kernel_thread_starter+0x0/0xc
INFO: lockdep is turned off.
Last Breaking-Event-Address:
[<00000000003ff7cc>] scsi_remove_device+0x3c/0x54
The function __scsi_remove_target iterates through the SCSI devices on
the host, but it drops the host_lock before calling
scsi_remove_device. When the SCSI device is deleted from another
thread, the pointer to the SCSI device in scsi_remove_device can
become invalid. Fix this by getting a reference to the SCSI device
before dropping the host_lock to keep the SCSI device alive for the
call to scsi_remove_device.
Signed-off-by: Christof Schmitt <christof.schmitt@de.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/scsi/scsi_sysfs.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
--- a/drivers/scsi/scsi_sysfs.c
+++ b/drivers/scsi/scsi_sysfs.c
@@ -979,10 +979,11 @@ static void __scsi_remove_target(struct
list_for_each_entry(sdev, &shost->__devices, siblings) {
if (sdev->channel != starget->channel ||
sdev->id != starget->id ||
- sdev->sdev_state == SDEV_DEL)
+ scsi_device_get(sdev))
continue;
spin_unlock_irqrestore(shost->host_lock, flags);
scsi_remove_device(sdev);
+ scsi_device_put(sdev);
spin_lock_irqsave(shost->host_lock, flags);
goto restart;
}
^ permalink raw reply [flat|nested] 6+ messages in thread
* [0/5] 2.6.27.56-stable review
@ 2010-11-19 21:33 Greg KH
2010-11-19 21:30 ` [1/5] pcmcia: synclink_cs: fix information leak to userland Greg KH
` (4 more replies)
0 siblings, 5 replies; 6+ messages in thread
From: Greg KH @ 2010-11-19 21:33 UTC (permalink / raw)
To: linux-kernel, stable; +Cc: stable-review, torvalds, akpm, alan
This is the start of the stable review cycle for the 2.6.27.56 release.
There are 5 patches in this series, all will be posted as a response
to this one. If anyone has any issues with these being applied, please
let us know. If anyone is a maintainer of the proper subsystem, and
wants to add a Signed-off-by: line to the patch, please respond with it.
Responses should be made by Monday, November 22, 2010, 12:00:00 UTC
Anything received after that time might be too late.
The whole patch series can be found in one patch at:
kernel.org/pub/linux/kernel/v2.6/stable-review/patch-2.6.27.56-rc1.gz
and the diffstat can be found below.
thanks,
greg k-h
Makefile | 2 +-
drivers/char/pcmcia/synclink_cs.c | 2 ++
drivers/scsi/gdth.c | 8 ++++++++
drivers/scsi/libsas/sas_ata.c | 1 +
drivers/scsi/scsi_sysfs.c | 3 ++-
kernel/sched.c | 7 +++----
6 files changed, 17 insertions(+), 6 deletions(-)
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2010-11-19 21:34 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-11-19 21:33 [0/5] 2.6.27.56-stable review Greg KH
2010-11-19 21:30 ` [1/5] pcmcia: synclink_cs: fix information leak to userland Greg KH
2010-11-19 21:30 ` [2/5] sched: Fix string comparison in /proc/sched_features Greg KH
2010-11-19 21:30 ` [3/5] [SCSI] libsas: fix NCQ mixing with non-NCQ Greg KH
2010-11-19 21:30 ` [4/5] [SCSI] gdth: integer overflow in ioctl Greg KH
2010-11-19 21:30 ` [5/5] [SCSI] Fix race when removing SCSI devices Greg KH
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox