kernel: bump 4.9 to 4.9.212

Refreshed all patches.

Fixes:
- CVE-2019-14896
- CVE-2019-14897

Compile-tested on: ar71xx
Runtime-tested on: ar71xx

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
This commit is contained in:
Koen Vandeputte 2020-02-04 10:41:29 +01:00
parent 6bfde67581
commit c236071859
12 changed files with 54 additions and 54 deletions

View File

@ -2,10 +2,10 @@
LINUX_RELEASE?=1
LINUX_VERSION-4.9 = .211
LINUX_VERSION-4.9 = .212
LINUX_VERSION-4.14 = .167
LINUX_KERNEL_HASH-4.9.211 = 2597608d5d974cfdc015eaf6a4197b36f19d722b8a309b57e741fb02e311b1be
LINUX_KERNEL_HASH-4.9.212 = ade738a606c9b52ecf764e94b4e77116caa3a2b8abd30f4534d220ac6894be30
LINUX_KERNEL_HASH-4.14.167 = 2bb78fc7a902faf4f5dad47fdbc2f4bf3df3cf9b41f408e7260f36656659fe43
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))

View File

@ -15,7 +15,7 @@
--- a/drivers/net/phy/phy_device.c
+++ b/drivers/net/phy/phy_device.c
@@ -1315,6 +1315,9 @@ int genphy_update_link(struct phy_device
@@ -1316,6 +1316,9 @@ int genphy_update_link(struct phy_device
{
int status;

View File

@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
#define PACKET_FANOUT_LB 1
--- a/net/packet/af_packet.c
+++ b/net/packet/af_packet.c
@@ -1781,6 +1781,7 @@ static int packet_rcv_spkt(struct sk_buf
@@ -1787,6 +1787,7 @@ static int packet_rcv_spkt(struct sk_buf
{
struct sock *sk;
struct sockaddr_pkt *spkt;
@ -38,7 +38,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
/*
* When we registered the protocol we saved the socket in the data
@@ -1788,6 +1789,7 @@ static int packet_rcv_spkt(struct sk_buf
@@ -1794,6 +1795,7 @@ static int packet_rcv_spkt(struct sk_buf
*/
sk = pt->af_packet_priv;
@ -46,7 +46,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
/*
* Yank back the headers [hope the device set this
@@ -1800,7 +1802,7 @@ static int packet_rcv_spkt(struct sk_buf
@@ -1806,7 +1808,7 @@ static int packet_rcv_spkt(struct sk_buf
* so that this procedure is noop.
*/
@ -55,7 +55,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
goto out;
if (!net_eq(dev_net(dev), sock_net(sk)))
@@ -2038,12 +2040,12 @@ static int packet_rcv(struct sk_buff *sk
@@ -2044,12 +2046,12 @@ static int packet_rcv(struct sk_buff *sk
unsigned int snaplen, res;
bool is_drop_n_account = false;
@ -71,7 +71,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (!net_eq(dev_net(dev), sock_net(sk)))
goto drop;
@@ -2169,12 +2171,12 @@ static int tpacket_rcv(struct sk_buff *s
@@ -2175,12 +2177,12 @@ static int tpacket_rcv(struct sk_buff *s
BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h2)) != 32);
BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h3)) != 48);
@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (!net_eq(dev_net(dev), sock_net(sk)))
goto drop;
@@ -3292,6 +3294,7 @@ static int packet_create(struct net *net
@@ -3298,6 +3300,7 @@ static int packet_create(struct net *net
mutex_init(&po->pg_vec_lock);
po->rollover = NULL;
po->prot_hook.func = packet_rcv;
@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (sock->type == SOCK_PACKET)
po->prot_hook.func = packet_rcv_spkt;
@@ -3905,6 +3908,16 @@ packet_setsockopt(struct socket *sock, i
@@ -3920,6 +3923,16 @@ packet_setsockopt(struct socket *sock, i
po->xmit = val ? packet_direct_xmit : dev_queue_xmit;
return 0;
}
@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
default:
return -ENOPROTOOPT;
}
@@ -3957,6 +3970,13 @@ static int packet_getsockopt(struct sock
@@ -3972,6 +3985,13 @@ static int packet_getsockopt(struct sock
case PACKET_VNET_HDR:
val = po->has_vnet_hdr;
break;

View File

@ -350,7 +350,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
memcpy(p->name, u->name, sizeof(u->name));
}
@@ -1904,6 +2066,15 @@ static int ip6_tnl_validate(struct nlatt
@@ -1902,6 +2064,15 @@ static int ip6_tnl_validate(struct nlatt
return 0;
}
@ -366,7 +366,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
static void ip6_tnl_netlink_parms(struct nlattr *data[],
struct __ip6_tnl_parm *parms)
{
@@ -1938,6 +2109,46 @@ static void ip6_tnl_netlink_parms(struct
@@ -1936,6 +2107,46 @@ static void ip6_tnl_netlink_parms(struct
if (data[IFLA_IPTUN_COLLECT_METADATA])
parms->collect_md = true;
@ -413,7 +413,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
}
static bool ip6_tnl_netlink_encap_parms(struct nlattr *data[],
@@ -2051,6 +2262,12 @@ static void ip6_tnl_dellink(struct net_d
@@ -2049,6 +2260,12 @@ static void ip6_tnl_dellink(struct net_d
static size_t ip6_tnl_get_size(const struct net_device *dev)
{
@ -426,7 +426,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
return
/* IFLA_IPTUN_LINK */
nla_total_size(4) +
@@ -2078,6 +2295,24 @@ static size_t ip6_tnl_get_size(const str
@@ -2076,6 +2293,24 @@ static size_t ip6_tnl_get_size(const str
nla_total_size(2) +
/* IFLA_IPTUN_COLLECT_METADATA */
nla_total_size(0) +
@ -451,7 +451,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
0;
}
@@ -2085,6 +2320,9 @@ static int ip6_tnl_fill_info(struct sk_b
@@ -2083,6 +2318,9 @@ static int ip6_tnl_fill_info(struct sk_b
{
struct ip6_tnl *tunnel = netdev_priv(dev);
struct __ip6_tnl_parm *parm = &tunnel->parms;
@ -461,7 +461,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
if (nla_put_u32(skb, IFLA_IPTUN_LINK, parm->link) ||
nla_put_in6_addr(skb, IFLA_IPTUN_LOCAL, &parm->laddr) ||
@@ -2093,9 +2331,27 @@ static int ip6_tnl_fill_info(struct sk_b
@@ -2091,9 +2329,27 @@ static int ip6_tnl_fill_info(struct sk_b
nla_put_u8(skb, IFLA_IPTUN_ENCAP_LIMIT, parm->encap_limit) ||
nla_put_be32(skb, IFLA_IPTUN_FLOWINFO, parm->flowinfo) ||
nla_put_u32(skb, IFLA_IPTUN_FLAGS, parm->flags) ||
@ -490,7 +490,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
if (nla_put_u16(skb, IFLA_IPTUN_ENCAP_TYPE, tunnel->encap.type) ||
nla_put_be16(skb, IFLA_IPTUN_ENCAP_SPORT, tunnel->encap.sport) ||
nla_put_be16(skb, IFLA_IPTUN_ENCAP_DPORT, tunnel->encap.dport) ||
@@ -2133,6 +2389,7 @@ static const struct nla_policy ip6_tnl_p
@@ -2131,6 +2387,7 @@ static const struct nla_policy ip6_tnl_p
[IFLA_IPTUN_ENCAP_SPORT] = { .type = NLA_U16 },
[IFLA_IPTUN_ENCAP_DPORT] = { .type = NLA_U16 },
[IFLA_IPTUN_COLLECT_METADATA] = { .type = NLA_FLAG },

View File

@ -9,7 +9,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
@@ -472,6 +472,50 @@ int phy_ethtool_ksettings_get(struct phy
@@ -473,6 +473,50 @@ int phy_ethtool_ksettings_get(struct phy
}
EXPORT_SYMBOL(phy_ethtool_ksettings_get);

View File

@ -11,7 +11,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
--- a/drivers/net/phy/phy_device.c
+++ b/drivers/net/phy/phy_device.c
@@ -1004,6 +1004,9 @@ void phy_detach(struct phy_device *phyde
@@ -1005,6 +1005,9 @@ void phy_detach(struct phy_device *phyde
struct mii_bus *bus;
int i;

View File

@ -11,7 +11,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
@@ -1038,7 +1038,8 @@ void phy_state_machine(struct work_struc
@@ -1039,7 +1039,8 @@ void phy_state_machine(struct work_struc
/* If the link is down, give up on negotiation for now */
if (!phydev->link) {
phydev->state = PHY_NOLINK;
@ -21,7 +21,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
phydev->adjust_link(phydev->attached_dev);
break;
}
@@ -1130,7 +1131,8 @@ void phy_state_machine(struct work_struc
@@ -1131,7 +1132,8 @@ void phy_state_machine(struct work_struc
netif_carrier_on(phydev->attached_dev);
} else {
phydev->state = PHY_NOLINK;
@ -31,7 +31,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
}
phydev->adjust_link(phydev->attached_dev);
@@ -1142,7 +1144,8 @@ void phy_state_machine(struct work_struc
@@ -1143,7 +1145,8 @@ void phy_state_machine(struct work_struc
case PHY_HALTED:
if (phydev->link) {
phydev->link = 0;

View File

@ -197,7 +197,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
+EXPORT_SYMBOL_GPL(soc_device_match);
--- a/include/linux/device.h
+++ b/include/linux/device.h
@@ -688,6 +688,25 @@ void __iomem *devm_ioremap_resource(stru
@@ -689,6 +689,25 @@ void __iomem *devm_ioremap_resource(stru
int devm_add_action(struct device *dev, void (*action)(void *), void *data);
void devm_remove_action(struct device *dev, void (*action)(void *), void *data);

View File

@ -255,9 +255,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
+};
+
&enet0 {
tbi-handle = <&tbi1>;
tbi-handle = <&tbi0>;
phy-handle = <&sgmii_phy2>;
@@ -228,6 +241,10 @@
@@ -235,6 +248,10 @@
};
};
@ -268,7 +268,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
&sai1 {
status = "okay";
};
@@ -243,3 +260,11 @@
@@ -250,3 +267,11 @@
&uart1 {
status = "okay";
};
@ -597,7 +597,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
clock-names = "dcu", "pix";
big-endian;
status = "disabled";
@@ -626,6 +643,8 @@
@@ -635,6 +652,8 @@
interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
dr_mode = "host";
snps,quirk-frame-length-adjustment = <0x20>;
@ -606,7 +606,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
snps,dis_rxdet_inp3_quirk;
};
@@ -634,7 +653,9 @@
@@ -643,7 +662,9 @@
reg = <0x00 0x03400000 0x0 0x00010000 /* controller registers */
0x40 0x00000000 0x0 0x00002000>; /* configuration space */
reg-names = "regs", "config";
@ -617,7 +617,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
fsl,pcie-scfg = <&scfg 0>;
#address-cells = <3>;
#size-cells = <2>;
@@ -643,7 +664,7 @@
@@ -652,7 +673,7 @@
bus-range = <0x0 0xff>;
ranges = <0x81000000 0x0 0x00000000 0x40 0x00010000 0x0 0x00010000 /* downstream I/O */
0x82000000 0x0 0x40000000 0x40 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
@ -626,7 +626,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
#interrupt-cells = <1>;
interrupt-map-mask = <0 0 0 7>;
interrupt-map = <0000 0 0 1 &gic GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>,
@@ -657,7 +678,9 @@
@@ -666,7 +687,9 @@
reg = <0x00 0x03500000 0x0 0x00010000 /* controller registers */
0x48 0x00000000 0x0 0x00002000>; /* configuration space */
reg-names = "regs", "config";
@ -637,7 +637,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
fsl,pcie-scfg = <&scfg 1>;
#address-cells = <3>;
#size-cells = <2>;
@@ -666,7 +689,7 @@
@@ -675,7 +698,7 @@
bus-range = <0x0 0xff>;
ranges = <0x81000000 0x0 0x00000000 0x48 0x00010000 0x0 0x00010000 /* downstream I/O */
0x82000000 0x0 0x40000000 0x48 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
@ -646,7 +646,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
#interrupt-cells = <1>;
interrupt-map-mask = <0 0 0 7>;
interrupt-map = <0000 0 0 1 &gic GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>,
@@ -674,5 +697,45 @@
@@ -683,5 +706,45 @@
<0000 0 0 3 &gic GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>,
<0000 0 0 4 &gic GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>;
};

View File

@ -1607,7 +1607,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
+MODULE_LICENSE("GPL v2");
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
@@ -591,7 +591,7 @@ int phy_mii_ioctl(struct phy_device *phy
@@ -592,7 +592,7 @@ int phy_mii_ioctl(struct phy_device *phy
return 0;
case SIOCSHWTSTAMP:
@ -1616,7 +1616,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
return phydev->drv->hwtstamp(phydev, ifr);
/* fall through */
@@ -616,6 +616,9 @@ static int phy_start_aneg_priv(struct ph
@@ -617,6 +617,9 @@ static int phy_start_aneg_priv(struct ph
bool trigger = 0;
int err;
@ -1626,7 +1626,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
mutex_lock(&phydev->lock);
if (AUTONEG_DISABLE == phydev->autoneg)
@@ -1015,7 +1018,7 @@ void phy_state_machine(struct work_struc
@@ -1016,7 +1019,7 @@ void phy_state_machine(struct work_struc
old_state = phydev->state;
@ -1635,7 +1635,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
phydev->drv->link_change_notify(phydev);
switch (phydev->state) {
@@ -1317,6 +1320,9 @@ EXPORT_SYMBOL(phy_write_mmd_indirect);
@@ -1318,6 +1321,9 @@ EXPORT_SYMBOL(phy_write_mmd_indirect);
*/
int phy_init_eee(struct phy_device *phydev, bool clk_stop_enable)
{
@ -1645,7 +1645,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
/* According to 802.3az,the EEE is supported only in full duplex-mode.
* Also EEE feature is active when core is operating with MII, GMII
* or RGMII (all kinds). Internal PHYs are also allowed to proceed and
@@ -1394,6 +1400,9 @@ EXPORT_SYMBOL(phy_init_eee);
@@ -1395,6 +1401,9 @@ EXPORT_SYMBOL(phy_init_eee);
*/
int phy_get_eee_err(struct phy_device *phydev)
{
@ -1655,7 +1655,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
return phy_read_mmd_indirect(phydev, MDIO_PCS_EEE_WK_ERR, MDIO_MMD_PCS);
}
EXPORT_SYMBOL(phy_get_eee_err);
@@ -1410,6 +1419,9 @@ int phy_ethtool_get_eee(struct phy_devic
@@ -1411,6 +1420,9 @@ int phy_ethtool_get_eee(struct phy_devic
{
int val;
@ -1665,7 +1665,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
/* Get Supported EEE */
val = phy_read_mmd_indirect(phydev, MDIO_PCS_EEE_ABLE, MDIO_MMD_PCS);
if (val < 0)
@@ -1443,6 +1455,9 @@ int phy_ethtool_set_eee(struct phy_devic
@@ -1444,6 +1456,9 @@ int phy_ethtool_set_eee(struct phy_devic
{
int val = ethtool_adv_to_mmd_eee_adv_t(data->advertised);
@ -1675,7 +1675,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
/* Mask prohibited EEE modes */
val &= ~phydev->eee_broken_modes;
@@ -1454,7 +1469,7 @@ EXPORT_SYMBOL(phy_ethtool_set_eee);
@@ -1455,7 +1470,7 @@ EXPORT_SYMBOL(phy_ethtool_set_eee);
int phy_ethtool_set_wol(struct phy_device *phydev, struct ethtool_wolinfo *wol)
{
@ -1684,7 +1684,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
return phydev->drv->set_wol(phydev, wol);
return -EOPNOTSUPP;
@@ -1463,7 +1478,7 @@ EXPORT_SYMBOL(phy_ethtool_set_wol);
@@ -1464,7 +1479,7 @@ EXPORT_SYMBOL(phy_ethtool_set_wol);
void phy_ethtool_get_wol(struct phy_device *phydev, struct ethtool_wolinfo *wol)
{
@ -1695,7 +1695,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
EXPORT_SYMBOL(phy_ethtool_get_wol);
--- a/drivers/net/phy/phy_device.c
+++ b/drivers/net/phy/phy_device.c
@@ -1049,7 +1049,7 @@ int phy_suspend(struct phy_device *phyde
@@ -1050,7 +1050,7 @@ int phy_suspend(struct phy_device *phyde
if (wol.wolopts)
return -EBUSY;
@ -1704,7 +1704,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
ret = phydrv->suspend(phydev);
if (ret)
@@ -1066,7 +1066,7 @@ int phy_resume(struct phy_device *phydev
@@ -1067,7 +1067,7 @@ int phy_resume(struct phy_device *phydev
struct phy_driver *phydrv = to_phy_driver(phydev->mdio.dev.driver);
int ret = 0;
@ -1713,7 +1713,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
ret = phydrv->resume(phydev);
if (ret)
@@ -1723,7 +1723,7 @@ static int phy_remove(struct device *dev
@@ -1724,7 +1724,7 @@ static int phy_remove(struct device *dev
phydev->state = PHY_DOWN;
mutex_unlock(&phydev->lock);

View File

@ -301,7 +301,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
default:
goto bad_args;
}
@@ -1253,6 +1398,7 @@ static void __init clockgen_init(struct
@@ -1254,6 +1399,7 @@ static void __init clockgen_init(struct
clockgen.info.flags |= CG_CMUX_GE_PLAT;
clockgen.sysclk = create_sysclk("cg-sysclk");
@ -309,7 +309,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
create_plls(&clockgen);
create_muxes(&clockgen);
@@ -1273,8 +1419,11 @@ err:
@@ -1274,8 +1420,11 @@ err:
CLK_OF_DECLARE(qoriq_clockgen_1, "fsl,qoriq-clockgen-1.0", clockgen_init);
CLK_OF_DECLARE(qoriq_clockgen_2, "fsl,qoriq-clockgen-2.0", clockgen_init);

View File

@ -34,7 +34,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
return entry->group;
}
@@ -3197,9 +3199,10 @@ static bool amd_iommu_capable(enum iommu
@@ -3199,9 +3201,10 @@ static bool amd_iommu_capable(enum iommu
return false;
}
@ -47,7 +47,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
struct unity_map_entry *entry;
int devid;
@@ -3208,41 +3211,56 @@ static void amd_iommu_get_dm_regions(str
@@ -3210,41 +3213,56 @@ static void amd_iommu_get_dm_regions(str
return;
list_for_each_entry(entry, &amd_iommu_unity_map, list) {
@ -118,7 +118,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
{
struct dma_ops_domain *dma_dom = to_dma_ops_domain(to_pdomain(domain));
unsigned long start, end;
@@ -3266,9 +3284,9 @@ static const struct iommu_ops amd_iommu_
@@ -3268,9 +3286,9 @@ static const struct iommu_ops amd_iommu_
.add_device = amd_iommu_add_device,
.remove_device = amd_iommu_remove_device,
.device_group = amd_iommu_device_group,
@ -995,7 +995,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
};
struct dmar_atsr_unit {
@@ -4268,27 +4269,40 @@ static inline void init_iommu_pm_ops(voi
@@ -4271,27 +4272,40 @@ static inline void init_iommu_pm_ops(voi
int __init dmar_parse_one_rmrr(struct acpi_dmar_header *header, void *arg)
{
struct acpi_dmar_reserved_memory *rmrr;
@ -1041,7 +1041,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
}
static struct dmar_atsr_unit *dmar_find_atsr(struct acpi_dmar_atsr *atsr)
@@ -4502,6 +4516,7 @@ static void intel_iommu_free_dmars(void)
@@ -4505,6 +4519,7 @@ static void intel_iommu_free_dmars(void)
list_for_each_entry_safe(rmrru, rmrr_n, &dmar_rmrr_units, list) {
list_del(&rmrru->list);
dmar_free_dev_scope(&rmrru->devices, &rmrru->devices_cnt);
@ -1049,7 +1049,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
kfree(rmrru);
}
@@ -5240,6 +5255,45 @@ static void intel_iommu_remove_device(st
@@ -5243,6 +5258,45 @@ static void intel_iommu_remove_device(st
iommu_device_unlink(iommu->iommu_dev, dev);
}
@ -1095,7 +1095,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
#ifdef CONFIG_INTEL_IOMMU_SVM
#define MAX_NR_PASID_BITS (20)
static inline unsigned long intel_iommu_get_pts(struct intel_iommu *iommu)
@@ -5370,19 +5424,21 @@ struct intel_iommu *intel_svm_device_to_
@@ -5373,19 +5427,21 @@ struct intel_iommu *intel_svm_device_to_
#endif /* CONFIG_INTEL_IOMMU_SVM */
static const struct iommu_ops intel_iommu_ops = {