From: Kamal Mostafa <kamal@canonical.com>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org,
kernel-team@lists.ubuntu.com
Cc: Helge Deller <deller@gmx.de>, Kamal Mostafa <kamal@canonical.com>
Subject: [PATCH 3.8 074/152] parisc: sticon - unbreak on 64bit kernel
Date: Fri, 6 Dec 2013 15:09:58 -0800 [thread overview]
Message-ID: <1386371476-2477-75-git-send-email-kamal@canonical.com> (raw)
In-Reply-To: <1386371476-2477-1-git-send-email-kamal@canonical.com>
3.8.13.14 -stable review patch. If anyone has any objections, please let me know.
------------------
From: Helge Deller <deller@gmx.de>
commit 0219132fe7c26574371232b50db085573f6fbd3f upstream.
STI text console (sticon) was broken on 64bit machines with more than
4GB RAM and this lead in some cases to a kernel crash.
Since sticon uses the 32bit STI API it needs to keep pointers to memory
below 4GB. But on a 64bit kernel some memory regions (e.g. the kernel
stack) might be above 4GB which then may crash the kernel in the STI
functions.
Additionally sticon didn't selected the built-in framebuffer fonts by
default. This is now fixed.
On a side-note: Theoretically we could enhance the sticon driver to
use the 64bit STI API. But - beside the fact that some machines don't
provide a 64bit STI ROM - this would just add complexity.
Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
---
drivers/video/console/sticore.c | 166 +++++++++++++++++++++++++---------------
drivers/video/sticore.h | 62 ++++++++++++---
drivers/video/stifb.c | 10 +--
3 files changed, 158 insertions(+), 80 deletions(-)
diff --git a/drivers/video/console/sticore.c b/drivers/video/console/sticore.c
index 35687fd..4ad24f2 100644
--- a/drivers/video/console/sticore.c
+++ b/drivers/video/console/sticore.c
@@ -3,7 +3,7 @@
* core code for console driver using HP's STI firmware
*
* Copyright (C) 2000 Philipp Rumpf <prumpf@tux.org>
- * Copyright (C) 2001-2003 Helge Deller <deller@gmx.de>
+ * Copyright (C) 2001-2013 Helge Deller <deller@gmx.de>
* Copyright (C) 2001-2002 Thomas Bogendoerfer <tsbogend@alpha.franken.de>
*
* TODO:
@@ -30,7 +30,7 @@
#include "../sticore.h"
-#define STI_DRIVERVERSION "Version 0.9a"
+#define STI_DRIVERVERSION "Version 0.9b"
static struct sti_struct *default_sti __read_mostly;
@@ -73,28 +73,34 @@ static const struct sti_init_flags default_init_flags = {
static int sti_init_graph(struct sti_struct *sti)
{
- struct sti_init_inptr_ext inptr_ext = { 0, };
- struct sti_init_inptr inptr = {
- .text_planes = 3, /* # of text planes (max 3 for STI) */
- .ext_ptr = STI_PTR(&inptr_ext)
- };
- struct sti_init_outptr outptr = { 0, };
+ struct sti_init_inptr *inptr = &sti->sti_data->init_inptr;
+ struct sti_init_inptr_ext *inptr_ext = &sti->sti_data->init_inptr_ext;
+ struct sti_init_outptr *outptr = &sti->sti_data->init_outptr;
unsigned long flags;
- int ret;
+ int ret, err;
spin_lock_irqsave(&sti->lock, flags);
- ret = STI_CALL(sti->init_graph, &default_init_flags, &inptr,
- &outptr, sti->glob_cfg);
+ memset(inptr, 0, sizeof(*inptr));
+ inptr->text_planes = 3; /* # of text planes (max 3 for STI) */
+ memset(inptr_ext, 0, sizeof(*inptr_ext));
+ inptr->ext_ptr = STI_PTR(inptr_ext);
+ outptr->errno = 0;
+
+ ret = sti_call(sti, sti->init_graph, &default_init_flags, inptr,
+ outptr, sti->glob_cfg);
+
+ if (ret >= 0)
+ sti->text_planes = outptr->text_planes;
+ err = outptr->errno;
spin_unlock_irqrestore(&sti->lock, flags);
if (ret < 0) {
- printk(KERN_ERR "STI init_graph failed (ret %d, errno %d)\n",ret,outptr.errno);
+ pr_err("STI init_graph failed (ret %d, errno %d)\n", ret, err);
return -1;
}
- sti->text_planes = outptr.text_planes;
return 0;
}
@@ -104,16 +110,18 @@ static const struct sti_conf_flags default_conf_flags = {
static void sti_inq_conf(struct sti_struct *sti)
{
- struct sti_conf_inptr inptr = { 0, };
+ struct sti_conf_inptr *inptr = &sti->sti_data->inq_inptr;
+ struct sti_conf_outptr *outptr = &sti->sti_data->inq_outptr;
unsigned long flags;
s32 ret;
- sti->outptr.ext_ptr = STI_PTR(&sti->outptr_ext);
+ outptr->ext_ptr = STI_PTR(&sti->sti_data->inq_outptr_ext);
do {
spin_lock_irqsave(&sti->lock, flags);
- ret = STI_CALL(sti->inq_conf, &default_conf_flags,
- &inptr, &sti->outptr, sti->glob_cfg);
+ memset(inptr, 0, sizeof(*inptr));
+ ret = sti_call(sti, sti->inq_conf, &default_conf_flags,
+ inptr, outptr, sti->glob_cfg);
spin_unlock_irqrestore(&sti->lock, flags);
} while (ret == 1);
}
@@ -126,7 +134,8 @@ static const struct sti_font_flags default_font_flags = {
void
sti_putc(struct sti_struct *sti, int c, int y, int x)
{
- struct sti_font_inptr inptr = {
+ struct sti_font_inptr *inptr = &sti->sti_data->font_inptr;
+ struct sti_font_inptr inptr_default = {
.font_start_addr= STI_PTR(sti->font->raw),
.index = c_index(sti, c),
.fg_color = c_fg(sti, c),
@@ -134,14 +143,15 @@ sti_putc(struct sti_struct *sti, int c, int y, int x)
.dest_x = x * sti->font_width,
.dest_y = y * sti->font_height,
};
- struct sti_font_outptr outptr = { 0, };
+ struct sti_font_outptr *outptr = &sti->sti_data->font_outptr;
s32 ret;
unsigned long flags;
do {
spin_lock_irqsave(&sti->lock, flags);
- ret = STI_CALL(sti->font_unpmv, &default_font_flags,
- &inptr, &outptr, sti->glob_cfg);
+ *inptr = inptr_default;
+ ret = sti_call(sti, sti->font_unpmv, &default_font_flags,
+ inptr, outptr, sti->glob_cfg);
spin_unlock_irqrestore(&sti->lock, flags);
} while (ret == 1);
}
@@ -156,7 +166,8 @@ void
sti_set(struct sti_struct *sti, int src_y, int src_x,
int height, int width, u8 color)
{
- struct sti_blkmv_inptr inptr = {
+ struct sti_blkmv_inptr *inptr = &sti->sti_data->blkmv_inptr;
+ struct sti_blkmv_inptr inptr_default = {
.fg_color = color,
.bg_color = color,
.src_x = src_x,
@@ -166,14 +177,15 @@ sti_set(struct sti_struct *sti, int src_y, int src_x,
.width = width,
.height = height,
};
- struct sti_blkmv_outptr outptr = { 0, };
+ struct sti_blkmv_outptr *outptr = &sti->sti_data->blkmv_outptr;
s32 ret;
unsigned long flags;
do {
spin_lock_irqsave(&sti->lock, flags);
- ret = STI_CALL(sti->block_move, &clear_blkmv_flags,
- &inptr, &outptr, sti->glob_cfg);
+ *inptr = inptr_default;
+ ret = sti_call(sti, sti->block_move, &clear_blkmv_flags,
+ inptr, outptr, sti->glob_cfg);
spin_unlock_irqrestore(&sti->lock, flags);
} while (ret == 1);
}
@@ -182,7 +194,8 @@ void
sti_clear(struct sti_struct *sti, int src_y, int src_x,
int height, int width, int c)
{
- struct sti_blkmv_inptr inptr = {
+ struct sti_blkmv_inptr *inptr = &sti->sti_data->blkmv_inptr;
+ struct sti_blkmv_inptr inptr_default = {
.fg_color = c_fg(sti, c),
.bg_color = c_bg(sti, c),
.src_x = src_x * sti->font_width,
@@ -192,14 +205,15 @@ sti_clear(struct sti_struct *sti, int src_y, int src_x,
.width = width * sti->font_width,
.height = height* sti->font_height,
};
- struct sti_blkmv_outptr outptr = { 0, };
+ struct sti_blkmv_outptr *outptr = &sti->sti_data->blkmv_outptr;
s32 ret;
unsigned long flags;
do {
spin_lock_irqsave(&sti->lock, flags);
- ret = STI_CALL(sti->block_move, &clear_blkmv_flags,
- &inptr, &outptr, sti->glob_cfg);
+ *inptr = inptr_default;
+ ret = sti_call(sti, sti->block_move, &clear_blkmv_flags,
+ inptr, outptr, sti->glob_cfg);
spin_unlock_irqrestore(&sti->lock, flags);
} while (ret == 1);
}
@@ -212,7 +226,8 @@ void
sti_bmove(struct sti_struct *sti, int src_y, int src_x,
int dst_y, int dst_x, int height, int width)
{
- struct sti_blkmv_inptr inptr = {
+ struct sti_blkmv_inptr *inptr = &sti->sti_data->blkmv_inptr;
+ struct sti_blkmv_inptr inptr_default = {
.src_x = src_x * sti->font_width,
.src_y = src_y * sti->font_height,
.dest_x = dst_x * sti->font_width,
@@ -220,14 +235,15 @@ sti_bmove(struct sti_struct *sti, int src_y, int src_x,
.width = width * sti->font_width,
.height = height* sti->font_height,
};
- struct sti_blkmv_outptr outptr = { 0, };
+ struct sti_blkmv_outptr *outptr = &sti->sti_data->blkmv_outptr;
s32 ret;
unsigned long flags;
do {
spin_lock_irqsave(&sti->lock, flags);
- ret = STI_CALL(sti->block_move, &default_blkmv_flags,
- &inptr, &outptr, sti->glob_cfg);
+ *inptr = inptr_default;
+ ret = sti_call(sti, sti->block_move, &default_blkmv_flags,
+ inptr, outptr, sti->glob_cfg);
spin_unlock_irqrestore(&sti->lock, flags);
} while (ret == 1);
}
@@ -284,7 +300,7 @@ __setup("sti=", sti_setup);
-static char *font_name[MAX_STI_ROMS] = { "VGA8x16", };
+static char *font_name[MAX_STI_ROMS];
static int font_index[MAX_STI_ROMS],
font_height[MAX_STI_ROMS],
font_width[MAX_STI_ROMS];
@@ -389,10 +405,10 @@ static void sti_dump_outptr(struct sti_struct *sti)
"%d used bits\n"
"%d planes\n"
"attributes %08x\n",
- sti->outptr.bits_per_pixel,
- sti->outptr.bits_used,
- sti->outptr.planes,
- sti->outptr.attributes));
+ sti->sti_data->inq_outptr.bits_per_pixel,
+ sti->sti_data->inq_outptr.bits_used,
+ sti->sti_data->inq_outptr.planes,
+ sti->sti_data->inq_outptr.attributes));
}
static int sti_init_glob_cfg(struct sti_struct *sti, unsigned long rom_address,
@@ -402,24 +418,21 @@ static int sti_init_glob_cfg(struct sti_struct *sti, unsigned long rom_address,
struct sti_glob_cfg_ext *glob_cfg_ext;
void *save_addr;
void *sti_mem_addr;
- const int save_addr_size = 1024; /* XXX */
- int i;
+ int i, size;
- if (!sti->sti_mem_request)
+ if (sti->sti_mem_request < 256)
sti->sti_mem_request = 256; /* STI default */
- glob_cfg = kzalloc(sizeof(*sti->glob_cfg), GFP_KERNEL);
- glob_cfg_ext = kzalloc(sizeof(*glob_cfg_ext), GFP_KERNEL);
- save_addr = kzalloc(save_addr_size, GFP_KERNEL);
- sti_mem_addr = kzalloc(sti->sti_mem_request, GFP_KERNEL);
+ size = sizeof(struct sti_all_data) + sti->sti_mem_request - 256;
- if (!(glob_cfg && glob_cfg_ext && save_addr && sti_mem_addr)) {
- kfree(glob_cfg);
- kfree(glob_cfg_ext);
- kfree(save_addr);
- kfree(sti_mem_addr);
+ sti->sti_data = kzalloc(size, STI_LOWMEM);
+ if (!sti->sti_data)
return -ENOMEM;
- }
+
+ glob_cfg = &sti->sti_data->glob_cfg;
+ glob_cfg_ext = &sti->sti_data->glob_cfg_ext;
+ save_addr = &sti->sti_data->save_addr;
+ sti_mem_addr = &sti->sti_data->sti_mem_addr;
glob_cfg->ext_ptr = STI_PTR(glob_cfg_ext);
glob_cfg->save_addr = STI_PTR(save_addr);
@@ -475,32 +488,31 @@ static int sti_init_glob_cfg(struct sti_struct *sti, unsigned long rom_address,
return 0;
}
-#ifdef CONFIG_FB
+#ifdef CONFIG_FONTS
static struct sti_cooked_font *
sti_select_fbfont(struct sti_cooked_rom *cooked_rom, const char *fbfont_name)
{
- const struct font_desc *fbfont;
+ const struct font_desc *fbfont = NULL;
unsigned int size, bpc;
void *dest;
struct sti_rom_font *nf;
struct sti_cooked_font *cooked_font;
- if (!fbfont_name || !strlen(fbfont_name))
- return NULL;
- fbfont = find_font(fbfont_name);
+ if (fbfont_name && strlen(fbfont_name))
+ fbfont = find_font(fbfont_name);
if (!fbfont)
fbfont = get_default_font(1024,768, ~(u32)0, ~(u32)0);
if (!fbfont)
return NULL;
- DPRINTK((KERN_DEBUG "selected %dx%d fb-font %s\n",
- fbfont->width, fbfont->height, fbfont->name));
+ pr_info("STI selected %dx%d framebuffer font %s for sticon\n",
+ fbfont->width, fbfont->height, fbfont->name);
bpc = ((fbfont->width+7)/8) * fbfont->height;
size = bpc * 256;
size += sizeof(struct sti_rom_font);
- nf = kzalloc(size, GFP_KERNEL);
+ nf = kzalloc(size, STI_LOWMEM);
if (!nf)
return NULL;
@@ -637,7 +649,7 @@ static void *sti_bmode_font_raw(struct sti_cooked_font *f)
unsigned char *n, *p, *q;
int size = f->raw->bytes_per_char*256+sizeof(struct sti_rom_font);
- n = kzalloc (4*size, GFP_KERNEL);
+ n = kzalloc(4*size, STI_LOWMEM);
if (!n)
return NULL;
p = n + 3;
@@ -673,7 +685,7 @@ static struct sti_rom *sti_get_bmode_rom (unsigned long address)
sti_bmode_rom_copy(address + BMODE_LAST_ADDR_OFFS, sizeof(size), &size);
size = (size+3) / 4;
- raw = kmalloc(size, GFP_KERNEL);
+ raw = kmalloc(size, STI_LOWMEM);
if (raw) {
sti_bmode_rom_copy(address, size, raw);
memmove (&raw->res004, &raw->type[0], 0x3c);
@@ -707,7 +719,7 @@ static struct sti_rom *sti_get_wmode_rom(unsigned long address)
/* read the ROM size directly from the struct in ROM */
size = gsc_readl(address + offsetof(struct sti_rom,last_addr));
- raw = kmalloc(size, GFP_KERNEL);
+ raw = kmalloc(size, STI_LOWMEM);
if (raw)
sti_rom_copy(address, size, raw);
@@ -743,6 +755,10 @@ static int sti_read_rom(int wordmode, struct sti_struct *sti,
address = (unsigned long) STI_PTR(raw);
+ pr_info("STI ROM supports 32 %sbit firmware functions.\n",
+ raw->alt_code_type == ALT_CODE_TYPE_PA_RISC_64
+ ? "and 64 " : "");
+
sti->font_unpmv = address + (raw->font_unpmv & 0x03ffffff);
sti->block_move = address + (raw->block_move & 0x03ffffff);
sti->init_graph = address + (raw->init_graph & 0x03ffffff);
@@ -901,7 +917,8 @@ test_rom:
sti_dump_globcfg(sti->glob_cfg, sti->sti_mem_request);
sti_dump_outptr(sti);
- printk(KERN_INFO " graphics card name: %s\n", sti->outptr.dev_name );
+ pr_info(" graphics card name: %s\n",
+ sti->sti_data->inq_outptr.dev_name);
sti_roms[num_sti_roms] = sti;
num_sti_roms++;
@@ -1073,6 +1090,29 @@ struct sti_struct * sti_get_rom(unsigned int index)
}
EXPORT_SYMBOL(sti_get_rom);
+
+int sti_call(const struct sti_struct *sti, unsigned long func,
+ const void *flags, void *inptr, void *outptr,
+ struct sti_glob_cfg *glob_cfg)
+{
+ unsigned long _flags = STI_PTR(flags);
+ unsigned long _inptr = STI_PTR(inptr);
+ unsigned long _outptr = STI_PTR(outptr);
+ unsigned long _glob_cfg = STI_PTR(glob_cfg);
+ int ret;
+
+#ifdef CONFIG_64BIT
+ /* Check for overflow when using 32bit STI on 64bit kernel. */
+ if (WARN_ONCE(_flags>>32 || _inptr>>32 || _outptr>>32 || _glob_cfg>>32,
+ "Out of 32bit-range pointers!"))
+ return -1;
+#endif
+
+ ret = pdc_sti_call(func, _flags, _inptr, _outptr, _glob_cfg);
+
+ return ret;
+}
+
MODULE_AUTHOR("Philipp Rumpf, Helge Deller, Thomas Bogendoerfer");
MODULE_DESCRIPTION("Core STI driver for HP's NGLE series graphics cards in HP PARISC machines");
MODULE_LICENSE("GPL v2");
diff --git a/drivers/video/sticore.h b/drivers/video/sticore.h
index addf7b6..af16195 100644
--- a/drivers/video/sticore.h
+++ b/drivers/video/sticore.h
@@ -18,6 +18,9 @@
#define STI_FONT_HPROMAN8 1
#define STI_FONT_KANA8 2
+#define ALT_CODE_TYPE_UNKNOWN 0x00 /* alt code type values */
+#define ALT_CODE_TYPE_PA_RISC_64 0x01
+
/* The latency of the STI functions cannot really be reduced by setting
* this to 0; STI doesn't seem to be designed to allow calling a different
* function (or the same function with different arguments) after a
@@ -40,14 +43,6 @@
#define STI_PTR(p) ( virt_to_phys(p) )
#define PTR_STI(p) ( phys_to_virt((unsigned long)p) )
-#define STI_CALL(func, flags, inptr, outptr, glob_cfg) \
- ({ \
- pdc_sti_call( func, STI_PTR(flags), \
- STI_PTR(inptr), \
- STI_PTR(outptr), \
- STI_PTR(glob_cfg)); \
- })
-
#define sti_onscreen_x(sti) (sti->glob_cfg->onscreen_x)
#define sti_onscreen_y(sti) (sti->glob_cfg->onscreen_y)
@@ -56,6 +51,12 @@
#define sti_font_x(sti) (PTR_STI(sti->font)->width)
#define sti_font_y(sti) (PTR_STI(sti->font)->height)
+#ifdef CONFIG_64BIT
+#define STI_LOWMEM (GFP_KERNEL | GFP_DMA)
+#else
+#define STI_LOWMEM (GFP_KERNEL)
+#endif
+
/* STI function configuration structs */
@@ -306,6 +307,34 @@ struct sti_blkmv_outptr {
};
+/* sti_all_data is an internal struct which needs to be allocated in
+ * low memory (< 4GB) if STI is used with 32bit STI on a 64bit kernel */
+
+struct sti_all_data {
+ struct sti_glob_cfg glob_cfg;
+ struct sti_glob_cfg_ext glob_cfg_ext;
+
+ struct sti_conf_inptr inq_inptr;
+ struct sti_conf_outptr inq_outptr; /* configuration */
+ struct sti_conf_outptr_ext inq_outptr_ext;
+
+ struct sti_init_inptr_ext init_inptr_ext;
+ struct sti_init_inptr init_inptr;
+ struct sti_init_outptr init_outptr;
+
+ struct sti_blkmv_inptr blkmv_inptr;
+ struct sti_blkmv_outptr blkmv_outptr;
+
+ struct sti_font_inptr font_inptr;
+ struct sti_font_outptr font_outptr;
+
+ /* leave as last entries */
+ unsigned long save_addr[1024 / sizeof(unsigned long)];
+ /* min 256 bytes which is STI default, max sti->sti_mem_request */
+ unsigned long sti_mem_addr[256 / sizeof(unsigned long)];
+ /* do not add something below here ! */
+};
+
/* internal generic STI struct */
struct sti_struct {
@@ -330,11 +359,9 @@ struct sti_struct {
region_t regions[STI_REGION_MAX];
unsigned long regions_phys[STI_REGION_MAX];
- struct sti_glob_cfg *glob_cfg;
- struct sti_cooked_font *font; /* ptr to selected font (cooked) */
+ struct sti_glob_cfg *glob_cfg; /* points into sti_all_data */
- struct sti_conf_outptr outptr; /* configuration */
- struct sti_conf_outptr_ext outptr_ext;
+ struct sti_cooked_font *font; /* ptr to selected font (cooked) */
struct pci_dev *pd;
@@ -343,6 +370,9 @@ struct sti_struct {
/* pointer to the fb_info where this STI device is used */
struct fb_info *info;
+
+ /* pointer to all internal data */
+ struct sti_all_data *sti_data;
};
@@ -350,6 +380,14 @@ struct sti_struct {
struct sti_struct *sti_get_rom(unsigned int index); /* 0: default sti */
+
+/* sticore main function to call STI firmware */
+
+int sti_call(const struct sti_struct *sti, unsigned long func,
+ const void *flags, void *inptr, void *outptr,
+ struct sti_glob_cfg *glob_cfg);
+
+
/* functions to call the STI ROM directly */
void sti_putc(struct sti_struct *sti, int c, int y, int x);
diff --git a/drivers/video/stifb.c b/drivers/video/stifb.c
index 876648e..019a1fe 100644
--- a/drivers/video/stifb.c
+++ b/drivers/video/stifb.c
@@ -1101,6 +1101,7 @@ static int __init stifb_init_fb(struct sti_struct *sti, int bpp_pref)
var = &info->var;
fb->sti = sti;
+ dev_name = sti->sti_data->inq_outptr.dev_name;
/* store upper 32bits of the graphics id */
fb->id = fb->sti->graphics_id[0];
@@ -1114,11 +1115,11 @@ static int __init stifb_init_fb(struct sti_struct *sti, int bpp_pref)
Since this driver only supports standard mode, we check
if the device name contains the string "DX" and tell the
user how to reconfigure the card. */
- if (strstr(sti->outptr.dev_name, "DX")) {
+ if (strstr(dev_name, "DX")) {
printk(KERN_WARNING
"WARNING: stifb framebuffer driver does not support '%s' in double-buffer mode.\n"
"WARNING: Please disable the double-buffer mode in IPL menu (the PARISC-BIOS).\n",
- sti->outptr.dev_name);
+ dev_name);
goto out_err0;
}
/* fall though */
@@ -1130,7 +1131,7 @@ static int __init stifb_init_fb(struct sti_struct *sti, int bpp_pref)
break;
default:
printk(KERN_WARNING "stifb: '%s' (id: 0x%08x) not supported.\n",
- sti->outptr.dev_name, fb->id);
+ dev_name, fb->id);
goto out_err0;
}
@@ -1154,7 +1155,6 @@ static int __init stifb_init_fb(struct sti_struct *sti, int bpp_pref)
fb->id = S9000_ID_A1659A;
break;
case S9000_ID_TIMBER: /* HP9000/710 Any (may be a grayscale device) */
- dev_name = fb->sti->outptr.dev_name;
if (strstr(dev_name, "GRAYSCALE") ||
strstr(dev_name, "Grayscale") ||
strstr(dev_name, "grayscale"))
@@ -1290,7 +1290,7 @@ static int __init stifb_init_fb(struct sti_struct *sti, int bpp_pref)
var->xres,
var->yres,
var->bits_per_pixel,
- sti->outptr.dev_name,
+ dev_name,
fb->id,
fix->mmio_start);
--
1.8.3.2
next prev parent reply other threads:[~2013-12-06 23:41 UTC|newest]
Thread overview: 154+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-06 23:08 [3.8.y.z extended stable] Linux 3.8.13.14 stable review Kamal Mostafa
2013-12-06 23:08 ` [PATCH 3.8 001/152] ipv6: ip6_dst_check needs to check for expired dst_entries Kamal Mostafa
2013-12-06 23:08 ` [PATCH 3.8 002/152] ipv6: reset dst.expires value when clearing expire flag Kamal Mostafa
2013-12-06 23:08 ` [PATCH 3.8 003/152] cxgb3: Fix length calculation in write_ofld_wr() on 32-bit architectures Kamal Mostafa
2013-12-07 0:10 ` Ben Hutchings
2013-12-06 23:08 ` [PATCH 3.8 004/152] xen-netback: use jiffies_64 value to calculate credit timeout Kamal Mostafa
2013-12-06 23:08 ` [PATCH 3.8 005/152] virtio-net: correctly handle cpu hotplug notifier during resuming Kamal Mostafa
2013-12-06 23:08 ` [PATCH 3.8 006/152] net: flow_dissector: fail on evil iph->ihl Kamal Mostafa
2013-12-06 23:08 ` [PATCH 3.8 007/152] X.509: Remove certificate date checks Kamal Mostafa
2013-12-06 23:08 ` [PATCH 3.8 008/152] selinux: correct locking in selinux_netlbl_socket_connect) Kamal Mostafa
2013-12-06 23:08 ` [PATCH 3.8 009/152] NFSv4: Fix a use-after-free situation in _nfs4_proc_getlk() Kamal Mostafa
2013-12-06 23:08 ` [PATCH 3.8 010/152] usb: musb: cancel work on removal Kamal Mostafa
2013-12-06 23:08 ` [PATCH 3.8 011/152] USB: mos7840: fix tiocmget error handling Kamal Mostafa
2013-12-06 23:08 ` [PATCH 3.8 012/152] pinctrl: dove: unset twsi option3 for gconfig as well Kamal Mostafa
2013-12-06 23:08 ` [PATCH 3.8 013/152] usb: Disable USB 2.0 Link PM before device reset Kamal Mostafa
2013-12-06 23:08 ` [PATCH 3.8 014/152] usb: hub: Clear Port Reset Change during init/resume Kamal Mostafa
2013-12-06 23:08 ` [PATCH 3.8 015/152] rt2400pci: fix RSSI read Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 016/152] rt2x00: check if device is still available on rt2x00mac_flush() Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 017/152] rt2800usb: slow down TX status polling Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 018/152] cfg80211: fix scheduled scan pointer access Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 019/152] ARM: OMAP2+: irq, AM33XX add missing register check Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 020/152] ALSA: hda - Add support of new codec ALC233 Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 021/152] ALSA: hda - Add support of ALC255 codecs Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 022/152] USB:add new zte 3g-dongle's pid to option.c Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 023/152] [SCSI] sd: Reduce buffer size for vpd request Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 024/152] Revert "ima: policy for RAMFS" Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 025/152] libata: Fix display of sata speed Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 026/152] ahci: disabled FBS prior to issuing software reset Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 027/152] drivers/libata: Set max sector to 65535 for Slimtype DVD A DS8A9SH drive Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 028/152] NFSv4: fix NULL dereference in open recover Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 029/152] ALSA: 6fire: Fix probe of multiple cards Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 030/152] ARM: sa11x0/assabet: ensure CS2 is configured appropriately Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 031/152] usb: wusbcore: set the RPIPE wMaxPacketSize value correctly Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 032/152] usb: wusbcore: change WA_SEGS_MAX to a legal value Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 033/152] powerpc/vio: use strcpy in modalias_show Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 034/152] i2c: mux: gpio: use gpio_set_value_cansleep() Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 035/152] i2c: mux: gpio: use reg value for i2c_add_mux_adapter Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 036/152] s390/vtime: correct idle time calculation Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 037/152] dm: allocate buffer for messages with small number of arguments using GFP_NOIO Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 038/152] can: c_can: Fix RX message handling, handle lost message before EOB Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 039/152] can: kvaser_usb: fix usb endpoints detection Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 040/152] dm mpath: fix race condition between multipath_dtr and pg_init_done Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 041/152] ext4: avoid bh leak in retry path of ext4_expand_extra_isize_ea() Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 042/152] ASoC: ak4642: prevent un-necessary changes to SG_SL1 Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 043/152] drm/radeon/si: fix define for MC_SEQ_TRAIN_WAKEUP_CNTL Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 044/152] drm/radeon: don't share PPLLs on DCE4.1 Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 045/152] KVM: x86: fix emulation of "movzbl %bpl, %eax" Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 046/152] ALSA: hda - Enable SPDIF for Acer TravelMate 6293 Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 047/152] ahci: Add Device IDs for Intel Wildcat Point-LP Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 048/152] edac, highbank: Fix interrupt setup of mem and l2 controller Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 049/152] KVM: IOMMU: hva align mapping page size Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 050/152] audit: printk USER_AVC messages when audit isn't enabled Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 051/152] audit: fix info leak in AUDIT_GET requests Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 052/152] audit: use nlmsg_len() to get message payload length Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 053/152] ALSA - HDA: New PCI ID for Haswell ULT Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 054/152] ALSA: hda - Force buffer alignment for Haswell HDMI controllers Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 055/152] ftrace/x86: skip over the breakpoint for ftrace caller Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 056/152] drm: shmobile: Add dependency on BACKLIGHT_CLASS_DEVICE Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 057/152] powerpc/powernv: Add PE to its own PELTV Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 058/152] drm/ttm: Handle in-memory region copies Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 059/152] drm/ttm: Fix ttm_bo_move_memcpy Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 060/152] drm/ttm: Fix memory type compatibility check Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 061/152] perf/ftrace: Fix paranoid level for enabling function tracer Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 062/152] ARM: entry: move IRQ tracing exit into svc_exit Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 063/152] ARM: entry: move disable_irq_notrace " Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 064/152] ARM: 7876/1: clear Thumb-2 IT state on exception handling Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 065/152] PM / hibernate: Avoid overflow in hibernate_preallocate_memory() Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 066/152] ALSA: hda - Add support for CX20952 Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 067/152] ALSA: hda - Add pincfg fixup for ASUS W5A Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 068/152] mtd: nand: hack ONFI for non-power-of-2 dimensions Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 069/152] mtd: map: fixed bug in 64-bit systems Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 070/152] mtd: m25p80: fix allocation size Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 071/152] qeth: avoid buffer overflow in snmp ioctl Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 072/152] x86/ioapic/kcrash: Prevent crash_kexec() from deadlocking on ioapic_lock Kamal Mostafa
2013-12-06 23:09 ` [PATCH 3.8 073/152] x86/apic: Disable I/O APIC before shutdown of the local APIC Kamal Mostafa
2013-12-06 23:09 ` Kamal Mostafa [this message]
2013-12-06 23:09 ` [PATCH 3.8 075/152] block: fix race between request completion and timeout handling Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 076/152] blk-core: Fix memory corruption if blkcg_init_queue fails Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 077/152] loop: fix crash if blk_alloc_queue fails Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 078/152] block: fix a probe argument to blk_register_region Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 079/152] block: properly stack underlying max_segment_size to DM device Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 080/152] xen/blkback: fix reference counting Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 081/152] loop: fix crash when using unassigned loop device Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 082/152] SUNRPC: Fix a data corruption issue when retransmitting RPC calls Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 083/152] IB/ipath: Convert ipath_user_sdma_pin_pages() to use get_user_pages_fast() Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 084/152] IB/qib: Fix txselect regression Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 085/152] IB/srp: Remove target from list before freeing Scsi_Host structure Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 086/152] IB/srp: Avoid offlining operational SCSI devices Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 087/152] IB/srp: Report receive errors correctly Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 088/152] rtlwifi: rtl8192se: Fix wrong assignment Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 089/152] rt2x00: fix HT TX descriptor settings regression Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 090/152] rtlwifi: Fix endian error in extracting packet type Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 091/152] rtlwifi: rtl8192cu: Fix incorrect signal strength for unassociated AP Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 092/152] rtlwifi: rtl8192de: " Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 093/152] mwifiex: correct packet length for packets from SDIO interface Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 094/152] mwifiex: fix wrong eth_hdr usage for bridged packets in AP mode Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 095/152] prism54: set netdev type to "wlan" Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 096/152] ALSA: msnd: Avoid duplicated driver name Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 097/152] x86/microcode/amd: Tone down printk(), don't treat a missing firmware file as an error Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 098/152] SUNRPC: fix races on PipeFS UMOUNT notifications Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 099/152] SUNRPC: Avoid deep recursion in rpc_release_client Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 100/152] cris: media platform drivers: fix build Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 101/152] mm: ensure get_unmapped_area() returns higher address than mmap_min_addr Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 102/152] mm: Only flush TLBs if a transhuge PMD is modified for NUMA pte scanning Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 103/152] mm: numa: return the number of base pages altered by protection changes Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 104/152] vsprintf: check real user/group id for %pK Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 105/152] backlight: atmel-pwm-bl: fix reported brightness Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 106/152] backlight: atmel-pwm-bl: fix gpio polarity in remove Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 107/152] coredump: remove redundant defines for dumpable states Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 108/152] exec/ptrace: fix get_dumpable() incorrect tests Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 109/152] devpts: plug the memory leak in kill_sb Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 110/152] ipc: clamp with min() Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 111/152] ipc: separate msg allocation from userspace copy Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 112/152] ipc: tighten msg copy loops Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 113/152] ipc: set EFAULT as default error in load_msg() Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 114/152] ipc, msg: fix message length check for negative values Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 115/152] drm/vmwgfx: Resource evict fixes Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 116/152] ALSA: hda - Don't clear the power state at snd_hda_codec_reset() Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 117/152] ASoC: blackfin: Fix missing break Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 118/152] target: Fix delayed Task Aborted Status (TAS) handling bug Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 119/152] md: fix calculation of stacking limits on level change Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 120/152] drm/nouveau: when bailing out of a pushbuf ioctl, do not remove previous fence Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 121/152] ASoC: fsl: imx-pcm-fiq: omit fiq counter to avoid harm in unbalanced situations Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 122/152] ALSA: pcsp: Fix the order of input device unregistration Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 123/152] ASoC: wm8962: Turn on regcache_cache_only before disabling regulator Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 124/152] ARM: integrator_cp: Set LCD{0,1} enable lines when turning on CLCD Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 125/152] hwmon: (lm90) Fix max6696 alarm handling Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 126/152] ASoC: cs42l52: Correct MIC CTL mask Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 127/152] ARM: OMAP2+: omap_device: maintain sane runtime pm status around suspend/resume Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 128/152] drm/i915: flush cursors harder Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 129/152] rt2x00: fix a crash bug in the HT descriptor handling fix Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 130/152] rtlwifi: rtl8192cu: Fix more pointer arithmetic errors Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 131/152] radeon/i2c: do not count reg index in number of i2c byte we are writing Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 132/152] radeon: workaround pinning failure on low ram gpu Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 133/152] drm/radeon: add semaphore trace point Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 134/152] ACPI / EC: Ensure lock is acquired before accessing ec struct members Kamal Mostafa
2013-12-06 23:10 ` [PATCH 3.8 135/152] setfacl removes part of ACL when setting POSIX ACLs to Samba Kamal Mostafa
2013-12-06 23:11 ` [PATCH 3.8 136/152] nfsd: split up nfsd_setattr Kamal Mostafa
2013-12-06 23:11 ` [PATCH 3.8 137/152] nfsd: make sure to balance get/put_write_access Kamal Mostafa
2013-12-06 23:11 ` [PATCH 3.8 138/152] ASoC: wm5110: Add post SYSCLK register patch for rev D chip Kamal Mostafa
2013-12-06 23:11 ` [PATCH 3.8 139/152] nfsd4: fix xdr decoding of large non-write compounds Kamal Mostafa
2013-12-06 23:11 ` [PATCH 3.8 140/152] avr32: setup crt for early panic() Kamal Mostafa
2013-12-06 23:11 ` [PATCH 3.8 141/152] avr32: fix out-of-range jump in large kernels Kamal Mostafa
2013-12-06 23:11 ` [PATCH 3.8 142/152] ALSA: hda - Fix unbalanced runtime PM notification at resume Kamal Mostafa
2013-12-06 23:11 ` [PATCH 3.8 143/152] PCI: Remove duplicate pci_disable_device() from pcie_portdrv_remove() Kamal Mostafa
2013-12-06 23:11 ` [PATCH 3.8 144/152] powerpc/pseries: Duplicate dtl entries sometimes sent to userspace Kamal Mostafa
2013-12-06 23:11 ` [PATCH 3.8 145/152] powerpc/signals: Mark VSX not saved with small contexts Kamal Mostafa
2013-12-06 23:11 ` [PATCH 3.8 146/152] iscsi-target: fix extract_param to handle buffer length corner case Kamal Mostafa
2013-12-06 23:11 ` [PATCH 3.8 147/152] iscsi-target: chap auth shouldn't match username with trailing garbage Kamal Mostafa
2013-12-06 23:11 ` [PATCH 3.8 148/152] ALSA: hda - Fix the headphone jack detection on Sony VAIO TX Kamal Mostafa
2013-12-06 23:11 ` [PATCH 3.8 149/152] configfs: fix race between dentry put and lookup Kamal Mostafa
2013-12-06 23:11 ` [PATCH 3.8 150/152] ALSA: hda - Provide missing pin configs for VAIO with ALC260 Kamal Mostafa
2013-12-06 23:11 ` [PATCH 3.8 151/152] KVM: Fix iommu map/unmap to handle memory slot moves Kamal Mostafa
2013-12-06 23:11 ` [PATCH 3.8 152/152] libertas: potential oops in debugfs Kamal Mostafa
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1386371476-2477-75-git-send-email-kamal@canonical.com \
--to=kamal@canonical.com \
--cc=deller@gmx.de \
--cc=kernel-team@lists.ubuntu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®