[LITMUS^RT] proposing liblitmus API additions and changes
Glenn Elliott
gelliott at cs.unc.edu
Fri Jun 28 05:52:05 CEST 2013
Yes, that certainly looks like a bug. Thanks for the help!
On Jun 27, 2013, at 6:35 PM, Hiroyuki Chishiro <chishiro at cs.unc.edu> wrote:
>
> Hi Glenn,
>
> I hit a bug in release_master() in "liblitmus/src/migration.c".
>
> 11 int release_master()
> 12 {
> 13 static const char NO_CPU[] = "NO_CPU";
> 14 char buf[5] = {0}; /* up to 9999 CPUs */
> 15 int master = -1;
> 16
> 17 int ret = read_file("/proc/litmus/release_master", &buf, sizeof(buf)-1);
> 18
> 19 if ((ret > 0) && (strncmp(buf, NO_CPU, sizeof(NO_CPU)-1) != 0))
> 20 master = atoi(buf);
> 21
> 22 return master;
> 23 }
>
>
> If /proc/litmus/release_master is "NO_CPU", then buf = "NO_C" in line 17 because sizeof(buf) - 1 = 4.
> So "strncmp(buf, NO_CPU, sizeof(NO_CPU)-1) != 0" in line 19 is always true because sizeof(NO_CPU) - 1 = 6.
>
> I think that the size of buf should be 7.
>
> 14 char buf[7] = {0}; /* up to 999999 CPUs */
>
> - Hiro
>
>
>
> On Wed, Apr 17, 2013 at 12:05 PM, Björn Brandenburg <bbb at mpi-sws.org> wrote:
>
> Glenn Elliott <gelliott at cs.unc.edu> wrote:
> > Done. I've removed up old branches that have been superseded. Two new branches pushed to github.
> >
> > prop/migration-final (2 commits): This branch implements the CPU affinity mask assignment based against partition/cluster assignment. rtspin and rt_launch were also updated to include clustered scheduling options. This branch has been rebased off of liblitmus/staging.
> >
> > prop/rt_task-init-final (2 commits): This branch adds the init_rt_task_param() routine. It also updates liblitmus code to: (1) use init_rt_task_param() or new sporadic_*() convenience routines, and (2) express time in nanoseconds. #2 is needed because the sporadic_*() routines expect nanosecond parameters (the old sporadic_task() used milliseconds). Please note that this branch builds on top of prop/migration-final. Please further note that this branch depends upon litmus-rt/staging's 181b6bb0f5f122741262edc7ac0eca86d3f6dd73.
>
>
> Finally got around to merging this. Thanks a lot for the patches. I had to add one compile fix commit on top. GCC 4.4.5 uncovered some aliasing violations (fallout from the earlier -O2 patch).
>
> Thanks,
> Björn
>
>
> _______________________________________________
> litmus-dev mailing list
> litmus-dev at lists.litmus-rt.org
> https://lists.litmus-rt.org/listinfo/litmus-dev
>
>
>
> --
> Hiroyuki Chishiro
> Visiting Scholar
> Department of Computer Science
> The University of North Carolina at Chapel Hill
> _______________________________________________
> litmus-dev mailing list
> litmus-dev at lists.litmus-rt.org
> https://lists.litmus-rt.org/listinfo/litmus-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.litmus-rt.org/pipermail/litmus-dev/attachments/20130627/04e69b97/attachment.html>
More information about the litmus-dev
mailing list