All of lore.kernel.org
 help / color / mirror / Atom feed
From: Harvey Harrison <harvey.harrison@gmail.com>
To: Johannes Berg <johannes@sipsolutions.net>
Cc: Sebastian Siewior <lkml@ml.breakpoint.cc>,
	Herbert Xu <herbert@gondor.apana.org.au>,
	LKML <linux-kernel@vger.kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [PATCH] crypto: make michael_block a function
Date: Fri, 16 May 2008 08:52:03 -0700	[thread overview]
Message-ID: <1210953123.5915.33.camel@brick> (raw)
In-Reply-To: <1210925405.4000.3.camel@johannes.berg>

[-- Attachment #1: Type: text/plain, Size: 1131 bytes --]

On Fri, 2008-05-16 at 10:10 +0200, Johannes Berg wrote:
> On Fri, 2008-05-16 at 09:01 +0200, Sebastian Siewior wrote:
> > * Harvey Harrison | 2008-05-15 23:17:17 [-0700]:
> > 
> > >Make the michael_block macro a function and change the calling
> > >function to take a struct michael_mic_ctx * and the value for
> > >the initial xor with ctx->l.
> > >
> > >Also open-code xswap in its one use in michael_block.
> > Does this change have any performance impact?
> > The only user is wireless (I guess). Is it used frequently (sign every
> > packet for instance) or once in a while (in every re-keying)?
> 
> Every packet. I have no idea whether it has performance impact, very
> hard to even guess.
> 

Well, the code-size difference is significant (about 200 bytes smaller
on X86-32).  This macro is essentially an inline function that is pretty
large.

Attached find the objdump -d of the original and after the patch.  As it
is, this code isn't used anywhere that I can find as mac80211 has its
own implementation, I'm trying to see if there is much advantage in
keeping the private version over moving to the crypto one.

Harvey

[-- Attachment #2: michael_mic.orig --]
[-- Type: text/plain, Size: 11197 bytes --]


crypto/michael_mic.o:     file format elf32-i386

Disassembly of section .text:

00000000 <michael_setkey>:
   0:	83 f9 08             	cmp    $0x8,%ecx
   3:	53                   	push   %ebx
   4:	89 d3                	mov    %edx,%ebx
   6:	74 0d                	je     15 <michael_setkey+0x15>
   8:	81 08 00 00 20 00    	orl    $0x200000,(%eax)
   e:	b8 ea ff ff ff       	mov    $0xffffffea,%eax
  13:	eb 10                	jmp    25 <michael_setkey+0x25>
  15:	8b 12                	mov    (%edx),%edx
  17:	83 c0 30             	add    $0x30,%eax
  1a:	89 50 08             	mov    %edx,0x8(%eax)
  1d:	8b 53 04             	mov    0x4(%ebx),%edx
  20:	89 50 0c             	mov    %edx,0xc(%eax)
  23:	31 c0                	xor    %eax,%eax
  25:	5b                   	pop    %ebx
  26:	c3                   	ret    

00000027 <michael_init>:
  27:	c7 40 34 00 00 00 00 	movl   $0x0,0x34(%eax)
  2e:	c3                   	ret    

0000002f <michael_update>:
  2f:	55                   	push   %ebp
  30:	89 cd                	mov    %ecx,%ebp
  32:	57                   	push   %edi
  33:	56                   	push   %esi
  34:	53                   	push   %ebx
  35:	89 c3                	mov    %eax,%ebx
  37:	83 ec 08             	sub    $0x8,%esp
  3a:	83 c3 30             	add    $0x30,%ebx
  3d:	89 44 24 04          	mov    %eax,0x4(%esp)
  41:	89 14 24             	mov    %edx,(%esp)
  44:	8b 73 04             	mov    0x4(%ebx),%esi
  47:	85 f6                	test   %esi,%esi
  49:	0f 84 93 00 00 00    	je     e2 <michael_update+0xb3>
  4f:	b8 04 00 00 00       	mov    $0x4,%eax
  54:	29 f0                	sub    %esi,%eax
  56:	39 c8                	cmp    %ecx,%eax
  58:	89 c2                	mov    %eax,%edx
  5a:	0f 47 d1             	cmova  %ecx,%edx
  5d:	89 d1                	mov    %edx,%ecx
  5f:	8d 3c 33             	lea    (%ebx,%esi,1),%edi
  62:	8b 34 24             	mov    (%esp),%esi
  65:	c1 e9 02             	shr    $0x2,%ecx
  68:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
  6a:	89 d1                	mov    %edx,%ecx
  6c:	83 e1 03             	and    $0x3,%ecx
  6f:	74 02                	je     73 <michael_update+0x44>
  71:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
  73:	89 d0                	mov    %edx,%eax
  75:	03 43 04             	add    0x4(%ebx),%eax
  78:	83 f8 03             	cmp    $0x3,%eax
  7b:	89 43 04             	mov    %eax,0x4(%ebx)
  7e:	0f 86 d2 00 00 00    	jbe    156 <michael_update+0x127>
  84:	8b 44 24 04          	mov    0x4(%esp),%eax
  88:	29 d5                	sub    %edx,%ebp
  8a:	01 14 24             	add    %edx,(%esp)
  8d:	8b 53 08             	mov    0x8(%ebx),%edx
  90:	33 50 30             	xor    0x30(%eax),%edx
  93:	c7 43 04 00 00 00 00 	movl   $0x0,0x4(%ebx)
  9a:	89 53 08             	mov    %edx,0x8(%ebx)
  9d:	c1 ca 0f             	ror    $0xf,%edx
  a0:	33 53 0c             	xor    0xc(%ebx),%edx
  a3:	89 d0                	mov    %edx,%eax
  a5:	03 43 08             	add    0x8(%ebx),%eax
  a8:	89 c1                	mov    %eax,%ecx
  aa:	89 43 08             	mov    %eax,0x8(%ebx)
  ad:	81 e1 00 ff 00 ff    	and    $0xff00ff00,%ecx
  b3:	25 ff 00 ff 00       	and    $0xff00ff,%eax
  b8:	c1 e0 08             	shl    $0x8,%eax
  bb:	c1 e9 08             	shr    $0x8,%ecx
  be:	09 c1                	or     %eax,%ecx
  c0:	31 d1                	xor    %edx,%ecx
  c2:	89 ca                	mov    %ecx,%edx
  c4:	03 53 08             	add    0x8(%ebx),%edx
  c7:	89 53 08             	mov    %edx,0x8(%ebx)
  ca:	c1 ca 1d             	ror    $0x1d,%edx
  cd:	31 ca                	xor    %ecx,%edx
  cf:	89 d0                	mov    %edx,%eax
  d1:	03 43 08             	add    0x8(%ebx),%eax
  d4:	89 43 08             	mov    %eax,0x8(%ebx)
  d7:	c1 c8 02             	ror    $0x2,%eax
  da:	31 d0                	xor    %edx,%eax
  dc:	01 43 08             	add    %eax,0x8(%ebx)
  df:	89 43 0c             	mov    %eax,0xc(%ebx)
  e2:	8b 34 24             	mov    (%esp),%esi
  e5:	eb 54                	jmp    13b <michael_update+0x10c>
  e7:	8b 53 08             	mov    0x8(%ebx),%edx
  ea:	83 c6 04             	add    $0x4,%esi
  ed:	83 ed 04             	sub    $0x4,%ebp
  f0:	33 56 fc             	xor    -0x4(%esi),%edx
  f3:	89 53 08             	mov    %edx,0x8(%ebx)
  f6:	c1 ca 0f             	ror    $0xf,%edx
  f9:	33 53 0c             	xor    0xc(%ebx),%edx
  fc:	89 d0                	mov    %edx,%eax
  fe:	03 43 08             	add    0x8(%ebx),%eax
 101:	89 c1                	mov    %eax,%ecx
 103:	89 43 08             	mov    %eax,0x8(%ebx)
 106:	81 e1 00 ff 00 ff    	and    $0xff00ff00,%ecx
 10c:	25 ff 00 ff 00       	and    $0xff00ff,%eax
 111:	c1 e0 08             	shl    $0x8,%eax
 114:	c1 e9 08             	shr    $0x8,%ecx
 117:	09 c1                	or     %eax,%ecx
 119:	31 d1                	xor    %edx,%ecx
 11b:	89 ca                	mov    %ecx,%edx
 11d:	03 53 08             	add    0x8(%ebx),%edx
 120:	89 53 08             	mov    %edx,0x8(%ebx)
 123:	c1 ca 1d             	ror    $0x1d,%edx
 126:	31 ca                	xor    %ecx,%edx
 128:	89 d0                	mov    %edx,%eax
 12a:	03 43 08             	add    0x8(%ebx),%eax
 12d:	89 43 08             	mov    %eax,0x8(%ebx)
 130:	c1 c8 02             	ror    $0x2,%eax
 133:	31 d0                	xor    %edx,%eax
 135:	01 43 08             	add    %eax,0x8(%ebx)
 138:	89 43 0c             	mov    %eax,0xc(%ebx)
 13b:	83 fd 03             	cmp    $0x3,%ebp
 13e:	77 a7                	ja     e7 <michael_update+0xb8>
 140:	85 ed                	test   %ebp,%ebp
 142:	74 12                	je     156 <michael_update+0x127>
 144:	89 6b 04             	mov    %ebp,0x4(%ebx)
 147:	31 c9                	xor    %ecx,%ecx
 149:	89 df                	mov    %ebx,%edi
 14b:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
 14d:	89 e9                	mov    %ebp,%ecx
 14f:	83 e1 03             	and    $0x3,%ecx
 152:	74 02                	je     156 <michael_update+0x127>
 154:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
 156:	58                   	pop    %eax
 157:	5a                   	pop    %edx
 158:	5b                   	pop    %ebx
 159:	5e                   	pop    %esi
 15a:	5f                   	pop    %edi
 15b:	5d                   	pop    %ebp
 15c:	c3                   	ret    

0000015d <michael_final>:
 15d:	57                   	push   %edi
 15e:	89 d7                	mov    %edx,%edi
 160:	56                   	push   %esi
 161:	8d 70 30             	lea    0x30(%eax),%esi
 164:	53                   	push   %ebx
 165:	8b 56 04             	mov    0x4(%esi),%edx
 168:	83 fa 01             	cmp    $0x1,%edx
 16b:	74 14                	je     181 <michael_final+0x24>
 16d:	72 0c                	jb     17b <michael_final+0x1e>
 16f:	83 fa 02             	cmp    $0x2,%edx
 172:	74 16                	je     18a <michael_final+0x2d>
 174:	83 fa 03             	cmp    $0x3,%edx
 177:	75 47                	jne    1c0 <michael_final+0x63>
 179:	eb 27                	jmp    1a2 <michael_final+0x45>
 17b:	83 76 08 5a          	xorl   $0x5a,0x8(%esi)
 17f:	eb 3f                	jmp    1c0 <michael_final+0x63>
 181:	0f b6 40 30          	movzbl 0x30(%eax),%eax
 185:	80 cc 5a             	or     $0x5a,%ah
 188:	eb 33                	jmp    1bd <michael_final+0x60>
 18a:	0f b6 50 30          	movzbl 0x30(%eax),%edx
 18e:	0f b6 46 01          	movzbl 0x1(%esi),%eax
 192:	81 ca 00 00 5a 00    	or     $0x5a0000,%edx
 198:	c1 e0 08             	shl    $0x8,%eax
 19b:	09 c2                	or     %eax,%edx
 19d:	31 56 08             	xor    %edx,0x8(%esi)
 1a0:	eb 1e                	jmp    1c0 <michael_final+0x63>
 1a2:	0f b6 40 30          	movzbl 0x30(%eax),%eax
 1a6:	0f b6 56 01          	movzbl 0x1(%esi),%edx
 1aa:	0d 00 00 00 5a       	or     $0x5a000000,%eax
 1af:	c1 e2 08             	shl    $0x8,%edx
 1b2:	09 d0                	or     %edx,%eax
 1b4:	0f b6 56 02          	movzbl 0x2(%esi),%edx
 1b8:	c1 e2 10             	shl    $0x10,%edx
 1bb:	09 d0                	or     %edx,%eax
 1bd:	31 46 08             	xor    %eax,0x8(%esi)
 1c0:	8b 4e 08             	mov    0x8(%esi),%ecx
 1c3:	c1 c9 0f             	ror    $0xf,%ecx
 1c6:	33 4e 0c             	xor    0xc(%esi),%ecx
 1c9:	89 c8                	mov    %ecx,%eax
 1cb:	03 46 08             	add    0x8(%esi),%eax
 1ce:	89 c2                	mov    %eax,%edx
 1d0:	89 46 08             	mov    %eax,0x8(%esi)
 1d3:	81 e2 00 ff 00 ff    	and    $0xff00ff00,%edx
 1d9:	25 ff 00 ff 00       	and    $0xff00ff,%eax
 1de:	c1 e0 08             	shl    $0x8,%eax
 1e1:	c1 ea 08             	shr    $0x8,%edx
 1e4:	09 c2                	or     %eax,%edx
 1e6:	31 ca                	xor    %ecx,%edx
 1e8:	89 d0                	mov    %edx,%eax
 1ea:	03 46 08             	add    0x8(%esi),%eax
 1ed:	89 46 08             	mov    %eax,0x8(%esi)
 1f0:	c1 c8 1d             	ror    $0x1d,%eax
 1f3:	31 d0                	xor    %edx,%eax
 1f5:	89 c2                	mov    %eax,%edx
 1f7:	03 56 08             	add    0x8(%esi),%edx
 1fa:	89 56 08             	mov    %edx,0x8(%esi)
 1fd:	c1 ca 02             	ror    $0x2,%edx
 200:	31 c2                	xor    %eax,%edx
 202:	89 d3                	mov    %edx,%ebx
 204:	03 5e 08             	add    0x8(%esi),%ebx
 207:	89 5e 08             	mov    %ebx,0x8(%esi)
 20a:	c1 cb 0f             	ror    $0xf,%ebx
 20d:	31 d3                	xor    %edx,%ebx
 20f:	89 d8                	mov    %ebx,%eax
 211:	03 46 08             	add    0x8(%esi),%eax
 214:	89 c1                	mov    %eax,%ecx
 216:	89 46 08             	mov    %eax,0x8(%esi)
 219:	81 e1 00 ff 00 ff    	and    $0xff00ff00,%ecx
 21f:	25 ff 00 ff 00       	and    $0xff00ff,%eax
 224:	c1 e0 08             	shl    $0x8,%eax
 227:	c1 e9 08             	shr    $0x8,%ecx
 22a:	09 c1                	or     %eax,%ecx
 22c:	31 d9                	xor    %ebx,%ecx
 22e:	89 ca                	mov    %ecx,%edx
 230:	03 56 08             	add    0x8(%esi),%edx
 233:	89 56 08             	mov    %edx,0x8(%esi)
 236:	c1 ca 1d             	ror    $0x1d,%edx
 239:	31 ca                	xor    %ecx,%edx
 23b:	89 d1                	mov    %edx,%ecx
 23d:	03 4e 08             	add    0x8(%esi),%ecx
 240:	89 c8                	mov    %ecx,%eax
 242:	c1 c8 02             	ror    $0x2,%eax
 245:	31 d0                	xor    %edx,%eax
 247:	89 46 0c             	mov    %eax,0xc(%esi)
 24a:	01 c8                	add    %ecx,%eax
 24c:	89 46 08             	mov    %eax,0x8(%esi)
 24f:	89 07                	mov    %eax,(%edi)
 251:	8b 46 0c             	mov    0xc(%esi),%eax
 254:	5b                   	pop    %ebx
 255:	5e                   	pop    %esi
 256:	89 47 04             	mov    %eax,0x4(%edi)
 259:	5f                   	pop    %edi
 25a:	c3                   	ret    
Disassembly of section .init.text:

00000000 <michael_mic_init>:
   0:	b8 00 00 00 00       	mov    $0x0,%eax
   5:	e9 fc ff ff ff       	jmp    6 <michael_mic_init+0x6>
Disassembly of section .exit.text:

00000000 <michael_mic_exit>:
   0:	b8 00 00 00 00       	mov    $0x0,%eax
   5:	e9 fc ff ff ff       	jmp    6 <michael_mic_exit+0x6>

[-- Attachment #3: michael_mic.patched --]
[-- Type: text/plain, Size: 7598 bytes --]


crypto/michael_mic.o:     file format elf32-i386

Disassembly of section .text:

00000000 <michael_block>:
   0:	33 50 08             	xor    0x8(%eax),%edx
   3:	53                   	push   %ebx
   4:	89 d1                	mov    %edx,%ecx
   6:	c1 c9 0f             	ror    $0xf,%ecx
   9:	33 48 0c             	xor    0xc(%eax),%ecx
   c:	8d 14 11             	lea    (%ecx,%edx,1),%edx
   f:	89 d3                	mov    %edx,%ebx
  11:	89 50 08             	mov    %edx,0x8(%eax)
  14:	81 e3 00 ff 00 ff    	and    $0xff00ff00,%ebx
  1a:	81 e2 ff 00 ff 00    	and    $0xff00ff,%edx
  20:	c1 e2 08             	shl    $0x8,%edx
  23:	c1 eb 08             	shr    $0x8,%ebx
  26:	09 d3                	or     %edx,%ebx
  28:	31 cb                	xor    %ecx,%ebx
  2a:	89 d9                	mov    %ebx,%ecx
  2c:	03 48 08             	add    0x8(%eax),%ecx
  2f:	89 48 08             	mov    %ecx,0x8(%eax)
  32:	c1 c9 1d             	ror    $0x1d,%ecx
  35:	31 d9                	xor    %ebx,%ecx
  37:	89 ca                	mov    %ecx,%edx
  39:	03 50 08             	add    0x8(%eax),%edx
  3c:	5b                   	pop    %ebx
  3d:	89 50 08             	mov    %edx,0x8(%eax)
  40:	c1 ca 02             	ror    $0x2,%edx
  43:	31 ca                	xor    %ecx,%edx
  45:	01 50 08             	add    %edx,0x8(%eax)
  48:	89 50 0c             	mov    %edx,0xc(%eax)
  4b:	c3                   	ret    

0000004c <michael_setkey>:
  4c:	83 f9 08             	cmp    $0x8,%ecx
  4f:	53                   	push   %ebx
  50:	89 d3                	mov    %edx,%ebx
  52:	74 0d                	je     61 <michael_setkey+0x15>
  54:	81 08 00 00 20 00    	orl    $0x200000,(%eax)
  5a:	b8 ea ff ff ff       	mov    $0xffffffea,%eax
  5f:	eb 10                	jmp    71 <michael_setkey+0x25>
  61:	8b 12                	mov    (%edx),%edx
  63:	83 c0 30             	add    $0x30,%eax
  66:	89 50 08             	mov    %edx,0x8(%eax)
  69:	8b 53 04             	mov    0x4(%ebx),%edx
  6c:	89 50 0c             	mov    %edx,0xc(%eax)
  6f:	31 c0                	xor    %eax,%eax
  71:	5b                   	pop    %ebx
  72:	c3                   	ret    

00000073 <michael_init>:
  73:	c7 40 34 00 00 00 00 	movl   $0x0,0x34(%eax)
  7a:	c3                   	ret    

0000007b <michael_update>:
  7b:	55                   	push   %ebp
  7c:	89 c5                	mov    %eax,%ebp
  7e:	57                   	push   %edi
  7f:	83 c5 30             	add    $0x30,%ebp
  82:	56                   	push   %esi
  83:	53                   	push   %ebx
  84:	89 cb                	mov    %ecx,%ebx
  86:	83 ec 08             	sub    $0x8,%esp
  89:	89 44 24 04          	mov    %eax,0x4(%esp)
  8d:	89 14 24             	mov    %edx,(%esp)
  90:	8b 75 04             	mov    0x4(%ebp),%esi
  93:	85 f6                	test   %esi,%esi
  95:	74 4c                	je     e3 <michael_update+0x68>
  97:	b8 04 00 00 00       	mov    $0x4,%eax
  9c:	29 f0                	sub    %esi,%eax
  9e:	39 c8                	cmp    %ecx,%eax
  a0:	89 c2                	mov    %eax,%edx
  a2:	0f 47 d1             	cmova  %ecx,%edx
  a5:	89 d1                	mov    %edx,%ecx
  a7:	8d 7c 35 00          	lea    0x0(%ebp,%esi,1),%edi
  ab:	8b 34 24             	mov    (%esp),%esi
  ae:	c1 e9 02             	shr    $0x2,%ecx
  b1:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
  b3:	89 d1                	mov    %edx,%ecx
  b5:	83 e1 03             	and    $0x3,%ecx
  b8:	74 02                	je     bc <michael_update+0x41>
  ba:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
  bc:	89 d0                	mov    %edx,%eax
  be:	03 45 04             	add    0x4(%ebp),%eax
  c1:	83 f8 03             	cmp    $0x3,%eax
  c4:	89 45 04             	mov    %eax,0x4(%ebp)
  c7:	76 4a                	jbe    113 <michael_update+0x98>
  c9:	8b 44 24 04          	mov    0x4(%esp),%eax
  cd:	29 d3                	sub    %edx,%ebx
  cf:	01 14 24             	add    %edx,(%esp)
  d2:	8b 50 30             	mov    0x30(%eax),%edx
  d5:	89 e8                	mov    %ebp,%eax
  d7:	e8 24 ff ff ff       	call   0 <michael_block>
  dc:	c7 45 04 00 00 00 00 	movl   $0x0,0x4(%ebp)
  e3:	8b 34 24             	mov    (%esp),%esi
  e6:	eb 10                	jmp    f8 <michael_update+0x7d>
  e8:	83 c6 04             	add    $0x4,%esi
  eb:	89 e8                	mov    %ebp,%eax
  ed:	8b 56 fc             	mov    -0x4(%esi),%edx
  f0:	83 eb 04             	sub    $0x4,%ebx
  f3:	e8 08 ff ff ff       	call   0 <michael_block>
  f8:	83 fb 03             	cmp    $0x3,%ebx
  fb:	77 eb                	ja     e8 <michael_update+0x6d>
  fd:	85 db                	test   %ebx,%ebx
  ff:	74 12                	je     113 <michael_update+0x98>
 101:	89 5d 04             	mov    %ebx,0x4(%ebp)
 104:	31 c9                	xor    %ecx,%ecx
 106:	89 ef                	mov    %ebp,%edi
 108:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
 10a:	89 d9                	mov    %ebx,%ecx
 10c:	83 e1 03             	and    $0x3,%ecx
 10f:	74 02                	je     113 <michael_update+0x98>
 111:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
 113:	58                   	pop    %eax
 114:	5a                   	pop    %edx
 115:	5b                   	pop    %ebx
 116:	5e                   	pop    %esi
 117:	5f                   	pop    %edi
 118:	5d                   	pop    %ebp
 119:	c3                   	ret    

0000011a <michael_final>:
 11a:	56                   	push   %esi
 11b:	89 d6                	mov    %edx,%esi
 11d:	53                   	push   %ebx
 11e:	8d 58 30             	lea    0x30(%eax),%ebx
 121:	8b 43 04             	mov    0x4(%ebx),%eax
 124:	83 f8 02             	cmp    $0x2,%eax
 127:	74 14                	je     13d <michael_final+0x23>
 129:	83 f8 03             	cmp    $0x3,%eax
 12c:	74 16                	je     144 <michael_final+0x2a>
 12e:	48                   	dec    %eax
 12f:	ba 5a 00 00 00       	mov    $0x5a,%edx
 134:	b9 5a 00 00 00       	mov    $0x5a,%ecx
 139:	74 1b                	je     156 <michael_final+0x3c>
 13b:	eb 23                	jmp    160 <michael_final+0x46>
 13d:	b8 5a 00 00 00       	mov    $0x5a,%eax
 142:	eb 07                	jmp    14b <michael_final+0x31>
 144:	0f b6 43 02          	movzbl 0x2(%ebx),%eax
 148:	80 cc 5a             	or     $0x5a,%ah
 14b:	89 c1                	mov    %eax,%ecx
 14d:	0f b6 43 01          	movzbl 0x1(%ebx),%eax
 151:	c1 e1 08             	shl    $0x8,%ecx
 154:	09 c1                	or     %eax,%ecx
 156:	0f b6 03             	movzbl (%ebx),%eax
 159:	89 ca                	mov    %ecx,%edx
 15b:	c1 e2 08             	shl    $0x8,%edx
 15e:	09 c2                	or     %eax,%edx
 160:	89 d8                	mov    %ebx,%eax
 162:	e8 99 fe ff ff       	call   0 <michael_block>
 167:	89 d8                	mov    %ebx,%eax
 169:	31 d2                	xor    %edx,%edx
 16b:	e8 90 fe ff ff       	call   0 <michael_block>
 170:	8b 43 08             	mov    0x8(%ebx),%eax
 173:	89 06                	mov    %eax,(%esi)
 175:	8b 43 0c             	mov    0xc(%ebx),%eax
 178:	5b                   	pop    %ebx
 179:	89 46 04             	mov    %eax,0x4(%esi)
 17c:	5e                   	pop    %esi
 17d:	c3                   	ret    
Disassembly of section .init.text:

00000000 <michael_mic_init>:
   0:	b8 00 00 00 00       	mov    $0x0,%eax
   5:	e9 fc ff ff ff       	jmp    6 <michael_mic_init+0x6>
Disassembly of section .exit.text:

00000000 <michael_mic_exit>:
   0:	b8 00 00 00 00       	mov    $0x0,%eax
   5:	e9 fc ff ff ff       	jmp    6 <michael_mic_exit+0x6>

  reply	other threads:[~2008-05-16 15:52 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-05-16  6:17 [PATCH] crypto: make michael_block a function Harvey Harrison
2008-05-16  7:01 ` Sebastian Siewior
2008-05-16  8:10   ` Johannes Berg
2008-05-16 15:52     ` Harvey Harrison [this message]
2008-05-18 21:57       ` Sebastian Siewior

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1210953123.5915.33.camel@brick \
    --to=harvey.harrison@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=herbert@gondor.apana.org.au \
    --cc=johannes@sipsolutions.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lkml@ml.breakpoint.cc \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.