Re: [PATCH] 1 of 5 IMA: necessary tpm changes

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

 



* Kylene Jo Hall ([email protected]) wrote:
> On Wed, 2005-06-15 at 09:16 -0500, Kylene Jo Hall wrote:
> > This patch applies against linux-2.6.12-rc6-mm1 and provides the
> > internal kernel interface for use by IMA or anything else in the kernel
> > which would like to use TPM commands.  It also moves the TPM driver up
> > in the initialization process to accomodate the early initialization
> > requirements of IMA.
> 
> This patch adds the lock that was missing in the tpm_chip_lookup
> function the previous patch.
> 
> Signed-off-by: Kylene Hall <[email protected]>
> ---
> --- linux-2.6.12-rc4/drivers/char/tpm/tpm.c.orig	2005-05-17 14:15:53.000000000 -0500
> +++ linux-2.6.12-rc4/drivers/char/tpm/tpm.c	2005-05-17 14:18:56.000000000 -0500
> @@ -50,15 +50,40 @@ static void user_reader_timeout(unsigned
>  }
>  
>  /*
> + * This function should be used by other kernel subsystems attempting to use the tpm through the tpm_transmit interface.
> + * A call to this function will return the chip structure corresponding to the TPM you are looking for that can then be sent with your command to tpm_transmit.
> + * Passing 0 as the argument corresponds to /dev/tpm0 and thus the first and probably primary TPM on the system.  Passing 1 corresponds to /dev/tpm1 and the next TPM discovered.  If a TPM with the given chip_num does not exist NULL will be returned.  
> + */

kernel-doc style comments please.  also, the interface seems a bit odd,
can probing order ever change?  Would you want a better identifier?

> +struct tpm_chip* tpm_chip_lookup(int chip_num)
> +{
> +
> --- linux-2.6.12-rc3-ima/drivers/char/tpm/tpm.h	2005-04-20 19:03:13.000000000 -0500
> +++ linux-2.6.12-rc3-ima/drivers/char/tpm/tpm.h	2005-05-02 14:08:44.000000000 -0500
> @@ -91,3 +91,8 @@ extern ssize_t tpm_read(struct file *, c
>  extern void __devexit tpm_remove(struct pci_dev *);
>  extern int tpm_pm_suspend(struct pci_dev *, pm_message_t);
>  extern int tpm_pm_resume(struct pci_dev *);
> +
> +/* internal kernel interface */
> +extern ssize_t tpm_transmit(struct tpm_chip *chip, const char *buf,
> +			    size_t bufsiz);
> +extern struct tpm_chip *tpm_chip_lookup(int chip_num);

extern in not needed.

> --- linux-2.6.12-rc3-ima/drivers/char/tpm/tpm_atmel.c	2005-04-20 19:03:13.000000000 -0500
> +++ linux-2.6.12-rc3-ima/drivers/char/tpm/tpm_atmel.c	2005-05-02 14:06:35.000000000 -0500
> @@ -207,7 +207,11 @@ static void __exit cleanup_atmel(void)
>  	pci_unregister_driver(&atmel_pci_driver);
>  }
>  
> +#ifdef MODULE
>  module_init(init_atmel);
> +#else
> +fs_initcall(init_atmel);
> +#endif
>  module_exit(cleanup_atmel);

this is unnecssary.  just use fs_initcall unconditionally.

> --- linux-2.6.12-rc3-ima/drivers/char/tpm/tpm_nsc.c	2005-04-20 19:03:13.000000000 -0500
> +++ linux-2.6.12-rc3-ima/drivers/char/tpm/tpm_nsc.c	2005-05-02 14:09:34.000000000 -0500
> @@ -364,7 +364,11 @@ static void __exit cleanup_nsc(void)
>  	pci_unregister_driver(&nsc_pci_driver);
>  }
>  
> +#ifdef MODULE
>  module_init(init_nsc);
> +#else
> +fs_initcall(init_nsc);
> +#endif
>  module_exit(cleanup_nsc);

same here.

-
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/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux