Bump ABI to 2
This commit is contained in:
parent
f813b6ebf5
commit
2fcc01b384
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
|
@ -586,7 +586,10 @@ linux (4.17.14-1) UNRELEASED; urgency=medium
|
|||
* mtd: powernv_flash: set of_node in mtd's dev (Closes: #904380)
|
||||
* block: really disable runtime-pm for blk-mq (Closes: #904441)
|
||||
|
||||
-- Romain Perier <romain.perier@gmail.com> Wed, 25 Jul 2018 14:05:34 +0200
|
||||
[ Bastian Blank ]
|
||||
* Bump ABI to 2
|
||||
|
||||
-- Ben Hutchings <ben@decadent.org.uk> Sun, 05 Aug 2018 19:37:24 +0800
|
||||
|
||||
linux (4.17.8-1) unstable; urgency=medium
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
[abi]
|
||||
abiname: 1
|
||||
abiname: 2
|
||||
ignore-changes:
|
||||
__cpuhp_*
|
||||
__xive_vm_h_*
|
||||
|
|
|
@ -1,63 +0,0 @@
|
|||
From: Ben Hutchings <ben@decadent.org.uk>
|
||||
Date: Thu, 12 Jul 2018 01:02:13 +0100
|
||||
Subject: dax: Avoid ABI change in 4.17.6
|
||||
Forwarded: not-needed
|
||||
|
||||
The return type and first parameter type for bdev_dax_supported() and
|
||||
__bdev_dax_supported() were changed by commits ba23cba9b3bd "fs: allow
|
||||
per-device dax status checking for filesystems" and 80660f20252d "dax:
|
||||
change bdev_dax_supported() to support boolean returns".
|
||||
|
||||
Avoid an ABI break by renaming the new version of
|
||||
__bdev_dax_supported() and reintroducing the old version as a wrapper
|
||||
for it. Add a #define so that the old version is hidden from the API,
|
||||
i.e. newly built modules must use the new API.
|
||||
|
||||
---
|
||||
--- a/drivers/dax/super.c
|
||||
+++ b/drivers/dax/super.c
|
||||
@@ -72,6 +72,8 @@ struct dax_device *fs_dax_get_by_bdev(st
|
||||
EXPORT_SYMBOL_GPL(fs_dax_get_by_bdev);
|
||||
#endif
|
||||
|
||||
+#undef __bdev_dax_supported
|
||||
+
|
||||
/**
|
||||
* __bdev_dax_supported() - Check if the device supports dax for filesystem
|
||||
* @bdev: block device to check
|
||||
@@ -82,7 +84,7 @@ EXPORT_SYMBOL_GPL(fs_dax_get_by_bdev);
|
||||
*
|
||||
* Return: true if supported, false if unsupported
|
||||
*/
|
||||
-bool __bdev_dax_supported(struct block_device *bdev, int blocksize)
|
||||
+bool __bdev_dax_supported_new(struct block_device *bdev, int blocksize)
|
||||
{
|
||||
struct dax_device *dax_dev;
|
||||
struct request_queue *q;
|
||||
@@ -152,6 +154,13 @@ bool __bdev_dax_supported(struct block_d
|
||||
|
||||
return true;
|
||||
}
|
||||
+EXPORT_SYMBOL_GPL(__bdev_dax_supported_new);
|
||||
+
|
||||
+int __bdev_dax_supported(struct super_block *sb, int blocksize)
|
||||
+{
|
||||
+ return __bdev_dax_supported_new(sb->s_bdev, blocksize)
|
||||
+ ? 0 : -EOPNOTSUPP;
|
||||
+}
|
||||
EXPORT_SYMBOL_GPL(__bdev_dax_supported);
|
||||
#endif
|
||||
|
||||
--- a/include/linux/dax.h
|
||||
+++ b/include/linux/dax.h
|
||||
@@ -64,7 +64,9 @@ static inline bool dax_write_cache_enabl
|
||||
struct writeback_control;
|
||||
int bdev_dax_pgoff(struct block_device *, sector_t, size_t, pgoff_t *pgoff);
|
||||
#if IS_ENABLED(CONFIG_FS_DAX)
|
||||
-bool __bdev_dax_supported(struct block_device *bdev, int blocksize);
|
||||
+int __bdev_dax_supported(struct super_block *sb, int blocksize);
|
||||
+bool __bdev_dax_supported_new(struct block_device *bdev, int blocksize);
|
||||
+#define __bdev_dax_supported __bdev_dax_supported_new
|
||||
static inline bool bdev_dax_supported(struct block_device *bdev, int blocksize)
|
||||
{
|
||||
return __bdev_dax_supported(bdev, blocksize);
|
|
@ -1,80 +0,0 @@
|
|||
From: Ben Hutchings <ben@decadent.org.uk>
|
||||
Date: Thu, 12 Jul 2018 00:39:38 +0100
|
||||
Subject: HID: Avoid ABI change in 4.17.6
|
||||
Forwarded: not-needed
|
||||
|
||||
Commit 8f732850df1b "HID: core: allow concurrent registration of
|
||||
drivers" introduced atomic bit-operations on hid_device::status, and
|
||||
changed its type from unsigned int to unsigned long as required for
|
||||
those operations.
|
||||
|
||||
Revert the type change and use cmpxchg() for the bit-operations,
|
||||
since it supports unsigned int.
|
||||
|
||||
---
|
||||
--- a/drivers/hid/hid-core.c
|
||||
+++ b/drivers/hid/hid-core.c
|
||||
@@ -1929,6 +1929,34 @@ static int hid_bus_match(struct device *
|
||||
return hid_match_device(hdev, hdrv) != NULL;
|
||||
}
|
||||
|
||||
+static void clear_status_flag(unsigned int flag, unsigned int *status)
|
||||
+{
|
||||
+ unsigned int expect, old;
|
||||
+
|
||||
+ expect = READ_ONCE(*status);
|
||||
+ for (;;) {
|
||||
+ old = cmpxchg(status, expect, expect & ~flag);
|
||||
+ if (old == expect)
|
||||
+ break;
|
||||
+ expect = old;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+static bool test_and_set_status_flag(unsigned int flag, unsigned int *status)
|
||||
+{
|
||||
+ unsigned int expect, old;
|
||||
+
|
||||
+ expect = READ_ONCE(*status);
|
||||
+ for (;;) {
|
||||
+ old = cmpxchg(status, expect, expect | flag);
|
||||
+ if (old == expect)
|
||||
+ break;
|
||||
+ expect = old;
|
||||
+ }
|
||||
+
|
||||
+ return old & flag;
|
||||
+}
|
||||
+
|
||||
static int hid_device_probe(struct device *dev)
|
||||
{
|
||||
struct hid_driver *hdrv = to_hid_driver(dev->driver);
|
||||
@@ -1942,7 +1970,7 @@ static int hid_device_probe(struct devic
|
||||
}
|
||||
hdev->io_started = false;
|
||||
|
||||
- clear_bit(ffs(HID_STAT_REPROBED), &hdev->status);
|
||||
+ clear_status_flag(HID_STAT_REPROBED, &hdev->status);
|
||||
|
||||
if (!hdev->driver) {
|
||||
id = hid_match_device(hdev, hdrv);
|
||||
@@ -2208,7 +2236,7 @@ static int __hid_bus_reprobe_drivers(str
|
||||
|
||||
if (hdev->driver == hdrv &&
|
||||
!hdrv->match(hdev, hid_ignore_special_drivers) &&
|
||||
- !test_and_set_bit(ffs(HID_STAT_REPROBED), &hdev->status))
|
||||
+ !test_and_set_status_flag(HID_STAT_REPROBED, &hdev->status))
|
||||
return device_reprobe(dev);
|
||||
|
||||
return 0;
|
||||
--- a/include/linux/hid.h
|
||||
+++ b/include/linux/hid.h
|
||||
@@ -569,7 +569,7 @@ struct hid_device { /* device repo
|
||||
bool battery_avoid_query;
|
||||
#endif
|
||||
|
||||
- unsigned long status; /* see STAT flags above */
|
||||
+ unsigned int status; /* see STAT flags above */
|
||||
unsigned claimed; /* Claimed by hidinput, hiddev? */
|
||||
unsigned quirks; /* Various quirks the device can pull on us */
|
||||
bool io_started; /* If IO has started */
|
|
@ -1,24 +0,0 @@
|
|||
From: Ben Hutchings <ben@decadent.org.uk>
|
||||
Date: Sun, 15 Jul 2018 23:44:02 +0100
|
||||
Subject: init: Avoid ABI change for build salt
|
||||
Forwarded: not-needed
|
||||
|
||||
<linux/build-salt.h> indirectly includes <linux/elf.h>, which
|
||||
apparently adds some type definitions that change the symbol
|
||||
version for init_uts_ns.
|
||||
|
||||
Hide this change from genksyms.
|
||||
|
||||
---
|
||||
--- a/init/version.c
|
||||
+++ b/init/version.c
|
||||
@@ -7,7 +7,9 @@
|
||||
*/
|
||||
|
||||
#include <generated/compile.h>
|
||||
+#ifndef __GENKSYMS__
|
||||
#include <linux/build-salt.h>
|
||||
+#endif
|
||||
#include <linux/export.h>
|
||||
#include <linux/uts.h>
|
||||
#include <linux/utsname.h>
|
|
@ -160,6 +160,3 @@ bugfix/all/usbip-fix-misuse-of-strncpy.patch
|
|||
debian/wireless-disable-regulatory.db-direct-loading.patch
|
||||
|
||||
# ABI maintenance
|
||||
debian/hid-avoid-abi-change-in-4.17.6.patch
|
||||
debian/dax-avoid-abi-change-in-4.17.6.patch
|
||||
debian/init-avoid-abi-change-for-build-salt.patch
|
||||
|
|
Loading…
Reference in New Issue