Bump ABI to 4
The mm fixes in 3.2.25 changed struct address_space_operations and struct task_struct. svn path=/dists/sid/linux/; revision=19305
This commit is contained in:
parent
1d65a00c89
commit
28f28f994c
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -41,6 +41,7 @@ linux (3.2.25-1) UNRELEASED; urgency=low
|
|||
- Btrfs: call the ordered free operation without any locks held
|
||||
|
||||
[ Ben Hutchings ]
|
||||
* Bump ABI to 4
|
||||
* linux-image: Include package version in utsname version string
|
||||
('uname -v' output) (Closes: #638878)
|
||||
* linux-source: Drop support for version.$DISTRIBUTION
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
[abi]
|
||||
abiname: 3
|
||||
abiname: 4
|
||||
ignore-changes:
|
||||
module:drivers/net/wireless/ath/*
|
||||
|
||||
|
|
|
@ -1,15 +0,0 @@
|
|||
From: Ben Hutchings <ben@decadent.org.uk>
|
||||
Subject: debugfs: Avoid ABI change for mount options
|
||||
--- a/fs/debugfs/inode.c
|
||||
+++ b/fs/debugfs/inode.c
|
||||
@@ -23,8 +23,10 @@
|
||||
#include <linux/debugfs.h>
|
||||
#include <linux/fsnotify.h>
|
||||
#include <linux/string.h>
|
||||
+#ifndef __GENKSYMS__
|
||||
#include <linux/seq_file.h>
|
||||
#include <linux/parser.h>
|
||||
+#endif
|
||||
#include <linux/magic.h>
|
||||
#include <linux/slab.h>
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
From: Ben Hutchings <ben@decadent.org.uk>
|
||||
Subject: driver core: Avoid ABI change for removal of __must_check
|
||||
|
||||
Surprisingly, __must_check contributes to the symbol version hash
|
||||
despite making no real difference to the function's ABI.
|
||||
|
||||
--- a/include/linux/device.h
|
||||
+++ b/include/linux/device.h
|
||||
@@ -510,8 +510,13 @@
|
||||
struct dev_ext_attribute dev_attr_##_name = \
|
||||
{ __ATTR(_name, _mode, device_show_ulong, device_store_ulong), &(_var) }
|
||||
|
||||
+#ifdef __GENKSYMS__
|
||||
+extern int __must_check device_create_file(struct device *device,
|
||||
+ const struct device_attribute *entry);
|
||||
+#else
|
||||
extern int device_create_file(struct device *device,
|
||||
const struct device_attribute *entry);
|
||||
+#endif
|
||||
extern void device_remove_file(struct device *dev,
|
||||
const struct device_attribute *attr);
|
||||
extern int __must_check device_create_bin_file(struct device *dev,
|
|
@ -1,36 +0,0 @@
|
|||
From e858f73d794205cfda77ddfb4cbf86a1b5aeb72f Mon Sep 17 00:00:00 2001
|
||||
From: Ben Hutchings <ben@decadent.org.uk>
|
||||
Date: Wed, 25 Jul 2012 05:00:02 +0100
|
||||
Subject: [PATCH 1/4] hrtimer: Avoid ABI change in 3.2.24
|
||||
|
||||
struct hrtimer_cpu_base should not be allocated by modules. Move
|
||||
the new member clock_was_set to the end and hide it from genksyms.
|
||||
Revert the type change of active_bases.
|
||||
---
|
||||
include/linux/hrtimer.h | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/include/linux/hrtimer.h b/include/linux/hrtimer.h
|
||||
index cc07d27..c2012e3 100644
|
||||
--- a/include/linux/hrtimer.h
|
||||
+++ b/include/linux/hrtimer.h
|
||||
@@ -178,8 +178,7 @@ enum hrtimer_base_type {
|
||||
*/
|
||||
struct hrtimer_cpu_base {
|
||||
raw_spinlock_t lock;
|
||||
- unsigned int active_bases;
|
||||
- unsigned int clock_was_set;
|
||||
+ unsigned long active_bases;
|
||||
#ifdef CONFIG_HIGH_RES_TIMERS
|
||||
ktime_t expires_next;
|
||||
int hres_active;
|
||||
@@ -190,6 +189,9 @@ struct hrtimer_cpu_base {
|
||||
ktime_t max_hang_time;
|
||||
#endif
|
||||
struct hrtimer_clock_base clock_base[HRTIMER_MAX_CLOCK_BASES];
|
||||
+#ifndef __GENKSYMS__
|
||||
+ unsigned int clock_was_set;
|
||||
+#endif
|
||||
};
|
||||
|
||||
static inline void hrtimer_set_expires(struct hrtimer *timer, ktime_t time)
|
|
@ -1,85 +0,0 @@
|
|||
From 331cf8308dcde22597583c4be4eabdc5d168c703 Mon Sep 17 00:00:00 2001
|
||||
From: Ben Hutchings <ben@decadent.org.uk>
|
||||
Date: Wed, 25 Jul 2012 05:26:58 +0100
|
||||
Subject: [PATCH 3/4] libsas: Avoid ABI change in 3.2.24
|
||||
|
||||
Revert commit 6ef1b512f4e6f936d89aa20be3d97a7ec7c290ac ('libsas: fix
|
||||
taskfile corruption in sas_ata_qc_fill_rtf') and fix the bug in a
|
||||
different way.
|
||||
|
||||
SATA command results must be converted from FIS to ata_taskfile
|
||||
format. This is done in two stages via a temporary buffer in
|
||||
struct sata_device, as the source and target addresses aren't
|
||||
known at the same time (?).
|
||||
|
||||
The old code does conversion and then memcpy(), which is wrong
|
||||
because the conversion only assigns some members and the rest
|
||||
of the target structure should be left unchanged.
|
||||
|
||||
The upstream fix switches this to memcpy() and conversion, but
|
||||
that changes the temporary buffer format and makes it larger
|
||||
(the ABI change).
|
||||
|
||||
This fix changes the memcpy() to write only the target members
|
||||
that would be written by the conversion function.
|
||||
---
|
||||
drivers/scsi/libsas/sas_ata.c | 15 +++++++++------
|
||||
include/scsi/libsas.h | 2 +-
|
||||
2 files changed, 10 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/drivers/scsi/libsas/sas_ata.c b/drivers/scsi/libsas/sas_ata.c
|
||||
index 4868fc9..c707410 100644
|
||||
--- a/drivers/scsi/libsas/sas_ata.c
|
||||
+++ b/drivers/scsi/libsas/sas_ata.c
|
||||
@@ -112,12 +112,12 @@ static void sas_ata_task_done(struct sas_task *task)
|
||||
if (stat->stat == SAS_PROTO_RESPONSE || stat->stat == SAM_STAT_GOOD ||
|
||||
((stat->stat == SAM_STAT_CHECK_CONDITION &&
|
||||
dev->sata_dev.command_set == ATAPI_COMMAND_SET))) {
|
||||
- memcpy(dev->sata_dev.fis, resp->ending_fis, ATA_RESP_FIS_SIZE);
|
||||
+ ata_tf_from_fis(resp->ending_fis, &dev->sata_dev.tf);
|
||||
|
||||
if (!link->sactive) {
|
||||
- qc->err_mask |= ac_err_mask(dev->sata_dev.fis[2]);
|
||||
+ qc->err_mask |= ac_err_mask(dev->sata_dev.tf.command);
|
||||
} else {
|
||||
- link->eh_info.err_mask |= ac_err_mask(dev->sata_dev.fis[2]);
|
||||
+ link->eh_info.err_mask |= ac_err_mask(dev->sata_dev.tf.command);
|
||||
if (unlikely(link->eh_info.err_mask))
|
||||
qc->flags |= ATA_QCFLAG_FAILED;
|
||||
}
|
||||
@@ -138,8 +138,8 @@ static void sas_ata_task_done(struct sas_task *task)
|
||||
qc->flags |= ATA_QCFLAG_FAILED;
|
||||
}
|
||||
|
||||
- dev->sata_dev.fis[3] = 0x04; /* status err */
|
||||
- dev->sata_dev.fis[2] = ATA_ERR;
|
||||
+ dev->sata_dev.tf.feature = 0x04; /* status err */
|
||||
+ dev->sata_dev.tf.command = ATA_ERR;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -252,7 +252,10 @@ static bool sas_ata_qc_fill_rtf(struct ata_queued_cmd *qc)
|
||||
{
|
||||
struct domain_device *dev = qc->ap->private_data;
|
||||
|
||||
- ata_tf_from_fis(dev->sata_dev.fis, &qc->result_tf);
|
||||
+ /* Copy only those fields that ata_tf_from_fis() sets */
|
||||
+ memcpy(&qc->result_tf.hob_nsect, &dev->sata_dev.tf.hob_nsect,
|
||||
+ sizeof(dev->sata_dev.tf) -
|
||||
+ offsetof(struct ata_taskfile, hob_nsect));
|
||||
return true;
|
||||
}
|
||||
|
||||
diff --git a/include/scsi/libsas.h b/include/scsi/libsas.h
|
||||
index 1e100c6..4cd529d 100644
|
||||
--- a/include/scsi/libsas.h
|
||||
+++ b/include/scsi/libsas.h
|
||||
@@ -172,7 +172,7 @@ struct sata_device {
|
||||
|
||||
struct ata_port *ap;
|
||||
struct ata_host ata_host;
|
||||
- u8 fis[ATA_RESP_FIS_SIZE];
|
||||
+ struct ata_taskfile tf;
|
||||
u32 sstatus;
|
||||
u32 serror;
|
||||
u32 scontrol;
|
|
@ -1,23 +0,0 @@
|
|||
From 222f965efd8d504e374758209dcc8f56d37f62fc Mon Sep 17 00:00:00 2001
|
||||
From: Ben Hutchings <ben@decadent.org.uk>
|
||||
Date: Wed, 25 Jul 2012 05:00:55 +0100
|
||||
Subject: [PATCH 2/4] net: Avoid ABI change in 3.2.24
|
||||
|
||||
Don't renumber skb_shared_info TX flags.
|
||||
---
|
||||
include/linux/skbuff.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
|
||||
index 53dc7e7..a3615cc 100644
|
||||
--- a/include/linux/skbuff.h
|
||||
+++ b/include/linux/skbuff.h
|
||||
@@ -214,7 +214,7 @@ enum {
|
||||
SKBTX_IN_PROGRESS = 1 << 2,
|
||||
|
||||
/* device driver supports TX zero-copy buffers */
|
||||
- SKBTX_DEV_ZEROCOPY = 1 << 3,
|
||||
+ SKBTX_DEV_ZEROCOPY = 1 << 4,
|
||||
};
|
||||
|
||||
/*
|
|
@ -1,32 +0,0 @@
|
|||
From 70c7bdf78972dd72ceffbf8b88c5d9fec22dae01 Mon Sep 17 00:00:00 2001
|
||||
From: Ben Hutchings <ben@decadent.org.uk>
|
||||
Date: Wed, 25 Jul 2012 05:47:16 +0100
|
||||
Subject: [PATCH 4/4] powerpc: cputime: Avoid ABI change in 3.2.24
|
||||
|
||||
Restore __cputime_msec_factor.
|
||||
---
|
||||
arch/powerpc/kernel/time.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c
|
||||
index ec8affe..010b325 100644
|
||||
--- a/arch/powerpc/kernel/time.c
|
||||
+++ b/arch/powerpc/kernel/time.c
|
||||
@@ -175,6 +175,8 @@ u64 __cputime_jiffies_factor;
|
||||
EXPORT_SYMBOL(__cputime_jiffies_factor);
|
||||
u64 __cputime_usec_factor;
|
||||
EXPORT_SYMBOL(__cputime_usec_factor);
|
||||
+u64 __cputime_msec_factor;
|
||||
+EXPORT_SYMBOL(__cputime_msec_factor);
|
||||
u64 __cputime_sec_factor;
|
||||
EXPORT_SYMBOL(__cputime_sec_factor);
|
||||
u64 __cputime_clockt_factor;
|
||||
@@ -194,6 +196,8 @@ static void calc_cputime_factors(void)
|
||||
__cputime_jiffies_factor = res.result_low;
|
||||
div128_by_32(1000000, 0, tb_ticks_per_sec, &res);
|
||||
__cputime_usec_factor = res.result_low;
|
||||
+ div128_by_32(1000, 0, tb_ticks_per_sec, &res);
|
||||
+ __cputime_msec_factor = res.result_low;
|
||||
div128_by_32(1, 0, tb_ticks_per_sec, &res);
|
||||
__cputime_sec_factor = res.result_low;
|
||||
div128_by_32(USER_HZ, 0, tb_ticks_per_sec, &res);
|
|
@ -340,9 +340,6 @@ features/arm/ARM-7259-3-net-JIT-compiler-for-packet-filters.patch
|
|||
features/arm/ARM-fix-Kconfig-warning-for-HAVE_BPF_JIT.patch
|
||||
features/arm/net-drop-NET-dependency-from-HAVE_BPF_JIT.patch
|
||||
|
||||
# Until next ABI bump
|
||||
debian/driver-core-avoid-ABI-change-for-removal-of-__must_check.patch
|
||||
|
||||
# nouveau update to support Fermi (NVC0+) acceleration
|
||||
features/all/fermi-accel/drm-nouveau-ttm-always-do-buffer-moves-on-kernel-cha.patch
|
||||
features/all/fermi-accel/drm-nouveau-remove-subchannel-names-from-places-wher.patch
|
||||
|
@ -358,13 +355,5 @@ bugfix/all/net-e100-ucode-is-optional-in-some-cases.patch
|
|||
bugfix/x86/drm-i915-prefer-wide-slow-to-fast-narrow-in-DP-confi.patch
|
||||
bugfix/all/cipso-don-t-follow-a-NULL-pointer-when-setsockopt-is.patch
|
||||
|
||||
# Until next ABI bump
|
||||
debian/hrtimer-Avoid-ABI-change-in-3.2.24.patch
|
||||
debian/net-Avoid-ABI-change-in-3.2.24.patch
|
||||
debian/libsas-Avoid-ABI-change-in-3.2.24.patch
|
||||
debian/powerpc-cputime-Avoid-ABI-change-in-3.2.24.patch
|
||||
|
||||
features/all/debugfs-add-mode-uid-and-gid-options.patch
|
||||
debian/debugfs-set-default-mode-to-700.patch
|
||||
# Until next ABI bump
|
||||
debian/debugfs-avoid-ABI-change-for-mount-options.patch
|
||||
|
|
Loading…
Reference in New Issue