Fixed
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
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)
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.
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.