summaryrefslogtreecommitdiff
path: root/libsysfs
AgeCommit message (Collapse)Author
2005-04-26[PATCH] more Libsysfs updatesananth@in.ibm.com
On Thu, Mar 11, 2004 at 02:36:23PM +0100, Kay Sievers wrote: > On Thu, 2004-03-11 at 15:02, Ananth N Mavinakayanahalli wrote: > > On Thu, Mar 11, 2004 at 02:04:36PM +0100, Kay Sievers wrote: > > > On Thu, Mar 11, 2004 at 11:53:50AM +0500, Ananth N Mavinakayanahalli wrote: > > > > > > > +#define safestrcpy(to, from) strncpy(to, from, sizeof(to)-1) > > > > +#define safestrcat(to, from) strncat(to, from, sizeof(to) - strlen(to)-1) > > > > > > These strings are not terminated with '\0' if from is longer than > > > the sizeof to. > > > > Did not do it on purpose as the "to" elements are either calloc'd or memset to > > '0' explicitly in the library. Thats the reason I mentioned "scaled down" :) > > Ahh, sounds good. > > > > > +#define safestrncpy(to, from, maxsize) \ > > > > +do { \ > > > > + to[maxsize-1] = '\0'; \ > > > > + strncpy(to, from, maxsize-1); \ > > > > +} while (0) > > > > + > > > > +#define safestrncat(to, from, maxsize) \ > > > > +do { \ > > > > + to[maxsize-1] = '\0'; \ > > > > + strncat(to, from, maxsize - strlen(to)-1); \ > > > > +} while (0) > > > > > > We all expect a similar behavior like strncat/strncpy according to the > > > names, but these macros are limiting by the target size and do not limit > > > the count of chars copied. > > > This is confusing I think and suggest using a different name like > > > 'safestrcopymax()' or something. > > > > Good point.. will make the change > > Nice. I've had these *n* names too and I forgot about the logic and only > 10 days later I introduced a ugly bug cause I can't limit the count of > copied chars :) Inlined is the patch for this... applies on the earlier _BIG_ patch.
2005-04-26[PATCH] Libsysfs updatesananth@in.ibm.com
Please find attached a _BIG_ patch to update udev's libsysfs. Patch applies on udev-021 and contains: 1. Updates to get udev's libsysfs to the latest (to be released) level. 2. Changes for C++ compatibility (use "char" and not "unsigned char" unless absolutely necessary). 3. More importantly, take care of buffer overflows. Libsysfs now uses a scaled down version of Kay's "safe" macros. Tested using a usb-storage device. I will send you a doc update shortly.
2005-04-26[PATCH] fix up libsysfs header file usage to fix bug reports from users that ↵greg@kroah.com
have sysfsutils installed already.
2005-04-26[PATCH] udev use new libsysfs header file locationpatmans@us.ibm.com
Use the new location of libsysfs header files.
2005-04-26[PATCH] mv libsysfs/libsysfs.h to libsysfs/sysfs/libsysfs.h to make it ↵greg@kroah.com
easier to use.
2005-04-26[PATCH] rework the logging code so that each program logs with the proper ↵greg@kroah.com
name in the syslog.
2005-04-26[PATCH] remove a __KLIBC__ tests in libsysfs, as klibc now supports ↵greg@kroah.com
getpagesize()
2005-04-26[PATCH] libsysfs update for refresh + namedev.c changesananthmg@rediffmail.com
Please find inlined a patch which contains updates to libsysfs (pre-release) for refresh and also changes to namedev.c to take advantage of it.
2005-04-26[PATCH] change pgsizeananth@in.ibm.com
In udev-009 and previous releases, for klibc compatibility, the pgsize var in sysfs_read_attribute() (file sysfs_dir.c under libsysfs) is handcoded to 0x4000. Should it not be 4096 bytes (0x1000 in hex) instead of 0x4000 (16k bytes)?
2005-04-26[PATCH] libsysfs 0.4.0 patchdsteklof@us.ibm.com
Ananth released sysfsutils 0.4.0 last night, I'm sure you saw the email. Here's a patch with the latest changes from the pre-patch I already gave you. It includes sysfs_get_device_parent(), which you said you needed. I've run your test scripts and I've built scsi_id. Please play around with this and check it out. There are quite a few changes. Please do not access structure pointers, like sysfs_device's parent, directly like dev->parent. Please use the "get" function to retrieve. The functions load things on demand and refresh views under the covers.
2005-04-26[PATCH] pre-libsysfs-0.4.0 patchdsteklof@us.ibm.com
I am sending you a pre-release patch. It's everything that's in our current CVS tree. It adds the functionality you've been looking for. Please play with this before checking it into your tree, I'd like to know if it's ok with you or if you find problems. I have tested this out with test.all and the perl regression test. Let me know what you think. Still need to do more testing for our work and add some more functions related to the changes. I've gone into namedev.c and udev-add.c to make the necessary changes in line with the library. I have not gone and edited any of the "extras". Changes: 1) Libsysfs object structures work more as handles now, their included directories or devices are labeled private. If you need attributes from a sysfs_class_device, call the available function and don't access the directory directly. Same holds true for a sysfs_class_device sysfs_device. Do not access the link directly but call the function sysfs_get_classdev_device() instead. We only populate entries upon request, makes things faster and uses less memory. 2) Added sysfs_get_classdev_parent() as requested. 3) Changed getpagesize to sysconf. 4) Added sysfs_refresh_attributes function for refreshing views of attribute lists. We still need to add refresh for links and subdirs. All udev needs to do is keep calling sysfs_get_classdev_attr() and that will internally call the refresh routine.
2005-04-26[PATCH] fix up some duplicated function compiler warnings in libsysfsgreg@kroah.com
2005-04-26[PATCH] another patch for path problemdsteklof@us.ibm.com
The quick patch I sent you yesterday fixes it in one location, but there are other points in the library that calls sysfs_get_mnt_path. We need to address all the areas in the library where paths are used. The following patch is a band-aid until we can get a proper path management in the library.
2005-04-26[PATCH] Cset exclude: dsteklof@us.ibm.com|ChangeSet|20031126173159|56255greg@kroah.com
2005-04-26[PATCH] quick fix for libsysfs busdsteklof@us.ibm.com
There seems to be a mismatch in udev and in libsysfs as to what to expect if the mnt point has a slash on the end or not. If I use the included patch, it breaks something in udev. If I patch sysfs_get_mnt_path I break udev as well because what you're expecting. I need to sit down and go through the library and creaate a rule as to trailing slashes. Adding the env brought this to light.
2005-04-26[PATCH] libsysfs changes for sysfsutils 0.3.0dsteklof@us.ibm.com
Here's the patch to up the library to the sysfsutils-0_3_0 level. The following changes: 1) adds class name to sysfs_class_device structure 2) adds bus to sysfs_device 3) gets rid of code that made assumptions as to bus addresses being unique across buses, which isn't the case. I still owe you: 1) change getpagesize->sysconf. This is in the CVS tree and part of other changes we're currently testing. Patch will follow. 2) you need a function to get a sysfs_class_device's parent. We hadn't considered class devices to have parents, the one example of a multilevel is the block class. We will add this function and send the patch to you.
2005-04-26[PATCH] patch for libsysfs sysfs directory handlingdsteklof@us.ibm.com
Here's a quick patch to: 1) Add an environment variable "SYSFS_PATH" that libsysfs will check for when getting mount point before searching system's sysfs mount point. 2) A quick fix to sysfs_get_link where the bug was. I have tested this out with libsysfs and with udev. I couldn't test with klibc because I haven't got the tree to build with klibc without my changes either. I made the link but get an error finding linux/linits.h. I will figure that out. Please have a look at the patch. If it's agreeable, please test it. I really want to add some generic path manipulation functions for the sysfs_get_link error, rather than my patch's hack. But, I haven't had time yet to do that. You really sounded like you needed this for testing, so I'm sending it out to you. I should probably add a function to set the env variable(?).
2005-04-26[PATCH] klibc specific tweaksgreg@kroah.com
2005-04-26[PATCH] libsysfs does not need mntent.h in it's header file.greg@kroah.com
2005-04-26[PATCH] make libsysfs spit debug messages to the same place as the rest of udev.greg@kroah.com
2005-04-26[PATCH] make libsysfs build cleanlygreg@kroah.com
2005-04-26[PATCH] new version of libsysfs patchdsteklof@us.ibm.com
Here's the patch applying the latest libsysfs. - adds the latest libsysfs code to udev * new code includes dlist implementation, a generic linked list implementation. Needed our own because LGPL * rearranged structures * provided more functions for accessing directory and attributes - gets rid of ->directory->path references in namedev.c - replaces sysfs_get_value_from_attributes with sysfs_get_classdev_attr
2005-04-26[PATCH] udev/libsysfs cross compile fixeslethal@linux-sh.org
I noticed that libsysfs doesn't inherently grab cross compilation arguments that are set in the top-level Makefile, so I've come up with the following patch to fix this. With the patch, I can succesfully cross compile for other architectures (such as sh) by doing 'make ARCH=sh CROSS=sh-linux-' in the top-level directory.
2005-04-26[PATCH] added libsysfs code from sysutils-0.1.1-071803 releasegreg@kroah.com