Hi! > I had no time to review your patch earlier, sorry. I'm inlining it so that I > can > comment it:
> > @@ -72,6 +75,16 @@ > > > > #include "power.h" > > > > +#ifdef CONFIG_SWSUSP_ENCRYPT > > +#include <linux/random.h> > > +#include <linux/crypto.h> > > +#include <asm/scatterlist.h> > > +#endif > > + > > +#define CIPHER "aes" > > +#define MAXKEY 32 > > +#define MAXIV 32 > > Why not to put these definitions under #ifdef? > > > + > > /* References to section boundaries */ > > extern const void __nosave_begin, __nosave_end; > > > > @@ -104,7 +117,9 @@ > > #define SWSUSP_SIG "S1SUSPEND" > > > > static struct swsusp_header { > > - char reserved[PAGE_SIZE - 20 - sizeof(swp_entry_t)]; > > I would add #ifdef here as well. I think avoiding both ifdefs is actually right thing to do. Keep the ifdef noise down. > > + char reserved[PAGE_SIZE - 20 - MAXKEY - MAXIV - sizeof(swp_entry_t)]; > > + u8 key[MAXKEY]; > > + u8 iv[MAXIV]; > > swp_entry_t swsusp_info; > > char orig_sig[10]; > > char sig[10]; > > @@ -112,6 +127,11 @@ > > > > static struct swsusp_info swsusp_info; > > > > +#ifdef CONFIG_SWSUSP_ENCRYPT > > +static u8 key[MAXKEY]; > > +static u8 iv[MAXIV]; > > +#endif > > + > > /* > > * XXX: We try to keep some more pages free so that I/O operations succeed > > * without paging. Might this be more? > > @@ -130,6 +150,52 @@ > > static unsigned short swapfile_used[MAX_SWAPFILES]; > > static unsigned short root_swap; > > > > +#ifdef CONFIG_SWSUSP_ENCRYPT > > +static struct crypto_tfm *crypto_init(int mode) > > I think it's better if this function returns an int error code and the > messages are printed where it's called from. This way, the essential > part of the code would be easier to grasp (Pavel?). Agreed. Actually I do not care where messages are printed, but returning different code for different errors seems right. Pavel -- Boycott Kodak -- for their patent abuse against Java. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/