diff options
| author | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2010-06-15 15:16:37 +0200 |
|---|---|---|
| committer | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2010-06-17 20:49:04 +0200 |
| commit | 9996c7d579c4d424497d45f4645bb30baac3d408 (patch) | |
| tree | 2c83f97bca05f846fcff210c8ac3267701b63109 | |
| parent | 780a3de303e5cf7534123aa8a9518ed74537659b (diff) | |
| download | cryptodev-linux-9996c7d579c4d424497d45f4645bb30baac3d408.tar.gz cryptodev-linux-9996c7d579c4d424497d45f4645bb30baac3d408.tar.xz cryptodev-linux-9996c7d579c4d424497d45f4645bb30baac3d408.zip | |
Some fix in _once.
| -rw-r--r-- | ncr-sessions.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/ncr-sessions.c b/ncr-sessions.c index 1edeb01..6ac8f0f 100644 --- a/ncr-sessions.c +++ b/ncr-sessions.c @@ -271,6 +271,9 @@ int ncr_session_init(struct ncr_lists* lists, void __user* arg) ret = 0; + session.ses = ns->desc; + copy_to_user( arg, &session, sizeof(session)); + fail: if (key) _ncr_key_item_put(key); if (ret < 0) @@ -478,6 +481,7 @@ fail: int ncr_session_once(struct ncr_lists* lists, void __user* arg) { struct __user ncr_session_once_op_st* op = arg; + struct ncr_session_once_op_st kop; int ret; ret = ncr_session_init(lists, &op->init); @@ -486,6 +490,10 @@ int ncr_session_once(struct ncr_lists* lists, void __user* arg) return ret; } + copy_from_user(&kop, arg, sizeof(kop)); + kop.op.ses = kop.init.ses; + copy_to_user(arg, &kop, sizeof(kop)); + ret = ncr_session_final(lists, &op->op); if (ret < 0) { err(); |
