Bug 36374 - [patch] apmd(8): fix core dumps, other improvements
Summary: [patch] apmd(8): fix core dumps, other improvements
Status: Open
Alias: None
Product: Base System
Classification: Unclassified
Component: bin (show other bugs)
Version: 4.5-STABLE
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-bugs (Nobody)
URL:
Keywords: patch
Depends on:
Blocks:
 
Reported: 2002-03-27 16:40 UTC by Andrey Simonenko
Modified: 2022-10-17 12:39 UTC (History)
0 users

See Also:


Attachments
apmd-patch.tar.gz (13.85 KB, text/plain)
2002-03-27 16:40 UTC, Andrey Simonenko
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Andrey Simonenko 2002-03-27 16:40:01 UTC
Following patch fixes several bugs (including core dumps) in apmd(8) and
adds some new features to it.

This is detail description of main changes, number of lines are given
relatively to original source files. Utility nl(1) was used for
enumeration.

--------------------------------------------------------------------------

File /usr/src/sys/i386/include/apm_bios.h

168	Added new macro APM_NPMEV, which means number of power management
	codes.

File /usr/src/sys/i386/apm/apm.h
File /usr/src/sys/pc98/apm/apm.h

21	Removed APM_NPMEV macro, now it is placed in apm_bios.h

File /usr/src/usr.sbin/apmd/apmd.h

36-51	Theses lines were removed compeletly. This enum {} duplicates
	PMEV_xxxx macros from the <machine/apm_bios.h>.

95	Added prototype for the new function Syslog().

File /usr/src/usr.sbin/apmd/apmdparse.y

39	Removed variable first_time (apmdlex.l was simplified).
	Added prototypes for yylex() and yyerror().

53	Fixed incorrect type <str> -> <i>.

56	Removed toked UNKNOWN (I don't know why it is needed)
	Added new token ERROR.

67	lineno is initialized here now.

69-72	Now config file can be empty, and empty config file is not a config
	file with incorrect syntax, as it was before.

81	Don't use abort(), instead use YYABORT to return from yyparse().

109	Added some cheking for perc > 100, etc. Before it was checked in
	apmd.c.

110	Don't use abort(), instead use YYABORT to return from yyparse().

152	Return value from malloc() was not checked. Fixed.

165	Return value from malloc() was not checked. Fixed.

175	Added "| ERROR".

195-198	Removed completely.

/usr/src/usr.sbin/apmd/apmdlex.l

38	first_time variable was removed.

40	Start condition TOP was removed, really it is not needed.

41	%option nounput was added (try to compile original apmd(8) with
	option -Wall)

42-48	Removed completely.

49-91	All <TOP>s were removed.

85-89	Incorrect work with the return value from malloc(). Fixed.

92	Removed completely.
	Added ".", to catch every unknown character.
	
94-98	yyerror() was impruved and fixed: it was able to pass NULL
	argument to syslog().

/usr/src/usr.sbin/apmd.c

*	Everything what belong to only this file were marked as static.

*	Don't use any err/errx/warn/warnx function if we open syslog file.

*	The -t swicth was added: test config file and output its content.

*	The -i option was added: number of second between battery state checks
	(default value were and is now 10 seconds).
	
*	All assert() macros were removed.

*	apmd(8) cought SIGTERM signal, but doesn't terminate itself
	(proc_signal() and event_loop() functions). Fixed.

60-75	Complitely rewritten in function init_event_list(). Why? Because PMEV_*
	in <machine/apm_bios.h> are macros and not enum {}.
	
88	Return value from malloc() was not checked. Fixed.

130	Return value from event_cmd_default_clone() was not checked. Fixed.

137	Don't use err() -> syslog(), return NULL.

155-165	Why to use out lable? Fixed.

183	Don't use err() -> syslog(), return NULL.

212-215	Now these are checked in apmdparse.y, where they should be checked.

220	Don't use err() -> syslog(), return NULL.

228	Return value from clone_event_cmd_list() was not checked. Fixed.

249	Don't use err() -> syslog(), return NULL.

312-321	Completely was removed. Instead new function turn_events() is 
	introduced.

324-254	Don't use stderr, use stdout instead.

366-367	Removed completely. See turn_events() function.

ú77-381	Incorrect loop, which cause core dump, when apm_battery {} is used.
	Fixed.

387-390	Rewritten. Now turn_events() function is used and dump_config()
	function is not called.

398-402	Rewritten. More checks were added.

407-413	signal_fd[] and enque_signal() were removed, see below
	New signal hadlers for SIGCHLD, SIGHUP and SIGTERM (and SIGINT)
	were added.

421-448	proc_signal() was simplified. Don't call read(), instead check
	three volatile sig_atomic_t variables.

449-463	proc_apmevent() function was improved. More checkes were added

477	Don't use err().

491	Don't use err().

515-519	Improved.

529-533	Don't use signal_fd[] any more. Simplified.

537	Why SA_RESTART. Unclear for me, nevertheless I changed this.

545	Setup SIGINT handler if needed.

554	Not clear arguments in select() call. Fixed.

563-566	Rewriten, because signal_fd[] was removed.

576-619	Added two new switch -t and -i.

	daemon() function isn't called here, instead new bg_init() function is
	used: all descriptors are clos()ed, SIGTTOU, SIGTTIN and SIGTSTP are
	ignored
	
	stdin, stdout and sterr -> /dev/null in daemon(0, 1) call

	fcntl() functions set close-on-exec flags for apmnorm_fd and apmctl_fd

	And all code here is more clear now.
	
File /usr/src/usr.sbin/apmd/apmd.8

*	Some minor fixes (see SYNOPSIS)

*	Added information about two new switches -t and -i

File /usr/src/usr.sbin/apmd/Makefile

13	Removed switch -n. apmd(8) knows nothing about it.
	Fixed name of the configuration file.

--------------------------------------------------------------------------

Results: many bugs were fixed in apmd(8) and two new features
were implemeted.

Unfortunately I don't have any opportunity to check apmd(8) for correct work
with APM. So, I can't tell anything about this. And please check it with APM.

This patch also fixes problems described in following PRs (all of this
PRs includes correct patches):

bin/30639
bin/30640
i386/32251 (this PR also introduced new feature, which is not a part of
my patch)
i386/35182 (this PR also introduced some signal(SIG_DFL) calls, I'm not sure
that this is needed)

Comments?
Comment 1 simon 2002-04-01 19:48:23 UTC
I discovered that my patch introduced race condition between
sigprocmask(); select(); sigprocmask(); calls. Please don't analyse/commit
my patch until I fix introduced race condition.
Comment 2 simon 2002-04-06 17:28:27 UTC
This is fixed patch and it has not introdroduced before race condition.

Also I found that enque_signal() in apmd.c has potential problem and too
quickly generated signals can lock apmd (the problem is in nonblocked
write() calls).

Unfortunatelly FreeBSD hasn't true pselect() system call, so I add again
pipe and IPC technic to wakeup select().

begin 644 apmd-patch.dir.tar.gz
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
((W88:0#(````
`
end
Comment 3 Andrey Simonenko 2003-07-02 12:03:22 UTC
Originator's email changed (see From: field).
Comment 4 Eitan Adler freebsd_committer freebsd_triage 2017-12-31 08:01:41 UTC
For bugs matching the following criteria:

Status: In Progress Changed: (is less than) 2014-06-01

Reset to default assignee and clear in-progress tags.

Mail being skipped
Comment 5 Graham Perrin freebsd_committer freebsd_triage 2022-10-17 12:39:29 UTC
Keyword: 

    patch
or  patch-ready

– in lieu of summary line prefix: 

    [patch]

* bulk change for the keyword
* summary lines may be edited manually (not in bulk). 

Keyword descriptions and search interface: 

    <https://bugs.freebsd.org/bugzilla/describekeywords.cgi>