mirror of
https://github.com/hak5/wifipineapple-openwrt.git
synced 2025-10-29 16:57:19 +00:00
CC: kernel: update kernel 3.18 to version 3.18.23
Changelog: * https://cdn.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.18.22 * https://cdn.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.18.23 backport of r47334. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@47335 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
@@ -88,7 +88,7 @@ Miklos
|
||||
err = PTR_ERR(opaquedir);
|
||||
--- a/fs/overlayfs/super.c
|
||||
+++ b/fs/overlayfs/super.c
|
||||
@@ -740,9 +740,15 @@ static int ovl_fill_super(struct super_b
|
||||
@@ -741,9 +741,15 @@ static int ovl_fill_super(struct super_b
|
||||
ufs->workdir = ovl_workdir_create(ufs->upper_mnt, workpath.dentry);
|
||||
err = PTR_ERR(ufs->workdir);
|
||||
if (IS_ERR(ufs->workdir)) {
|
||||
|
||||
@@ -116,7 +116,7 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
|
||||
static int spi_master_initialize_queue(struct spi_master *master)
|
||||
{
|
||||
int ret;
|
||||
@@ -2105,19 +2128,46 @@ static int __spi_sync(struct spi_device
|
||||
@@ -2104,19 +2127,46 @@ static int __spi_sync(struct spi_device
|
||||
DECLARE_COMPLETION_ONSTACK(done);
|
||||
int status;
|
||||
struct spi_master *master = spi->master;
|
||||
|
||||
@@ -72,7 +72,7 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
|
||||
static int spi_init_queue(struct spi_master *master)
|
||||
{
|
||||
struct sched_param param = { .sched_priority = MAX_RT_PRIO - 1 };
|
||||
@@ -2166,7 +2186,7 @@ static int __spi_sync(struct spi_device
|
||||
@@ -2165,7 +2185,7 @@ static int __spi_sync(struct spi_device
|
||||
* can.
|
||||
*/
|
||||
if (master->transfer == spi_queued_transfer)
|
||||
|
||||
@@ -83,7 +83,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
||||
if (!net_eq(dev_net(dev), sock_net(sk)))
|
||||
goto drop;
|
||||
|
||||
@@ -2809,6 +2811,7 @@ static int packet_create(struct net *net
|
||||
@@ -2807,6 +2809,7 @@ static int packet_create(struct net *net
|
||||
spin_lock_init(&po->bind_lock);
|
||||
mutex_init(&po->pg_vec_lock);
|
||||
po->prot_hook.func = packet_rcv;
|
||||
@@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
||||
|
||||
if (sock->type == SOCK_PACKET)
|
||||
po->prot_hook.func = packet_rcv_spkt;
|
||||
@@ -3389,6 +3392,16 @@ packet_setsockopt(struct socket *sock, i
|
||||
@@ -3387,6 +3390,16 @@ packet_setsockopt(struct socket *sock, i
|
||||
po->xmit = val ? packet_direct_xmit : dev_queue_xmit;
|
||||
return 0;
|
||||
}
|
||||
@@ -108,7 +108,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
||||
default:
|
||||
return -ENOPROTOOPT;
|
||||
}
|
||||
@@ -3440,6 +3453,13 @@ static int packet_getsockopt(struct sock
|
||||
@@ -3438,6 +3451,13 @@ static int packet_getsockopt(struct sock
|
||||
case PACKET_VNET_HDR:
|
||||
val = po->has_vnet_hdr;
|
||||
break;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- a/net/netlink/af_netlink.c
|
||||
+++ b/net/netlink/af_netlink.c
|
||||
@@ -1690,27 +1690,7 @@ void netlink_detachskb(struct sock *sk,
|
||||
@@ -1721,27 +1721,7 @@ void netlink_detachskb(struct sock *sk,
|
||||
|
||||
static struct sk_buff *netlink_trim(struct sk_buff *skb, gfp_t allocation)
|
||||
{
|
||||
|
||||
@@ -17,7 +17,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
||||
|
||||
--- a/net/core/dev.c
|
||||
+++ b/net/core/dev.c
|
||||
@@ -4001,6 +4001,9 @@ static enum gro_result dev_gro_receive(s
|
||||
@@ -4002,6 +4002,9 @@ static enum gro_result dev_gro_receive(s
|
||||
enum gro_result ret;
|
||||
int grow;
|
||||
|
||||
@@ -27,7 +27,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
||||
if (!(skb->dev->features & NETIF_F_GRO))
|
||||
goto normal;
|
||||
|
||||
@@ -5064,6 +5067,48 @@ static void __netdev_adjacent_dev_unlink
|
||||
@@ -5067,6 +5070,48 @@ static void __netdev_adjacent_dev_unlink
|
||||
&upper_dev->adj_list.lower);
|
||||
}
|
||||
|
||||
@@ -76,7 +76,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
||||
static int __netdev_upper_dev_link(struct net_device *dev,
|
||||
struct net_device *upper_dev, bool master,
|
||||
void *private)
|
||||
@@ -5124,6 +5169,7 @@ static int __netdev_upper_dev_link(struc
|
||||
@@ -5127,6 +5172,7 @@ static int __netdev_upper_dev_link(struc
|
||||
goto rollback_lower_mesh;
|
||||
}
|
||||
|
||||
@@ -84,7 +84,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
||||
call_netdevice_notifiers(NETDEV_CHANGEUPPER, dev);
|
||||
return 0;
|
||||
|
||||
@@ -5241,6 +5287,7 @@ void netdev_upper_dev_unlink(struct net_
|
||||
@@ -5244,6 +5290,7 @@ void netdev_upper_dev_unlink(struct net_
|
||||
list_for_each_entry(i, &upper_dev->all_adj_list.upper, list)
|
||||
__netdev_adjacent_dev_unlink(dev, i->dev);
|
||||
|
||||
@@ -92,7 +92,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
||||
call_netdevice_notifiers(NETDEV_CHANGEUPPER, dev);
|
||||
}
|
||||
EXPORT_SYMBOL(netdev_upper_dev_unlink);
|
||||
@@ -5760,6 +5807,7 @@ int dev_set_mac_address(struct net_devic
|
||||
@@ -5763,6 +5810,7 @@ int dev_set_mac_address(struct net_devic
|
||||
if (err)
|
||||
return err;
|
||||
dev->addr_assign_type = NET_ADDR_SET;
|
||||
@@ -102,7 +102,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
||||
return 0;
|
||||
--- a/include/linux/netdevice.h
|
||||
+++ b/include/linux/netdevice.h
|
||||
@@ -1548,6 +1548,8 @@ struct net_device {
|
||||
@@ -1556,6 +1556,8 @@ struct net_device {
|
||||
struct netdev_hw_addr_list mc;
|
||||
struct netdev_hw_addr_list dev_addrs;
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- a/include/linux/netdevice.h
|
||||
+++ b/include/linux/netdevice.h
|
||||
@@ -1220,6 +1220,7 @@ enum netdev_priv_flags {
|
||||
@@ -1228,6 +1228,7 @@ enum netdev_priv_flags {
|
||||
IFF_LIVE_ADDR_CHANGE = 1<<20,
|
||||
IFF_MACVLAN = 1<<21,
|
||||
IFF_XMIT_DST_RELEASE_PERM = 1<<22,
|
||||
@@ -8,7 +8,7 @@
|
||||
};
|
||||
|
||||
#define IFF_802_1Q_VLAN IFF_802_1Q_VLAN
|
||||
@@ -1245,6 +1246,7 @@ enum netdev_priv_flags {
|
||||
@@ -1253,6 +1254,7 @@ enum netdev_priv_flags {
|
||||
#define IFF_LIVE_ADDR_CHANGE IFF_LIVE_ADDR_CHANGE
|
||||
#define IFF_MACVLAN IFF_MACVLAN
|
||||
#define IFF_XMIT_DST_RELEASE_PERM IFF_XMIT_DST_RELEASE_PERM
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
/**
|
||||
* struct net_device - The DEVICE structure.
|
||||
@@ -1515,6 +1517,11 @@ struct net_device {
|
||||
@@ -1523,6 +1525,11 @@ struct net_device {
|
||||
const struct ethtool_ops *ethtool_ops;
|
||||
const struct forwarding_accel_ops *fwd_ops;
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
const struct header_ops *header_ops;
|
||||
|
||||
unsigned int flags;
|
||||
@@ -1579,6 +1586,10 @@ struct net_device {
|
||||
@@ -1587,6 +1594,10 @@ struct net_device {
|
||||
void *ax25_ptr;
|
||||
struct wireless_dev *ieee80211_ptr;
|
||||
|
||||
|
||||
@@ -113,8 +113,6 @@ Date: Fri Sep 18 00:19:08 2015 +0100
|
||||
|
||||
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
diff --git a/drivers/net/ethernet/realtek/8139cp.c b/drivers/net/ethernet/realtek/8139cp.c
|
||||
index d79e33b..686334f 100644
|
||||
--- a/drivers/net/ethernet/realtek/8139cp.c
|
||||
+++ b/drivers/net/ethernet/realtek/8139cp.c
|
||||
@@ -157,6 +157,7 @@ enum {
|
||||
@@ -133,7 +131,7 @@ index d79e33b..686334f 100644
|
||||
|
||||
unsigned rx_buf_sz;
|
||||
unsigned wol_enabled : 1; /* Is Wake-on-LAN enabled? */
|
||||
@@ -665,7 +667,7 @@ static void cp_tx (struct cp_private *cp)
|
||||
@@ -665,7 +667,7 @@ static void cp_tx (struct cp_private *cp
|
||||
BUG_ON(!skb);
|
||||
|
||||
dma_unmap_single(&cp->pdev->dev, le64_to_cpu(txd->addr),
|
||||
@@ -142,7 +140,7 @@ index d79e33b..686334f 100644
|
||||
PCI_DMA_TODEVICE);
|
||||
|
||||
if (status & LastFrag) {
|
||||
@@ -733,7 +735,7 @@ static netdev_tx_t cp_start_xmit (struct sk_buff *skb,
|
||||
@@ -733,7 +735,7 @@ static netdev_tx_t cp_start_xmit (struct
|
||||
{
|
||||
struct cp_private *cp = netdev_priv(dev);
|
||||
unsigned entry;
|
||||
@@ -151,7 +149,7 @@ index d79e33b..686334f 100644
|
||||
unsigned long intr_flags;
|
||||
__le32 opts2;
|
||||
int mss = 0;
|
||||
@@ -753,6 +755,21 @@ static netdev_tx_t cp_start_xmit (struct sk_buff *skb,
|
||||
@@ -753,6 +755,21 @@ static netdev_tx_t cp_start_xmit (struct
|
||||
mss = skb_shinfo(skb)->gso_size;
|
||||
|
||||
opts2 = cpu_to_le32(cp_tx_vlan_tag(skb));
|
||||
@@ -173,7 +171,7 @@ index d79e33b..686334f 100644
|
||||
|
||||
if (skb_shinfo(skb)->nr_frags == 0) {
|
||||
struct cp_desc *txd = &cp->tx_ring[entry];
|
||||
@@ -768,31 +785,20 @@ static netdev_tx_t cp_start_xmit (struct sk_buff *skb,
|
||||
@@ -768,31 +785,20 @@ static netdev_tx_t cp_start_xmit (struct
|
||||
txd->addr = cpu_to_le64(mapping);
|
||||
wmb();
|
||||
|
||||
@@ -211,7 +209,7 @@ index d79e33b..686334f 100644
|
||||
|
||||
/* We must give this initial chunk to the device last.
|
||||
* Otherwise we could race with the device.
|
||||
@@ -805,14 +811,14 @@ static netdev_tx_t cp_start_xmit (struct sk_buff *skb,
|
||||
@@ -805,14 +811,14 @@ static netdev_tx_t cp_start_xmit (struct
|
||||
goto out_dma_error;
|
||||
|
||||
cp->tx_skb[entry] = skb;
|
||||
@@ -228,7 +226,7 @@ index d79e33b..686334f 100644
|
||||
len = skb_frag_size(this_frag);
|
||||
mapping = dma_map_single(&cp->pdev->dev,
|
||||
skb_frag_address(this_frag),
|
||||
@@ -824,19 +830,7 @@ static netdev_tx_t cp_start_xmit (struct sk_buff *skb,
|
||||
@@ -824,19 +830,7 @@ static netdev_tx_t cp_start_xmit (struct
|
||||
|
||||
eor = (entry == (CP_TX_RING_SIZE - 1)) ? RingEnd : 0;
|
||||
|
||||
@@ -249,7 +247,7 @@ index d79e33b..686334f 100644
|
||||
|
||||
if (frag == skb_shinfo(skb)->nr_frags - 1)
|
||||
ctrl |= LastFrag;
|
||||
@@ -849,8 +843,8 @@ static netdev_tx_t cp_start_xmit (struct sk_buff *skb,
|
||||
@@ -849,8 +843,8 @@ static netdev_tx_t cp_start_xmit (struct
|
||||
txd->opts1 = cpu_to_le32(ctrl);
|
||||
wmb();
|
||||
|
||||
@@ -259,7 +257,7 @@ index d79e33b..686334f 100644
|
||||
}
|
||||
|
||||
txd = &cp->tx_ring[first_entry];
|
||||
@@ -858,27 +852,17 @@ static netdev_tx_t cp_start_xmit (struct sk_buff *skb,
|
||||
@@ -858,27 +852,17 @@ static netdev_tx_t cp_start_xmit (struct
|
||||
txd->addr = cpu_to_le64(first_mapping);
|
||||
wmb();
|
||||
|
||||
@@ -294,7 +292,7 @@ index d79e33b..686334f 100644
|
||||
if (TX_BUFFS_AVAIL(cp) <= (MAX_SKB_FRAGS + 1))
|
||||
netif_stop_queue(dev);
|
||||
|
||||
@@ -1115,6 +1099,7 @@ static int cp_init_rings (struct cp_private *cp)
|
||||
@@ -1115,6 +1099,7 @@ static int cp_init_rings (struct cp_priv
|
||||
{
|
||||
memset(cp->tx_ring, 0, sizeof(struct cp_desc) * CP_TX_RING_SIZE);
|
||||
cp->tx_ring[CP_TX_RING_SIZE - 1].opts1 = cpu_to_le32(RingEnd);
|
||||
@@ -302,7 +300,7 @@ index d79e33b..686334f 100644
|
||||
|
||||
cp_init_rings_index(cp);
|
||||
|
||||
@@ -1151,7 +1136,7 @@ static void cp_clean_rings (struct cp_private *cp)
|
||||
@@ -1151,7 +1136,7 @@ static void cp_clean_rings (struct cp_pr
|
||||
desc = cp->rx_ring + i;
|
||||
dma_unmap_single(&cp->pdev->dev,le64_to_cpu(desc->addr),
|
||||
cp->rx_buf_sz, PCI_DMA_FROMDEVICE);
|
||||
@@ -311,7 +309,7 @@ index d79e33b..686334f 100644
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1164,7 +1149,7 @@ static void cp_clean_rings (struct cp_private *cp)
|
||||
@@ -1164,7 +1149,7 @@ static void cp_clean_rings (struct cp_pr
|
||||
le32_to_cpu(desc->opts1) & 0xffff,
|
||||
PCI_DMA_TODEVICE);
|
||||
if (le32_to_cpu(desc->opts1) & LastFrag)
|
||||
@@ -320,7 +318,7 @@ index d79e33b..686334f 100644
|
||||
cp->dev->stats.tx_dropped++;
|
||||
}
|
||||
}
|
||||
@@ -1172,6 +1157,7 @@ static void cp_clean_rings (struct cp_private *cp)
|
||||
@@ -1172,6 +1157,7 @@ static void cp_clean_rings (struct cp_pr
|
||||
|
||||
memset(cp->rx_ring, 0, sizeof(struct cp_desc) * CP_RX_RING_SIZE);
|
||||
memset(cp->tx_ring, 0, sizeof(struct cp_desc) * CP_TX_RING_SIZE);
|
||||
@@ -328,7 +326,7 @@ index d79e33b..686334f 100644
|
||||
|
||||
memset(cp->rx_skb, 0, sizeof(struct sk_buff *) * CP_RX_RING_SIZE);
|
||||
memset(cp->tx_skb, 0, sizeof(struct sk_buff *) * CP_TX_RING_SIZE);
|
||||
@@ -1249,7 +1235,7 @@ static void cp_tx_timeout(struct net_device *dev)
|
||||
@@ -1249,7 +1235,7 @@ static void cp_tx_timeout(struct net_dev
|
||||
{
|
||||
struct cp_private *cp = netdev_priv(dev);
|
||||
unsigned long flags;
|
||||
@@ -337,7 +335,7 @@ index d79e33b..686334f 100644
|
||||
|
||||
netdev_warn(dev, "Transmit timeout, status %2x %4x %4x %4x\n",
|
||||
cpr8(Cmd), cpr16(CpCmd),
|
||||
@@ -1257,13 +1243,26 @@ static void cp_tx_timeout(struct net_device *dev)
|
||||
@@ -1257,13 +1243,26 @@ static void cp_tx_timeout(struct net_dev
|
||||
|
||||
spin_lock_irqsave(&cp->lock, flags);
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
/* The Mellanox Tavor device gives false positive parity errors
|
||||
* Mark this device with a broken_parity_status, to allow
|
||||
* PCI scanning code to "skip" this now blacklisted device.
|
||||
@@ -2905,6 +2906,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
|
||||
@@ -2908,6 +2909,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
|
||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65f9, quirk_intel_mc_errata);
|
||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65fa, quirk_intel_mc_errata);
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
|
||||
/*
|
||||
* Ivytown NTB BAR sizes are misreported by the hardware due to an erratum. To
|
||||
@@ -2961,6 +2963,8 @@ static void fixup_debug_report(struct pc
|
||||
@@ -2964,6 +2966,8 @@ static void fixup_debug_report(struct pc
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
/*
|
||||
* Some BIOS implementations leave the Intel GPU interrupts enabled,
|
||||
* even though no one is handling them (f.e. i915 driver is never loaded).
|
||||
@@ -2995,6 +2999,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
|
||||
@@ -2998,6 +3002,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
|
||||
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x010a, disable_igfx_irq);
|
||||
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq);
|
||||
|
||||
|
||||
@@ -69,7 +69,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
/**
|
||||
* ata_build_rw_tf - Build ATA taskfile for given read/write request
|
||||
* @tf: Target ATA taskfile
|
||||
@@ -4798,6 +4811,9 @@ static struct ata_queued_cmd *ata_qc_new
|
||||
@@ -4800,6 +4813,9 @@ static struct ata_queued_cmd *ata_qc_new
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -79,7 +79,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
|
||||
return qc;
|
||||
}
|
||||
@@ -5708,6 +5724,9 @@ struct ata_port *ata_port_alloc(struct a
|
||||
@@ -5710,6 +5726,9 @@ struct ata_port *ata_port_alloc(struct a
|
||||
ap->stats.unhandled_irq = 1;
|
||||
ap->stats.idle_irq = 1;
|
||||
#endif
|
||||
@@ -89,7 +89,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
ata_sff_port_init(ap);
|
||||
|
||||
return ap;
|
||||
@@ -5729,6 +5748,12 @@ static void ata_host_release(struct devi
|
||||
@@ -5731,6 +5750,12 @@ static void ata_host_release(struct devi
|
||||
|
||||
kfree(ap->pmp_link);
|
||||
kfree(ap->slave_link);
|
||||
@@ -102,7 +102,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
kfree(ap);
|
||||
host->ports[i] = NULL;
|
||||
}
|
||||
@@ -6175,7 +6200,23 @@ int ata_host_register(struct ata_host *h
|
||||
@@ -6177,7 +6202,23 @@ int ata_host_register(struct ata_host *h
|
||||
host->ports[i]->print_id = atomic_inc_return(&ata_print_id);
|
||||
host->ports[i]->local_port_no = i + 1;
|
||||
}
|
||||
|
||||
@@ -79,17 +79,17 @@
|
||||
}
|
||||
--- a/kernel/irq/proc.c
|
||||
+++ b/kernel/irq/proc.c
|
||||
@@ -328,6 +328,9 @@ void register_irq_proc(unsigned int irq,
|
||||
{
|
||||
@@ -330,6 +330,9 @@ void register_irq_proc(unsigned int irq,
|
||||
static DEFINE_MUTEX(register_lock);
|
||||
char name [MAX_NAMELEN];
|
||||
|
||||
+ if (IS_ENABLED(CONFIG_PROC_STRIPPED) && !IS_ENABLED(CONFIG_SMP))
|
||||
+ return;
|
||||
+
|
||||
if (!root_irq_dir || (desc->irq_data.chip == &no_irq_chip) || desc->dir)
|
||||
if (!root_irq_dir || (desc->irq_data.chip == &no_irq_chip))
|
||||
return;
|
||||
|
||||
@@ -364,6 +367,9 @@ void unregister_irq_proc(unsigned int ir
|
||||
@@ -379,6 +382,9 @@ void unregister_irq_proc(unsigned int ir
|
||||
{
|
||||
char name [MAX_NAMELEN];
|
||||
|
||||
@@ -99,7 +99,7 @@
|
||||
if (!root_irq_dir || !desc->dir)
|
||||
return;
|
||||
#ifdef CONFIG_SMP
|
||||
@@ -399,6 +405,9 @@ void init_irq_proc(void)
|
||||
@@ -414,6 +420,9 @@ void init_irq_proc(void)
|
||||
unsigned int irq;
|
||||
struct irq_desc *desc;
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
endif
|
||||
--- a/include/linux/fs.h
|
||||
+++ b/include/linux/fs.h
|
||||
@@ -2530,12 +2530,25 @@ enum {
|
||||
@@ -2528,12 +2528,25 @@ enum {
|
||||
DIO_ASYNC_EXTEND = 0x04,
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user