All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jiri Slaby <jslaby@suse.cz>
To: stable@vger.kernel.org
Cc: linux-kernel@vger.kernel.org,
	Mitko Haralanov <mitko.haralanov@intel.com>,
	Mike Marciniszyn <mike.marciniszyn@intel.com>,
	Roland Dreier <roland@purestorage.com>,
	Jiri Slaby <jslaby@suse.cz>
Subject: [PATCH 3.12 147/175] IB/qib: Do not write EEPROM
Date: Tue, 17 Mar 2015 09:42:05 +0100	[thread overview]
Message-ID: <3619496bb338a99a26b3943d919443176db7b7f1.1426581621.git.jslaby@suse.cz> (raw)
In-Reply-To: <a48f1a6bfc3ee997dfd719eaecb44a05477b93e2.1426581620.git.jslaby@suse.cz>
In-Reply-To: <cover.1426581620.git.jslaby@suse.cz>

From: Mitko Haralanov <mitko.haralanov@intel.com>

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

===============

commit 18c0b82a3e4501511b08d0e8676fb08ac08734a3 upstream.

This changeset removes all the code that allows the driver to write to
the EEPROM and update the recorded error counters and power on hours.

These two stats are unused and writing them exposes a timing risk
which could leave the EEPROM in a bad state preventing further normal
operation of the HCA.

Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Mitko Haralanov <mitko.haralanov@intel.com>
Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
 drivers/infiniband/hw/qib/qib.h         |   9 +-
 drivers/infiniband/hw/qib/qib_eeprom.c  | 181 --------------------------------
 drivers/infiniband/hw/qib/qib_iba6120.c |   2 -
 drivers/infiniband/hw/qib/qib_iba7220.c |   2 -
 drivers/infiniband/hw/qib/qib_iba7322.c |   2 -
 drivers/infiniband/hw/qib/qib_init.c    |   1 -
 drivers/infiniband/hw/qib/qib_sysfs.c   |  24 -----
 7 files changed, 1 insertion(+), 220 deletions(-)

diff --git a/drivers/infiniband/hw/qib/qib.h b/drivers/infiniband/hw/qib/qib.h
index 1946101419a3..675d3c796b9f 100644
--- a/drivers/infiniband/hw/qib/qib.h
+++ b/drivers/infiniband/hw/qib/qib.h
@@ -1080,12 +1080,6 @@ struct qib_devdata {
 	/* control high-level access to EEPROM */
 	struct mutex eep_lock;
 	uint64_t traffic_wds;
-	/* active time is kept in seconds, but logged in hours */
-	atomic_t active_time;
-	/* Below are nominal shadow of EEPROM, new since last EEPROM update */
-	uint8_t eep_st_errs[QIB_EEP_LOG_CNT];
-	uint8_t eep_st_new_errs[QIB_EEP_LOG_CNT];
-	uint16_t eep_hrs;
 	/*
 	 * masks for which bits of errs, hwerrs that cause
 	 * each of the counters to increment.
@@ -1307,8 +1301,7 @@ int qib_twsi_blk_rd(struct qib_devdata *dd, int dev, int addr, void *buffer,
 int qib_twsi_blk_wr(struct qib_devdata *dd, int dev, int addr,
 		    const void *buffer, int len);
 void qib_get_eeprom_info(struct qib_devdata *);
-int qib_update_eeprom_log(struct qib_devdata *dd);
-void qib_inc_eeprom_err(struct qib_devdata *dd, u32 eidx, u32 incr);
+#define qib_inc_eeprom_err(dd, eidx, incr)
 void qib_dump_lookup_output_queue(struct qib_devdata *);
 void qib_force_pio_avail_update(struct qib_devdata *);
 void qib_clear_symerror_on_linkup(unsigned long opaque);
diff --git a/drivers/infiniband/hw/qib/qib_eeprom.c b/drivers/infiniband/hw/qib/qib_eeprom.c
index 4d5d71aaa2b4..e2280b07df02 100644
--- a/drivers/infiniband/hw/qib/qib_eeprom.c
+++ b/drivers/infiniband/hw/qib/qib_eeprom.c
@@ -267,190 +267,9 @@ void qib_get_eeprom_info(struct qib_devdata *dd)
 			"Board SN %s did not pass functional test: %s\n",
 			dd->serial, ifp->if_comment);
 
-	memcpy(&dd->eep_st_errs, &ifp->if_errcntp, QIB_EEP_LOG_CNT);
-	/*
-	 * Power-on (actually "active") hours are kept as little-endian value
-	 * in EEPROM, but as seconds in a (possibly as small as 24-bit)
-	 * atomic_t while running.
-	 */
-	atomic_set(&dd->active_time, 0);
-	dd->eep_hrs = ifp->if_powerhour[0] | (ifp->if_powerhour[1] << 8);
-
 done:
 	vfree(buf);
 
 bail:;
 }
 
-/**
- * qib_update_eeprom_log - copy active-time and error counters to eeprom
- * @dd: the qlogic_ib device
- *
- * Although the time is kept as seconds in the qib_devdata struct, it is
- * rounded to hours for re-write, as we have only 16 bits in EEPROM.
- * First-cut code reads whole (expected) struct qib_flash, modifies,
- * re-writes. Future direction: read/write only what we need, assuming
- * that the EEPROM had to have been "good enough" for driver init, and
- * if not, we aren't making it worse.
- *
- */
-int qib_update_eeprom_log(struct qib_devdata *dd)
-{
-	void *buf;
-	struct qib_flash *ifp;
-	int len, hi_water;
-	uint32_t new_time, new_hrs;
-	u8 csum;
-	int ret, idx;
-	unsigned long flags;
-
-	/* first, check if we actually need to do anything. */
-	ret = 0;
-	for (idx = 0; idx < QIB_EEP_LOG_CNT; ++idx) {
-		if (dd->eep_st_new_errs[idx]) {
-			ret = 1;
-			break;
-		}
-	}
-	new_time = atomic_read(&dd->active_time);
-
-	if (ret == 0 && new_time < 3600)
-		goto bail;
-
-	/*
-	 * The quick-check above determined that there is something worthy
-	 * of logging, so get current contents and do a more detailed idea.
-	 * read full flash, not just currently used part, since it may have
-	 * been written with a newer definition
-	 */
-	len = sizeof(struct qib_flash);
-	buf = vmalloc(len);
-	ret = 1;
-	if (!buf) {
-		qib_dev_err(dd,
-			"Couldn't allocate memory to read %u bytes from eeprom for logging\n",
-			len);
-		goto bail;
-	}
-
-	/* Grab semaphore and read current EEPROM. If we get an
-	 * error, let go, but if not, keep it until we finish write.
-	 */
-	ret = mutex_lock_interruptible(&dd->eep_lock);
-	if (ret) {
-		qib_dev_err(dd, "Unable to acquire EEPROM for logging\n");
-		goto free_bail;
-	}
-	ret = qib_twsi_blk_rd(dd, dd->twsi_eeprom_dev, 0, buf, len);
-	if (ret) {
-		mutex_unlock(&dd->eep_lock);
-		qib_dev_err(dd, "Unable read EEPROM for logging\n");
-		goto free_bail;
-	}
-	ifp = (struct qib_flash *)buf;
-
-	csum = flash_csum(ifp, 0);
-	if (csum != ifp->if_csum) {
-		mutex_unlock(&dd->eep_lock);
-		qib_dev_err(dd, "EEPROM cks err (0x%02X, S/B 0x%02X)\n",
-			    csum, ifp->if_csum);
-		ret = 1;
-		goto free_bail;
-	}
-	hi_water = 0;
-	spin_lock_irqsave(&dd->eep_st_lock, flags);
-	for (idx = 0; idx < QIB_EEP_LOG_CNT; ++idx) {
-		int new_val = dd->eep_st_new_errs[idx];
-		if (new_val) {
-			/*
-			 * If we have seen any errors, add to EEPROM values
-			 * We need to saturate at 0xFF (255) and we also
-			 * would need to adjust the checksum if we were
-			 * trying to minimize EEPROM traffic
-			 * Note that we add to actual current count in EEPROM,
-			 * in case it was altered while we were running.
-			 */
-			new_val += ifp->if_errcntp[idx];
-			if (new_val > 0xFF)
-				new_val = 0xFF;
-			if (ifp->if_errcntp[idx] != new_val) {
-				ifp->if_errcntp[idx] = new_val;
-				hi_water = offsetof(struct qib_flash,
-						    if_errcntp) + idx;
-			}
-			/*
-			 * update our shadow (used to minimize EEPROM
-			 * traffic), to match what we are about to write.
-			 */
-			dd->eep_st_errs[idx] = new_val;
-			dd->eep_st_new_errs[idx] = 0;
-		}
-	}
-	/*
-	 * Now update active-time. We would like to round to the nearest hour
-	 * but unless atomic_t are sure to be proper signed ints we cannot,
-	 * because we need to account for what we "transfer" to EEPROM and
-	 * if we log an hour at 31 minutes, then we would need to set
-	 * active_time to -29 to accurately count the _next_ hour.
-	 */
-	if (new_time >= 3600) {
-		new_hrs = new_time / 3600;
-		atomic_sub((new_hrs * 3600), &dd->active_time);
-		new_hrs += dd->eep_hrs;
-		if (new_hrs > 0xFFFF)
-			new_hrs = 0xFFFF;
-		dd->eep_hrs = new_hrs;
-		if ((new_hrs & 0xFF) != ifp->if_powerhour[0]) {
-			ifp->if_powerhour[0] = new_hrs & 0xFF;
-			hi_water = offsetof(struct qib_flash, if_powerhour);
-		}
-		if ((new_hrs >> 8) != ifp->if_powerhour[1]) {
-			ifp->if_powerhour[1] = new_hrs >> 8;
-			hi_water = offsetof(struct qib_flash, if_powerhour) + 1;
-		}
-	}
-	/*
-	 * There is a tiny possibility that we could somehow fail to write
-	 * the EEPROM after updating our shadows, but problems from holding
-	 * the spinlock too long are a much bigger issue.
-	 */
-	spin_unlock_irqrestore(&dd->eep_st_lock, flags);
-	if (hi_water) {
-		/* we made some change to the data, uopdate cksum and write */
-		csum = flash_csum(ifp, 1);
-		ret = eeprom_write_with_enable(dd, 0, buf, hi_water + 1);
-	}
-	mutex_unlock(&dd->eep_lock);
-	if (ret)
-		qib_dev_err(dd, "Failed updating EEPROM\n");
-
-free_bail:
-	vfree(buf);
-bail:
-	return ret;
-}
-
-/**
- * qib_inc_eeprom_err - increment one of the four error counters
- * that are logged to EEPROM.
- * @dd: the qlogic_ib device
- * @eidx: 0..3, the counter to increment
- * @incr: how much to add
- *
- * Each counter is 8-bits, and saturates at 255 (0xFF). They
- * are copied to the EEPROM (aka flash) whenever qib_update_eeprom_log()
- * is called, but it can only be called in a context that allows sleep.
- * This function can be called even at interrupt level.
- */
-void qib_inc_eeprom_err(struct qib_devdata *dd, u32 eidx, u32 incr)
-{
-	uint new_val;
-	unsigned long flags;
-
-	spin_lock_irqsave(&dd->eep_st_lock, flags);
-	new_val = dd->eep_st_new_errs[eidx] + incr;
-	if (new_val > 255)
-		new_val = 255;
-	dd->eep_st_new_errs[eidx] = new_val;
-	spin_unlock_irqrestore(&dd->eep_st_lock, flags);
-}
diff --git a/drivers/infiniband/hw/qib/qib_iba6120.c b/drivers/infiniband/hw/qib/qib_iba6120.c
index 84e593d6007b..295f6312e6a9 100644
--- a/drivers/infiniband/hw/qib/qib_iba6120.c
+++ b/drivers/infiniband/hw/qib/qib_iba6120.c
@@ -2682,8 +2682,6 @@ static void qib_get_6120_faststats(unsigned long opaque)
 	spin_lock_irqsave(&dd->eep_st_lock, flags);
 	traffic_wds -= dd->traffic_wds;
 	dd->traffic_wds += traffic_wds;
-	if (traffic_wds  >= QIB_TRAFFIC_ACTIVE_THRESHOLD)
-		atomic_add(5, &dd->active_time); /* S/B #define */
 	spin_unlock_irqrestore(&dd->eep_st_lock, flags);
 
 	qib_chk_6120_errormask(dd);
diff --git a/drivers/infiniband/hw/qib/qib_iba7220.c b/drivers/infiniband/hw/qib/qib_iba7220.c
index 454c2e7668fe..c86e71b9e160 100644
--- a/drivers/infiniband/hw/qib/qib_iba7220.c
+++ b/drivers/infiniband/hw/qib/qib_iba7220.c
@@ -3299,8 +3299,6 @@ static void qib_get_7220_faststats(unsigned long opaque)
 	spin_lock_irqsave(&dd->eep_st_lock, flags);
 	traffic_wds -= dd->traffic_wds;
 	dd->traffic_wds += traffic_wds;
-	if (traffic_wds  >= QIB_TRAFFIC_ACTIVE_THRESHOLD)
-		atomic_add(5, &dd->active_time); /* S/B #define */
 	spin_unlock_irqrestore(&dd->eep_st_lock, flags);
 done:
 	mod_timer(&dd->stats_timer, jiffies + HZ * ACTIVITY_TIMER);
diff --git a/drivers/infiniband/hw/qib/qib_iba7322.c b/drivers/infiniband/hw/qib/qib_iba7322.c
index d1bd21319d7d..0f8d1f0bd929 100644
--- a/drivers/infiniband/hw/qib/qib_iba7322.c
+++ b/drivers/infiniband/hw/qib/qib_iba7322.c
@@ -5191,8 +5191,6 @@ static void qib_get_7322_faststats(unsigned long opaque)
 		spin_lock_irqsave(&ppd->dd->eep_st_lock, flags);
 		traffic_wds -= ppd->dd->traffic_wds;
 		ppd->dd->traffic_wds += traffic_wds;
-		if (traffic_wds >= QIB_TRAFFIC_ACTIVE_THRESHOLD)
-			atomic_add(ACTIVITY_TIMER, &ppd->dd->active_time);
 		spin_unlock_irqrestore(&ppd->dd->eep_st_lock, flags);
 		if (ppd->cpspec->qdr_dfe_on && (ppd->link_speed_active &
 						QIB_IB_QDR) &&
diff --git a/drivers/infiniband/hw/qib/qib_init.c b/drivers/infiniband/hw/qib/qib_init.c
index 76c3e177164d..8c9bb6c35838 100644
--- a/drivers/infiniband/hw/qib/qib_init.c
+++ b/drivers/infiniband/hw/qib/qib_init.c
@@ -922,7 +922,6 @@ static void qib_shutdown_device(struct qib_devdata *dd)
 		}
 	}
 
-	qib_update_eeprom_log(dd);
 }
 
 /**
diff --git a/drivers/infiniband/hw/qib/qib_sysfs.c b/drivers/infiniband/hw/qib/qib_sysfs.c
index 3c8e4e3caca6..b9ccbda7817d 100644
--- a/drivers/infiniband/hw/qib/qib_sysfs.c
+++ b/drivers/infiniband/hw/qib/qib_sysfs.c
@@ -611,28 +611,6 @@ bail:
 	return ret < 0 ? ret : count;
 }
 
-static ssize_t show_logged_errs(struct device *device,
-				struct device_attribute *attr, char *buf)
-{
-	struct qib_ibdev *dev =
-		container_of(device, struct qib_ibdev, ibdev.dev);
-	struct qib_devdata *dd = dd_from_dev(dev);
-	int idx, count;
-
-	/* force consistency with actual EEPROM */
-	if (qib_update_eeprom_log(dd) != 0)
-		return -ENXIO;
-
-	count = 0;
-	for (idx = 0; idx < QIB_EEP_LOG_CNT; ++idx) {
-		count += scnprintf(buf + count, PAGE_SIZE - count, "%d%c",
-				   dd->eep_st_errs[idx],
-				   idx == (QIB_EEP_LOG_CNT - 1) ? '\n' : ' ');
-	}
-
-	return count;
-}
-
 /*
  * Dump tempsense regs. in decimal, to ease shell-scripts.
  */
@@ -679,7 +657,6 @@ static DEVICE_ATTR(nctxts, S_IRUGO, show_nctxts, NULL);
 static DEVICE_ATTR(nfreectxts, S_IRUGO, show_nfreectxts, NULL);
 static DEVICE_ATTR(serial, S_IRUGO, show_serial, NULL);
 static DEVICE_ATTR(boardversion, S_IRUGO, show_boardversion, NULL);
-static DEVICE_ATTR(logged_errors, S_IRUGO, show_logged_errs, NULL);
 static DEVICE_ATTR(tempsense, S_IRUGO, show_tempsense, NULL);
 static DEVICE_ATTR(localbus_info, S_IRUGO, show_localbus_info, NULL);
 static DEVICE_ATTR(chip_reset, S_IWUSR, NULL, store_chip_reset);
@@ -693,7 +670,6 @@ static struct device_attribute *qib_attributes[] = {
 	&dev_attr_nfreectxts,
 	&dev_attr_serial,
 	&dev_attr_boardversion,
-	&dev_attr_logged_errors,
 	&dev_attr_tempsense,
 	&dev_attr_localbus_info,
 	&dev_attr_chip_reset,
-- 
2.3.0


  parent reply	other threads:[~2015-03-17  9:15 UTC|newest]

Thread overview: 179+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-17  8:41 [PATCH 3.12 000/175] 3.12.39-stable review Jiri Slaby
2015-03-17  8:39 ` [PATCH 3.12 001/175] xfs: ensure buffer types are set correctly Jiri Slaby
2015-03-17  8:39 ` [PATCH 3.12 002/175] xfs: inode unlink does not set AGI buffer type Jiri Slaby
2015-03-17  8:39 ` [PATCH 3.12 003/175] xfs: set superblock buffer type correctly Jiri Slaby
2015-03-17  8:39 ` [PATCH 3.12 004/175] fsnotify: fix handling of renames in audit Jiri Slaby
2015-03-17  8:39 ` [PATCH 3.12 005/175] iwlwifi: pcie: disable the SCD_BASE_ADDR when we resume from WoWLAN Jiri Slaby
2015-03-17  8:39 ` [PATCH 3.12 006/175] iwlwifi: mvm: validate tid and sta_id in ba_notif Jiri Slaby
2015-03-17  8:39 ` [PATCH 3.12 007/175] iwlwifi: mvm: always use mac color zero Jiri Slaby
2015-03-17  8:39 ` [PATCH 3.12 008/175] HID: i2c-hid: Limit reads to wMaxInputLength bytes for input events Jiri Slaby
2015-03-17  8:39 ` [PATCH 3.12 009/175] PCI: Generate uppercase hex for modalias var in uevent Jiri Slaby
2015-03-17  8:39 ` [PATCH 3.12 010/175] PCI: Fix infinite loop with ROM image of size 0 Jiri Slaby
2015-03-17  8:39 ` [PATCH 3.12 011/175] cpufreq: speedstep-smi: enable interrupts when waiting Jiri Slaby
2015-03-17  8:39 ` [PATCH 3.12 012/175] cpufreq: s3c: remove incorrect __init annotations Jiri Slaby
2015-03-17  8:39 ` [PATCH 3.12 013/175] xen/manage: Fix USB interaction issues when resuming Jiri Slaby
2015-03-17  8:39 ` [PATCH 3.12 014/175] lmedm04: Fix usb_submit_urb BOGUS urb xfer, pipe 1 != type 3 in interrupt urb Jiri Slaby
2015-03-17  8:39 ` [PATCH 3.12 015/175] ALSA: off by one bug in snd_riptide_joystick_probe() Jiri Slaby
2015-03-17  8:39 ` [PATCH 3.12 016/175] ALSA: hdspm - Constrain periods to 2 on older cards Jiri Slaby
2015-03-17  8:39 ` [PATCH 3.12 017/175] power_supply: 88pm860x: Fix leaked power supply on probe fail Jiri Slaby
2015-03-17  8:39 ` [PATCH 3.12 018/175] power: bq24190: Fix ignored supplicants Jiri Slaby
2015-03-17  8:39 ` [PATCH 3.12 019/175] megaraid_sas: disable interrupt_mask before enabling hardware interrupts Jiri Slaby
2015-03-17  8:39 ` [PATCH 3.12 020/175] mmc: sdhci-pxav3: fix setting of pdata->clk_delay_cycles Jiri Slaby
2015-03-17  8:39 ` [PATCH 3.12 021/175] nfs: don't call blocking operations while !TASK_RUNNING Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 022/175] MIPS: KVM: Deliver guest interrupts after local_irq_disable() Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 023/175] mm/hugetlb: pmd_huge() returns true for non-present hugepage Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 024/175] tracing: Fix unmapping loop in tracing_mark_write Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 025/175] ARM: 8284/1: sa1100: clear RCSR_SMR on resume Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 026/175] ARM: DRA7: hwmod: Fix boot crash with DEBUG_LL enabled on UART3 Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 027/175] ARM: dts: am335x-bone*: usb0 is hardwired for peripheral Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 028/175] tpm_tis: verify interrupt during init Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 029/175] TPM: Add new TPMs to the tail of the list to prevent inadvertent change of dev Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 030/175] tpm: Fix NULL return in tpm_ibmvtpm_get_desired_dma Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 031/175] tpm/tpm_i2c_stm_st33: Fix potential bug in tpm_stm_i2c_send Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 032/175] Added Little Endian support to vtpm module Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 033/175] NFSv4.1: Fix a kfree() of uninitialised pointers in decode_cb_sequence_args Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 034/175] iscsi-target: Drop problematic active_ts_list usage Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 035/175] cfq-iosched: handle failure of cfq group allocation Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 036/175] cfq-iosched: fix incorrect filing of rt async cfqq Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 037/175] axonram: Fix bug in direct_access Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 038/175] tty: Prevent untrappable signals from malicious program Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 039/175] tty/serial: at91: fix error handling in atmel_serial_probe() Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 040/175] USB: cp210x: add ID for RUGGEDCOM USB Serial Console Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 041/175] USB: fix use-after-free bug in usb_hcd_unlink_urb() Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 042/175] usb: core: buffer: smallest buffer should start at ARCH_DMA_MINALIGN Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 043/175] vt: provide notifications on selection changes Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 044/175] ARM: pxa: add regulator_has_full_constraints to corgi board file Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 045/175] ARM: pxa: add regulator_has_full_constraints to poodle " Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 046/175] kdb: fix incorrect counts in KDB summary command output Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 047/175] ARC: fix page address calculation if PAGE_OFFSET != LINUX_LINK_BASE Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 048/175] KVM: MIPS: Don't leak FPU/DSP to guest Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 049/175] Bluetooth: Add support for Acer [0489:e078] Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 050/175] libceph: assert both regular and lingering lists in __remove_osd() Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 051/175] libceph: change from BUG to WARN for __remove_osd() asserts Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 052/175] libceph: fix double __remove_osd() problem Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 053/175] KVM: x86: update masterclock values on TSC writes Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 054/175] hx4700: regulator: declare full constraints Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 055/175] arm64: compat Fix siginfo_t -> compat_siginfo_t conversion on big endian Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 056/175] gpiolib: of: allow of_gpiochip_find_and_xlate to find more than one chip per node Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 057/175] gpio: tps65912: fix wrong container_of arguments Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 058/175] xfs: Fix quota type in quota structures when reusing quota file Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 059/175] metag: Fix KSTK_EIP() and KSTK_ESP() macros Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 060/175] md/raid5: Fix livelock when array is both resyncing and degraded Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 061/175] md/raid1: fix read balance when a drive is write-mostly Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 062/175] EDAC, amd64_edac: Prevent OOPS with >16 memory controllers Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 063/175] jffs2: fix handling of corrupted summary length Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 064/175] btrfs: set proper message level for skinny metadata Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 065/175] blk-throttle: check stats_cpu before reading it from sysfs Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 066/175] x86, mm/ASLR: Fix stack randomization on 64-bit systems Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 067/175] ath6kl: fix struct hif_scatter_req list handling Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 068/175] staging: comedi: cb_pcidas64: fix incorrect AI range code handling Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 069/175] USB: EHCI: adjust error return code Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 070/175] MIPS: Export FP functions used by lose_fpu(1) for KVM Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 071/175] ipvs: add missing ip_vs_pe_put in sync code Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 072/175] ipvs: rerouting to local clients is not needed anymore Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 073/175] netfilter: xt_socket: fix a stack corruption bug Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 074/175] pktgen: fix UDP checksum computation Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 075/175] rtnetlink: ifla_vf_policy: fix misuses of NLA_BINARY Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 076/175] ipv6: fix ipv6_cow_metrics for non DST_HOST case Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 077/175] rtnetlink: call ->dellink on failure when ->newlink exists Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 078/175] gen_stats.c: Duplicate xstats buffer for later use Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 079/175] ipv4: ip_check_defrag should correctly check return value of skb_copy_bits Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 080/175] ipv4: ip_check_defrag should not assume that skb_network_offset is zero Jiri Slaby
2015-03-17  8:40 ` [PATCH 3.12 081/175] net: phy: Fix verification of EEE support in phy_init_eee Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 082/175] ematch: Fix auto-loading of ematch modules Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 083/175] net: reject creation of netdev names with colons Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 084/175] team: fix possible null pointer dereference in team_handle_frame Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 085/175] net: compat: Ignore MSG_CMSG_COMPAT in compat_sys_{send, recv}msg Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 086/175] macvtap: make sure neighbour code can push ethernet header Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 087/175] usb: plusb: Add support for National Instruments host-to-host cable Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 088/175] udp: only allow UFO for packets from SOCK_DGRAM sockets Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 089/175] net: ping: Return EAFNOSUPPORT when appropriate Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 090/175] team: don't traverse port list using rcu in team_set_mac_address Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 091/175] mm/hugetlb: add migration/hwpoisoned entry check in hugetlb_change_protection Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 092/175] mm/hugetlb: add migration entry check in __unmap_hugepage_range Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 093/175] mm/mmap.c: fix arithmetic overflow in __vm_enough_memory() Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 094/175] mm/nommu.c: " Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 095/175] mm/compaction: fix wrong order check in compact_finished() Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 096/175] mm/memory.c: actually remap enough memory Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 097/175] drm/radeon: only enable kv/kb dpm interrupts once v3 Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 098/175] drm/radeon: workaround for CP HW bug on CIK Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 099/175] target: Fix PR_APTPL_BUF_LEN buffer size limitation Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 100/175] target: Add missing WRITE_SAME end-of-device sanity check Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 101/175] target: Check for LBA + sectors wrap-around in sbc_parse_cdb Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 102/175] x86/asm/entry/64: Remove a bogus 'ret_from_fork' optimization Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 103/175] iio: imu: adis16400: Fix sign extension Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 104/175] iio: ad5686: fix optional reference voltage declaration Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 105/175] mei: make device disabled on stop unconditionally Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 106/175] btrfs: fix lost return value due to variable shadowing Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 107/175] Btrfs: fix data loss in the fast fsync path Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 108/175] Btrfs:__add_inode_ref: out of bounds memory read when looking for extended ref Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 109/175] KVM: emulate: fix CMPXCHG8B on 32-bit hosts Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 110/175] KVM: MIPS: Fix trace event to save PC directly Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 111/175] USB: serial: cp210x: Adding Seletek device id's Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 112/175] USB: usbfs: don't leak kernel data in siginfo Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 113/175] USB: ftdi_sio: add PIDs for Actisense USB devices Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 114/175] usb: ftdi_sio: Add jtag quirk support for Cyber Cortex AV boards Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 115/175] usb: dwc3: dwc3-omap: Fix disable IRQ Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 116/175] xhci: Allocate correct amount of scratchpad buffers Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 117/175] xhci: fix reporting of 0-sized URBs in control endpoint Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 118/175] mac80211: Send EAPOL frames at lowest rate Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 119/175] net: irda: fix wait_until_sent poll timeout Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 120/175] USB: serial: fix infinite wait_until_sent timeout Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 121/175] TTY: fix tty_wait_until_sent on 64-bit machines Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 122/175] USB: serial: fix potential use-after-free after failed probe Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 123/175] USB: serial: fix tty-device error handling at probe Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 124/175] autofs4 copy_dev_ioctl(): keep the value of ->size we'd used for allocation Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 125/175] debugfs: leave freeing a symlink body until inode eviction Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 126/175] procfs: fix race between symlink removals and traversals Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 127/175] sunrpc: fix braino in ->poll() Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 128/175] ARC: Fix KSTK_ESP() Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 129/175] tty: fix up atime/mtime mess, take four Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 130/175] HID: apple: fix battery support for the 2009 ANSI wireless keyboard Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 131/175] HID: pidff: Fix initialisation forMicrosoft Sidewinder FF Pro 2 Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 132/175] HID: hid-microsoft: Add support for scrollwheel and special keypad keys Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 133/175] HID: add support for MS Surface Pro 3 Type Cover Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 134/175] HID: microsoft: add support for Japanese Surface Type Cover 3 Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 135/175] USB: serial: add Google simple serial SubClass support Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 136/175] usb: gadget: function: phonet: balance usb_ep_disable calls Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 137/175] usb: musb: core: add pm_runtime_irq_safe() Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 138/175] cdc-acm: Add support for Denso cradle CU-321 Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 139/175] x86: mm: move mmap_sem unlock from mm_fault_error() to caller Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 140/175] vm: add VM_FAULT_SIGSEGV handling support Jiri Slaby
2015-03-17  8:41 ` [PATCH 3.12 141/175] arc: mm: Fix build failure Jiri Slaby
2015-03-17  8:42 ` [PATCH 3.12 142/175] vm: make stack guard page errors return VM_FAULT_SIGSEGV rather than SIGBUS Jiri Slaby
2015-03-17  8:42 ` [PATCH 3.12 143/175] splice: Apply generic position and size checks to each write Jiri Slaby
2015-03-17  8:42 ` [PATCH 3.12 144/175] ALSA: pcm: Don't leave PREPARED state after draining Jiri Slaby
2015-03-17  8:42 ` [PATCH 3.12 145/175] ALSA: hda - Add pin configs for ASUS mobo with IDT 92HD73XX codec Jiri Slaby
2015-03-17  8:42 ` [PATCH 3.12 146/175] sg: fix read() error reporting Jiri Slaby
2015-03-17  8:42 ` Jiri Slaby [this message]
2015-03-17  8:42 ` [PATCH 3.12 148/175] xhci: no switching back on non-ULT Haswell Jiri Slaby
2015-03-17  8:42 ` [PATCH 3.12 149/175] HID: microsoft: Add ID for NE7K wireless keyboard Jiri Slaby
2015-03-17  8:42 ` [PATCH 3.12 150/175] HID: usbhid: fix PIXART optical mouse Jiri Slaby
2015-03-17  8:42 ` [PATCH 3.12 151/175] HID: usbhid: add another mouse that needs QUIRK_ALWAYS_POLL Jiri Slaby
2015-03-17  8:42 ` [PATCH 3.12 152/175] HID: usbhid: enable always-poll quirk for Elan Touchscreen 0103 Jiri Slaby
2015-03-17  8:42 ` [PATCH 3.12 153/175] HID: yet another buggy ELAN touchscreen Jiri Slaby
2015-03-17  8:42 ` [PATCH 3.12 154/175] mm: hwpoison: drop lru_add_drain_all() in __soft_offline_page() Jiri Slaby
2015-03-17  8:42 ` [PATCH 3.12 155/175] mm/hugetlb: reduce arch dependent code around follow_huge_* Jiri Slaby
2015-03-17  8:42 ` [PATCH 3.12 156/175] mm/hugetlb: take page table lock in follow_huge_pmd() Jiri Slaby
2015-03-17  8:42 ` [PATCH 3.12 157/175] nilfs2: fix potential memory overrun on inode Jiri Slaby
2015-03-17  8:42 ` [PATCH 3.12 158/175] ASoC: omap-pcm: Correct dma mask Jiri Slaby
2015-03-17  8:42 ` [PATCH 3.12 159/175] fixed invalid assignment of 64bit mask to host dma_boundary for scatter gather segment boundary limit Jiri Slaby
2015-03-17  8:42 ` [PATCH 3.12 160/175] clk: zynq: Force CPU_2X clock to be ungated Jiri Slaby
2015-03-17  8:42 ` [PATCH 3.12 161/175] clk: sunxi: Support factor clocks with N factor starting not from 0 Jiri Slaby
2015-03-17  8:42 ` [PATCH 3.12 162/175] sunxi: clk: Set sun6i-pll1 n_start = 1 Jiri Slaby
2015-03-17  8:42 ` [PATCH 3.12 163/175] staging: comedi: comedi_compat32.c: fix COMEDI_CMD copy back Jiri Slaby
2015-03-17  8:42 ` [PATCH 3.12 164/175] dm mirror: do not degrade the mirror on discard error Jiri Slaby
2015-03-17  8:42 ` [PATCH 3.12 165/175] dm io: reject unsupported DISCARD requests with EOPNOTSUPP Jiri Slaby
2015-03-17  8:42 ` [PATCH 3.12 166/175] dm: fix a race condition in dm_get_md Jiri Slaby
2015-03-17  8:42 ` [PATCH 3.12 167/175] dm snapshot: fix a possible invalid memory access on unload Jiri Slaby
2015-03-17  8:42 ` [PATCH 3.12 168/175] HID: input: fix confusion on conflicting mappings Jiri Slaby
2015-03-17  8:42 ` [PATCH 3.12 169/175] HID: fixup the conflicting keyboard mappings quirk Jiri Slaby
2015-03-17  8:42 ` [PATCH 3.12 170/175] drm/radeon: use drm_mode_vrefresh() rather than mode->vrefresh Jiri Slaby
2015-03-17  8:42 ` [PATCH 3.12 171/175] drm/radeon: fix 1 RB harvest config setup for TN/RL Jiri Slaby
2015-03-17  8:42 ` [PATCH 3.12 172/175] ACPI / video: Load the module even if ACPI is disabled Jiri Slaby
2015-03-17  8:42 ` [PATCH 3.12 173/175] NFSv4: Don't call put_rpccred() under the rcu_read_lock() Jiri Slaby
2015-03-17  8:42 ` [PATCH 3.12 174/175] ath5k: fix spontaneus AR5312 freezes Jiri Slaby
2015-03-17  8:42 ` [PATCH 3.12 175/175] clk-gate: fix bit # check in clk_register_gate() Jiri Slaby
2015-03-17 16:36 ` [PATCH 3.12 000/175] 3.12.39-stable review Guenter Roeck
2015-03-19 15:08   ` Jiri Slaby
2015-03-18 18:11 ` Shuah Khan

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=3619496bb338a99a26b3943d919443176db7b7f1.1426581621.git.jslaby@suse.cz \
    --to=jslaby@suse.cz \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mike.marciniszyn@intel.com \
    --cc=mitko.haralanov@intel.com \
    --cc=roland@purestorage.com \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.