Wind River Support Network

HomeDefectsLIN6-6890
Fixed

LIN6-6890 : mismatch of cryptodev.h between usr/inlucde/crypto and kernel/crypto/cryptodev/

Created: Mar 4, 2014    Updated: Dec 3, 2018
Resolved Date: Mar 9, 2014
Found In Version: 6.0.0.3,6.0.0.4
Fix Version: 6.0.0.4
Severity: Severe
Applicable for: Wind River Linux 6
Component/s: Userspace
Host OS: Linux Ubuntu
Architecture: All

Description

The mismatch has incur malfunction of openssl on cryptodev for hardware crypto accelerator.

:/mnt/work/build-6.0/ti-am335x-03-02/bitbake_build/tmp/sysroots$ diff -urNp ./ti-am335x/usr/include/crypto/cryptodev.h ./ti-am335x/usr/src/kernel/crypto/cryptodev/crypto/cryptodev.h > /tmp/1
:/mnt/work/build-6.0/ti-am335x-03-02/bitbake_build/tmp/sysroots$ vi /tmp/1
:/mnt/work/build-6.0/ti-am335x-03-02/bitbake_build/tmp/sysroots$ cat /tmp/1|grep CIO
+/* input of CIOCGSESSION */
-	u_int		crk_crid;	/* NB: only used by CIOCKEY2 (rw) */
+/* input of CIOCCRYPT */
+/* input of CIOCAUTHCRYPT */
-#define CRIOASYMFEAT	CIOCASYMFEAT
-#define CRIOFINDDEV	CIOCFINDDEV
-#define CIOCGSESSION	_IOWR('c', 101, struct session_op)
-#define CIOCFSESSION	_IOW('c', 102, u_int32_t)
-#define CIOCCRYPT	_IOWR('c', 103, struct crypt_op)
-#define CIOCKEY		_IOWR('c', 104, struct crypt_kop)
-#define CIOCASYMFEAT	_IOR('c', 105, u_int32_t)
-#define CIOCGSESSION2	_IOWR('c', 106, struct session2_op)
-#define CIOCKEY2	_IOWR('c', 107, struct crypt_kop)
-#define CIOCFINDDEV	_IOWR('c', 108, struct crypt_find_op)
+/* input of CIOCKEY */
+/* features to be queried with CIOCASYMFEAT ioctl
+#define CIOCGSESSION    _IOWR('c', 102, struct session_op)
+#define CIOCFSESSION    _IOW('c', 103, __u32)
+#define CIOCCRYPT       _IOWR('c', 104, struct crypt_op)
+#define CIOCKEY         _IOWR('c', 105, struct crypt_kop)
+#define CIOCASYMFEAT    _IOR('c', 106, __u32)
+#define CIOCGSESSINFO	_IOWR('c', 107, struct session_info_op)
+#define CIOCAUTHCRYPT   _IOWR('c', 109, struct crypt_auth_op)
+#define CIOCASYNCCRYPT    _IOW('c', 110, struct crypt_op)
+#define CIOCASYNCFETCH    _IOR('c', 111, struct crypt_op)

Workaround

cp bitbake_build/tmp/sysroots/ti-am335x/usr/src/kernel/crypto/cryptodev/crypto/cryptodev.h 
    bitbake_build/tmp/sysroots/ti-am335x/usr/include/crypto/

And rebuild openssl, then it will be OK, this is only validated by ti-am335x.

Steps to Reproduce

1. Build a project for WRLinux-6.0, 
2. Try to check cryptodev.h between
    path_to_project/bitbake_build/tmp/sysroots/ti-am335x/usr/include/crypto/
    And
    path_to_project/bitbake_build/tmp/sysroots/ti-am335x/usr/src/kernel/crypto/cryptodev/crypto/
                                          
3. Diff them.

Other Downloads


Live chat
Online