linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Kamal Mostafa <kamal@canonical.com>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org,
	kernel-team@lists.ubuntu.com
Cc: Arnd Bergmann <arnd@arndb.de>,
	Rob Herring <robherring2@gmail.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Anton Vorontsov <anton@enomsg.org>,
	Colin Cross <ccross@android.com>, Olof Johansson <olof@lixom.net>,
	Russell King <linux@arm.linux.org.uk>,
	Tony Lindgren <tony@atomide.com>, Tony Luck <tony.luck@intel.com>,
	Kamal Mostafa <kamal@canonical.com>
Subject: [PATCH 3.13.y-ckt 110/139] pstore-ram: Allow optional mapping with pgprot_noncached
Date: Wed, 28 Jan 2015 14:20:53 -0800	[thread overview]
Message-ID: <1422483682-15393-111-git-send-email-kamal@canonical.com> (raw)
In-Reply-To: <1422483682-15393-1-git-send-email-kamal@canonical.com>

3.13.11-ckt15 -stable review patch.  If anyone has any objections, please let me know.

------------------

From: Tony Lindgren <tony@atomide.com>

commit 027bc8b08242c59e19356b4b2c189f2d849ab660 upstream.

On some ARMs the memory can be mapped pgprot_noncached() and still
be working for atomic operations. As pointed out by Colin Cross
<ccross@android.com>, in some cases you do want to use
pgprot_noncached() if the SoC supports it to see a debug printk
just before a write hanging the system.

On ARMs, the atomic operations on strongly ordered memory are
implementation defined. So let's provide an optional kernel parameter
for configuring pgprot_noncached(), and use pgprot_writecombine() by
default.

Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Rob Herring <robherring2@gmail.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Anton Vorontsov <anton@enomsg.org>
Cc: Colin Cross <ccross@android.com>
Cc: Olof Johansson <olof@lixom.net>
Cc: Russell King <linux@arm.linux.org.uk>
Acked-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
---
 Documentation/ramoops.txt  | 13 +++++++++++--
 fs/pstore/ram.c            | 13 +++++++++++--
 fs/pstore/ram_core.c       | 31 ++++++++++++++++++++++---------
 include/linux/pstore_ram.h |  4 +++-
 4 files changed, 47 insertions(+), 14 deletions(-)

diff --git a/Documentation/ramoops.txt b/Documentation/ramoops.txt
index 69b3cac..5d86756 100644
--- a/Documentation/ramoops.txt
+++ b/Documentation/ramoops.txt
@@ -14,11 +14,19 @@ survive after a restart.
 
 1. Ramoops concepts
 
-Ramoops uses a predefined memory area to store the dump. The start and size of
-the memory area are set using two variables:
+Ramoops uses a predefined memory area to store the dump. The start and size
+and type of the memory area are set using three variables:
   * "mem_address" for the start
   * "mem_size" for the size. The memory size will be rounded down to a
   power of two.
+  * "mem_type" to specifiy if the memory type (default is pgprot_writecombine).
+
+Typically the default value of mem_type=0 should be used as that sets the pstore
+mapping to pgprot_writecombine. Setting mem_type=1 attempts to use
+pgprot_noncached, which only works on some platforms. This is because pstore
+depends on atomic operations. At least on ARM, pgprot_noncached causes the
+memory to be mapped strongly ordered, and atomic operations on strongly ordered
+memory are implementation defined, and won't work on many ARMs such as omaps.
 
 The memory area is divided into "record_size" chunks (also rounded down to
 power of two) and each oops/panic writes a "record_size" chunk of
@@ -55,6 +63,7 @@ Setting the ramoops parameters can be done in 2 different manners:
 static struct ramoops_platform_data ramoops_data = {
         .mem_size               = <...>,
         .mem_address            = <...>,
+        .mem_type               = <...>,
         .record_size            = <...>,
         .dump_oops              = <...>,
         .ecc                    = <...>,
diff --git a/fs/pstore/ram.c b/fs/pstore/ram.c
index fa8cef2..e7d95f9 100644
--- a/fs/pstore/ram.c
+++ b/fs/pstore/ram.c
@@ -61,6 +61,11 @@ module_param(mem_size, ulong, 0400);
 MODULE_PARM_DESC(mem_size,
 		"size of reserved RAM used to store oops/panic logs");
 
+static unsigned int mem_type;
+module_param(mem_type, uint, 0600);
+MODULE_PARM_DESC(mem_type,
+		"set to 1 to try to use unbuffered memory (default 0)");
+
 static int dump_oops = 1;
 module_param(dump_oops, int, 0600);
 MODULE_PARM_DESC(dump_oops,
@@ -79,6 +84,7 @@ struct ramoops_context {
 	struct persistent_ram_zone *fprz;
 	phys_addr_t phys_addr;
 	unsigned long size;
+	unsigned int memtype;
 	size_t record_size;
 	size_t console_size;
 	size_t ftrace_size;
@@ -353,7 +359,8 @@ static int ramoops_init_przs(struct device *dev, struct ramoops_context *cxt,
 		size_t sz = cxt->record_size;
 
 		cxt->przs[i] = persistent_ram_new(*paddr, sz, 0,
-						  &cxt->ecc_info);
+						  &cxt->ecc_info,
+						  cxt->memtype);
 		if (IS_ERR(cxt->przs[i])) {
 			err = PTR_ERR(cxt->przs[i]);
 			dev_err(dev, "failed to request mem region (0x%zx@0x%llx): %d\n",
@@ -383,7 +390,7 @@ static int ramoops_init_prz(struct device *dev, struct ramoops_context *cxt,
 		return -ENOMEM;
 	}
 
-	*prz = persistent_ram_new(*paddr, sz, sig, &cxt->ecc_info);
+	*prz = persistent_ram_new(*paddr, sz, sig, &cxt->ecc_info, cxt->memtype);
 	if (IS_ERR(*prz)) {
 		int err = PTR_ERR(*prz);
 
@@ -431,6 +438,7 @@ static int ramoops_probe(struct platform_device *pdev)
 	cxt->dump_read_cnt = 0;
 	cxt->size = pdata->mem_size;
 	cxt->phys_addr = pdata->mem_address;
+	cxt->memtype = pdata->mem_type;
 	cxt->record_size = pdata->record_size;
 	cxt->console_size = pdata->console_size;
 	cxt->ftrace_size = pdata->ftrace_size;
@@ -561,6 +569,7 @@ static void ramoops_register_dummy(void)
 
 	dummy_data->mem_size = mem_size;
 	dummy_data->mem_address = mem_address;
+	dummy_data->mem_type = 0;
 	dummy_data->record_size = record_size;
 	dummy_data->console_size = ramoops_console_size;
 	dummy_data->ftrace_size = ramoops_ftrace_size;
diff --git a/fs/pstore/ram_core.c b/fs/pstore/ram_core.c
index d058428..bda61a7 100644
--- a/fs/pstore/ram_core.c
+++ b/fs/pstore/ram_core.c
@@ -380,7 +380,8 @@ void persistent_ram_zap(struct persistent_ram_zone *prz)
 	persistent_ram_update_header_ecc(prz);
 }
 
-static void *persistent_ram_vmap(phys_addr_t start, size_t size)
+static void *persistent_ram_vmap(phys_addr_t start, size_t size,
+		unsigned int memtype)
 {
 	struct page **pages;
 	phys_addr_t page_start;
@@ -392,7 +393,10 @@ static void *persistent_ram_vmap(phys_addr_t start, size_t size)
 	page_start = start - offset_in_page(start);
 	page_count = DIV_ROUND_UP(size + offset_in_page(start), PAGE_SIZE);
 
-	prot = pgprot_writecombine(PAGE_KERNEL);
+	if (memtype)
+		prot = pgprot_noncached(PAGE_KERNEL);
+	else
+		prot = pgprot_writecombine(PAGE_KERNEL);
 
 	pages = kmalloc(sizeof(struct page *) * page_count, GFP_KERNEL);
 	if (!pages) {
@@ -411,8 +415,11 @@ static void *persistent_ram_vmap(phys_addr_t start, size_t size)
 	return vaddr;
 }
 
-static void *persistent_ram_iomap(phys_addr_t start, size_t size)
+static void *persistent_ram_iomap(phys_addr_t start, size_t size,
+		unsigned int memtype)
 {
+	void *va;
+
 	if (!request_mem_region(start, size, "persistent_ram")) {
 		pr_err("request mem region (0x%llx@0x%llx) failed\n",
 			(unsigned long long)size, (unsigned long long)start);
@@ -422,19 +429,24 @@ static void *persistent_ram_iomap(phys_addr_t start, size_t size)
 	buffer_start_add = buffer_start_add_locked;
 	buffer_size_add = buffer_size_add_locked;
 
-	return ioremap_wc(start, size);
+	if (memtype)
+		va = ioremap(start, size);
+	else
+		va = ioremap_wc(start, size);
+
+	return va;
 }
 
 static int persistent_ram_buffer_map(phys_addr_t start, phys_addr_t size,
-		struct persistent_ram_zone *prz)
+		struct persistent_ram_zone *prz, int memtype)
 {
 	prz->paddr = start;
 	prz->size = size;
 
 	if (pfn_valid(start >> PAGE_SHIFT))
-		prz->vaddr = persistent_ram_vmap(start, size);
+		prz->vaddr = persistent_ram_vmap(start, size, memtype);
 	else
-		prz->vaddr = persistent_ram_iomap(start, size);
+		prz->vaddr = persistent_ram_iomap(start, size, memtype);
 
 	if (!prz->vaddr) {
 		pr_err("%s: Failed to map 0x%llx pages at 0x%llx\n", __func__,
@@ -502,7 +514,8 @@ void persistent_ram_free(struct persistent_ram_zone *prz)
 }
 
 struct persistent_ram_zone *persistent_ram_new(phys_addr_t start, size_t size,
-			u32 sig, struct persistent_ram_ecc_info *ecc_info)
+			u32 sig, struct persistent_ram_ecc_info *ecc_info,
+			unsigned int memtype)
 {
 	struct persistent_ram_zone *prz;
 	int ret = -ENOMEM;
@@ -513,7 +526,7 @@ struct persistent_ram_zone *persistent_ram_new(phys_addr_t start, size_t size,
 		goto err;
 	}
 
-	ret = persistent_ram_buffer_map(start, size, prz);
+	ret = persistent_ram_buffer_map(start, size, prz, memtype);
 	if (ret)
 		goto err;
 
diff --git a/include/linux/pstore_ram.h b/include/linux/pstore_ram.h
index 9974975..4af3fdc 100644
--- a/include/linux/pstore_ram.h
+++ b/include/linux/pstore_ram.h
@@ -53,7 +53,8 @@ struct persistent_ram_zone {
 };
 
 struct persistent_ram_zone *persistent_ram_new(phys_addr_t start, size_t size,
-			u32 sig, struct persistent_ram_ecc_info *ecc_info);
+			u32 sig, struct persistent_ram_ecc_info *ecc_info,
+			unsigned int memtype);
 void persistent_ram_free(struct persistent_ram_zone *prz);
 void persistent_ram_zap(struct persistent_ram_zone *prz);
 
@@ -76,6 +77,7 @@ ssize_t persistent_ram_ecc_string(struct persistent_ram_zone *prz,
 struct ramoops_platform_data {
 	unsigned long	mem_size;
 	unsigned long	mem_address;
+	unsigned int	mem_type;
 	unsigned long	record_size;
 	unsigned long	console_size;
 	unsigned long	ftrace_size;
-- 
1.9.1


  parent reply	other threads:[~2015-01-29  2:53 UTC|newest]

Thread overview: 140+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-28 22:19 [3.13.y-ckt stable] Linux 3.13.11-ckt15 stable review Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 001/139] gre: fix the inner mac header in nbma tunnel xmit path Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 002/139] netlink: Always copy on mmap TX Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 003/139] netlink: Don't reorder loads/stores before marking mmap netlink frame as available Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 004/139] in6: fix conflict with glibc Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 005/139] tg3: tg3_disable_ints using uninitialized mailbox value to disable interrupts Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 006/139] batman-adv: Unify fragment size calculation Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 007/139] batman-adv: avoid NULL dereferences and fix if check Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 008/139] net: Fix stacked vlan offload features computation Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 009/139] net: Reset secmark when scrubbing packet Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 010/139] tcp: Do not apply TSO segment limit to non-TSO packets Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 011/139] alx: fix alx_poll() Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 012/139] team: avoid possible underflow of count_pending value for notify_peers and mcast_rejoin Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 013/139] enic: fix rx skb checksum Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 014/139] net/core: Handle csum for CHECKSUM_COMPLETE VXLAN forwarding Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 015/139] macvlan: unregister net device when netdev_upper_dev_link() fails Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 016/139] netfilter: conntrack: disable generic tracking for known protocols Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 017/139] xen-netfront: Fix handling packets on compound pages with skb_linearize Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 018/139] xen-netfront: use correct linear area after linearizing an skb Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 019/139] eCryptfs: Force RO mount when encrypted view is enabled Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 020/139] [media] smiapp: Take mutex during PLL update in sensor initialisation Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 021/139] [media] smiapp-pll: Correct clock debug prints Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 022/139] [media] sound: simplify au0828 quirk table Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 023/139] [media] sound: Update au0828 quirks table Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 024/139] [media] af9005: fix kernel panic on init if compiled without IR Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 025/139] writeback: fix a subtle race condition in I_DIRTY clearing Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 026/139] usb: renesas_usbhs: gadget: fix NULL pointer dereference in ep_disable() Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 027/139] KVM: s390: flush CPU on load control Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 028/139] UBI: Fix double free after do_sync_erase() Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 029/139] UBI: Fix invalid vfree() Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 030/139] Drivers: hv: vmbus: Fix a race condition when unregistering a device Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 031/139] driver core: Fix unbalanced device reference in drivers_probe Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 032/139] PCI: Restore detection of read-only BARs Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 033/139] scsi: correct return values for .eh_abort_handler implementations Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 034/139] drm/radeon: fix typo in CI dpm disable Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 035/139] ARM: tegra: Re-add removed SoC id macro to tegra_resume() Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 036/139] arm64: Add COMPAT_HWCAP_LPAE Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 037/139] genhd: check for int overflow in disk_expand_part_tbl() Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 038/139] ftrace/x86: Add frames pointers to trampoline as necessary Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 039/139] drm/ttm: Avoid memory allocation from shrinker functions Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 040/139] ASoC: sigmadsp: Refuse to load firmware files with a non-supported version Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 041/139] drm/radeon: work around a hw bug in MGCG on CIK Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 042/139] Btrfs: make sure we wait on logged extents when fsycning two subvols Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 043/139] Btrfs: do not move em to modified list when unpinning Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 044/139] megaraid_sas: corrected return of wait_event from abort frame path Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 045/139] ASoC: max98090: Fix ill-defined sidetone route Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 046/139] blk-mq: use 'nr_cpu_ids' as highest CPU ID count for hwq <-> cpu map Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 047/139] nfs41: fix nfs4_proc_layoutget error handling Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 048/139] cdc-acm: memory leak in error case Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 049/139] USB: cdc-acm: check for valid interfaces Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 050/139] x86/asm/traps: Disable tracing and kprobes in fixup_bad_iret and sync_regs Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 051/139] [media] uvcvideo: Fix destruction order in uvc_delete() Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 052/139] HID: i2c-hid: fix race condition reading reports Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 053/139] mfd: tc6393xb: Fail ohci suspend if full state restore is required Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 054/139] serial: samsung: wait for transfer completion before clock disable Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 055/139] mmc: dw_mmc: avoid write to CDTHRCTL on older versions Kamal Mostafa
2015-01-28 22:19 ` [PATCH 3.13.y-ckt 056/139] Bluetooth: ath3k: Add support of MCI 13d3:3408 bt device Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 057/139] eCryptfs: Remove buggy and unnecessary write in file name decode routine Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 058/139] n_tty: Fix read_buf race condition, increment read_head after pushing data Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 059/139] dm cache: only use overwrite optimisation for promotion when in writeback mode Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 060/139] dm cache: dirty flag was mistakenly being cleared when promoting via overwrite Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 061/139] dm bufio: fix memleak when using a dm_buffer's inline bio Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 062/139] ath9k_hw: fix hardware queue allocation Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 063/139] ath9k: fix BE/BK queue order Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 064/139] ath5k: fix hardware queue index assignment Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 065/139] tcm_loop: Fix wrong I_T nexus association Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 066/139] iwlwifi: dvm: fix flush support for old firmware Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 067/139] iommu/vt-d: Fix an off-by-one bug in __domain_mapping() Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 068/139] dm crypt: use memzero_explicit for on-stack buffer Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 069/139] mnt: Implicitly add MNT_NODEV on remount when it was implicitly added by mount Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 070/139] mnt: Update unprivileged remount test Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 071/139] umount: Disallow unprivileged mount force Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 072/139] md/raid56: Don't perform reads to support writes until stripe is ready Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 073/139] md/raid5: avoid livelock caused by non-aligned writes Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 074/139] md/raid5: fetch_block must fetch all the blocks handle_stripe_dirtying wants Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 075/139] drm/i915: Disallow pin ioctl completely for kms drivers Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 076/139] drm/vmwgfx: Don't use memory accounting for kernel-side fence objects Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 077/139] drm/vmwgfx: Fix fence event code Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 078/139] hp_accel: Add support for HP ZBook 15 Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 079/139] drm/radeon: check the right ring in radeon_evict_flags() Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 080/139] Revert "[SCSI] mpt2sas: Remove phys on topology change." Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 081/139] Revert "[SCSI] mpt3sas: Remove phys on topology change" Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 082/139] swiotlb-xen: pass dev_addr to xen_dma_unmap_page and xen_dma_sync_single_for_cpu Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 083/139] swiotlb-xen: call xen_dma_sync_single_for_device when appropriate Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 084/139] swiotlb-xen: pass dev_addr to swiotlb_tbl_unmap_single Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 085/139] clocksource: arch_timer: Fix code to use physical timers when requested Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 086/139] ALSA: hda - Fix built-in mic at resume on Lenovo Ideapad S210 Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 087/139] can: peak_usb: fix memset() usage Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 088/139] can: peak_usb: fix cleanup sequence order in case of error during init Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 089/139] ALSA: usb-audio: Don't resubmit pending URBs at MIDI error recovery Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 090/139] KEYS: Fix stale key registration at error path Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 091/139] thermal: Fix error path in thermal_init() Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 092/139] powerpc: Secondary CPUs must set cpu_callin_map after setting active and online Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 093/139] blk-mq: Fix a use-after-free Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 094/139] fs: nfsd: Fix signedness bug in compare_blob Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 095/139] nfsd4: fix xdr4 inclusion of escaped char Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 096/139] userns: Rename id_map_mutex to userns_state_mutex Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 097/139] drm/i915: Don't complain about stolen conflicts on gen3 Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 098/139] x86, kvm: Clear paravirt_enabled on KVM guests for espfix32's benefit Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 099/139] ALSA: hda - Add EAPD fixup for ASUS Z99He laptop Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 100/139] Btrfs: fix fs corruption on transaction abort if device supports discard Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 101/139] ncpfs: return proper error from NCP_IOC_SETROOT ioctl Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 102/139] drivers/rtc/rtc-sirfsoc.c: move hardware initilization earlier in probe Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 103/139] rtc: omap: fix missing wakealarm attribute Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 104/139] exit: pidns: alloc_pid() leaks pid_namespace if child_reaper is exiting Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 105/139] perf/x86/intel/uncore: Make sure only uncore events are collected Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 106/139] perf: Fix events installation during moving group Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 107/139] KVM: nVMX: Disable unrestricted mode if ept=0 Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 108/139] drm/i915: save/restore GMBUS freq across suspend/resume on gen4 Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 109/139] pstore-ram: Fix hangs by using write-combine mappings Kamal Mostafa
2015-01-28 22:20 ` Kamal Mostafa [this message]
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 111/139] userns: Add a knob to disable setgroups on a per user namespace basis Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 112/139] userns: Allow setting gid_maps without privilege when setgroups is disabled Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 113/139] userns: Unbreak the unprivileged remount tests Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 114/139] HID: i2c-hid: prevent buffer overflow in early IRQ Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 115/139] mac80211: fix multicast LED blinking and counter Kamal Mostafa
2015-01-28 22:20 ` [PATCH 3.13.y-ckt 116/139] cfg80211: avoid mem leak on driver hint set Kamal Mostafa
2015-01-28 22:21 ` [PATCH 3.13.y-ckt 117/139] mtd: tests: abort torturetest on erase errors Kamal Mostafa
2015-01-28 22:21 ` [PATCH 3.13.y-ckt 118/139] tracing/sched: Check preempt_count() for current when reading task->state Kamal Mostafa
2015-01-28 22:21 ` [PATCH 3.13.y-ckt 119/139] iscsi,iser-target: Initiate termination only once Kamal Mostafa
2015-01-28 22:21 ` [PATCH 3.13.y-ckt 120/139] iser-target: Fix flush + disconnect completion handling Kamal Mostafa
2015-01-28 22:21 ` [PATCH 3.13.y-ckt 121/139] iser-target: Parallelize CM connection establishment Kamal Mostafa
2015-01-28 22:21 ` [PATCH 3.13.y-ckt 122/139] iser-target: Fix connected_handler + teardown flow race Kamal Mostafa
2015-01-28 22:21 ` [PATCH 3.13.y-ckt 123/139] iser-target: Handle ADDR_CHANGE event for listener cm_id Kamal Mostafa
2015-01-28 22:21 ` [PATCH 3.13.y-ckt 124/139] iser-target: Fix implicit termination of connections Kamal Mostafa
2015-01-28 22:21 ` [PATCH 3.13.y-ckt 125/139] genirq: Prevent proc race against freeing of irq descriptors Kamal Mostafa
2015-01-28 22:21 ` [PATCH 3.13.y-ckt 126/139] x86/tls: Disallow unusual TLS segments Kamal Mostafa
2015-01-28 22:21 ` [PATCH 3.13.y-ckt 127/139] powerpc/powernv: Switch off MMU before entering nap/sleep/rvwinkle mode Kamal Mostafa
2015-01-28 22:21 ` [PATCH 3.13.y-ckt 128/139] ARC: [nsimosci] move peripherals to match model to FPGA Kamal Mostafa
2015-01-28 22:21 ` [PATCH 3.13.y-ckt 129/139] scsi: blacklist RSOC for Microsoft iSCSI target devices Kamal Mostafa
2015-01-28 22:21 ` [PATCH 3.13.y-ckt 130/139] storvsc: ring buffer failures may result in I/O freeze Kamal Mostafa
2015-01-28 22:21 ` [PATCH 3.13.y-ckt 131/139] rtlwifi: rtl8192ce: Set fw_ready flag Kamal Mostafa
2015-01-28 22:21 ` [PATCH 3.13.y-ckt 132/139] iscsi-target: Fail connection on short sendmsg writes Kamal Mostafa
2015-01-28 22:21 ` [PATCH 3.13.y-ckt 133/139] mac80211: free management frame keys when removing station Kamal Mostafa
2015-01-28 22:21 ` [PATCH 3.13.y-ckt 134/139] ceph: do_sync is never initialized Kamal Mostafa
2015-01-28 22:21 ` [PATCH 3.13.y-ckt 135/139] x86/tls: Don't validate lm in set_thread_area() after all Kamal Mostafa
2015-01-28 22:21 ` [PATCH 3.13.y-ckt 136/139] ALSA: usb-audio: extend KEF X300A FU 10 tweak to Arcam rPAC Kamal Mostafa
2015-01-28 22:21 ` [PATCH 3.13.y-ckt 137/139] mnt: Fix a memory stomp in umount Kamal Mostafa
2015-01-28 22:21 ` [PATCH 3.13.y-ckt 138/139] ocfs2: fix journal commit deadlock Kamal Mostafa
2015-01-28 22:21 ` [PATCH 3.13.y-ckt 139/139] tick/powerclamp: Remove tick_nohz_idle abuse 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=1422483682-15393-111-git-send-email-kamal@canonical.com \
    --to=kamal@canonical.com \
    --cc=anton@enomsg.org \
    --cc=arnd@arndb.de \
    --cc=ccross@android.com \
    --cc=kernel-team@lists.ubuntu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=olof@lixom.net \
    --cc=rdunlap@infradead.org \
    --cc=robherring2@gmail.com \
    --cc=stable@vger.kernel.org \
    --cc=tony.luck@intel.com \
    --cc=tony@atomide.com \
    /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;
as well as URLs for NNTP newsgroup(s).