1. 15 3月, 2010 1 次提交
    • W
      init dynamic bin_attribute structures · f937331b
      Wolfram Sang 提交于
      Commit 6992f533 ("sysfs: Use one lockdep
      class per sysfs attribute.") introduced this requirement.  First, at25
      was fixed manually.  Then, other occurences were found with coccinelle
      and the following semantic patch.  Results were reviewed and fixed up:
      
          @ init @
          identifier struct_name, bin;
          @@
      
          	struct struct_name {
          		...
          		struct bin_attribute bin;
          		...
          	};
      
          @ main extends init @
          expression E;
          statement S;
          identifier name, err;
          @@
      
          (
          	struct struct_name *name;
          |
          -	struct struct_name *name = NULL;
          +	struct struct_name *name;
          )
          	...
          (
          	sysfs_bin_attr_init(&name->bin);
          |
          +	sysfs_bin_attr_init(&name->bin);
          	if (sysfs_create_bin_file(E, &name->bin))
          		S
          |
          +	sysfs_bin_attr_init(&name->bin);
          	err = sysfs_create_bin_file(E, &name->bin);
          )
      Signed-off-by: NWolfram Sang <w.sang@pengutronix.de>
      Cc: Eric W. Biederman <ebiederm@xmission.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      f937331b
  2. 16 12月, 2009 2 次提交
  3. 19 6月, 2009 1 次提交
  4. 20 10月, 2008 1 次提交
  5. 11 4月, 2008 1 次提交
  6. 15 11月, 2007 1 次提交
    • D
      RTCs: handle NVRAM better · a4b1d50e
      David Brownell 提交于
      Several of the RTC drivers are exporting binary "nvram" files in sysfs.  Such
      NVRAM (or on many systems, EEPROM) data is often initialized during system
      manufacture to hold data about identity (serial numbers, Ethernet addresses,
      etc), configuration, calibration, and so forth.
      
      This patch improves integrity and security of those files:
      
        - Correctly initializes the size in one of the two cases where
          that was not yet being done.
      
        - Improves system security/integrity by making this state not
          be world-writable by default.
      
      Letting arbitrary userspace code mangle such state by default is at least Not
      A Good Thing; and it could sometimes be worse, depending on the particular
      data that might be corrupted.  (I disregard the paranoiac "don't let anyone
      read it either" approach.  Anyone storing passwords in such memory doesn't
      really care about security.)
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Acked-by: NAtsushi Nemoto <anemo@mba.ocn.ne.jp>
      Cc: Torsten Ertbjerg Rasmussen <tr@newtec.dk>
      Cc: Mark Zhan <rongkai.zhan@windriver.com>
      Cc: Thomas Hommel <thomas.hommel@gefanuc.com>
      Acked-by: NAlessandro Zummo <a.zummo@towertech.it>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      a4b1d50e
  7. 17 10月, 2007 1 次提交
  8. 20 9月, 2007 1 次提交
  9. 22 7月, 2007 1 次提交
  10. 12 7月, 2007 2 次提交
    • Z
      sysfs: add parameter "struct bin_attribute *" in .read/.write methods for sysfs binary attributes · 91a69029
      Zhang Rui 提交于
      Well, first of all, I don't want to change so many files either.
      
      What I do:
      Adding a new parameter "struct bin_attribute *" in the
      .read/.write methods for the sysfs binary attributes.
      
      In fact, only the four lines change in fs/sysfs/bin.c and
      include/linux/sysfs.h do the real work.
      But I have to update all the files that use binary attributes
      to make them compatible with the new .read and .write methods.
      I'm not sure if I missed any. :(
      
      Why I do this:
      For a sysfs attribute, we can get a pointer pointing to the
      struct attribute in the .show/.store method,
      while we can't do this for the binary attributes.
      I don't know why this is different, but this does make it not
      so handy to use the binary attributes as the regular ones.
      So I think this patch is reasonable. :)
      
      Who benefits from it:
      The patch that exposes ACPI tables in sysfs
      requires such an improvement.
      All the table binary attributes share the same .read method.
      Parameter "struct bin_attribute *" is used to get
      the table signature and instance number which are used to
      distinguish different ACPI table binary attributes.
      
      Without this parameter, we need to offer different .read methods
      for different ACPI table binary attributes.
      This is impossible as there are various ACPI tables on different
      platforms, and we don't know what they are until they are loaded.
      Signed-off-by: NZhang Rui <rui.zhang@intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      91a69029
    • T
      sysfs: kill unnecessary attribute->owner · 7b595756
      Tejun Heo 提交于
      sysfs is now completely out of driver/module lifetime game.  After
      deletion, a sysfs node doesn't access anything outside sysfs proper,
      so there's no reason to hold onto the attribute owners.  Note that
      often the wrong modules were accounted for as owners leading to
      accessing removed modules.
      
      This patch kills now unnecessary attribute->owner.  Note that with
      this change, userland holding a sysfs node does not prevent the
      backing module from being unloaded.
      
      For more info regarding lifetime rule cleanup, please read the
      following message.
      
        http://article.gmane.org/gmane.linux.kernel/510293
      
      (tweaked by Greg to not delete the field just yet, to make it easier to
      merge things properly.)
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Cc: Cornelia Huck <cornelia.huck@de.ibm.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      7b595756
  11. 13 2月, 2007 1 次提交
  12. 08 12月, 2006 1 次提交
  13. 01 10月, 2006 2 次提交
  14. 26 6月, 2006 1 次提交