diff options
author | Bogdan Oprescu <bogdan.oprescu@enea.com> | 2023-10-26 15:04:48 +0300 |
---|---|---|
committer | Bogdan Oprescu <bogdan.oprescu@enea.com> | 2023-10-26 15:28:16 +0300 |
commit | f877a1524b36f0e157f2208f58fc5ff04e3670f7 (patch) | |
tree | 0a4bc099641efaa616ff9a3b5ab2da96c1dc13bf /recipes-kernel | |
download | meta-fsl-ppc-daisy-enea-231026.tar.gz |
Adding the source code from EneaLinux 4.0_6daisy-enea-231026
Signed-off-by: Bogdan Oprescu <bogdan.oprescu@enea.com>
Diffstat (limited to 'recipes-kernel')
17 files changed, 842 insertions, 0 deletions
diff --git a/recipes-kernel/asf/asf_git.bb b/recipes-kernel/asf/asf_git.bb new file mode 100644 index 0000000..c9948ee --- /dev/null +++ b/recipes-kernel/asf/asf_git.bb | |||
@@ -0,0 +1,48 @@ | |||
1 | DESCRIPTION = "Non-DPAA software Application Specific Fast-path" | ||
2 | SECTION = "asf" | ||
3 | LICENSE = "GPLv2 & GPLv2+ & BSD" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=b5881ecf398da8a03a3f4c501e29d287" | ||
5 | |||
6 | SRC_URI = "git://git.freescale.com/ppc/sdk/asf.git;nobranch=1" | ||
7 | SRCREV = "c262d7701af325b50cae54279a021ae7b5081e24" | ||
8 | SRCREV_t2080qds = "6af9df06e2747bdee91c21d1626b5b53b97849c5" | ||
9 | SRCREV_t2080qds-64b = "6af9df06e2747bdee91c21d1626b5b53b97849c5" | ||
10 | |||
11 | DEPENDS="virtual/kernel" | ||
12 | RDEPENDS_${PN} += "ipsec-tools" | ||
13 | |||
14 | inherit module | ||
15 | |||
16 | S = "${WORKDIR}/git/asfmodule" | ||
17 | |||
18 | EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX}" | ||
19 | export KERNEL_PATH = "${STAGING_KERNEL_DIR}" | ||
20 | |||
21 | python () { | ||
22 | ma = d.getVar("DISTRO_FEATURES", True) | ||
23 | arch = d.getVar("OVERRIDES", True) | ||
24 | |||
25 | # the : after the arch is to skip the message on 64b | ||
26 | if not "multiarch" in ma and "e6500:" in arch: | ||
27 | raise bb.parse.SkipPackage("Building the kernel for this arch requires multiarch to be in DISTRO_FEATURES") | ||
28 | |||
29 | promote_kernel = d.getVar('BUILD_64BIT_KERNEL') | ||
30 | |||
31 | if promote_kernel == "1": | ||
32 | d.setVar('KERNEL_CC_append', ' -m64') | ||
33 | d.setVar('KERNEL_LD_append', ' -melf64ppc') | ||
34 | |||
35 | error_qa = d.getVar('ERROR_QA', True) | ||
36 | if 'arch' in error_qa: | ||
37 | d.setVar('ERROR_QA', error_qa.replace(' arch', '')) | ||
38 | } | ||
39 | |||
40 | do_install(){ | ||
41 | mkdir -p ${D}/usr/driver/asf | ||
42 | cp -rf ${S}/bin/full ${D}/usr/driver/asf | ||
43 | cp -rf ${S}/bin/min ${D}/usr/driver/asf | ||
44 | cp -rf ${S}/../scripts ${D}/usr/driver/asf/. | ||
45 | } | ||
46 | |||
47 | FILES_${PN} += "/usr/driver/asf" | ||
48 | INHIBIT_PACKAGE_STRIP = "1" | ||
diff --git a/recipes-kernel/cryptodev/cryptodev_1.5.bb b/recipes-kernel/cryptodev/cryptodev_1.5.bb new file mode 100644 index 0000000..4c1dade --- /dev/null +++ b/recipes-kernel/cryptodev/cryptodev_1.5.bb | |||
@@ -0,0 +1,51 @@ | |||
1 | SECTION = "devel" | ||
2 | SUMMARY = "Linux Cryptodev KERNEL MODULE" | ||
3 | DESCRIPTION = "The Cryptodev package contains the kernel /dev/crypto module" | ||
4 | LICENSE = "GPLv2" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" | ||
6 | RCONFLICTS_${PN} = "ocf-linux" | ||
7 | |||
8 | inherit module | ||
9 | |||
10 | PR = "r1" | ||
11 | DEPENDS += "openssl" | ||
12 | |||
13 | SRCREV = "1c24a0aa996630518d47826a2e3fea129ea094c7" | ||
14 | |||
15 | SRC_URI = "git://repo.or.cz/cryptodev-linux.git;protocol=git \ | ||
16 | file://makefile_fixup.patch \ | ||
17 | file://Add-the-compile-and-install-rules-for-cryptodev-test.patch" | ||
18 | |||
19 | EXTRA_OEMAKE='KERNEL_DIR="${STAGING_KERNEL_DIR}" PREFIX="${D}"' | ||
20 | |||
21 | S = "${WORKDIR}/git" | ||
22 | python () { | ||
23 | ma = d.getVar("DISTRO_FEATURES", True) | ||
24 | arch = d.getVar("OVERRIDES", True) | ||
25 | |||
26 | # the : after the arch is to skip the message on 64b | ||
27 | if not "multiarch" in ma and ("e5500:" in arch or "e6500:" in arch): | ||
28 | raise bb.parse.SkipPackage("Building the kernel for this arch requires multiarch to be in DISTRO_FEATURES") | ||
29 | |||
30 | promote_kernel = d.getVar('BUILD_64BIT_KERNEL') | ||
31 | |||
32 | if promote_kernel == "1": | ||
33 | d.setVar('KERNEL_CC_append', ' -m64') | ||
34 | d.setVar('KERNEL_LD_append', ' -melf64ppc') | ||
35 | |||
36 | error_qa = d.getVar('ERROR_QA', True) | ||
37 | if 'arch' in error_qa: | ||
38 | d.setVar('ERROR_QA', error_qa.replace(' arch', '')) | ||
39 | } | ||
40 | |||
41 | do_compile_append() { | ||
42 | oe_runmake testprogs | ||
43 | } | ||
44 | |||
45 | do_install_append() { | ||
46 | oe_runmake install_tests | ||
47 | } | ||
48 | |||
49 | PACKAGES += "${PN}-tests" | ||
50 | FILES_${PN}-dbg += "${bindir}/tests_cryptodev/.debug" | ||
51 | FILES_${PN}-tests = "${bindir}/tests_cryptodev/*" | ||
diff --git a/recipes-kernel/cryptodev/files/Add-the-compile-and-install-rules-for-cryptodev-test.patch b/recipes-kernel/cryptodev/files/Add-the-compile-and-install-rules-for-cryptodev-test.patch new file mode 100644 index 0000000..cb871f6 --- /dev/null +++ b/recipes-kernel/cryptodev/files/Add-the-compile-and-install-rules-for-cryptodev-test.patch | |||
@@ -0,0 +1,69 @@ | |||
1 | From 1980a8f4779a955e73285e7a0d86549b69bea5c8 Mon Sep 17 00:00:00 2001 | ||
2 | From: Yu Zongchun <b40527@freescale.com> | ||
3 | Date: Sun, 28 Apr 2013 14:39:22 +0800 | ||
4 | Subject: [PATCH] Add the compile and install rules for cryptodev tests folder | ||
5 | |||
6 | This is required to install the cryptodev tests folder to rootfs | ||
7 | |||
8 | Signed-off-by: Yu Zongchun <b40527@freescale.com> | ||
9 | |||
10 | Upstream-Status: Pending | ||
11 | |||
12 | --- | ||
13 | Makefile | 6 ++++++ | ||
14 | tests/Makefile | 8 ++++++++ | ||
15 | 2 files changed, 14 insertions(+), 0 deletions(-) | ||
16 | |||
17 | diff --git a/Makefile b/Makefile | ||
18 | index 2be8825..4cbb865 100644 | ||
19 | --- a/Makefile | ||
20 | +++ b/Makefile | ||
21 | @@ -17,6 +17,9 @@ install: | ||
22 | @echo "Installing cryptodev.h in /usr/include/crypto ..." | ||
23 | @install -D crypto/cryptodev.h /usr/include/crypto/cryptodev.h | ||
24 | |||
25 | +install_tests: | ||
26 | + make -C tests install DESTDIR=$(PREFIX) | ||
27 | + | ||
28 | clean: | ||
29 | make -C $(KERNEL_DIR) SUBDIRS=`pwd` clean | ||
30 | rm -f $(hostprogs) *~ | ||
31 | @@ -25,6 +28,9 @@ clean: | ||
32 | check: | ||
33 | KERNEL_DIR=$(KERNEL_DIR) make -C tests check | ||
34 | |||
35 | +testprogs: | ||
36 | + KERNEL_DIR=$(KERNEL_DIR) make -C tests testprogs | ||
37 | + | ||
38 | FILEBASE = cryptodev-linux-$(VERSION) | ||
39 | TMPDIR ?= /tmp | ||
40 | OUTPUT = $(FILEBASE).tar.gz | ||
41 | diff --git a/tests/Makefile b/tests/Makefile | ||
42 | index 87ca3c7..0488cf6 100644 | ||
43 | --- a/tests/Makefile | ||
44 | +++ b/tests/Makefile | ||
45 | @@ -19,6 +19,12 @@ example-async-hmac-objs := async_hmac.o | ||
46 | example-async-speed-objs := async_speed.o | ||
47 | example-hashcrypt-speed-objs := hashcrypt_speed.c | ||
48 | |||
49 | +install: | ||
50 | + install -d $(DESTDIR)/usr/bin/tests_cryptodev | ||
51 | + for bin in $(hostprogs); do \ | ||
52 | + install -m 755 $${bin} $(DESTDIR)/usr/bin/tests_cryptodev/; \ | ||
53 | + done | ||
54 | + | ||
55 | check: $(hostprogs) | ||
56 | ./cipher | ||
57 | ./hmac | ||
58 | @@ -28,6 +34,8 @@ check: $(hostprogs) | ||
59 | ./cipher-gcm | ||
60 | ./cipher-aead | ||
61 | |||
62 | +testprogs: $(hostprogs) | ||
63 | + | ||
64 | clean: | ||
65 | rm -f *.o *~ $(hostprogs) | ||
66 | |||
67 | -- | ||
68 | 1.7.5.4 | ||
69 | |||
diff --git a/recipes-kernel/cryptodev/files/makefile_fixup.patch b/recipes-kernel/cryptodev/files/makefile_fixup.patch new file mode 100644 index 0000000..323aacd --- /dev/null +++ b/recipes-kernel/cryptodev/files/makefile_fixup.patch | |||
@@ -0,0 +1,26 @@ | |||
1 | diff --git a/Makefile b/Makefile | ||
2 | index 2be8825..b36d68c 100644 | ||
3 | --- a/Makefile | ||
4 | +++ b/Makefile | ||
5 | @@ -1,6 +1,7 @@ | ||
6 | KBUILD_CFLAGS += -I$(src) | ||
7 | KERNEL_DIR = /lib/modules/$(shell uname -r)/build | ||
8 | VERSION = 1.5 | ||
9 | +PREFIX = | ||
10 | |||
11 | cryptodev-objs = ioctl.o main.o cryptlib.o authenc.o zc.o util.o | ||
12 | |||
13 | @@ -12,10 +13,10 @@ build: version.h | ||
14 | version.h: Makefile | ||
15 | @echo "#define VERSION \"$(VERSION)\"" > version.h | ||
16 | |||
17 | -install: | ||
18 | +modules_install: | ||
19 | make -C $(KERNEL_DIR) SUBDIRS=`pwd` modules_install | ||
20 | - @echo "Installing cryptodev.h in /usr/include/crypto ..." | ||
21 | - @install -D crypto/cryptodev.h /usr/include/crypto/cryptodev.h | ||
22 | + @echo "Installing cryptodev.h in $(PREFIX)/usr/include/crypto ..." | ||
23 | + @install -D crypto/cryptodev.h $(PREFIX)/usr/include/crypto/cryptodev.h | ||
24 | |||
25 | clean: | ||
26 | make -C $(KERNEL_DIR) SUBDIRS=`pwd` clean | ||
diff --git a/recipes-kernel/linux/files/Fix-CVE-2014-5077-sctp-inherit-auth-capable-on-INIT-collisions.patch b/recipes-kernel/linux/files/Fix-CVE-2014-5077-sctp-inherit-auth-capable-on-INIT-collisions.patch new file mode 100644 index 0000000..7d16535 --- /dev/null +++ b/recipes-kernel/linux/files/Fix-CVE-2014-5077-sctp-inherit-auth-capable-on-INIT-collisions.patch | |||
@@ -0,0 +1,41 @@ | |||
1 | CVE-2014-5077 Kernel/SCTP: fix a NULL pointer dereference | ||
2 | |||
3 | A NULL pointer dereference flaw was found in the way the | ||
4 | Linux kernel's Stream Control Transmission Protocol | ||
5 | (SCTP) implementation handled simultaneous connections | ||
6 | between the same hosts. A remote attacker could use this | ||
7 | flaw to crash the system. | ||
8 | |||
9 | Upstream-Status: Backport (from v3.16, commit 1be9a950c646c) | ||
10 | |||
11 | References: | ||
12 | - https://access.redhat.com/security/cve/CVE-2014-5077 | ||
13 | - http://patchwork.ozlabs.org/patch/372475/ | ||
14 | |||
15 | Fixes: 730fc3d05cd4 ("[SCTP]: Implete SCTP-AUTH parameter processing") | ||
16 | Reported-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com> | ||
17 | Signed-off-by: Daniel Borkmann <dborkman@redhat.com> | ||
18 | Tested-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com> | ||
19 | Cc: Vlad Yasevich <vyasevich@gmail.com> | ||
20 | Acked-by: Vlad Yasevich <vyasevich@gmail.com> | ||
21 | Signed-off-by: David S. Miller <davem@davemloft.net> | ||
22 | Signed-off-by: Liviu Gheorghisan <liviu.gheorghisan@enea.com> | ||
23 | --- | ||
24 | net/sctp/associola.c | 1 + | ||
25 | 1 file changed, 1 insertion(+) | ||
26 | |||
27 | diff --git a/net/sctp/associola.c b/net/sctp/associola.c | ||
28 | index 9de23a2..06a9ee6 100644 | ||
29 | --- a/net/sctp/associola.c | ||
30 | +++ b/net/sctp/associola.c | ||
31 | @@ -1097,6 +1097,7 @@ void sctp_assoc_update(struct sctp_association *asoc, | ||
32 | asoc->c = new->c; | ||
33 | asoc->peer.rwnd = new->peer.rwnd; | ||
34 | asoc->peer.sack_needed = new->peer.sack_needed; | ||
35 | + asoc->peer.auth_capable = new->peer.auth_capable; | ||
36 | asoc->peer.i = new->peer.i; | ||
37 | sctp_tsnmap_init(&asoc->peer.tsn_map, SCTP_TSN_MAP_INITIAL, | ||
38 | asoc->peer.i.initial_tsn, GFP_ATOMIC); | ||
39 | -- | ||
40 | 1.9.1 | ||
41 | |||
diff --git a/recipes-kernel/linux/files/Fix-CVE-2014-5471_CVE-2014-5472.patch b/recipes-kernel/linux/files/Fix-CVE-2014-5471_CVE-2014-5472.patch new file mode 100644 index 0000000..65107d6 --- /dev/null +++ b/recipes-kernel/linux/files/Fix-CVE-2014-5471_CVE-2014-5472.patch | |||
@@ -0,0 +1,212 @@ | |||
1 | From 4488e1f5ef40441c9846b1d0a29152c208a05e66 Mon Sep 17 00:00:00 2001 | ||
2 | From: Jan Kara <jack@suse.cz> | ||
3 | Date: Sun, 17 Aug 2014 11:49:57 +0200 | ||
4 | Subject: [PATCH] isofs: Fix unbounded recursion when processing relocated | ||
5 | directories | ||
6 | |||
7 | commit 410dd3cf4c9b36f27ed4542ee18b1af5e68645a4 upstream. | ||
8 | |||
9 | We did not check relocated directory in any way when processing Rock | ||
10 | Ridge 'CL' tag. Thus a corrupted isofs image can possibly have a CL | ||
11 | entry pointing to another CL entry leading to possibly unbounded | ||
12 | recursion in kernel code and thus stack overflow or deadlocks (if there | ||
13 | is a loop created from CL entries). | ||
14 | |||
15 | Fix the problem by not allowing CL entry to point to a directory entry | ||
16 | with CL entry (such use makes no good sense anyway) and by checking | ||
17 | whether CL entry doesn't point to itself. | ||
18 | |||
19 | Upstream status: backported (from v3.12 e4ca8b780c82c04ec0) | ||
20 | |||
21 | Reported-by: Chris Evans <cevans@google.com> | ||
22 | Signed-off-by: Jan Kara <jack@suse.cz> | ||
23 | Signed-off-by: Jiri Slaby <jslaby@suse.cz> | ||
24 | Signed-off-by: Sona Sarmadi <sona.sarmadi@enea.com> | ||
25 | --- | ||
26 | fs/isofs/inode.c | 15 ++++++++------- | ||
27 | fs/isofs/isofs.h | 23 +++++++++++++++++++---- | ||
28 | fs/isofs/rock.c | 39 ++++++++++++++++++++++++++++----------- | ||
29 | 3 files changed, 55 insertions(+), 22 deletions(-) | ||
30 | |||
31 | diff --git a/fs/isofs/inode.c b/fs/isofs/inode.c | ||
32 | index e5d408a..2e2af97 100644 | ||
33 | --- a/fs/isofs/inode.c | ||
34 | +++ b/fs/isofs/inode.c | ||
35 | @@ -61,7 +61,7 @@ static void isofs_put_super(struct super_block *sb) | ||
36 | return; | ||
37 | } | ||
38 | |||
39 | -static int isofs_read_inode(struct inode *); | ||
40 | +static int isofs_read_inode(struct inode *, int relocated); | ||
41 | static int isofs_statfs (struct dentry *, struct kstatfs *); | ||
42 | |||
43 | static struct kmem_cache *isofs_inode_cachep; | ||
44 | @@ -1258,7 +1258,7 @@ out_toomany: | ||
45 | goto out; | ||
46 | } | ||
47 | |||
48 | -static int isofs_read_inode(struct inode *inode) | ||
49 | +static int isofs_read_inode(struct inode *inode, int relocated) | ||
50 | { | ||
51 | struct super_block *sb = inode->i_sb; | ||
52 | struct isofs_sb_info *sbi = ISOFS_SB(sb); | ||
53 | @@ -1403,7 +1403,7 @@ static int isofs_read_inode(struct inode *inode) | ||
54 | */ | ||
55 | |||
56 | if (!high_sierra) { | ||
57 | - parse_rock_ridge_inode(de, inode); | ||
58 | + parse_rock_ridge_inode(de, inode, relocated); | ||
59 | /* if we want uid/gid set, override the rock ridge setting */ | ||
60 | if (sbi->s_uid_set) | ||
61 | inode->i_uid = sbi->s_uid; | ||
62 | @@ -1482,9 +1482,10 @@ static int isofs_iget5_set(struct inode *ino, void *data) | ||
63 | * offset that point to the underlying meta-data for the inode. The | ||
64 | * code below is otherwise similar to the iget() code in | ||
65 | * include/linux/fs.h */ | ||
66 | -struct inode *isofs_iget(struct super_block *sb, | ||
67 | - unsigned long block, | ||
68 | - unsigned long offset) | ||
69 | +struct inode *__isofs_iget(struct super_block *sb, | ||
70 | + unsigned long block, | ||
71 | + unsigned long offset, | ||
72 | + int relocated) | ||
73 | { | ||
74 | unsigned long hashval; | ||
75 | struct inode *inode; | ||
76 | @@ -1506,7 +1507,7 @@ struct inode *isofs_iget(struct super_block *sb, | ||
77 | return ERR_PTR(-ENOMEM); | ||
78 | |||
79 | if (inode->i_state & I_NEW) { | ||
80 | - ret = isofs_read_inode(inode); | ||
81 | + ret = isofs_read_inode(inode, relocated); | ||
82 | if (ret < 0) { | ||
83 | iget_failed(inode); | ||
84 | inode = ERR_PTR(ret); | ||
85 | diff --git a/fs/isofs/isofs.h b/fs/isofs/isofs.h | ||
86 | index 9916723..0ac4c1f 100644 | ||
87 | --- a/fs/isofs/isofs.h | ||
88 | +++ b/fs/isofs/isofs.h | ||
89 | @@ -107,7 +107,7 @@ extern int iso_date(char *, int); | ||
90 | |||
91 | struct inode; /* To make gcc happy */ | ||
92 | |||
93 | -extern int parse_rock_ridge_inode(struct iso_directory_record *, struct inode *); | ||
94 | +extern int parse_rock_ridge_inode(struct iso_directory_record *, struct inode *, int relocated); | ||
95 | extern int get_rock_ridge_filename(struct iso_directory_record *, char *, struct inode *); | ||
96 | extern int isofs_name_translate(struct iso_directory_record *, char *, struct inode *); | ||
97 | |||
98 | @@ -118,9 +118,24 @@ extern struct dentry *isofs_lookup(struct inode *, struct dentry *, unsigned int | ||
99 | extern struct buffer_head *isofs_bread(struct inode *, sector_t); | ||
100 | extern int isofs_get_blocks(struct inode *, sector_t, struct buffer_head **, unsigned long); | ||
101 | |||
102 | -extern struct inode *isofs_iget(struct super_block *sb, | ||
103 | - unsigned long block, | ||
104 | - unsigned long offset); | ||
105 | +struct inode *__isofs_iget(struct super_block *sb, | ||
106 | + unsigned long block, | ||
107 | + unsigned long offset, | ||
108 | + int relocated); | ||
109 | + | ||
110 | +static inline struct inode *isofs_iget(struct super_block *sb, | ||
111 | + unsigned long block, | ||
112 | + unsigned long offset) | ||
113 | +{ | ||
114 | + return __isofs_iget(sb, block, offset, 0); | ||
115 | +} | ||
116 | + | ||
117 | +static inline struct inode *isofs_iget_reloc(struct super_block *sb, | ||
118 | + unsigned long block, | ||
119 | + unsigned long offset) | ||
120 | +{ | ||
121 | + return __isofs_iget(sb, block, offset, 1); | ||
122 | +} | ||
123 | |||
124 | /* Because the inode number is no longer relevant to finding the | ||
125 | * underlying meta-data for an inode, we are free to choose a more | ||
126 | diff --git a/fs/isofs/rock.c b/fs/isofs/rock.c | ||
127 | index c0bf424..f488bba 100644 | ||
128 | --- a/fs/isofs/rock.c | ||
129 | +++ b/fs/isofs/rock.c | ||
130 | @@ -288,12 +288,16 @@ eio: | ||
131 | goto out; | ||
132 | } | ||
133 | |||
134 | +#define RR_REGARD_XA 1 | ||
135 | +#define RR_RELOC_DE 2 | ||
136 | + | ||
137 | static int | ||
138 | parse_rock_ridge_inode_internal(struct iso_directory_record *de, | ||
139 | - struct inode *inode, int regard_xa) | ||
140 | + struct inode *inode, int flags) | ||
141 | { | ||
142 | int symlink_len = 0; | ||
143 | int cnt, sig; | ||
144 | + unsigned int reloc_block; | ||
145 | struct inode *reloc; | ||
146 | struct rock_ridge *rr; | ||
147 | int rootflag; | ||
148 | @@ -305,7 +309,7 @@ parse_rock_ridge_inode_internal(struct iso_directory_record *de, | ||
149 | |||
150 | init_rock_state(&rs, inode); | ||
151 | setup_rock_ridge(de, inode, &rs); | ||
152 | - if (regard_xa) { | ||
153 | + if (flags & RR_REGARD_XA) { | ||
154 | rs.chr += 14; | ||
155 | rs.len -= 14; | ||
156 | if (rs.len < 0) | ||
157 | @@ -485,12 +489,22 @@ repeat: | ||
158 | "relocated directory\n"); | ||
159 | goto out; | ||
160 | case SIG('C', 'L'): | ||
161 | - ISOFS_I(inode)->i_first_extent = | ||
162 | - isonum_733(rr->u.CL.location); | ||
163 | - reloc = | ||
164 | - isofs_iget(inode->i_sb, | ||
165 | - ISOFS_I(inode)->i_first_extent, | ||
166 | - 0); | ||
167 | + if (flags & RR_RELOC_DE) { | ||
168 | + printk(KERN_ERR | ||
169 | + "ISOFS: Recursive directory relocation " | ||
170 | + "is not supported\n"); | ||
171 | + goto eio; | ||
172 | + } | ||
173 | + reloc_block = isonum_733(rr->u.CL.location); | ||
174 | + if (reloc_block == ISOFS_I(inode)->i_iget5_block && | ||
175 | + ISOFS_I(inode)->i_iget5_offset == 0) { | ||
176 | + printk(KERN_ERR | ||
177 | + "ISOFS: Directory relocation points to " | ||
178 | + "itself\n"); | ||
179 | + goto eio; | ||
180 | + } | ||
181 | + ISOFS_I(inode)->i_first_extent = reloc_block; | ||
182 | + reloc = isofs_iget_reloc(inode->i_sb, reloc_block, 0); | ||
183 | if (IS_ERR(reloc)) { | ||
184 | ret = PTR_ERR(reloc); | ||
185 | goto out; | ||
186 | @@ -637,9 +651,11 @@ static char *get_symlink_chunk(char *rpnt, struct rock_ridge *rr, char *plimit) | ||
187 | return rpnt; | ||
188 | } | ||
189 | |||
190 | -int parse_rock_ridge_inode(struct iso_directory_record *de, struct inode *inode) | ||
191 | +int parse_rock_ridge_inode(struct iso_directory_record *de, struct inode *inode, | ||
192 | + int relocated) | ||
193 | { | ||
194 | - int result = parse_rock_ridge_inode_internal(de, inode, 0); | ||
195 | + int flags = relocated ? RR_RELOC_DE : 0; | ||
196 | + int result = parse_rock_ridge_inode_internal(de, inode, flags); | ||
197 | |||
198 | /* | ||
199 | * if rockridge flag was reset and we didn't look for attributes | ||
200 | @@ -647,7 +663,8 @@ int parse_rock_ridge_inode(struct iso_directory_record *de, struct inode *inode) | ||
201 | */ | ||
202 | if ((ISOFS_SB(inode->i_sb)->s_rock_offset == -1) | ||
203 | && (ISOFS_SB(inode->i_sb)->s_rock == 2)) { | ||
204 | - result = parse_rock_ridge_inode_internal(de, inode, 14); | ||
205 | + result = parse_rock_ridge_inode_internal(de, inode, | ||
206 | + flags | RR_REGARD_XA); | ||
207 | } | ||
208 | return result; | ||
209 | } | ||
210 | -- | ||
211 | 1.9.1 | ||
212 | |||
diff --git a/recipes-kernel/linux/files/Fix-for-CVE-2014-5045-fs-umount-on-symlink-leak.patch b/recipes-kernel/linux/files/Fix-for-CVE-2014-5045-fs-umount-on-symlink-leak.patch new file mode 100644 index 0000000..1ae600f --- /dev/null +++ b/recipes-kernel/linux/files/Fix-for-CVE-2014-5045-fs-umount-on-symlink-leak.patch | |||
@@ -0,0 +1,47 @@ | |||
1 | fs: umount on symlink leaks mnt count | ||
2 | |||
3 | commit 295dc39d941dc2ae53d5c170365af4c9d5c16212 upstream. | ||
4 | |||
5 | Currently umount on symlink blocks following umount: | ||
6 | |||
7 | /vz is separate mount | ||
8 | |||
9 | drwxr-xr-x. 2 root root 4096 Jul 19 01:14 testdir | ||
10 | lrwxrwxrwx. 1 root root 11 Jul 19 01:16 testlink -> /vz/testdir | ||
11 | umount: /vz/testlink: not mounted (expected) | ||
12 | |||
13 | umount: /vz: device is busy. (unexpected) | ||
14 | |||
15 | In this case mountpoint_last() gets an extra refcount on path->mnt | ||
16 | |||
17 | Upstream-Status: Backport | ||
18 | |||
19 | Signed-off-by: Vasily Averin <vvs@openvz.org> | ||
20 | Acked-by: Ian Kent <raven@themaw.net> | ||
21 | Acked-by: Jeff Layton <jlayton@primarydata.com> | ||
22 | Cc: stable@vger.kernel.org | ||
23 | Signed-off-by: Christoph Hellwig <hch@lst.de> | ||
24 | Signed-off-by: Sona Sarmadi <sona.sarmadi@enea.com> | ||
25 | --- | ||
26 | fs/namei.c | 3 ++- | ||
27 | 1 file changed, 2 insertions(+), 1 deletion(-) | ||
28 | |||
29 | diff --git a/fs/namei.c b/fs/namei.c | ||
30 | index 187cacf..c199dcc 100644 | ||
31 | --- a/fs/namei.c | ||
32 | +++ b/fs/namei.c | ||
33 | @@ -2280,9 +2280,10 @@ done: | ||
34 | goto out; | ||
35 | } | ||
36 | path->dentry = dentry; | ||
37 | - path->mnt = mntget(nd->path.mnt); | ||
38 | + path->mnt = nd->path.mnt; | ||
39 | if (should_follow_link(dentry->d_inode, nd->flags & LOOKUP_FOLLOW)) | ||
40 | return 1; | ||
41 | + mntget(path->mnt); | ||
42 | follow_mount(path); | ||
43 | error = 0; | ||
44 | out: | ||
45 | -- | ||
46 | 1.9.1 | ||
47 | |||
diff --git a/recipes-kernel/linux/files/libtraceevent-Remove-hard-coded-include-to-usr-local-include-in-Makefile.patch b/recipes-kernel/linux/files/libtraceevent-Remove-hard-coded-include-to-usr-local-include-in-Makefile.patch new file mode 100644 index 0000000..15c397d --- /dev/null +++ b/recipes-kernel/linux/files/libtraceevent-Remove-hard-coded-include-to-usr-local-include-in-Makefile.patch | |||
@@ -0,0 +1,36 @@ | |||
1 | Upstream-Status: Backport | ||
2 | |||
3 | From b9e8c37220c80e78289a1e87b50c09418eb59a7e Mon Sep 17 00:00:00 2001 | ||
4 | From: Jack Mitchell <jack.mitchell@dbbroadcast.co.uk> | ||
5 | Date: Fri, 08 Mar 2013 11:21:52 +0000 | ||
6 | Subject: libtraceevent: Remove hard coded include to /usr/local/include in Makefile | ||
7 | |||
8 | having /usr/local/include hardcoded into the makefile is not necessary | ||
9 | as this is automatically included by GCC. It also infects cross-compile | ||
10 | builds with the host systems includes. | ||
11 | |||
12 | Signed-off-by: Jack Mitchell <jack.mitchell@dbbroadcast.co.uk> | ||
13 | Acked-by: Namhyung Kim <namhyung@kernel.org> | ||
14 | Cc: Ingo Molnar <mingo@redhat.com> | ||
15 | Cc: Paul Mackerras <paulus@samba.org> | ||
16 | Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> | ||
17 | Link: http://lkml.kernel.org/r/1362741712-21308-1-git-send-email-ml@communistcode.co.uk | ||
18 | Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> | ||
19 | --- | ||
20 | (limited to 'tools/lib/traceevent/Makefile') | ||
21 | |||
22 | diff --git a/tools/lib/traceevent/Makefile b/tools/lib/traceevent/Makefile | ||
23 | index a20e320..0b0a907 100644 | ||
24 | --- a/tools/lib/traceevent/Makefile | ||
25 | +++ b/tools/lib/traceevent/Makefile | ||
26 | @@ -122,7 +122,7 @@ export Q VERBOSE | ||
27 | |||
28 | EVENT_PARSE_VERSION = $(EP_VERSION).$(EP_PATCHLEVEL).$(EP_EXTRAVERSION) | ||
29 | |||
30 | -INCLUDES = -I. -I/usr/local/include $(CONFIG_INCLUDES) | ||
31 | +INCLUDES = -I. $(CONFIG_INCLUDES) | ||
32 | |||
33 | # Set compile option CFLAGS if not set elsewhere | ||
34 | CFLAGS ?= -g -Wall | ||
35 | -- | ||
36 | cgit v0.9.2 | ||
diff --git a/recipes-kernel/linux/files/powerpc-Fix-64-bit-builds-with-binutils-2.24.patch b/recipes-kernel/linux/files/powerpc-Fix-64-bit-builds-with-binutils-2.24.patch new file mode 100644 index 0000000..2fdcc9f --- /dev/null +++ b/recipes-kernel/linux/files/powerpc-Fix-64-bit-builds-with-binutils-2.24.patch | |||
@@ -0,0 +1,80 @@ | |||
1 | From 7998eb3dc700aaf499f93f50b3d77da834ef9e1d Mon Sep 17 00:00:00 2001 | ||
2 | From: Guenter Roeck <linux@roeck-us.net> | ||
3 | Date: Thu, 15 May 2014 09:33:42 -0700 | ||
4 | Subject: powerpc: Fix 64 bit builds with binutils 2.24 | ||
5 | |||
6 | Upstream-Status: Backport | ||
7 | |||
8 | With binutils 2.24, various 64 bit builds fail with relocation errors | ||
9 | such as | ||
10 | |||
11 | arch/powerpc/kernel/built-in.o: In function `exc_debug_crit_book3e': | ||
12 | (.text+0x165ee): relocation truncated to fit: R_PPC64_ADDR16_HI | ||
13 | against symbol `interrupt_base_book3e' defined in .text section | ||
14 | in arch/powerpc/kernel/built-in.o | ||
15 | arch/powerpc/kernel/built-in.o: In function `exc_debug_crit_book3e': | ||
16 | (.text+0x16602): relocation truncated to fit: R_PPC64_ADDR16_HI | ||
17 | against symbol `interrupt_end_book3e' defined in .text section | ||
18 | in arch/powerpc/kernel/built-in.o | ||
19 | |||
20 | The assembler maintainer says: | ||
21 | |||
22 | I changed the ABI, something that had to be done but unfortunately | ||
23 | happens to break the booke kernel code. When building up a 64-bit | ||
24 | value with lis, ori, shl, oris, ori or similar sequences, you now | ||
25 | should use @high and @higha in place of @h and @ha. @h and @ha | ||
26 | (and their associated relocs R_PPC64_ADDR16_HI and R_PPC64_ADDR16_HA) | ||
27 | now report overflow if the value is out of 32-bit signed range. | ||
28 | ie. @h and @ha assume you're building a 32-bit value. This is needed | ||
29 | to report out-of-range -mcmodel=medium toc pointer offsets in @toc@h | ||
30 | and @toc@ha expressions, and for consistency I did the same for all | ||
31 | other @h and @ha relocs. | ||
32 | |||
33 | Replacing @h with @high in one strategic location fixes the relocation | ||
34 | errors. This has to be done conditionally since the assembler either | ||
35 | supports @h or @high but not both. | ||
36 | |||
37 | Cc: <stable@vger.kernel.org> | ||
38 | Signed-off-by: Guenter Roeck <linux@roeck-us.net> | ||
39 | Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> | ||
40 | |||
41 | diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile | ||
42 | index 4c0cedf..ce4c68a 100644 | ||
43 | --- a/arch/powerpc/Makefile | ||
44 | +++ b/arch/powerpc/Makefile | ||
45 | @@ -150,7 +150,9 @@ endif | ||
46 | |||
47 | CFLAGS-$(CONFIG_TUNE_CELL) += $(call cc-option,-mtune=cell) | ||
48 | |||
49 | -KBUILD_CPPFLAGS += -Iarch/$(ARCH) | ||
50 | +asinstr := $(call as-instr,lis 9$(comma)foo@high,-DHAVE_AS_ATHIGH=1) | ||
51 | + | ||
52 | +KBUILD_CPPFLAGS += -Iarch/$(ARCH) $(asinstr) | ||
53 | KBUILD_AFLAGS += -Iarch/$(ARCH) | ||
54 | KBUILD_CFLAGS += -msoft-float -pipe -Iarch/$(ARCH) $(CFLAGS-y) | ||
55 | CPP = $(CC) -E $(KBUILD_CFLAGS) | ||
56 | diff --git a/arch/powerpc/include/asm/ppc_asm.h b/arch/powerpc/include/asm/ppc_asm.h | ||
57 | index 6586a40..cded7c1 100644 | ||
58 | --- a/arch/powerpc/include/asm/ppc_asm.h | ||
59 | +++ b/arch/powerpc/include/asm/ppc_asm.h | ||
60 | @@ -318,11 +318,16 @@ n: | ||
61 | addi reg,reg,(name - 0b)@l; | ||
62 | |||
63 | #ifdef __powerpc64__ | ||
64 | +#ifdef HAVE_AS_ATHIGH | ||
65 | +#define __AS_ATHIGH high | ||
66 | +#else | ||
67 | +#define __AS_ATHIGH h | ||
68 | +#endif | ||
69 | #define LOAD_REG_IMMEDIATE(reg,expr) \ | ||
70 | lis reg,(expr)@highest; \ | ||
71 | ori reg,reg,(expr)@higher; \ | ||
72 | rldicr reg,reg,32,31; \ | ||
73 | - oris reg,reg,(expr)@h; \ | ||
74 | + oris reg,reg,(expr)@__AS_ATHIGH; \ | ||
75 | ori reg,reg,(expr)@l; | ||
76 | |||
77 | #define LOAD_REG_ADDR(reg,name) \ | ||
78 | -- | ||
79 | cgit v0.10.1 | ||
80 | |||
diff --git a/recipes-kernel/linux/linux-qoriq-sdk-prt.bb b/recipes-kernel/linux/linux-qoriq-sdk-prt.bb new file mode 100644 index 0000000..275691a --- /dev/null +++ b/recipes-kernel/linux/linux-qoriq-sdk-prt.bb | |||
@@ -0,0 +1,37 @@ | |||
1 | inherit kernel | ||
2 | require recipes-kernel/linux/linux-dtb.inc | ||
3 | |||
4 | DESCRIPTION = "Linux kernel for Freescale platforms" | ||
5 | SECTION = "kernel" | ||
6 | LICENSE = "GPLv2" | ||
7 | |||
8 | require recipes-kernel/linux/linux-qoriq-sdk.inc | ||
9 | |||
10 | PR = "${INC_PR}.1" | ||
11 | |||
12 | SCMVERSION ?= "y" | ||
13 | |||
14 | DEPENDS_append = " libgcc" | ||
15 | KERNEL_CC_append = " ${TOOLCHAIN_OPTIONS}" | ||
16 | KERNEL_LD_append = " ${TOOLCHAIN_OPTIONS}" | ||
17 | |||
18 | do_configure_prepend() { | ||
19 | # copy desired defconfig so we pick it up for the real kernel_do_configure | ||
20 | cp ${KERNEL_DEFCONFIG} ${B}/.config | ||
21 | |||
22 | # add config fragments | ||
23 | if [ -f "${DELTA_KERNEL_DEFCONFIG}" ]; then | ||
24 | ${S}/scripts/kconfig/merge_config.sh -m .config ${DELTA_KERNEL_DEFCONFIG} | ||
25 | fi | ||
26 | |||
27 | # append sdk version in kernel version if SDK_VERSION is defined | ||
28 | if [ -n "${SDK_VERSION}" ]; then | ||
29 | echo "CONFIG_LOCALVERSION=\"-${SDK_VERSION}\"" >> ${S}/.config | ||
30 | fi | ||
31 | |||
32 | # Add GIT revision to the local version | ||
33 | if [ "${SCMVERSION}" = "y" ]; then | ||
34 | head=`git rev-parse --verify --short HEAD 2> /dev/null` | ||
35 | printf "%s%s" +g $head > ${S}/.scmversion | ||
36 | fi | ||
37 | } | ||
diff --git a/recipes-kernel/linux/linux-qoriq-sdk.bb b/recipes-kernel/linux/linux-qoriq-sdk.bb new file mode 100644 index 0000000..275691a --- /dev/null +++ b/recipes-kernel/linux/linux-qoriq-sdk.bb | |||
@@ -0,0 +1,37 @@ | |||
1 | inherit kernel | ||
2 | require recipes-kernel/linux/linux-dtb.inc | ||
3 | |||
4 | DESCRIPTION = "Linux kernel for Freescale platforms" | ||
5 | SECTION = "kernel" | ||
6 | LICENSE = "GPLv2" | ||
7 | |||
8 | require recipes-kernel/linux/linux-qoriq-sdk.inc | ||
9 | |||
10 | PR = "${INC_PR}.1" | ||
11 | |||
12 | SCMVERSION ?= "y" | ||
13 | |||
14 | DEPENDS_append = " libgcc" | ||
15 | KERNEL_CC_append = " ${TOOLCHAIN_OPTIONS}" | ||
16 | KERNEL_LD_append = " ${TOOLCHAIN_OPTIONS}" | ||
17 | |||
18 | do_configure_prepend() { | ||
19 | # copy desired defconfig so we pick it up for the real kernel_do_configure | ||
20 | cp ${KERNEL_DEFCONFIG} ${B}/.config | ||
21 | |||
22 | # add config fragments | ||
23 | if [ -f "${DELTA_KERNEL_DEFCONFIG}" ]; then | ||
24 | ${S}/scripts/kconfig/merge_config.sh -m .config ${DELTA_KERNEL_DEFCONFIG} | ||
25 | fi | ||
26 | |||
27 | # append sdk version in kernel version if SDK_VERSION is defined | ||
28 | if [ -n "${SDK_VERSION}" ]; then | ||
29 | echo "CONFIG_LOCALVERSION=\"-${SDK_VERSION}\"" >> ${S}/.config | ||
30 | fi | ||
31 | |||
32 | # Add GIT revision to the local version | ||
33 | if [ "${SCMVERSION}" = "y" ]; then | ||
34 | head=`git rev-parse --verify --short HEAD 2> /dev/null` | ||
35 | printf "%s%s" +g $head > ${S}/.scmversion | ||
36 | fi | ||
37 | } | ||
diff --git a/recipes-kernel/linux/linux-qoriq-sdk.inc b/recipes-kernel/linux/linux-qoriq-sdk.inc new file mode 100644 index 0000000..83c632e --- /dev/null +++ b/recipes-kernel/linux/linux-qoriq-sdk.inc | |||
@@ -0,0 +1,37 @@ | |||
1 | LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7" | ||
2 | |||
3 | PV = "3.8" | ||
4 | INC_PR = "r11" | ||
5 | |||
6 | SRC_URI = "git://git.freescale.com/ppc/sdk/linux.git;nobranch=1" | ||
7 | SRCREV = "3edd71eeb4e4ae27baf539e0a5f0c8e8261bf65b" | ||
8 | SRCREV_t2080qds = "47914f6cf77197921c648c6ea8977974fa54d03a" | ||
9 | SRCREV_t2080qds-64b = "47914f6cf77197921c648c6ea8977974fa54d03a" | ||
10 | |||
11 | KSRC ?= "" | ||
12 | S = '${@base_conditional("KSRC", "", "${WORKDIR}/git", "${KSRC}", d)}' | ||
13 | # make everything compatible for the time being | ||
14 | COMPATIBLE_MACHINE_$MACHINE = "$MACHINE" | ||
15 | |||
16 | python () { | ||
17 | ma = d.getVar("DISTRO_FEATURES", True) | ||
18 | arch = d.getVar("OVERRIDES", True) | ||
19 | |||
20 | # the : after the arch is to skip the message on 64b | ||
21 | if not "multiarch" in ma and ("e5500:" in arch or "e6500:" in arch): | ||
22 | raise bb.parse.SkipPackage("Building the kernel for this arch requires multiarch to be in DISTRO_FEATURES") | ||
23 | |||
24 | promote_kernel = d.getVar('BUILD_64BIT_KERNEL') | ||
25 | |||
26 | if promote_kernel == "1": | ||
27 | d.setVar('KERNEL_CC_append', ' -m64') | ||
28 | d.setVar('KERNEL_LD_append', ' -melf64ppc') | ||
29 | |||
30 | error_qa = d.getVar('ERROR_QA', True) | ||
31 | if 'arch' in error_qa: | ||
32 | d.setVar('ERROR_QA', error_qa.replace(' arch', '')) | ||
33 | |||
34 | all_qa = d.getVar('ALL_QA', True) | ||
35 | if 'arch' in all_qa: | ||
36 | d.setVar('ALL_QA', all_qa.replace(' arch', '')) | ||
37 | } | ||
diff --git a/recipes-kernel/linux/linux-qoriq.inc b/recipes-kernel/linux/linux-qoriq.inc new file mode 100644 index 0000000..642db77 --- /dev/null +++ b/recipes-kernel/linux/linux-qoriq.inc | |||
@@ -0,0 +1,46 @@ | |||
1 | inherit kernel qoriq_build_64bit_kernel | ||
2 | require recipes-kernel/linux/linux-dtb.inc | ||
3 | |||
4 | DESCRIPTION = "Linux kernel for Freescale platforms" | ||
5 | SECTION = "kernel" | ||
6 | LICENSE = "GPLv2" | ||
7 | LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7" | ||
8 | |||
9 | KSRC ?= "" | ||
10 | S = '${@base_conditional("KSRC", "", "${WORKDIR}/git", "${KSRC}", d)}' | ||
11 | |||
12 | DEPENDS_append = " libgcc" | ||
13 | KERNEL_CC_append = " ${TOOLCHAIN_OPTIONS}" | ||
14 | KERNEL_LD_append = " ${TOOLCHAIN_OPTIONS}" | ||
15 | |||
16 | SCMVERSION ?= "y" | ||
17 | DELTA_KERNEL_DEFCONFIG ?= "" | ||
18 | do_configure_prepend() { | ||
19 | # copy desired defconfig so we pick it up for the real kernel_do_configure | ||
20 | cp ${KERNEL_DEFCONFIG} ${B}/.config | ||
21 | |||
22 | # add config fragments | ||
23 | for deltacfg in ${DELTA_KERNEL_DEFCONFIG}; do | ||
24 | if [ -f "${WORKDIR}/${deltacfg}" ]; then | ||
25 | ${S}/scripts/kconfig/merge_config.sh -m .config ${WORKDIR}/${deltacfg} | ||
26 | elif [ -f "${S}/arch/powerpc/configs/${deltacfg}" ]; then | ||
27 | ${S}/scripts/kconfig/merge_config.sh -m .config \ | ||
28 | ${S}/arch/powerpc/configs/${deltacfg} | ||
29 | fi | ||
30 | done | ||
31 | |||
32 | #add git revision to the local version | ||
33 | if [ "${SCMVERSION}" = "y" ]; then | ||
34 | # append sdk version if SDK_VERSION is defined | ||
35 | sdkversion='' | ||
36 | if [ -n "${SDK_VERSION}" ]; then | ||
37 | sdkversion="-${SDK_VERSION}" | ||
38 | fi | ||
39 | head=`git rev-parse --verify --short HEAD 2> /dev/null` | ||
40 | printf "%s%s%s" $sdkversion +g $head > ${S}/.scmversion | ||
41 | fi | ||
42 | } | ||
43 | |||
44 | # make everything compatible for the time being | ||
45 | COMPATIBLE_MACHINE_$MACHINE = "$MACHINE" | ||
46 | |||
diff --git a/recipes-kernel/linux/linux-qoriq_3.12.bb b/recipes-kernel/linux/linux-qoriq_3.12.bb new file mode 100644 index 0000000..39270d4 --- /dev/null +++ b/recipes-kernel/linux/linux-qoriq_3.12.bb | |||
@@ -0,0 +1,10 @@ | |||
1 | require recipes-kernel/linux/linux-qoriq.inc | ||
2 | |||
3 | SRC_URI = "git://git.freescale.com/ppc/sdk/linux.git;nobranch=1 \ | ||
4 | file://powerpc-Fix-64-bit-builds-with-binutils-2.24.patch \ | ||
5 | file://Fix-for-CVE-2014-5045-fs-umount-on-symlink-leak.patch \ | ||
6 | file://Fix-CVE-2014-5077-sctp-inherit-auth-capable-on-INIT-collisions.patch \ | ||
7 | file://Fix-CVE-2014-5471_CVE-2014-5472.patch \ | ||
8 | " | ||
9 | SRCREV = "c29fe1a733308cbe592b3af054a97be1b91cf2dd" | ||
10 | |||
diff --git a/recipes-kernel/lttng/lttng-modules_%.bbappend b/recipes-kernel/lttng/lttng-modules_%.bbappend new file mode 100644 index 0000000..5415f16 --- /dev/null +++ b/recipes-kernel/lttng/lttng-modules_%.bbappend | |||
@@ -0,0 +1,18 @@ | |||
1 | inherit distro_features_check | ||
2 | |||
3 | REQUIRED_DISTRO_FEATURES_append_e6500 ?= "multiarch" | ||
4 | |||
5 | python () { | ||
6 | |||
7 | promote_kernel = d.getVar('BUILD_64BIT_KERNEL') | ||
8 | |||
9 | if promote_kernel == "1": | ||
10 | d.appendVar('KERNEL_CC', ' -m64') | ||
11 | d.appendVar('KERNEL_LD', ' -melf64ppc') | ||
12 | |||
13 | |||
14 | error_qa = d.getVar('ERROR_QA', True) | ||
15 | if 'arch' in error_qa: | ||
16 | d.setVar('ERROR_QA', error_qa.replace(' arch', '')) | ||
17 | |||
18 | } | ||
diff --git a/recipes-kernel/qoriq-debug/qoriq-debug_git.bb b/recipes-kernel/qoriq-debug/qoriq-debug_git.bb new file mode 100644 index 0000000..5b0256f --- /dev/null +++ b/recipes-kernel/qoriq-debug/qoriq-debug_git.bb | |||
@@ -0,0 +1,35 @@ | |||
1 | DESCRIPTION = "QorIQ Debug File System Module" | ||
2 | SECTION = "qoriq-debug" | ||
3 | LICENSE = "GPLv2+" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=e29234dd5d40dc352cc60cc0c93437ba" | ||
5 | |||
6 | inherit module autotools | ||
7 | |||
8 | SRCBRANCH = "sdk-v1.4.x" | ||
9 | SRC_URI = "git://git.freescale.com/ppc/sdk/qoriq-debug.git;branch=${SRCBRANCH}" | ||
10 | SRCREV = "08de2902af9a79ba9e436a284b8d7754b351f608" | ||
11 | |||
12 | S = "${WORKDIR}/git" | ||
13 | |||
14 | EXTRA_OECONF += "--with-linux=${STAGING_KERNEL_DIR}" | ||
15 | EXTRA_OEMAKE += 'SYSROOT="${D}"' | ||
16 | |||
17 | python () { | ||
18 | ma = d.getVar("DISTRO_FEATURES", True) | ||
19 | arch = d.getVar("OVERRIDES", True) | ||
20 | |||
21 | # the : after the arch is to skip the message on 64b | ||
22 | if not "multiarch" in ma and ("e5500:" in arch or "e6500:" in arch): | ||
23 | raise bb.parse.SkipPackage("Building the kernel for this arch requires multiarch to be in DISTRO_FEATURES") | ||
24 | |||
25 | promote_kernel = d.getVar('BUILD_64BIT_KERNEL') | ||
26 | |||
27 | if promote_kernel == "1": | ||
28 | d.setVar('KERNEL_CC_append', ' -m64') | ||
29 | d.setVar('KERNEL_LD_append', ' -melf64ppc') | ||
30 | |||
31 | error_qa = d.getVar('ERROR_QA', True) | ||
32 | if 'arch' in error_qa: | ||
33 | d.setVar('ERROR_QA', error_qa.replace(' arch', '')) | ||
34 | } | ||
35 | |||
diff --git a/recipes-kernel/uio-seville/uio-seville_0.1.bb b/recipes-kernel/uio-seville/uio-seville_0.1.bb new file mode 100755 index 0000000..0307a6d --- /dev/null +++ b/recipes-kernel/uio-seville/uio-seville_0.1.bb | |||
@@ -0,0 +1,12 @@ | |||
1 | DESCRIPTION = "UIO driver for T1040 L2 Switch" | ||
2 | LICENSE = "GPLv2" | ||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e" | ||
4 | |||
5 | SRC_URI = "git://git.freescale.com/ppc/sdk/l2switch-uio.git" | ||
6 | SRCREV = "1077880ff3557d44dc5dd9fe5e2f4ee1474fb25f" | ||
7 | |||
8 | inherit module | ||
9 | |||
10 | S = "${WORKDIR}/git/uio-driver" | ||
11 | |||
12 | COMPATIBLE_MACHINE = "(t1040qds|t1040rdb|t1040rdb-64b)" | ||