summaryrefslogtreecommitdiffstats
path: root/meta-networking/recipes-extended/iscsitarget/files/fix-call-trace-of-ahash-API-calling.patch
diff options
context:
space:
mode:
authorJagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>2018-07-06 23:03:25 +0530
committerKhem Raj <raj.khem@gmail.com>2018-07-09 08:34:59 -0700
commit1e7e4e91817b272b7685406f8d9ef58fe8c65e29 (patch)
treea43682b26e0dff1df725eaac72b6e0574e196896 /meta-networking/recipes-extended/iscsitarget/files/fix-call-trace-of-ahash-API-calling.patch
parent8603b7643b9025bf88dd55165ec808c4cea144e3 (diff)
downloadmeta-openembedded-1e7e4e91817b272b7685406f8d9ef58fe8c65e29.tar.gz
iscsitarget: Remove recipe as it is no longer supported to build with linux kernel >= 4.14
The upstream iscsitarget source does not have support to build with Linux kernel >= 4.14, as the "struct bio" members has been updated in the linux kernel v4.14 source. Requires major code change in iscsitarget to support building later versions of Linux kernel. The Linux SCSI target framework (tgt) recipe present in meta-openstack layer, can be used as a substitute to iscsitarget recipe and works fine in our testing. Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-networking/recipes-extended/iscsitarget/files/fix-call-trace-of-ahash-API-calling.patch')
-rw-r--r--meta-networking/recipes-extended/iscsitarget/files/fix-call-trace-of-ahash-API-calling.patch85
1 files changed, 0 insertions, 85 deletions
diff --git a/meta-networking/recipes-extended/iscsitarget/files/fix-call-trace-of-ahash-API-calling.patch b/meta-networking/recipes-extended/iscsitarget/files/fix-call-trace-of-ahash-API-calling.patch
deleted file mode 100644
index c99683478b..0000000000
--- a/meta-networking/recipes-extended/iscsitarget/files/fix-call-trace-of-ahash-API-calling.patch
+++ /dev/null
@@ -1,85 +0,0 @@
1The previous build_with_updated_interfaces_of_linux_v4.8_and_above.patch
2does not alloc struct ahash_request before using it. This will cause the
3kernel call trace below when calling gen_scsiid on kernel 4.8 or later
4version.
5
6This patch normalizes the calling of ahash API according to the example
7in kernel doc Documentation/crypto/api-intro.txt.
8
9BUG: unable to handle kernel NULL pointer dereference at 0000000000000020
10IP: [<ffffffffa0008d45>] volume_add+0x625/0x7f0 [iscsi_trgt]
11PGD dd77067 PUD dd7c067 PMD 0
12Oops: 0000 [#1] PREEMPT SMP
13Modules linked in: iscsi_trgt(O)
14CPU: 0 PID: 350 Comm: ietd Tainted: G O 4.8.12-yocto-standard #1
15Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.9.3-0-ge2fc41e-prebuilt.qemu-project.org 04/01/2014
16task: ffff88000dfe2c00 task.stack: ffff88000de88000
17RIP: 0010:[<ffffffffa0008d45>] [<ffffffffa0008d45>] volume_add+0x625/0x7f0 [iscsi_trgt]
18RSP: 0018:ffff88000de8bd90 EFLAGS: 00000206
19RAX: 000000000000ddfa RBX: ffff88000ddd1d78 RCX: ffffea0000000000
20RDX: 0000000000000600 RSI: 0000000000000000 RDI: ffff88000ddd1c14
21RBP: ffff88000de8be38 R08: ffff88000de44180 R09: ffff88000de8bdd0
22R10: 000000000000002c R11: 0000000000000000 R12: ffff88000ddfa600
23R13: 0000000000000000 R14: 0000000000000000 R15: ffff88000de92200
24FS: 00007f767548b700(0000) GS:ffff88000fc00000(0000) knlGS:0000000000000000
25CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
26CR2: 0000000000000020 CR3: 000000000dd2d000 CR4: 00000000000006f0
27Stack:
28 ffff88000de8bdd0 ffff88000dc1b3d0 ffff88000ddfa650 ffff88000ddfa660
29 ffff88000df8f000 ffff88000ddd1c00 ffff88000de44180 0000000000000000
30 ffffea0000377440 0000000f00000c14 0000000000000000 0000000000000000
31Call Trace:
32 [<ffffffffa0006547>] ioctl+0x217/0x390 [iscsi_trgt]
33 [<ffffffff81192574>] do_vfs_ioctl+0x94/0x5c0
34 [<ffffffff8117ff73>] ? vfs_read+0xf3/0x120
35 [<ffffffff81192b19>] SyS_ioctl+0x79/0x90
36 [<ffffffff8191a45b>] entry_SYSCALL_64_fastpath+0x13/0x8f
37Code: 4c 01 e0 0f 82 a2 01 00 00 48 b9 00 00 00 80 ff 77 00 00 48 01
38c8 45 31 f6 48 b9 00 00 00 00 00 ea ff ff 89 54 24 68 48 c1 e8 0c <49>
398b 56 20 4c 89 44 24 20 4c 89 f7 48 c1 e0 06 c7 44 24 6c 04
40RIP [<ffffffffa0008d45>] volume_add+0x625/0x7f0 [iscsi_trgt]
41 RSP <ffff88000de8bd90>
42CR2: 0000000000000020
43end trace cd2016297df21635 ]
44ietd_response_recv 200 0 -5
45Input/output error.
46
47Upstream-Status: Pending [This patch is based on the previous one which
48has not been merged upstream.]
49
50Signed-off-by: Zhe He <zhe.he@windriver.com>
51
52--- iscsitarget-1.4.20.3+svn502_orig/kernel/volume.c 2017-01-18 08:57:56.752187402 +0800
53+++ iscsitarget-1.4.20.3+svn502/kernel/volume.c 2017-01-18 09:02:44.164195234 +0800
54@@ -93,13 +93,14 @@ static void gen_scsiid(struct iet_volume
55
56 #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
57 tfm = crypto_alloc_ahash("md5", 0, CRYPTO_ALG_ASYNC);
58+ hash = ahash_request_alloc(tfm, GFP_ATOMIC);
59 #else
60 hash.tfm = crypto_alloc_hash("md5", 0, CRYPTO_ALG_ASYNC);
61 hash.flags = 0;
62 #endif
63
64 #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
65- if (!IS_ERR(tfm)) {
66+ if (tfm && !IS_ERR(tfm)) {
67 #else
68 if (!IS_ERR(hash.tfm)) {
69 #endif
70@@ -116,10 +117,13 @@ static void gen_scsiid(struct iet_volume
71 nbytes += sizeof(volume->lun);
72
73 #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
74- crypto_ahash_init(hash);
75+ ahash_request_set_callback(hash, 0, NULL, NULL);
76 ahash_request_set_crypt(hash, sg, volume->scsi_id, nbytes);
77- crypto_ahash_update(hash);
78 crypto_ahash_digest(hash);
79+ crypto_ahash_init(hash);
80+ crypto_ahash_update(hash);
81+ crypto_ahash_final(hash);
82+ ahash_request_free(hash);
83 crypto_free_ahash(tfm);
84 #else
85 crypto_hash_init(&hash);