Merge pull request #721 from ertugerata/kernel-4.14

Kernel 4.14.55 last LTS kernel
This commit is contained in:
Ertuğrul Erata
2018-07-12 20:50:46 +03:00
committed by GitHub
15 changed files with 292 additions and 32 deletions
+1 -1
View File
@@ -15,7 +15,7 @@ import lzma
import piksemel
pisirepouri = "http://ciftlik.pisilinux.org/2.0-Beta.1/pisi-index.xml.xz"
pisirepouri = "file:///home/ertugerata/Works/2.0-Beta.1/pisi-index.xml.xz"
svnrepouri = "https://github.com/ertugerata/core/raw/master/pisi-index.xml.xz"
def getIndex(uri):
+3 -3
View File
@@ -13,7 +13,7 @@
<Summary>Kernel module allowing to switch dedicated graphics card on Optimus laptops</Summary>
<Description>kernel module allowing to switch dedicated graphics card on Optimus laptops</Description>
<BuildDependencies>
<Dependency version="4.14.48">kernel-module-headers</Dependency>
<Dependency version="4.14.55">kernel-module-headers</Dependency>
</BuildDependencies>
<Archive sha1sum="e282ee682d794e3962baa4dead01917c42571e78" type="targz">https://github.com/Bumblebee-Project/bbswitch/archive/v0.8.tar.gz</Archive>
<Patches>
@@ -22,7 +22,7 @@
<Package>
<Name>module-bbswitch</Name>
<RuntimeDependencies>
<Dependency version="4.14.48">kernel</Dependency>
<Dependency version="4.14.55">kernel</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="library" permanent="true">/lib/modules</Path>
@@ -37,7 +37,7 @@
<History>
<Update release="18">
<Date>2018-06-09</Date>
<Date>2018-07-12</Date>
<Version>0.8</Version>
<Comment>Version bump</Comment>
<Name>Ertuğrul Erata</Name>
@@ -14,14 +14,14 @@
<Description>This package provides the kernel modules needed for mouse integration and shared folder support between VirtualBox host and guest systems.</Description>
<Archive sha1sum="9c60738291a9697197ed2fc724eed35b6bae955c" type="tarxz">https://sourceforge.net/projects/pisilinux/files/source/module-virtualbox-guest-5.2.12.tar.xz</Archive>
<BuildDependencies>
<Dependency version="4.14.48">kernel-module-headers</Dependency>
<Dependency version="4.14.55">kernel-module-headers</Dependency>
</BuildDependencies>
</Source>
<Package>
<Name>module-virtualbox-guest</Name>
<RuntimeDependencies>
<Dependency version="4.14.48">kernel</Dependency>
<Dependency version="4.14.55">kernel</Dependency>
<Dependency>baselayout</Dependency>
<Dependency version="current">module-virtualbox-guest-userspace</Dependency>
</RuntimeDependencies>
@@ -53,7 +53,7 @@
<History>
<Update release="28">
<Date>2018-06-09</Date>
<Date>2018-07-12</Date>
<Version>5.2.12</Version>
<Comment>Rebuild for new kernel.</Comment>
<Name>Ertuğrul Erata</Name>
+3 -3
View File
@@ -14,7 +14,7 @@
<Description>This package provides the kernel support for VirtualBox.</Description>
<Archive sha1sum="bf649555cc8845266e3f8d0494f80242e64cae58" type="tarxz">https://sourceforge.net/projects/pisilinux/files/source/module-virtualbox-5.2.12.tar.xz</Archive>
<BuildDependencies>
<Dependency version="4.14.48">kernel-module-headers</Dependency>
<Dependency version="4.14.55">kernel-module-headers</Dependency>
</BuildDependencies>
<!--Patches>
<Patch>vbox_linux-4.3.diff</Patch>
@@ -24,7 +24,7 @@
<Package>
<Name>module-virtualbox</Name>
<RuntimeDependencies>
<Dependency version="4.14.48">kernel</Dependency>
<Dependency version="4.14.55">kernel</Dependency>
<Dependency version="current">module-virtualbox-userspace</Dependency>
</RuntimeDependencies>
<Files>
@@ -51,7 +51,7 @@
<History>
<Update release="28">
<Date>2018-06-09</Date>
<Date>2018-07-12</Date>
<Version>5.2.12</Version>
<Comment>Rebuild for new kernel.</Comment>
<Name>Ertuğrul Erata</Name>
@@ -0,0 +1,27 @@
commit eeac7ab831b3097005dadc64dd323f54ade30323
Author: Felix Yan <felixonmars@archlinux.org>
Date: Mon Sep 11 12:52:36 2017 +0800
Add support for linux 4.13+
diff --git a/ndiswrapper/driver/ntoskernel.h b/ndiswrapper/driver/ntoskernel.h
index f1c52e51..1422bd4d 100644
--- a/ndiswrapper/driver/ntoskernel.h
+++ b/ndiswrapper/driver/ntoskernel.h
@@ -119,9 +119,16 @@ static cpumask_t cpumasks[NR_CPUS];
*/
#include <asm/dma-mapping.h>
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 13, 0)
#define PCI_DMA_ALLOC_COHERENT(pci_dev,size,dma_handle) \
dma_alloc_coherent(&pci_dev->dev,size,dma_handle, \
GFP_KERNEL | __GFP_REPEAT)
+#else
+#define PCI_DMA_ALLOC_COHERENT(pci_dev,size,dma_handle) \
+ dma_alloc_coherent(&pci_dev->dev,size,dma_handle, \
+ GFP_KERNEL | __GFP_RETRY_MAYFAIL)
+#endif
+
#define PCI_DMA_FREE_COHERENT(pci_dev,size,cpu_addr,dma_handle) \
dma_free_coherent(&pci_dev->dev,size,cpu_addr,dma_handle)
#define PCI_DMA_MAP_SINGLE(pci_dev,addr,size,direction) \
@@ -0,0 +1,199 @@
From: Seth Forshee <seth.forshee@canonical.com>
Date: Wed, 13 Dec 2017 15:53:31 -0600
Subject: [PATCH] Build fixes for Linux 4.15
Fixes two build issues for 4.15:
- init_timer() was eliminated in 4.15, and all callers were
converted to using timer_setup(). The callback prototype has
also changed to pass a timer_list argument instead of callback
data, and from_timer() must be used to get to the object in
which the timer is embedded.
- usb_get_status() was changed to take an additional argument,
and usb_get_std_status() was added as a wrapper for callers to
use as a replacment. Call the wrapper in 4.15 and later.
LP: #1737749
---
driver/ntoskernel.c | 19 ++++++++++++++++++-
driver/usb.c | 10 ++++++++--
driver/wrapndis.c | 28 ++++++++++++++++++++++++++++
3 files changed, 54 insertions(+), 3 deletions(-)
diff --git a/driver/ntoskernel.c b/driver/ntoskernel.c
index 4fe0dc1..156c688 100644
--- a/driver/ntoskernel.c
+++ b/driver/ntoskernel.c
@@ -77,7 +77,6 @@ u64 wrap_ticks_to_boot;
#if defined(CONFIG_X86_64)
static struct timer_list shared_data_timer;
struct kuser_shared_data kuser_shared_data;
-static void update_user_shared_data_proc(unsigned long data);
#endif
WIN_SYMBOL_MAP("KeTickCount", &jiffies)
@@ -91,7 +90,11 @@ DEFINE_PER_CPU(struct irql_info, irql_info);
#endif
#if defined(CONFIG_X86_64)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,15,0)
static void update_user_shared_data_proc(unsigned long data)
+#else
+static void update_user_shared_data_proc(struct timer_list *t)
+#endif
{
/* timer is supposed to be scheduled every 10ms, but bigger
* intervals seem to work (tried up to 50ms) */
@@ -407,9 +410,15 @@ static void initialize_object(struct dispatcher_header *dh, enum dh_type type,
InitializeListHead(&dh->wait_blocks);
}
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,15,0)
static void timer_proc(unsigned long data)
{
struct wrap_timer *wrap_timer = (struct wrap_timer *)data;
+#else
+static void timer_proc(struct timer_list *t)
+{
+ struct wrap_timer *wrap_timer = from_timer(wrap_timer, t, timer);
+#endif
struct nt_timer *nt_timer;
struct kdpc *kdpc;
@@ -452,9 +461,13 @@ void wrap_init_timer(struct nt_timer *nt_timer, enum timer_type type,
return;
}
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,15,0)
init_timer(&wrap_timer->timer);
wrap_timer->timer.data = (unsigned long)wrap_timer;
wrap_timer->timer.function = timer_proc;
+#else
+ timer_setup(&wrap_timer->timer, timer_proc, 0);
+#endif
wrap_timer->nt_timer = nt_timer;
#ifdef TIMER_DEBUG
wrap_timer->wrap_timer_magic = WRAP_TIMER_MAGIC;
@@ -2559,9 +2572,13 @@ int ntoskernel_init(void)
#if defined(CONFIG_X86_64)
memset(&kuser_shared_data, 0, sizeof(kuser_shared_data));
*((ULONG64 *)&kuser_shared_data.system_time) = ticks_1601();
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,15,0)
init_timer(&shared_data_timer);
shared_data_timer.function = update_user_shared_data_proc;
shared_data_timer.data = 0;
+#else
+ timer_setup(&shared_data_timer, update_user_shared_data_proc, 0);
+#endif
#endif
return 0;
}
diff --git a/driver/usb.c b/driver/usb.c
index 3e7021a..e55c2c6 100644
--- a/driver/usb.c
+++ b/driver/usb.c
@@ -750,6 +750,12 @@ static USBD_STATUS wrap_set_clear_feature(struct usb_device *udev,
USBEXIT(return NT_URB_STATUS(nt_urb));
}
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,15,0)
+#define wrap_usb_get_status usb_get_status
+#else
+#define wrap_usb_get_status usb_get_std_status
+#endif
+
static USBD_STATUS wrap_get_status_request(struct usb_device *udev,
struct irp *irp)
{
@@ -776,8 +782,8 @@ static USBD_STATUS wrap_get_status_request(struct usb_device *udev,
return NT_URB_STATUS(nt_urb);
}
assert(status_req->transfer_buffer_length == sizeof(u16));
- ret = usb_get_status(udev, type, status_req->index,
- status_req->transfer_buffer);
+ ret = wrap_usb_get_status(udev, type, status_req->index,
+ status_req->transfer_buffer);
if (ret >= 0) {
assert(ret <= status_req->transfer_buffer_length);
status_req->transfer_buffer_length = ret;
diff --git a/driver/wrapndis.c b/driver/wrapndis.c
index 870e4c2..f653440 100644
--- a/driver/wrapndis.c
+++ b/driver/wrapndis.c
@@ -1093,9 +1093,15 @@ send_assoc_event:
EXIT2(return);
}
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,15,0)
static void iw_stats_timer_proc(unsigned long data)
{
struct ndis_device *wnd = (struct ndis_device *)data;
+#else
+static void iw_stats_timer_proc(struct timer_list *t)
+{
+ struct ndis_device *wnd = from_timer(wnd, t, iw_stats_timer);
+#endif
ENTER2("%d", wnd->iw_stats_interval);
if (wnd->iw_stats_interval > 0) {
@@ -1111,8 +1117,12 @@ static void add_iw_stats_timer(struct ndis_device *wnd)
return;
if (wnd->iw_stats_interval < 0)
wnd->iw_stats_interval *= -1;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,15,0)
wnd->iw_stats_timer.data = (unsigned long)wnd;
wnd->iw_stats_timer.function = iw_stats_timer_proc;
+#else
+ timer_setup(&wnd->iw_stats_timer, iw_stats_timer_proc, 0);
+#endif
mod_timer(&wnd->iw_stats_timer, jiffies + wnd->iw_stats_interval);
}
@@ -1124,9 +1134,15 @@ static void del_iw_stats_timer(struct ndis_device *wnd)
EXIT2(return);
}
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,15,0)
static void hangcheck_proc(unsigned long data)
{
struct ndis_device *wnd = (struct ndis_device *)data;
+#else
+static void hangcheck_proc(struct timer_list *t)
+{
+ struct ndis_device *wnd = from_timer(wnd, t, hangcheck_timer);
+#endif
ENTER3("%d", wnd->hangcheck_interval);
if (wnd->hangcheck_interval > 0) {
@@ -1147,8 +1163,12 @@ void hangcheck_add(struct ndis_device *wnd)
wnd->hangcheck_interval = hangcheck_interval * HZ;
if (wnd->hangcheck_interval < 0)
wnd->hangcheck_interval *= -1;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,15,0)
wnd->hangcheck_timer.data = (unsigned long)wnd;
wnd->hangcheck_timer.function = hangcheck_proc;
+#else
+ timer_setup(&wnd->hangcheck_timer, hangcheck_proc, 0);
+#endif
mod_timer(&wnd->hangcheck_timer, jiffies + wnd->hangcheck_interval);
EXIT2(return);
}
@@ -2138,9 +2158,17 @@ static NTSTATUS ndis_add_device(struct driver_object *drv_obj,
wnd->dma_map_count = 0;
wnd->dma_map_addr = NULL;
wnd->nick[0] = 0;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,15,0)
init_timer(&wnd->hangcheck_timer);
+#else
+ timer_setup(&wnd->hangcheck_timer, NULL, 0);
+#endif
wnd->scan_timestamp = 0;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,15,0)
init_timer(&wnd->iw_stats_timer);
+#else
+ timer_setup(&wnd->iw_stats_timer, NULL, 0);
+#endif
wnd->iw_stats_interval = 10 * HZ;
wnd->ndis_pending_work = 0;
memset(&wnd->essid, 0, sizeof(wnd->essid));
+12 -2
View File
@@ -15,16 +15,19 @@
<Description>module-ndiswrapper allows you to use Windows XP drivers for WLAN cards without proper Linux drivers.</Description>
<Archive sha1sum="213854ca8a83f9b5972db8fa873d346124e4bcb5" type="targz">http://download.sourceforge.net/ndiswrapper/ndiswrapper-1.61.tar.gz</Archive>
<BuildDependencies>
<Dependency version="4.9.96">kernel-module-headers</Dependency>
<Dependency version="4.14.55">kernel-module-headers</Dependency>
</BuildDependencies>
<Patches>
<Patch>linux-4.11.patch</Patch>
<Patch>linux-4.13.patch</Patch>
<Patch>linux-4.15.patch</Patch>
</Patches>
</Source>
<Package>
<Name>ndiswrapper</Name>
<RuntimeDependencies>
<Dependency version="4.9.96">kernel</Dependency>
<Dependency version="4.14.55">kernel</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="library" permanent="true">/lib/modules</Path>
@@ -40,6 +43,13 @@
</Package>
<History>
<Update release="17">
<Date>2018-07-12</Date>
<Version>1.61</Version>
<Comment>Rebuild for new kernel.</Comment>
<Name>Ertuğrul Erata</Name>
<Email>ertugrulerata@gmail.com</Email>
</Update>
<Update release="16">
<Date>2018-04-28</Date>
<Version>1.61</Version>
+3 -9
View File
@@ -27,6 +27,9 @@ def build():
def install():
kerneltools.install()
# add objtool for external module building and enabled VALIDATION_STACK option
pisitools.insinto("/usr/src/linux-headers-%s/tools/objtool" % get.srcVERSION(), "%s/tools/objtool/objtool" % get.curDIR())
# Install kernel headers needed for out-of-tree module compilation
kerneltools.installHeaders()
@@ -36,8 +39,6 @@ def install():
# Generate some module lists to use within mkinitramfs
shelltools.system("./generate-module-list %s/lib/modules/%s" % (get.installDIR(), kerneltools.__getSuffix()))
objtool()
#mkinitcpio default config
pisitools.dodir("/etc/mkinitcpio.d")
shelltools.touch("linux.preset")
@@ -57,10 +58,3 @@ def install():
'fallback_options="-S autodetect"\n')
pisitools.insinto("/etc/mkinitcpio.d", "linux.preset")
def objtool():
# add objtool for external module building and enabled VALIDATION_STACK option
shelltools.cd("tools/objtool")
autotools.make("objtool")
pisitools.insinto("/usr/src/linux-headers-4.14.48/tools/objtool","%s/objtool" % get.curDIR())
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux/x86_64 4.14.48 Kernel Configuration
# Linux/x86_64 4.14.55 Kernel Configuration
#
CONFIG_64BIT=y
CONFIG_X86_64=y
@@ -1281,6 +1281,7 @@ CONFIG_NF_CONNTRACK_IPV6=m
# CONFIG_NF_SOCKET_IPV6 is not set
CONFIG_NF_TABLES_IPV6=m
CONFIG_NFT_CHAIN_ROUTE_IPV6=m
CONFIG_NFT_CHAIN_NAT_IPV6=m
CONFIG_NFT_REJECT_IPV6=m
CONFIG_NFT_DUP_IPV6=m
# CONFIG_NFT_FIB_IPV6 is not set
@@ -1288,7 +1289,6 @@ CONFIG_NF_DUP_IPV6=m
CONFIG_NF_REJECT_IPV6=m
CONFIG_NF_LOG_IPV6=m
CONFIG_NF_NAT_IPV6=m
CONFIG_NFT_CHAIN_NAT_IPV6=m
CONFIG_NF_NAT_MASQUERADE_IPV6=m
CONFIG_IP6_NF_IPTABLES=m
CONFIG_IP6_NF_MATCH_AH=m
Binary file not shown.
Binary file not shown.
+3 -3
View File
@@ -31,7 +31,7 @@
</BuildDependencies>
<Patches>
<!-- Linux patches -->
<Patch level="1" compressionType="xz">patches/linux/patch-4.14.48.xz</Patch>
<Patch level="1" compressionType="xz">patches/linux/patch-4.14.55.xz</Patch>
<!-- Mageia Linux patches // compatible with http://svnweb.mageia.org/packages/cauldron/kernel/releases/4.14.44/2.mga7/PATCHES/patches/series-->
<!--stable patches-->
<!--CVE-2016-8405-->
@@ -94,8 +94,8 @@
<History>
<Update release="19">
<Date>2018-06-09</Date>
<Version>4.14.48</Version>
<Date>2018-07-12</Date>
<Version>4.14.55</Version>
<Comment>Version Bump</Comment>
<Type package="kernel">security</Type>
<Requires>
+3 -3
View File
@@ -18,7 +18,7 @@
</BuildDependencies>
<Patches>
<!-- Linux patches -->
<Patch level="1" compressionType="xz">patches/linux/patch-4.14.48.xz</Patch>
<Patch level="1" compressionType="xz">patches/linux/patch-4.14.49.xz</Patch>
<!-- Mageia Linux patches // compatible with http://svnweb.mageia.org/packages/cauldron/kernel/releases/4.14.44/2.mga7/PATCHES/patches/series-->
<!--stable patches-->
<!--CVE-2016-8405-->
@@ -53,8 +53,8 @@
<History>
<Update release="18">
<Date>2018-06-09</Date>
<Version>4.14.48</Version>
<Date>2018-06-13</Date>
<Version>4.14.49</Version>
<Comment>Release bump.</Comment>
<Name>PisiLinux Community</Name>
<Email>admin@pisilinux.org</Email>
+33 -3
View File
@@ -1,8 +1,38 @@
* working on https://github.com/ertugerata/core/raw/master/pisi-index.xml.xz
* working on http://ciftlik.pisilinux.org/2.0-Beta.1/pisi-index.xml.xz
* working on file:///home/ertugerata/Works/2.0-Beta.1/pisi-index.xml.xz
* Packages that needs compiling
kernel/drivers/module-virtualbox (17 > 18)
kernel/drivers/module-virtualbox-guest (17 > 18)
kernel/drivers/module-bbswitch (16 > 17)
kernel/drivers/module-broadcom-wl (16 > 17)
kernel/drivers/module-virtualbox (25 > 27)
kernel/drivers/module-virtualbox-guest (25 > 27)
kernel/drivers/ndiswrapper (15 > 16)
kernel/kernel (17 > 18)
office/docbook/xmlto (3 > 4)
system/base/coreutils (4 > 5)
system/base/e2fsprogs (4 > 5)
system/base/expat (5 > 6)
system/base/file (4 > 5)
system/base/gawk (3 > 4)
system/base/gdbm (4 > 5)
system/base/gzip (4 > 5)
system/base/kmod (5 > 6)
system/base/less (4 > 5)
system/base/libpipeline (4 > 5)
system/base/man-db (3 > 4)
system/base/man-pages (4 > 5)
system/base/nspr (5 > 6)
system/base/openssl (4 > 5)
system/base/perl (3 > 4)
system/base/python (3 > 4)
system/base/sqlite (7 > 9)
system/base/tar (3 > 4)
system/base/texinfo (4 > 5)
system/base/timezone (4 > 5)
system/base/util-linux (7 > 8)
system/devel/check (4 > 5)
system/devel/cmake (5 > 6)
system/devel/elfutils (3 > 5)
system/devel/libarchive (3 > 4)