Re: [PATCH v4 0/8] cifs: introduce support for AES-GMAC signing

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 09/29, Steve French wrote:
improved ... but I see an out of memory error when I do this:

# dd if=/dev/zero of=/mnt1/file bs=4M count=1
dd: closing output file '/mnt1/file': Cannot allocate memory
# dmesg
[  439.674953] CIFS: VFS: \\localhost smb311_calc_aes_gmac: Failed to
compute AES-GMAC signature, rc=-12

That's... weird, to say the least.  Creating a 4MB file is something
I *obviously* tested, and I never hit ENOMEM with this patch series.
For sanity check, I just tried to reproduce this and I'm not able to;
tried with several small files and also several large files.  Maybe send
me your setup details in a private email? Or at least what's the server
OS and version.

An interesting point here is that this error is coming from the crypto
API (crypto_aead_encrypt() in smb311_calc_aes_gmac())... sigh

Attached is the trace-cmd output

I don't see much information regarding the signature computation nor
crypto code in the trace.  Did I miss something?

Will also run some xfstests with this v4 series

The v4 changes shouldn't make much of a difference for this case, I
expect, but let me know how it goes.


Cheers,

Enzo

On Thu, Sep 29, 2022 at 3:36 PM Enzo Matsumiya <ematsumiya@xxxxxxx> wrote:

v4:
Patches 3/8 and 6/8:
  - fix checkpatch errors (thanks to Steve)

Patch 5/8:
  - rename smb311_calc_signature to smb311_calc_aes_gmac, and use SMB3_AES_GCM_NONCE
    instead of hardcoded '12' (suggested by metze)
  - update commit message to include the reasoning to move ->calc_signature op

Patch 8/8:
  - move SMB2_PADDING_BUF to smb2glob.h
  - check if iov is SMB2_PADDING_BUF in the free functions where
    smb2_padding was previously used (pointed out by metze)

Enzo Matsumiya (8):
  smb3: rename encryption/decryption TFMs
  cifs: secmech: use shash_desc directly, remove sdesc
  cifs: allocate ephemeral secmechs only on demand
  cifs: create sign/verify secmechs, don't leave keys in memory
  cifs: introduce AES-GMAC signing support for SMB 3.1.1
  cifs: deprecate 'enable_negotiate_signing' module param
  cifs: show signing algorithm name in DebugData
  cifs: use MAX_CIFS_SMALL_BUFFER_SIZE-8 as padding buffer

 fs/cifs/cifs_debug.c    |   7 +-
 fs/cifs/cifsencrypt.c   | 157 ++++-------
 fs/cifs/cifsfs.c        |  14 +-
 fs/cifs/cifsglob.h      |  70 +++--
 fs/cifs/cifsproto.h     |   5 +-
 fs/cifs/link.c          |  13 +-
 fs/cifs/misc.c          |  49 ++--
 fs/cifs/sess.c          |  12 -
 fs/cifs/smb1ops.c       |   6 +
 fs/cifs/smb2glob.h      |  15 ++
 fs/cifs/smb2misc.c      |  29 +-
 fs/cifs/smb2ops.c       | 102 ++-----
 fs/cifs/smb2pdu.c       |  77 ++++--
 fs/cifs/smb2pdu.h       |   2 -
 fs/cifs/smb2proto.h     |  13 +-
 fs/cifs/smb2transport.c | 581 +++++++++++++++++++++-------------------
 16 files changed, 577 insertions(+), 575 deletions(-)

--
2.35.3



--
Thanks,

Steve

# tracer: nop
#
# entries-in-buffer/entries-written: 63/63   #P:12
#
#                                _-----=> irqs-off/BH-disabled
#                               / _----=> need-resched
#                              | / _---=> hardirq/softirq
#                              || / _--=> preempt-depth
#                              ||| / _-=> migrate-disable
#                              |||| /     delay
#           TASK-PID     CPU#  |||||  TIMESTAMP  FUNCTION
#              | |         |   |||||     |         |
             dd-4328    [005] .....   526.537605: smb3_enter:  cifs_revalidate_
dentry_attr: xid=67
             dd-4328    [005] .....   526.537631: smb3_query_info_compound_ente
r: xid=67 sid=0xa43778ef tid=0x463e7cd2 path=\file
             dd-4328    [005] .....   526.537635: smb3_waitff_credits: conn_id=
0x1 server=localhost current_mid=193 credits=1187 credit_change=-3 in_flight=3
             dd-4328    [005] .....   526.537638: smb3_cmd_enter:      sid=0x46
3e7cd2 tid=0xa43778ef cmd=5 mid=193
             dd-4328    [005] .....   526.537650: smb3_cmd_enter:      sid=0x46
3e7cd2 tid=0xa43778ef cmd=16 mid=194
             dd-4328    [005] .....   526.537654: smb3_cmd_enter:      sid=0x46
3e7cd2 tid=0xa43778ef cmd=6 mid=195
          cifsd-4189    [004] .....   526.539030: smb3_add_credits: conn_id=0x1
server=localhost current_mid=196 credits=1187 credit_change=0 in_flight=2
          cifsd-4189    [004] .....   526.539038: smb3_add_credits: conn_id=0x1
server=localhost current_mid=196 credits=1187 credit_change=0 in_flight=1
          cifsd-4189    [004] .....   526.539047: smb3_add_credits: conn_id=0x1
server=localhost current_mid=196 credits=1217 credit_change=30 in_flight=0
             dd-4328    [005] .....   526.539115: smb3_cmd_done:       sid=0x46
3e7cd2 tid=0xa43778ef cmd=5 mid=193
             dd-4328    [005] .....   526.539119: smb3_cmd_done:       sid=0x46
3e7cd2 tid=0xa43778ef cmd=16 mid=194
             dd-4328    [005] .....   526.539121: smb3_cmd_done:       sid=0x46
3e7cd2 tid=0xa43778ef cmd=6 mid=195
             dd-4328    [005] .....   526.539128: smb3_query_info_compound_done
: xid=67 sid=0xa43778ef tid=0x463e7cd2
             dd-4328    [005] .....   526.539138: smb3_exit_done:      cifs_rev
alidate_dentry_attr: xid=67
             dd-4328    [005] .....   526.541003: smb3_enter:  cifs_open: xid=6
8
             dd-4328    [005] .....   526.541020: smb3_open_enter: xid=68 sid=0
x463e7cd2 tid=0xa43778ef cr_opts=0x40 des_access=0x40000080
             dd-4328    [005] .....   526.541022: smb3_waitff_credits: conn_id=
0x1 server=localhost current_mid=196 credits=1216 credit_change=-1 in_flight=1
             dd-4328    [005] .....   526.541023: smb3_cmd_enter:      sid=0x46
3e7cd2 tid=0xa43778ef cmd=5 mid=196
          cifsd-4189    [004] .....   526.542593: smb3_add_credits: conn_id=0x1
server=localhost current_mid=197 credits=1226 credit_change=10 in_flight=0
             dd-4328    [005] .....   526.542661: smb3_cmd_done:       sid=0x46
3e7cd2 tid=0xa43778ef cmd=5 mid=196
             dd-4328    [005] .....   526.542665: smb3_open_done: xid=68 sid=0x
463e7cd2 tid=0xa43778ef fid=0x8b46db33 cr_opts=0x40 des_access=0x40000080
             dd-4328    [005] .....   526.542678: smb3_exit_done:      cifs_ope
n: xid=68
             dd-4328    [005] .....   526.542686: smb3_enter:  cifs_setattr_nou
nix: xid=69
             dd-4328    [005] .....   526.542692: smb3_flush_enter:    xid=69 s
id=0x463e7cd2 tid=0xa43778ef fid=0x8b46db33
             dd-4328    [005] .....   526.542694: smb3_waitff_credits: conn_id=
0x1 server=localhost current_mid=197 credits=1225 credit_change=-1 in_flight=1
             dd-4328    [005] .....   526.542696: smb3_cmd_enter:      sid=0x46
3e7cd2 tid=0xa43778ef cmd=7 mid=197
          cifsd-4189    [004] .....   526.544236: smb3_pend_credits: conn_id=0x
1 server=localhost current_mid=198 credits=1235 credit_change=10 in_flight=1
          cifsd-4189    [004] .....   526.554127: smb3_add_credits: conn_id=0x1
server=localhost current_mid=198 credits=1235 credit_change=0 in_flight=0
             dd-4328    [005] .....   526.554203: smb3_cmd_done:       sid=0x46
3e7cd2 tid=0x0 cmd=7 mid=197
             dd-4328    [005] .....   526.554207: smb3_flush_done:     xid=69 s
id=0x463e7cd2 tid=0xa43778ef fid=0x8b46db33
             dd-4328    [005] .....   526.554213: smb3_set_eof: xid=69 sid=0x46
3e7cd2 tid=0xa43778ef fid=0x8b46db33 offset=0x0
             dd-4328    [005] .....   526.554231: smb3_waitff_credits: conn_id=
0x1 server=localhost current_mid=198 credits=1234 credit_change=-1 in_flight=1
             dd-4328    [005] .....   526.554233: smb3_cmd_enter:      sid=0x46
3e7cd2 tid=0xa43778ef cmd=17 mid=198
          cifsd-4189    [004] .....   526.554588: smb3_add_credits: conn_id=0x1
server=localhost current_mid=199 credits=1244 credit_change=10 in_flight=0
             dd-4328    [005] .....   526.554656: smb3_cmd_done:       sid=0x46
3e7cd2 tid=0xa43778ef cmd=17 mid=198
             dd-4328    [005] .....   526.554686: smb3_set_info_compound_enter:
xid=69 sid=0xa43778ef tid=0x463e7cd2 path=\file
             dd-4328    [005] .....   526.554688: smb3_waitff_credits: conn_id=
0x1 server=localhost current_mid=199 credits=1243 credit_change=-1 in_flight=1
             dd-4328    [005] .....   526.554690: smb3_cmd_enter:      sid=0x46
3e7cd2 tid=0xa43778ef cmd=17 mid=199
          cifsd-4189    [004] .....   526.555472: smb3_add_credits: conn_id=0x1
server=localhost current_mid=200 credits=1253 credit_change=10 in_flight=0
             dd-4328    [005] .....   526.555557: smb3_cmd_done:       sid=0x46
3e7cd2 tid=0xa43778ef cmd=17 mid=199
             dd-4328    [005] .....   526.555562: smb3_set_info_compound_done:
xid=69 sid=0xa43778ef tid=0x463e7cd2
             dd-4328    [005] .....   526.555570: smb3_exit_done:      cifs_set
attr_nounix: xid=69
             dd-4328    [005] .....   526.562165: smb3_enter:  cifs_writepages:
xid=70
             dd-4328    [005] .....   526.562167: smb3_wait_credits: conn_id=0x
1 server=localhost current_mid=200 credits=1189 credit_change=-64 in_flight=1
             dd-4328    [005] .....   526.562496: smb3_write_enter: xid=0 sid=0
x463e7cd2 tid=0xa43778ef fid=0x8b46db33 offset=0x0 len=0x400000
             dd-4328    [005] .....   526.562498: smb3_cmd_enter:      sid=0x46
3e7cd2 tid=0xa43778ef cmd=9 mid=200
             dd-4328    [005] .....   526.562520: smb3_write_err:      xid=0 si
d=0x463e7cd2 tid=0xa43778ef fid=0x8b46db33 offset=0x0 len=0x400000 rc=-12
             dd-4328    [005] .....   526.562530: smb3_add_credits: conn_id=0x1
server=localhost current_mid=200 credits=1253 credit_change=64 in_flight=0
             dd-4328    [005] .....   526.562695: smb3_wait_credits: conn_id=0x
1 server=localhost current_mid=200 credits=1189 credit_change=-64 in_flight=1
             dd-4328    [005] .....   526.562696: smb3_add_credits: conn_id=0x1
server=localhost current_mid=200 credits=1253 credit_change=64 in_flight=0
             dd-4328    [005] .....   526.562697: smb3_exit_err:       cifs_wri
tepages: xid=70 rc=-12
             dd-4328    [010] .....   526.666748: smb3_enter:  cifs_writepages:
xid=71
             dd-4328    [010] .....   526.666753: smb3_wait_credits: conn_id=0x
1 server=localhost current_mid=200 credits=1189 credit_change=-64 in_flight=1
             dd-4328    [010] .....   526.666762: smb3_add_credits: conn_id=0x1
server=localhost current_mid=200 credits=1253 credit_change=64 in_flight=0
             dd-4328    [010] .....   526.666765: smb3_exit_done:      cifs_wri
tepages: xid=71
             dd-4328    [010] .....   526.666768: cifs_flush_err:      ino=5658
09363 rc=-12
   kworker/10:1-127     [010] .....   531.754716: smb3_enter:  _cifsFileInfo_pu
t: xid=72
   kworker/10:1-127     [010] .....   531.754720: smb3_close_enter:    xid=72 s
id=0x463e7cd2 tid=0xa43778ef fid=0x8b46db33
   kworker/10:1-127     [010] .....   531.754726: smb3_waitff_credits: conn_id=
0x1 server=localhost current_mid=200 credits=1252 credit_change=-1 in_flight=1
   kworker/10:1-127     [010] .....   531.754730: smb3_cmd_enter:      sid=0x46
3e7cd2 tid=0xa43778ef cmd=6 mid=200
          cifsd-4189    [004] .....   531.755769: smb3_add_credits: conn_id=0x1
server=localhost current_mid=201 credits=1262 credit_change=10 in_flight=0
   kworker/10:1-127     [010] .....   531.755802: smb3_cmd_done:       sid=0x46
3e7cd2 tid=0xa43778ef cmd=6 mid=200
   kworker/10:1-127     [010] .....   531.755806: smb3_close_done:     xid=72 s
id=0x463e7cd2 tid=0xa43778ef fid=0x8b46db33





[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux